Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2442

 
Maxim Kuznetsov #:

у меня в индикаторах типичный цикл :

for(int bar=prev_calculated>0?prev_calculated-1:0 ; bar<rates_total; bar++) {

// bar используется если массив в стиле mt5

int idx = rates_total - bar - 1; // idx для обращения к массивам которые как тайм-серии, mt4-style

...

}

Спс. Вкурю....
 
Alexey Viktorov #:

Надо то понятно, а вот что есть в таком цикле не понятно.

Ведь на каждом цикле счётчик цикла будет начинаться с нуля. Не так разве?

Спс. Я доки еще почитаю - там все это расписано....
 
Aleksandr Slavskii #:

Направление не верное в цикле и в функциях. У вас получается расчёт с переду назад.

В таком цикле вы заканчиваете перебор на rates_total-1 баре, а в функциях iOpen(), iBarShift(), направление другое и самый крайний(правый) бар имеет индекс ноль.

Вам нужно что то типа так

Ну и без проверки деления на ноль, совсем плохо.

Ещё желательно добавить в OnInit() проверку символов

Спасибо. У меня тоже были сомнения с направлением в цикле... Спс за разъяснения.
 
Alexey Viktorov #:

Надо то понятно, а вот что есть в таком цикле не понятно.

Ведь на каждом цикле счётчик цикла будет начинаться с нуля. Не так разве?

это статью перечитывал.. переход с МТ 4 https://www.mql5.com/ru/articles/81

там понятно что уже много нового ввели типа

iOpen()
в общем данные актуализирую...
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.