Обсуждение статьи "Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5" - страница 2

 

2010.03.09 21:12:54 PriceHistogram (#DD,MN1) Нет доступной истории PERIOD_D1

 
gen5s:

Замечательный советник! Был...

 Проблема появилась начиная с 251 билда. Теперь на новых билдах вообще не отражается, хотя в логе пишет, что загружен. 

Что-то может изменить нужно, перекинуть в другой каталог? 

Спасибо что обратили внимание, действительно привнёс ошибку. Исправлено. Ждите обновления.

PS

В поиске max/min массивов присутствовала ошибка, после исправления вылез косяк в коде эксперта

в ClassPriceHistogram.mqh строках 188,189 и 205 нужно WHOLE_ARRAY исправить на 0

 
bcsunwww:

2010.03.09 21:12:54 PriceHistogram (#DD,MN1) Нет доступной истории PERIOD_D1

Спасибо за ваше сообщение. Исправлено, ждите обновлений.
 
mql5:

Спасибо что обратили внимание, действительно привнёс ошибку. Исправлено. Ждите обновления.

PS

В поиске max/min массивов присутствовала ошибка, после исправления вылез косяк в коде эксперта

в ClassPriceHistogram.mqh строках 188,189 и 205 нужно WHOLE_ARRAY исправить на 0

Спасибо, что подсказали (WHOLE_ARRAY), а то уже замаялся ошибку искать.
 
vdv2001:
Спасибо, что подсказали (WHOLE_ARRAY), а то уже замаялся ошибку искать.
К сожалению, это не единственная ошибка в коде эксперт. Мы постараемся выловить и исправить исходник.
 

PriceHistogram.mq5 не работает на графике. Сообщения об ошибках метаредактора находятся в прикрепленном файле.

Файлы:
 

Заменил включаемый файл ClassPriceHistogramA.mqh:

  • уменьшил количество попыток скопировать ценовые данные AMOUNT_OF_ATTEMPTS=2;
  • добавил функцию PrintErrorOnCopyFunction() для вывода сообщений при неудачной попытке выполнить функцию CopyXXX()
    //+------------------------------------------------------------------+
    //|  выводит сообщение при неудачном копировании                     |
    //+------------------------------------------------------------------+
    void PrintErrorOnCopyFunction(string func_name,string symbol,ENUM_TIMEFRAMES tf,int err_code)
      {
       Print(func_name," Не удалось выполнить копирование ценовых данных, ошибка",err_code);
       Print("Самая первая дата по символу-периоду "+
             symbol+" "+TimeframeToString(tf)+
             " на данный момент = "+
             (datetime)SeriesInfoInteger(symbol,tf,SERIES_FIRSTDATE));
       Print("Самая первая дата в истории по символу на сервере =",
             (datetime)SeriesInfoInteger(symbol,tf,SERIES_SERVER_FIRSTDATE));
       Print("Данные по символу синхронизированы =",
             (bool)SeriesInfoInteger(symbol,tf,SERIES_SYNCRONIZED));
       int bars=Bars(symbol,tf);
       int max_bars_in_chart=TerminalInfoInteger(TERMINAL_MAXBARS);
       Print("Количество баров в истории по соответствующему символу периоду = ",bars,
             "   max_bars_in_chart =",max_bars_in_chart);
       datetime firstbar[];
       int copied=CopyTime(symbol,tf,bars-1,1,firstbar);
       if(copied<0)
         {
          Print("Первый доступный бар имеет время открытия",firstbar[0]);
          Comment("Возможно, необходимо увеличить значение 'Максимальное кол-во баров на чарте'");
         }
       else Print("Не удалось получить открытия время самого старого доступного бара");
       ResetLastError();
      }
Более правильно было бы проверять наличие доступной истории перед операциями CopyXXX(), анализировать количество баров на чарте с помощью
TerminalInfoInteger(TERMINAL_MAXBARS);
и делать попытку подкачать данные (если это имеет смысл) как в примере Организация доступа к данным
 

Теперь он работает идеально. Пожалуйста, загрузите обновленные файлы.

Полная документация с исходными кодами статьи доступна уже сейчас: Ценовая гистограмма (профиль рынка) и ее реализация на MQL5

Документация была создана с помощью Doxygen.

Подробности смотрите в статье Автогенерируемая документация для MQL5-кода.

The Price Histogram (Market Profile) and its implementation in MQL5
The Price Histogram (Market Profile) and its implementation in MQL5
  • 2010.01.28
  • Dmitry
  • www.mql5.com
The Market Profile was developed by trully brilliant thinker Peter Steidlmayer. He suggested to use the alternative representation of information about "horizontal" and "vertical" market movements that leads to completely different set of models. He assumed that there is an underlying pulse of the market or a fundamental pattern called the cycle of equilibrium and disequilibrium. In this article I will consider Price Histogram - a simplified model of Market Profile, and will describe its implementation in MQL5.
 

Теперь все работает. Пожалуйста скачайте обновленные файлы.

Добавлена документация к исходным кодам, приведенным в статье: Market_Profile_Help.rar


Документация создана при помощи программы Doxygen.

Подробности в статье Автоматическое создание документации к программам на MQL5.

 
Automated-Trading писал(а) # :

Теперь все работает. Пожалуйста скачайте обновленные файлы.

Не работает, не может справиться с временем первого бара и при компиляции выдает предупреждение. "implicit conversion from 'number' to 'string' ClassPriceHistogram.mqh 404 10"

build 256  Лог прикрепляю.