Dúvida na elaboração de um indicador

 
Boa noite!

Estou criando um identificador com a seguinte regra:

Em um determinado horário, é executado uma regra que verifica caso a taxa do candle atual atinja a banda de bolliger, o identificador atribui ao gráfico uma seta. No momento que é realizado este padrão, é armazenado em uma variável a taxa que tocou a banda. Ap￳ós um número X de barras, gostaria de saber se existe a possibilidade de verificar se a taxa do candle atual está abaixo ou acima da taxa anteriormente salva. Caso seja possível, gostaria de saber que função eu posso usar para realizar esta verificação.

Resumindo estou com duas dificuldades:
1- Validar a condição as 10:00 de cada dia por exemplo. Gostaria de saber se tem como pegar a hora de cada candle do gráfico.
2- Comparar as duas taxas armazenadas depois de um número X de candles.

Espero que tenha sido claro em minhas explicações. Desde já agradeço.


 

Boa tarde,

Uma parte do código eu comecei a fazer, segue:

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[]){
                
   handle = iBands(_Symbol, _Period, 20, 0, 8.50, PRICE_CLOSE);
   CopyBuffer(handle, 1, 0, rates_total, upBand);
   CopyBuffer(handle, 2, 0, rates_total, lowBand);  
   
   datetime    tm=TimeCurrent();
   MqlDateTime stm;
   TimeToStruct(tm,stm);
   nHorAtu = stm.hour;
   nMinAtu = stm.min;
   nSegAtu = stm.sec;
   
   if(nMinAtu == 
10 && nSegAtu >= 30){
      for(int i = 1; i < rates_total; i++){
         if(high[i] > upBand[i] && high[i-1] <= upBand[i-1]){
            VendaBuffer[i] = high[i];
         }else{
            VendaBuffer[i] = 0;
         }
         if(low[i] < lowBand[i] && low[i-1] >= lowBand[i-1]){
            CompraBuffer[i] = low[i];
         }else{
            CompraBuffer[i] = 0;
         }
      }
   }
   return(rates_total);
}

porém, gostaria de colocar as setas apenas aos 10 min e 30 seg de cada hora. Tentei da forma acima porém não está funcionando. Alguém poderia me dar uma ideia de como posso fazer?