Страница 1 из 1

EnterLongLimit

Добавлено: 23 май 2020, 19:43
AlexRate
Подскажите, пожалуйста, как правильно задать условие открытия/закрытия позиции?
Как правильно заменить EnterLong () на команду EnterLongLimit по цене ASK минус 0,01%
И соответственно EnterShortLimit по цене BID плюс 0,01%

_________________________


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

function Initialize()
{
   StrategyName = "Alfa_Regress_SMA_Cross";
   AddParameter("Pfast", 1079, "Период быстрой регрессии", 1);
   AddParameter("Extr", 0, "Прогноз регресии", 1);
   AddParameter("Pslow", 1, "Период медленной sma", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "PIKK=МБ ЦК");
   AddChartIndicator("MY.LinReg", new Dictionary <string, string>{{"Period", "Pfast"},{"Extr", "Extr"} });
   AddChartIndicator("SMA", new Dictionary <string, string>{{"Period", "Pslow"}});
}

function OnUpdate()
{
    var a = MY.LinReg(Input1.Close, Pfast, Extr);
   var b = SMA(Input1.Close, Pslow);

   /// ПРАВИЛО 1
   if ( a > b)
   {
      EnterLong();
   }
   
   /// ПРАВИЛО 2
   if ( a < b)
   {
      EnterShort();
   }
}

Re: EnterLongLimit

Добавлено: 24 май 2020, 10:24
evge
Здравствуйте!

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

function Initialize()
{
   StrategyName = "Alfa_Regress_SMA_Cross";
   AddParameter("Pfast", 1079, "Период быстрой регрессии", 1);
   AddParameter("Extr", 0, "Прогноз регресии", 1);
   AddParameter("Pslow", 1, "Период медленной sma", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "PIKK=МБ ЦК");
   AddChartIndicator("MY.LinReg", new Dictionary <string, string>{{"Period", "Pfast"},{"Extr", "Extr"} });
   AddChartIndicator("SMA", new Dictionary <string, string>{{"Period", "Pslow"}});
}

function OnUpdate()
{
    var a = MY.LinReg(Input1.Close, Pfast, Extr);
   var b = SMA(Input1.Close, Pslow);

   /// ПРАВИЛО 1
   if ( a > b)
   {
      EnterLongLimit(GetAsk() * 0.9999);
   }
   
   /// ПРАВИЛО 2
   if ( a < b)
   {
      EnterShortLimit(GetBid() * 1.0001);
   }
   
}

Re: EnterLongLimit

Добавлено: 24 май 2020, 20:20
AlexRate
Спасибо большое
Я так и не понял, что делал неправильно
Видимо скобочки кавычки где -то пропустил