Возможно ли в цикле идти от большего индекса к меньшему?
В этом коде цикл идет от меньшего индекса к большему:
Можно ли аналогично сделать наоборот чтобы цикл ишел от большего индекса к меньшему?
Можно много чего, и скорее всего что можно всё.
Опишите что должно получиться в итоге, и для чего это нужно.
Все очень просто. Нужно сравнить три подряд идущих бара и если максимум среднего больше максимумов с левой и с правой стороны, поставить значек в виде точки. Только расчет вести от большего индекса к меньшему.
Тоже самое делается и для минимумов, только ищется не максимум, а минимум:
Все очень просто. Нужно сравнить три подряд идущих бара и если максимум среднего больше максимумов с левой и с правой стороны, поставить значек в виде точки. Только расчет вести от большего индекса к меньшему.
Тоже самое делается и для минимумов, только ищется не максимум, а минимум:
Я не осилю такое - в индикаторах слаб. Подождём кто в этом деле силён.
Возможно ли в цикле идти от большего индекса к меньшему?
В этом коде цикл идет от меньшего индекса к большему:
Можно ли аналогично сделать наоборот чтобы цикл ишел от большего индекса к меньшему?
переверните цикл в обратную сторону
for(i0=rates_total-2;i0>Step_0;i0--) {
Да, очень!
Хорошо. Итак действе первое: нужно понимать, как идёт нумерация в массивах индикатора по-умолчанию.
Для этого такой короткий код (кстати полезно запустить его в режиме отладки и на строке "Comment" сделать прерывание)
//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2018, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property indicator_chart_window #property indicator_plots 0 //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int bar_0=0; int bar_rates_total_minus_1=rates_total-1; Comment("prev_calculated=",prev_calculated,"\n", "time[",bar_0,"]=",time[bar_0],"\n", "time[",bar_rates_total_minus_1,"]=",time[bar_rates_total_minus_1]); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
Данный код выводит три переменные: "prev_calculated", время бара#0 и время бара#rates_total-1.
Возможно ли в цикле идти от большего индекса к меньшему?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Возможно ли в цикле идти от большего индекса к меньшему?
В этом коде цикл идет от меньшего индекса к большему:
Можно ли аналогично сделать наоборот чтобы цикл ишел от большего индекса к меньшему?