Как правильно написать в индикаторе функцию?

 
Здравствуйте. Пишу индикатор (уровень - начинающий) возникла сложность
у разных авторов разные советы, помогите разобраться.

Мне нужно что бы индикатор сделал перерасчет истории с начала до сегодня т.е. слево на право
и исходя из полученных результатов выдал итог.

Нашла 2 варианта какой из них правильный для меня непойму.

for(int i = 0; i < Bars; i++)
     {
     
      

или

for(int i; i=BarsToCount; i>=0; i--)
    {
я так понимаю один из них идет слево на право, а другой с право налево

но какой как идет я запуталась
 
Natalya Smirnova:
Здравствуйте. Пишу индикатор (уровень - начинающий) возникла сложность
у разных авторов разные советы, помогите разобраться.

Мне нужно что бы индикатор сделал перерасчет истории с начала до сегодня т.е. слево на право
и исходя из полученных результатов выдал итог.

Нашла 2 варианта какой из них правильный для меня непойму.

или

я так понимаю один из них идет слево на право, а другой с право налево

но какой как идет я запуталась

А вы принтуйте, очень быстро придёт понимание.

Вообще, всё принтуйте на стадии разработки

 
Vitaly Muzichenko #:

А вы принтуйте, очень быстро придёт понимание.

Вообще, всё принтуйте на стадии разработки

Да я так всегда стараюсь и делать. Но сейчас я так сделала
Пыталась определить по свече и времени, но выдает вот так.


Поэтому для меня пока даже не ясно что принтовать... поэтому и спрашиваю.

 
Natalya Smirnova #:

Да я так всегда стараюсь и делать. Но сейчас я так сделала
Пыталась определить по свече и времени, но выдает вот так.


Поэтому для меня пока даже не ясно что принтовать... поэтому и спрашиваю.

Принтуйте в цикле, увидите очерёдность - обратная, или прямая

 
Vitaly Muzichenko #:

А вы принтуйте, очень быстро придёт понимание.

Вообще, всё принтуйте на стадии разработки

Сделала иначе может через китай, но результат получила




Имя объекта по номерам

 
Natalya Smirnova #:

Да я так всегда стараюсь и делать. Но сейчас я так сделала
Пыталась определить по свече и времени, но выдает вот так.


Поэтому для меня пока даже не ясно что принтовать... поэтому и спрашиваю.

Если взять эти примеры

for(int i = 0; i < Bars; i++)
     { // будет увеличение i, то есть 0,1,2,3,4 ...
     
for(int i=100; i>0; i--)
    { и уменьшение 100,99,98,97,96 ...

Соответственно, если текущий бар нулевой, то идём в историю в первом случае, во втором - с истории к нулевому.

 
Vitaly Muzichenko #:

Если взять эти примеры

Соответственно, если текущий бар нулевой, то идём в историю в первом случае, во втором - с истории к нулевому.

Да вот второй мне как раз и подешел.
Спасибо вам большое!
Чуть чуть некоторые вещи мне непонятны, поэтому и беспокою форумчан.
 
Natalya Smirnova #:
Чуть чуть некоторые вещи мне непонятны, поэтому и беспокою форумчан.

Для индикаторов, сигналы, правильно рассчитывать из прошлого в настоящее.
Для ЕА - искать самый свежий сигнал - из настоящего в прошлое.

 
Taras Slobodyanik #:

Для индикаторов, сигналы, правильно рассчитывать из прошлого в настоящее.
Для ЕА - искать самый свежий сигнал - из настоящего в прошлое.

А кто установил такие правила? Несколько индикаторов написанных именно так, не устанавливает правила.

Ещё многие в mql5 переворачивают индексацию баров. А посмотрите код ZZ и постарайтесь понять, что при первом запуске, если индексация от нуля, то номер бара не изменится до удаления индикатора с графика. Так вот в одном из индикаторов на mql4 мне было выгодней сделать индексацию как в mql5. И это мне очень облегчило написание индикатора. Так-что забудьте все правила и пишите как вам выгодно в текущий момент и в данной ситуации…

 
Alexey Viktorov #:

А кто установил такие правила? Несколько индикаторов написанных именно так, не устанавливает правила.

правильно не значит правило

Alexey Viktorov #:

Так вот в одном из индикаторов на mql4 мне было выгодней сделать индексацию как в mql5. И это мне очень облегчило написание индикатора.

но если в одном индикаторе, тогда да))

пс. надеюсь вы не строите сигналы в прошлом рассчитывая бары в будущем?
 
Taras Slobodyanik #:

правильно не значит правило

но если в одном индикаторе, тогда да))

пс. надеюсь вы не строите сигналы в прошлом рассчитывая бары в будущем?
Если начнёшь с 200 бара к 0 , будешь знать весь путь заранее
Причина обращения: