Хочу перенести индикатор с МТ4 на МТ5, но проблема в том что в одной из индикаторных линий присутствует двойной сдвиг.
Первый сдвиг функцией.
Второй сдвиг при создании индикатора МА .
После всех проделаных манипуляций выдает ошибку array out of range in 'indicator.mq5'( выход за пределы массива ).
Все манипуляции с сдвигом в плюс и минус как описано в документации результата не принесли.
Ещё один вопрос почему все данные в примерах индикаторов, в функции
копируются в нулевой буффер?
В МТ4 и в МТ5 разное направление нумерации таймсерий по умолчанию. В МТ4 элемент с индексом 0 имеет наибольшее время из всех остальных элементов таймсерии, а в МТ5 - наименьшее. Нужно либо разворачивать нумерацию каждой таймсерии (функция ArraySetAsSeries), либо полностью изменять логику работы индикатора.
В МТ4 и в МТ5 разное направление нумерации таймсерий по умолчанию. В МТ4 элемент с индексом 0 имеет наибольшее время из всех остальных элементов таймсерии, а в МТ5 - наименьшее. Нужно либо разворачивать нумерацию каждой таймсерии (функция ArraySetAsSeries), либо полностью изменять логику работы индикатора.
SetIndexBuffer(0,Buffer,INDICATOR_CALCULATIONS);
Второй через включаемый фай,
#include <Indicators\Trend.mqh>
Там набор трендовых индикаторов которые можно создать в виде объекта, потом можно обращатся по индексу через функцию Main(index).

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хочу перенести индикатор с МТ4 на МТ5, но проблема в том что в одной из индикаторных линий присутствует двойной сдвиг.
Первый сдвиг функцией.
Второй сдвиг при создании индикатора МА .
После всех проделаных манипуляций выдает ошибку array out of range in 'indicator.mq5'( выход за пределы массива ).
Все манипуляции с сдвигом в плюс и минус как описано в документации результата не принесли.
Ещё один вопрос почему все данные в примерах индикаторов, в функции
копируются в нулевой буффер?