манименеджмент на несколько экспертов - страница 3

 
Meat:

Вот ещё хочу заметить по поводу предложенного ktest0 варианта не торговать на первом тике. Это проблему не решит. Ведь какая разница, первый это тик, второй или ещё какой-то? Если при этом не было тиков по другим рабочим символам (на которых запущены советники), то первый советник будет думать что этих советников нет. Хотя они есть, просто они в режиме ожидания  Поэтому я и предложил зацикливание, чтобы все советники крутились постоянно и не зависели от прихода тиков.

А вообще, что касается нештатного завершения работы конкретного советника (без вызова deinit), то это может произойти только при коряво написанном коде, когда отсутствует обработка IsExpertStopped() в теле цикла. Так не проще ли отладить код своего советника и не заморачиваться с таймаутами?

А в случае зависания всего терминала я уже предлагал вариант в самом начале, чтобы в init() проверялся только хэндл терминала или индентификатор процесса. 


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

Если советник настолько чудовищен по расчетной части - что стоит вынести основную тяжелую часть в секцию Init(), а по приходу новых тиков делать локальный перерасчет с добавлением данных к уже расчитанным?

Как поведет себя ваш советник, если в процессе обработки придет новая котировка? Оборвет расчет на середине и бросится считать новую? Плюнет на новую котировку пока не дожует старую? Или он просто "молотит сам в себе" пустой цикл пока не придет новый тик - тогда чем он отличается от не зацикленного?

"На лыжах стоя в гамаке"... Или просто - я прав и идите все нафиг?

 
А вот это вы зря, зацикленный Эксперт работает более устойчиво и предсказуемо в четко ограниченном временном периоде. А если во время обработки прийдет новый тик, так он не будет посчитан в любом случае, но при работе по тикам, вы его пропустите однозначно, так как старт запустится по следующему за не посчитанным тику, а в цикле вы скорей всего его увидите при следующем проходе (если успеете до прихода следующего за не посчитанным). При работе на мультивалюте так вообще без этого не обойтись.
 
FAQ:
А вот это вы зря, зацикленный Эксперт работает более устойчиво и предсказуемо в четко ограниченном временном периоде. А если во время обработки прийдет новый тик, так он не будет посчитан в любом случае, но при работе по тикам, вы его пропустите однозначно, так как старт запустится по следующему за не посчитанным тику, а в цикле вы скорей всего его увидите при следующем проходе (если успеете до прихода следующего за не посчитанным). При работе на мультивалюте так вообще без этого не обойтись.


Согласен, в работе мультивалютника это действительно незаменимо - тики приходят не синхронно, но блин, какое отношение зацикливание имеет к этой ветке форума?

Чувак просто не смог родить правильную идею, а теперь просто пытается увести тему...

 

тики приходят не синхронно, но блин, какое отношение зацикливание имеет к этой ветке форума?

к этой ветке непосредственно не имеет. А вот к написанному вами имеет прямое отношение. Но коль у вас недостаточно знаний о МQL4 (что такое "зацикливание" советников, как обрабатываются приходящие тики при работе в цикле и т.д.), то думаю нет смысла продолжать этот спор. 
 
Все. Я сдаюсь. Признаю свое поражение и немедленно капитулирую... Все что пожелаете, только чтоб уже не продолжать.
Причина обращения: