Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1270

Добавлено: evge » 13 авг 2022, 19:50

Тема: Re: Вход по лимитной заявке и индикатору.

Текст сообщения:

Здравствуйте!

Если это все условия, то примерно так:

Код: Выделить всё

/**

**/

function Initialize()
{
   StrategyName = "FollowEMA";
   AddParameter("Period", 20, "EMA Period", 1);
   AddParameter("Step", 0.02, "PSAR Step", 1);
   AddParameter("Maximum", 0.2, "PSAR Maximum", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "");
   LongLimit = 1000;
   ShortLimit = -1000;
   AddChartIndicator("EMA", new Dictionary <string, string>{{"Period", "Period"}});
   AddChartIndicator("ParabolicSAR", new Dictionary <string, string>{{"Step","Step"},{"Maximum","Maximum"}});   
}

function OnUpdate()
{
   var I = Input1;
   var C = Input1.Close;
   var E = EMA(I, Period);
   var P = PSAR(I, Step, Maximum);
   var CP = CurrentPosition();
         
   if (C[0] > E[0] && CP == 0)
   {
      CancelActiveOrders(true);
      EnterLongLimit(E[0]);
   }
   
   if (C[0] > P[0] && C[1] < P[1] && CP > 0) CloseLong();
}


FollowEMA-01.png
FollowEMA-01.png (33.73 КБ) 33742 просмотра


здесь выход из позиции long это ожидание когда цена пересечет PSAR снизу - вверх.
т.е. если цена после входа в позицию выше PSAR, то стратегия сначала дождётся когда цена станет ниже PSAR, а затем будет выход только при пересечении PSAR снизу - вверх.