Функцию RefreshRates() надо вызывать тогда, когда есть вероятность что цена может измениться во время выполнения кода. Например во время закрытия относительно большого количества ордеров в цикле. Само предназначение этой функции обновить значения предопределённых переменных. В остальных случаях вызов этой функции схож с прогулкой в ясную погоду с зонтиком в руке.
Вопрос: надо ли помещать Функцию RefreshRates() в начале каждой функции, или только в начале первой?
Всё зависит от того, что в самих функциях происходит. Там, где должны использоваться только самые свежие данные, RefrashRates пишется прямо перед тем местом, за которым будет происходить использование этих данных.Например, в любом эксперте, прежде, чем открывать позицию, вычисляется состояние рынка по каким-либо параметрам. Затем, если условия подошли, открывается позиция. Чтобы открыть позицию, эксперт вызывает функцию OrderSend. В параметры этой функции нужно передать самую свежую цену Bid или Ask, а пока эксперт вычислял состояние рынка, эти цены могли измениться. Но внутри всего блока OnTick, в текущем проходе, эти изменения автоматически не происходят. Новые цены будут только в следующем проходе OnTick, а нам они нужны в текущем проходе. Поэтому перед OrderSend надо написать RefrashRates, что бы получить новые цены в текущем проходе блока OnCalculate.
Господа, объясните,если можете,как работает функция RefreshRates(), пожалуйста.
Если текущий проход блока OnTick ещё не завершился и в терминал поступил новый тик, то RefrashRates становится true.Если после прихода нового тика, что поступил в терминал в момент текущего прохода блока OnTick, будет вызвана RefreshRates то, Bid, Ask и другие предопределённые переменные обновятся, RefrashRates вернёт true и изменит своё состояние на false, иначе, предопределённые переменные тоже обновятся, но после завершения текущего прохода блока OnTick, и RefrashRates так же станет false.
Само предназначение этой функции обновить значения предопределённых переменных.
Для всех инструментов в обзоре рынка ??? или активного окна
alex3292632926:
Само предназначение этой функции обновить значения предопределённых переменных.
Для всех инструментов в обзоре рынка ??? или активного окна
Это в справке прямо сказано
"Эксперты и скрипты работают с собственной копией исторических данных. Копия данных по текущему инструменту создается при первоначальном запуске эксперта или скрипта."

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Господа, объясните,если можете,как работает функция RefreshRates(), пожалуйста. Насколько я мог понять, она во время тика принимает на короткое время значение TRUE, потом до следующего тика
имеет значение FALSE затем в результате очередного ТИКА опять TRUE,и так далее. Вопрос: надо ли помещать Функцию RefreshRates() в начале каждой функции, или только в начале первой?
с уважением, С.Buyanov