Почему происходит мерцание индикаторов (линий, стрелок, гистограмм) в биржевом терминале MT5? - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Попробуйте распечатать prev_calculated в самом начале ОнКалкулейт.
И сравните с каким-то стандартным индикатором — мигает ли он.
static int last_rates_total=0; // предыдущее значение "размер входных таймсерий на предыдущем"
static int last_prev_calculated=0; // предыдущее значение "обработано баров на предыдущем вызове"
и проверочный код с выводом в журнал
Запустил индикатор AOM на минутке, и получил вот такой отчет
Ничего неожиданного, идет нормальный процесс обработки поступления только новых баров.
Добавил в функцию OnCalculate() две статические переменные, чтобы сравнивать текущие значения с предыдущими значениями:
Ничего неожиданного, идет нормальный процесс обработки поступления только новых баров.
Нет, поставил на график пару штатных индикаторов "Moving Average", "Awesome Oscillator". Понаблюдал. Нет, не было замечено ни мерцания, ни пропадания значений в "Окне данных".
Нет, поставил на график пару штатных индикаторов "Moving Average", "Awesome Oscillator". Понаблюдал. Нет, не было замечено ни мерцания, ни пропадания значений в "Окне данных".
Я про те индикаторы, что есть в исходниках (mq5).
Если и они не мерцают, то проблема явно в вашем коде. Упрощайте его до тех пор, пока не перестанет мерцать. Или наоборот — дорабатывайте стандартный код до вашего состояния, пока не начнет мерцать.
т.е. с этим надо смириться, принять как должное и перестать искать причину?
Кстати, пока не встретил универсальную "обертку" для функции OnCalculate(), даже среди штатных индикаторов, чтобы использовать ее раз и навсегда.
Может быть Вы подскажите какой-нибудь индикатор, в котором есть такая "обертка", чтобы использовать ее в качестве эталона?
т.е. с этим надо смириться, принять как должное и перестать искать причину?
Но я и так упростил код донельзя. Хорошо, попробую пойти обратным путем.
Дело может быть в любой мелочи.
Кстати, пока не встретил универсальную "обертку" для функции OnCalculate(), даже среди штатных индикаторов, чтобы использовать ее раз и навсегда.
Может быть Вы подскажите какой-нибудь индикатор, в котором есть такая "обертка", чтобы использовать ее в качестве эталона?
Я видел несколько вариантов. Можно поискать и выбрать.
Сам пользуюсь примерно таким: