Как правильно работать со временем?

 

Все привет. Пытаюсь в индикаторе и в срипте задействовать отбор данных по времени, но не знаю как это правильно делать. Кто знает - подскажите, пожалуйста.

Пример псевдокода индикатора:

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[]){
        
        for (int i = ...){
                
                // time[i] - это дает полный формат даты и времени.
                // Как оперировать часами и минутами из массива time, чтобы отобрать данные с определенного времени?
                // Например, if (time[i].hour >= 9)?
                
        }
        
}

И псевдокод скрипта:

MqlRates src_Arr[];

... // Все, что касается src_Arr[]

void OnStart(){

        for (int i = ...) {
                
                String _date = TimeToString(src_Arr[i].time, TIME_DATE);
                string _time = TimeToString(src_Arr[i].time, TIME_MINUTES);
                
                // Как из _time выделить часы?
                // Например, if (_time.hour >= 9)?
                
        }
        
}
 

Спасибо! Именно то, что искал. Теперь все работает.

 
int h=(time[i]%86400)/3600;