Как определить время начала создания бара

 
Уважаемые форумляне посоветуите как определить время начала создания бара.
Заранее благодарен!
 
https://docs.mql4.com/ru/series/iTime в документации есть
 
bool New_Bar = false;                           // Флаг нового бара
//--------------------------------------------------------------------
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
   {
   Fun_New_Bar();                               // Обращение к ф-ии
   if (New_Bar == false)                        // Если бар не новый..
      return;                                   // ..то уходим
 
   ...
 
   return;                                      // Выход из start()
   }
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void Fun_New_Bar()                              // Ф-ия обнаружения ..
   {                                            // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar = false;                             // Нового бара нет
   if(New_Time != Time[0])                      // Сравниваем время
      {
      New_Time = Time[0];                       // Теперь время такое
      New_Bar = true;                           // Поймался новый бар
      }
   }
//--------------------------------------------------------------------
 

А если я хочу узнать приход нового бара на N-ном таймфрейме? Подскажите как написать универсальную функцию. Я бы назвал ее TAKT() ? У нее один аргумен определяющий тип таймфрейма а на выходе ИСТИНА если на этом таймфрейме пришел новый бар.

СПАСИБО тем кто откликнется.
 
Пост SK + пост xeon = ответ ;)
Надо в коде SK заменить Time на iTime.
 
komposter писал (а):
Пост SK + пост xeon = ответ ;)
Надо в коде SK заменить Time на iTime.

Не надо.
 
Уважаемые форумчане,
посоветуйте как написать советник , учитывающий время начала создания бара,чтобы продажа происходила через каждые 3 бара.
Заранее благодарен!
 
azfaraon:
Уважаемые форумчане,
посоветуйте как написать советник , учитывающий время начала создания бара,чтобы продажа происходила через каждые 3 бара.
Заранее благодарен!
Вот неугомонный... Я ж тебе готовый код написал в твоей ветке про толстые свечи. Он открывает сделки именно в начале создания бара, на первом тике. На какой график повесишь такие бары и будет считать. Вот только если трэнд вверх, ты все равно будешь продавать?
 

Так красивей

int start()                                     
{
 if(!NewBar()) return;                       
 ......
 return;                                     
}
bool NewBar()                              
{                                           
 static datetime NewBarTime=0;                  
 if(NewBarTime!=Time[0])                        
 {
  NewBarTime=Time[0];                        
  return(true);                             
 }
 return(false);
}
 

А так еще проще

int start()                                     
{
  static datetime NewBarTime=0; 
 if(NewBarTime==Time[0])  return;  
NewBarTime=Time[0];                      
 ......
 return;                                     
}
 
Roger:

А так еще проще 

int counted; 

int init(){
   counted=Bars;
return(0);
}

int start(){
// код на каждый тик
int bar = Bars;
if (bar != counted ) {
   counted= bar;
//код по новому бару  
}  
return(0);
}
а так универсальнее :D