Скачать MetaTrader 5

Разработчики, расскажите как работает функция старт

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114280
Forex Trader  
Отрабатывается она на каждом тике, это ясно. А если она не доработала (допустим много расчетов) и пришел новый тик, что будет? Терминал будет ждать когда закончится работа функции от предыдущего тика, или предыдущий процесс будет прекращен и сразу начнется вычисление на новом тике, или сразу начнется вычисление на новом тике, но незаконченный процесс от предыдущего тика будет ждать возможности завершить вычисления? Как на самом деле?
Forex Trader
114280
Forex Trader  
На самом деле тик запустит только тот старт, кот. к моменту тика уже достиг своего оператора return.
Это обстоятельство позволило мне построить эксперт, с зацикленным кодом внутри функции старт. Однажды попав в цикл, упраление никогда не передаётся наружу. И всё работает.
Forex Trader
114280
Forex Trader  
ААААА!!!! Понял! Даже если Старт запустится один раз и не завершится, он все равно будет получать последнюю цену. Вот в чем фишка:-) Т.е. Bid, Ask, Close[0] и т.п. будут те которые есть на самом деле, а не те которые были на момент запуска функции старт? Правильно?
Forex Trader
114280
Forex Trader  
А почему самому не проверить? И нам рассказать, я вот не уверен, а проверять лень :)
Forex Trader
114280
Forex Trader  
ААААА!!!! Понял! Даже если Старт запустится один раз и не завершится, он все равно будет получать последнюю цену. Вот в чем фишка:-) Т.е. Bid, Ask, Close[0] и т.п. будут те которые есть на самом деле, а не те которые были на момент запуска функции старт? Правильно?

Будет получать последнюю цену, если его хорошо поппросить, а именно - использовать RefreshRates();
Если этого не делать, то Bid, Ask, Close[0] и т.п. будут не обновлёнными. Эксперт забуксует.
Forex Trader
114280
Forex Trader  
Зато MarketInfo( Symbol(), MODE_BID ) даст свежую информацию ;) Без рефреша
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий