Помогите с советником!

 

Как создать советник который работает по ценам открытия баров? По истории - все класс (как всегда), а в реале сливает депо за час :).

При тесте по открытию баров - хороший результат, хочу дописать и попробовать на демо. Помогите плз, давно уже ничо не писал... Что нужно добавить в тело функции start(), чтоб советник работал только по ценам открытия баров?

 
KONDOR >>:

наверно так

в функции старт


помоему эту функции будет срабатывать постоянно так как цена открытия бара всегда будет одинаковой, вмысле цена открытия = цене открытия. при этом у двух баров подряд тоже могут быть одинаковые цены открытия. сравнивать с ценами Ask или Bid - неэффективно, так как иногда бывают резкие скачки сразу после открытия бара

 
cloud666 писал(а) >>

помоему эту функции будет срабатывать постоянно так как цена открытия бара всегда будет одинаковой

По идее должно работать нормально. Только вот сравнивать действительные числа

 
переменная откуда берет значение? она нулю равна по умолчанию. или я чо-то не понимаю
Open_
 
cloud666 писал(а) >>
переменная откуда берет значение? она нулю равна по умолчанию. или я чо-то не понимаю

Нормально отработает. При первом запуске не равна цене открытия нулевого бара. Значит будет присваивание.

Просто действительные числа не стоит использовать.

 
спасибо за помощь! но все-таки два бара подряд могут открыться по однойс цене, хотя другого выхода из ситуации разработчики пока не сделали, только прогон в тестере по ценам открытий - быстро и много зарабатывать))))))
 
cloud666 писал(а) >>
спасибо за помощь! но все-таки два бара подряд могут открыться по однойс цене, хотя другого выхода из ситуации разработчики пока не сделали, только прогон в тестере по ценам открытий - быстро и много зарабатывать))))))

Лучше использовать немного другую конструкицю для работы по ценам открытия

int start() { 
   if (!NevBar()) return(0);

/// Ваш код

   return(0);
} 

bool NevBar() {
   static int PrevBar=0;
   int NevBar=Time[0];
   if (PrevBar==NevBar) return(false);
   PrevBar=NevBar;
   return(true);
}

Причина обращения: