savabaka:
значения получаются неадекватными и с ними нельзя ничего сделать. Подскажите как решить данную проблему.
for (int b = 0; b < rates_total; b++) {ExtFastMaBuffer[b] = 0; ExtSlowMaBuffer[b] = 0;}
проинициализировал, не помогло.
price[i]
нельзя проинициализировать нулями, так как это константа и ее нельзя модифицировать;
вот описал же
ExtFastMaHandle = iMA(NULL, 0, 12, 0, MODE_EMA, PRICE_CLOSE);
CopyBuffer(ExtFastMaHandle, 0, 0, rates_total, ExtFastMaBuffer);
ExponentialMAOnBuffer(rates_total,prev_calculated,0,12,ExtFastMaBuffer,ExtFastResMaBuffer);
все приходит от индикатора iMA. То есть цены это буфер ExtFastMaBuffer. Его я уже попробовал обнулить нулями как вы говорили, это не помогло.

- www.mql5.com
вот описал же
все приходит от индикатора iMA. То есть цены это буфер ExtFastMaBuffer. Его я уже попробовал обнулить нулями как вы говорили, это не помогло.
это все филькина грамота, что вы скрины и строки показываете.
Проблема у вас в коде. вы не обнуляете массивы или не проверяете корректность результаты вызовов функций.
посему вам только тут помочь смогут
это все филькина грамота, что вы скрины и строки показываете.
Проблема у вас в коде. вы не обнуляете массивы или не проверяете корректность результаты вызовов функций.
посему вам только тут помочь смогут
проверьте CopyBuffer на наличие всех rates_total
и почему вы думаете что индикатор iMA возле начала баров расчитан? вам необходимо пропустить первые невалидные бары
Сделал проверку на CopyBuffer, там оказалось все нормально.
А вот индикатор iMA действительно не рассчитывал первые бары, изменил
ExponentialMAOnBuffer(rates_total,prev_calculated,0,12,ExtFastMaBuffer,ExtFastResMaBuffer);
на
ExponentialMAOnBuffer(rates_total,prev_calculated,12,12,ExtFastMaBuffer,ExtFastResMaBuffer);
и все заработало.
Премного благодарен за квалифицированную помощь.

- www.mql5.com
Почитайте статью Индикатор от индикатора в MQL5

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь создать индикатор.
Делаю вычисления
ExtFastMaHandle = iMA(NULL, 0, 12, 0, MODE_EMA, PRICE_CLOSE);
ExtSlowMaHandle = iMA(NULL, 0, 26, 0, MODE_EMA, PRICE_CLOSE);
CopyBuffer(ExtFastMaHandle, 0, 0, rates_total, ExtFastMaBuffer);
CopyBuffer(ExtSlowMaHandle, 0, 0, rates_total, ExtSlowMaBuffer);
затем использую данные вычисления в
ExponentialMAOnBuffer(rates_total,prev_calculated,0,12,ExtFastMaBuffer,ExtFastResMaBuffer);
ExponentialMAOnBuffer(rates_total,prev_calculated,0,26,ExtSlowMaBuffer,ExtSlowResMaBuffer);
то все данные обрабатывается нормально и график выводиться, а если за место MODE_EMA и ExponentialMAOnBuffer использовать другой метод расчета скользящей средней, например MODE_SMA и SimpleMAOnBuffer то значения получаются неадекватными и с ними нельзя ничего сделать. Подскажите как решить данную проблему.