Init() выполняется не дождавшись данных - страница 5

 

Виноват. Не правильно сформулировал вопрос.

Просто недавно знакомился с кодом человека, который везде вместо Bid использовал MarketInfo(Symbol(), MODE_BID) и т.п.

Вот я хотел спросить: какой смысл использовать в советниках и индикаторах такие конструкции?

(Обсуждаемый случай, конечно, исключение),

 
Так вот об этом я и толкую. При получении информации через MarketInfo мы обращаемся так сказать к "первоисточникам", которым не требуется RefreshRates.
 

Интересно, а как обновляеются эти первоисточники? Если не потиково?

 
Потиково. Но ведь может быть и такое, что тики приходят очень часто, несколько тиков в секунду, а мы в эксперте используем задержку секунду и более. Запуск start (или init) заново не производится. В результате значения Bid, Ask, Open, Close и т. д. не обновляются (для них нужно RefreshRates или новый запуск советника от тика), а вот соответствующие им массивы-таймсерии обновляются.
 

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

А у меня вот какой вопрос: при переключении меду тайм-фреймами - советник переиницилизируется. Мне это очень мешает. Возможно ли как-то это исключить?


Заранее сенкс...

 
Dev_Dimon >>:

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

А у меня вот какой вопрос: при переключении меду тайм-фреймами - советник переиницилизируется. Мне это очень мешает. Возможно ли как-то это исключить?


Заранее сенкс...


Я могу Вам посоветовать использовать глобальную переменную как флаг. При инициализации она становиться равной 1 при деинициализации удаляется. А во время перехода с тайм-фрейма на тайм-фрейм в инициализации проверять наличие этой лобальной переменной и если она есть выходить из процедуры инициализации.
Причина обращения: