CCFp на MQL5 (помогите найти ошибку)

 

Написал я знаменитый индикатор Семён Семёныча на mql5, но результат он показывает не такой как в MT4. Где ошибка?

Ниже представлены графические изображения индикаторов в терминалах графика EURUSD M5 

MT4MT5


 График получился более чувствительнымГрафик менее чувствительный и имеет грубые расхождения с оригиналом 

 

Как сделать их одинаковыми? Ну или хотя бы более похожими? 

Файлы:
 

В статье "Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов" детально показано как писать подобные индикаторы.

На форуме также обсуждалось здесь.  

 
EvgeTrofi:

Написал я знаменитый индикатор Семён Семёныча на mql5, но результат он показывает не такой как в MT4. Где ошибка?

Ниже представлены графические изображения индикаторов в терминалах графика EURUSD M5 

MT4MT5


 График получился более чувствительнымГрафик менее чувствительный и имеет грубые расхождения с оригиналом 

 

Как сделать их одинаковыми? Ну или хотя бы более похожими? 

Я тоже переписывал этот индикатор под МТ5 и результаты не сошлись. Думаю такое происходит потому, что в МТ4 не качественно закачивается история.
 
Graff:
Я тоже переписывал этот индикатор под МТ5 и результаты не сошлись. Думаю такое происходит потому, что в МТ4 не качественно закачивается история.
странно это, так как моя небольшая практика в работе с мультивалютными индикаторами показывает точное соответствие вида графиков МТ4 и МТ5.
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
sergeev:
странно это, так как моя небольшая практика в работе с мультивалютными индикаторами показывает точное соответствие вида графиков МТ4 и МТ5.
вид соответствует, но значения разные. теперь за основу использую показатели мт5. На мт4 не смотрю.
 

Можете объяснить этот код?

double ma_fast(int num_sym, ENUM_TIMEFRAMES tf, int i) {
   double res = 0.0;
   double ma_arr[];
   switch(tf) {
       case PERIOD_M1:     CopyBuffer(fast_ma_M1[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_M5:     CopyBuffer(fast_ma_M5[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_M15:    CopyBuffer(fast_ma_M15[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_M30:    CopyBuffer(fast_ma_M30[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_H1:     CopyBuffer(fast_ma_H1[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_H4:     CopyBuffer(fast_ma_H4[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_D1:     CopyBuffer(fast_ma_D1[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_W1:     CopyBuffer(fast_ma_W1[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       case PERIOD_MN1:    CopyBuffer(fast_ma_MN1[num_sym], 0, i, 1, ma_arr);
                           res += ma_arr[0]; 
       }
   if(!MathIsValidNumber(res)) {
      Print("В ходе расчётов инструмента "+Sy[num_sym]+" получен недопустимый результат!");
      return(0.0);
   }
   return(res);
}//ma_fast()

Не понятен способ проверки ошибок при вызове CopyBuffer. Также, у Вас все метки case, начиная с заданного ТФ и ниже, отработают последовательно. Это так задумывалось?

Все ИМХО.

 
На данном этапе мой индикатор имеет такой код. Для расчетов используются все инструменты из обзора рынка.
Файлы:
 
Кто нибудь смог добиться идентичности мт4 и мт5 этого индикатора?
 
twiling1983:
Кто нибудь смог добиться идентичности мт4 и мт5 этого индикатора?
Конечно. Алгоритм-то один. Различия в архитектуре индикаторов не важны.