iLow первого сегодняшнего бара - страница 3

 
Nikolai Semko #:
Распринтуйте время того же бара через iTime
Наверное ближайший бар от начала новых суток находится в предыдущих сутках. Тогда можно ставить проверку на предыдущий день и в этом случае брать следующий бар.

вобьем разобрался

умножаем секунды минуты двое суток на разность текущих суток умноженных на секунды минуты двое суток получаем индекс последней свечи предыдущего дня вычитаем 1 получили индекс

double low = iLow(_Symbol, PERIOD_M5 ,iBarShift(_Symbol,_Period,60*60*48*(TimeCurrent()/(60*60*48)))-1);

 теперь акции все супер а волютная пара, считает второй бар а не первый

 
lbgraf #:

Скорее всего вы правы, я уже запутался в формулах, как это будет в вашей формуле пожалуйста

наверное так 

double low = iLow(_Symbol,PERIOD_M5,TodayFirstBar(PERIOD_M5));

...


int TodayFirstBar(ENUM_TIMEFRAMES tf)
  {
   datetime t = 86400*(TimeCurrent()/86400);
   int bar = iBarShift(_Symbol,tf,t);
   if(iTime(_Symbol,tf,bar)<t)
      if(bar>0)
         return bar-1;
      else
         return -1;
   else
      return bar;
  }
 
datetime t = 86400*(TimeCurrent()/86400+0.5);
 
Алексей Тарабанов #:
Это время полудня
 
ВСЕМ ОГРОМНОЕ СПАСИБО!!!!!!!