Скачать MetaTrader 5

Вызов start() из init()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114299
Forex Trader  
Вызов start() из init() может привести к проблемам при запуске терминала.
Пояснение.
Если эксперт привязан к графику, то, при запуске терминала, автоматически запускается эксперт и его init() из которой вызывается start(). Т.о. тело программы один раз выполняется.
Но, к моменту его выполнения может получится, что терминал еще не полностью активирован и такие функции как OrdersTotal() возвращают ноль, хотя ордера есть. И, если при первом старте, устанавливаются какие-нибудь уровни или вычисляется общее число ордеров, то это будет сделано не правильно.
Кстати, если терминал уже запущен и прикрепляется эксперт к графику, то этого не происходит по вполне понятным причинам.
Forex Trader
114299
Forex Trader  
Это типа ахтунг или мысли вслух?
MetaQuotes Software Corp.
Модератор
189439
MetaQuotes Software Corp.  
Все верно - я об этом несколько раз явно писал и детально объяснял.
Поищите по форуму, пожалуйста.
Forex Trader
114299
Forex Trader  
Все верно - я об этом несколько раз явно писал и детально объяснял.
Поищите по форуму, пожалуйста.


Я вот и пытаюсь понять - это личный опыт или просто форум почитал :)
Forex Trader
114299
Forex Trader  
Я вот и пытаюсь понять - это личный опыт или просто форум почитал :)

Это - следование совету с последствиями...

"Подтолкнуть" эксперта
можно попробовать вызвать функцию start из функции init. тут кто-то такое уже проделывал.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий