Приветствую.
Столкнулся с эффектом, который не могу исправить. Подскажите, что нужно сделать для преодоления сего досадного глюка.
Для простоты возьмём исходный код индикатора Хейкен Аши из стандартной поставки терминала. Полностью оставим его без изменений, но добавим пару строк:
Теперь если повесить на график эту модификацию, отражающую суть моей проблемы, то пощёлкав по таймфреймам получим вот такую картинку:
https://charts.mql5.com/4/18/eurusd-d1-metaquotes-software-corp-temp-file-screenshot-46157.png
Соответственно вопрос - как избавиться от этого?
Поправьте меня, но где в стандартной поставке этот индикатор?
Поправьте меня, но где в стандартной поставке этот индикатор?
БазоваяДиректорияТерминала\MQL5\Indicators\Examples\Heiken_Ashi.mq5
Не знаю, есть ли исходник в КаталогеДанных, но в БазовойДиректории есть.
Впрочем, зачем искать? Прикрепляю исходник к сообщению.
input bool _Show_HA = false; . . . //+------------------------------------------------------------------+ //| Heiken Ashi | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i,limit; if ( _Show_HA ) { // _Show_HA==false, значит будем всегда выходить из OnCalculate без просчета индикатора //--- preliminary calculations if(prev_calculated==0) { //--- set first candleПри таком коде, OnCalculate() никогда не произведет расчет индикатора
И что с того? Как это относится к сути моей проблемы?
Для решения проблемы, эту проблему нужно, по крайней мере, увидеть.
Суть проблемы хорошо видна на картинке. Индикатор не следует логике переключателя. Когда переключатель в "трю", хейкен рисует свои свечи. Когда переключатель в "фолз", хейкен всё равно рисует, причём что попало, произвольные данные. Причём только под МТ5. Под МТ4 как и положено - ничего не рисует. Доступно объяснил? :)
У меня при значении флага == false индикатор ничего не рисует - и это логично, так как при флаге == false происходит выход из OnCalculate без единого расчета.
Прочтите ещё раз первый пост. И пощёлкайте по разным ТФ туда-сюда, от Н4 до месяца.
Еще раз - на любом таймфрейме при флаге == false абсолютно ничего не происходит, потому что - смотреть выше. Вам нужно модифицированный индикатор пересохранить под другим именем, а в теле индикатора изменить описание.
У Вас, вероятно, используется компилированный индикатор, отличный от индикатора приложенного Вами. В общем путаница в именах индикатора.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую.
Столкнулся с эффектом, который не могу исправить. Подскажите, что нужно сделать для преодоления сего досадного глюка.
Для простоты возьмём исходный код индикатора Хейкен Аши из стандартной поставки терминала. Полностью оставим его без изменений, но добавим пару строк:
Теперь если повесить на график эту модификацию, отражающую суть моей проблемы, то пощёлкав по таймфреймам получим вот такую картинку:
https://charts.mql5.com/4/18/eurusd-d1-metaquotes-software-corp-temp-file-screenshot-46157.png
Соответственно вопрос - как избавиться от этого?
P.S. Проблема решена: https://www.mql5.com/ru/forum/21154/page2#comment_783885