Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
https://www.mql5.com/ru/docs/chart_operations/chartsetsymbolperiod
Может оно?Здесь привязка к чарту.
Да все просто. Например трейдер изменил параметры индикатора. Индикатор дал dll команду начать вычисления. Пусть из Oninit. По завершении вычислений dll эмулирует тик, индикатор попадает в OnCalculate и начинает отрисовку.
так если трейдер изменил параметры, значит мы знаем, что нужно пересчитать всё заново - значит делаем дополнительный запрос iCustom через х-секунд
Параллельно вопрос. Есть ли способ узнать из MQL, индикатор запущен через iCustom или наброшен на чарт автономно?
создаете, в индикаторе, пустой стринговый параметр, например:
в нормальных условиях, ни один пользователь не будет его изменять, а через iCustom можно передавать туда что-то нужное
так если трейдер изменил параметры, значит мы знаем, что нужно пересчитать всё заново - значит делаем дополнительный запрос iCustom через х-секунд
В идеале мы в OnInit эксперта получаем handle индикатора и в теле эксперта вызываем CopyBuffers. Как вы советуете делать дополнительный запрос iCustom через х-секунд ?
В идеале мы в OnInit эксперта получаем handle индикатора и в теле эксперта вызываем CopyBuffers. Как вы советуете делать дополнительный запрос iCustom через х-секунд ?
Да, в МТ5 нужно будет пересоздавать хэндлы.
То есть создавать/удалять индикатор в таймере по флагу-запросу.
https://www.mql5.com/ru/docs/chart_operations/chartsetsymbolperiod
Может оно?Проверил в эксперте такой код:
Да, OnCalculate индикатора вызывается по таймеру синхронно. Из недостатков - чарт слегка мелькает.
У меня не мерцает.
У меня цены в верхнем левом углу чарта мерцают. Остальное вроде не мерцает.
Но все равно я доволен. ))Нужно ускорить работу эсперта на чарте из dll, сненерировав новый тик.
В MetaTrader4 работал такой код:
В MetaTrader5 попробовал по аналогии. Не работает.
Может кто сумел найти способ?