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

Re: PriceChannel – ценовой канал или Канал Дончяна

Добавлено: 24 апр 2019, 10:08
Orange2000
Плюс еще рекомендации от Дмитрия Еремина (у меня было не так в коде):

1. Правила на открытие позиции должны стоять первыми

2. Правила закрытия позиции желательно добавить проверку на наличие позиции

Re: PriceChannel – ценовой канал или Канал Дончяна

Добавлено: 27 апр 2019, 14:55
abelok
Попробовал откатить.
Но! В файлохранилище вместо версии 1224 фактически грузится 1226.

Re: PriceChannel – ценовой канал или Канал Дончяна

Добавлено: 27 апр 2019, 16:42
evge
abelok писал(а):Попробовал откатить.
Но! В файлохранилище вместо версии 1224 фактически грузится 1226.


спасибо, переименовал файл.

Re: PriceChannel – ценовой канал или Канал Дончяна

Добавлено: 03 май 2019, 13:18
Orange2000

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

function Initialize()
{
   StrategyName = "don2";
   AddParameter("P1", 15, "", 1);
   AddInput("Input1", Inputs.Candle, 10, true, "");
   LongLimit = 0;
   ShortLimit = 0;
   UseClosedBar = false;
   LiveBarTimeout = 1; // Вызывать не чаще чем раз в 10 секунд
}
 
function OnUpdate()
{
 
   /// ПРАВИЛО 1
   if ( (Input1.High[0] > MY.don(Input1, P1).GetValue("Upper", 0)) )
   {
      EnterLong();
   }
 
   /// ПРАВИЛО 3
   if ( (Input1.Low[0] < MY.don(Input1, P1).GetValue("Lower", 0)) )
   {
      EnterShort();
   }
 
   /// ПРАВИЛО 2
   if ( (Input1.Low[0] < MY.don(Input1, P1).GetValue("Midl", 0)) && CurrentPosition() > 0 )
   {
      CloseLong();
   }
 
 
   /// ПРАВИЛО 4
   if ( (Input1.High[0] > MY.don(Input1, P1).GetValue("Midl", 0)) && CurrentPosition() < 0)
   {
      CloseShort();
   }
 
   if ( ( RealizedPL() + CurrentPL() ) < -9000.0 )
   {
      Stop();
   }
 
ShowMessage(string.Format("close={0} high={1} low={2}", Input1.Close[0], Input1.High[0], Input1.Low[0]));
 
 
}


вот код который работает внутри бара.
Но нужно доработать код.
Начинаем с одного лота. После 2 подряд сделок в минус, открываем уже 2 лота, если третья в минус, то 4ая сделка уже 3 лота. Если опять минус, то так же 3 лота на 5ой сделке. После чего сброс на 1 лот при любом раскладе.
Заранее благодарен