Как определить Period() графика?

 

Пишу в комментариях:

Comment("_Period = ", _Period,   "    Period() = ", Period() );

От 1 минуты до 30 минут пишет правильно, от 60 минут и выше пишет - 16385?

 

барахлит стандартный период

ваше жутко попробуй вот так

int dt;
if ((Time[0]-Time[1]) > (Time[1]-Time[2])) dt = (Time[1]-Time[2])/60;
else dt = (Time[0]-Time[1])/60;

сорри форумом ошибся, но с мкл4 тож тормазит

щаз попробую на мкл5 сделать что подобное

 

PeriodSeconds в помощь! 

CoreWinTT:

 =-О

 

ну алгоритм никто не исключает =)
 
CoreWinTT:

ну алгоритм никто не исключает =)
 Спасибо, сделал - все работает!
 
//+------------------------------+
//| return minutes TimeFrame()   |
//+------------------------------+
int TimeFrame()
  {
   datetime TIME[];
   CopyTime(Symbol(),0,0,3,TIME);
   int first=TIME[1]-TIME[0];
   int second=TIME[2]-TIME[1];
   second=MathMin(first,second);
   return(second/60);
  }
//+------------------------------+


 
на всяк если между пятницей и понедельником =)
 
CoreWinTT:
на всяк если между пятницей и понедельником =)
Спасибо за пт-пн, я как-то не подумал...
 
MIK:
Спасибо за пт-пн, я как-то не подумал...

послушайте GarF1eld


и не надо придумывать квадратные колеса

 
sergeev:

послушайте GarF1eld


и не надо придумывать квадратные колеса

Не заметил эту простую функцию, спасибо GarF1eld и Вам что обратили внимание.
 
MIK писал(а)  :

Пишу в комментариях:

Comment("_Period = ", _Period,   "    Period() = ", Period() );

От 1 минуты до 30 минут пишет правильно, от 60 минут и выше пишет - 16385?


я тоже наступил на эти грабли. Используйте только мнемонические имена. вот тут помотрите как я решил эту задачу

https://www.mql5.com/ru/code/107  

isNewBar
isNewBar
  • голосов: 7
  • 2010.05.07
  • Prival
  • www.mql5.com
Функция анализа появления нового бара на заданном таймфрейме.