CCFp на MQL5 (помогите найти ошибку)
В статье "Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов" детально показано как писать подобные индикаторы.
На форуме также обсуждалось здесь.
Написал я знаменитый индикатор Семён Семёныча на mql5, но результат он показывает не такой как в MT4. Где ошибка?
Ниже представлены графические изображения индикаторов в терминалах графика EURUSD M5
| MT4 | MT5 |
|---|---|
| График получился более чувствительным | График менее чувствительный и имеет грубые расхождения с оригиналом |
Как сделать их одинаковыми? Ну или хотя бы более похожими?
Я тоже переписывал этот индикатор под МТ5 и результаты не сошлись. Думаю такое происходит потому, что в МТ4 не качественно закачивается история.
- 2010.05.17
- Alexey Klenov
- www.mql5.com
странно это, так как моя небольшая практика в работе с мультивалютными индикаторами показывает точное соответствие вида графиков МТ4 и МТ5.
Можете объяснить этот код?
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 этого индикатора?
Написал я знаменитый индикатор Семён Семёныча на mql5, но результат он показывает не такой как в MT4. Где ошибка?
Ниже представлены графические изображения индикаторов в терминалах графика EURUSD M5
Как сделать их одинаковыми? Ну или хотя бы более похожими?