Работа OnCalculate в индикаторе

- www.mql5.com
кто может лучше рассказать про функцию, как не документация https://www.mql5.com/ru/docs/event_handlers/oncalculate
Привет!
Я как бы адекватный человек и если бы нашел ответ на свой вопрос в документации, то не задавал бы его тут. Про событие OnTick однозначно написано что оно генерируется тиками инструмента, к которому привязан советник, хотя это и так очевидно. А про OnCalculate такого не сказано и это не очевидно.
Про событие OnTick однозначно написано что оно генерируется тиками инструмента, к которому привязан советник, хотя это и так очевидно. А про OnCalculate такого не сказано и это не очевидно.
По параметрам функции OnCalculate очевидно какие данные приходят.
И в описании параметров явно сказано про бары на графике.
Хотите обновляться независимо (или как-то по своему), делайте расчеты в ОнТаймере.
Привет!
Я как бы адекватный человек и если бы нашел ответ на свой вопрос в документации, то не задавал бы его тут. Про событие OnTick однозначно написано что оно генерируется тиками инструмента, к которому привязан советник, хотя это и так очевидно. А про OnCalculate такого не сказано и это не очевидно.
Как это не описано? Все лаконично и понятно описано:
Calculate #
Событие Calculate генерируется только для индикаторов сразу после посылки события Init и при любом изменении ценовых данных. Обрабатывается функцией OnCalculate.
По сути обработки поступления ценовых данных на других инструментах есть два способа:
- Установить на нужные символы индикаторы-шпионы и от них получать данные в момент прихода тика.
- Обрабатывать данные через таймер в пределах одного символа. Это более простой, но и более проблемный способ в плане получения свежих данных. Так, если установить слишком высокую частоту таймера, то получим общее замедление системы. Если поставить слишком низкую, то получим запаздывание.

- www.mql5.com
Как это не описано? Все лаконично и понятно описано:
Calculate #
Событие Calculate генерируется только для индикаторов сразу после посылки события Init и при любом изменении ценовых данных. Обрабатывается функцией OnCalculate.
По сути обработки поступления ценовых данных на других инструментах есть два способа:
- Установить на нужные символы индикаторы-шпионы и от них получать данные в момент прихода тика.
- Обрабатывать данные через таймер в пределах одного символа. Это более простой, но и более проблемный способ в плане получения свежих данных. Так, если установить слишком высокую частоту таймера, то получим общее замедление системы. Если поставить слишком низкую, то получим запаздывание.
Всем спасибо, разобрался.

- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день
Собрался делать индикатор типа "поводырь", который будет проводить вычисления используя совокупность инструментов, например спот, нефть, РТС, индекс доллара. Возник вопрос как часто будет вызываться OnCalculate: при изменении цен всех используемых в индикаторе инструментов или только того в окне которого запущен индикатор?
Если второй вариант, то предвижу проблему в том, что цена инструмента на котором висит индикатор может не меняться, а другие инструменты, которые составляют поводырь, могут начать активное движение. Ну и смысл такого поводыря сразу теряется, так как я об этом движении узнаю с опозданием. Кто-нибудь может сталкивался с подобными задачами?