Ter o preço aberto da vela a uma hora específica. - página 4

 
Kane59:

Desculpe, realmente,

Eu só tenho isso, mas é verdade, esqueci "UpdateHSeSpeciales".


É chamado de "init" quando o programa começa.

OK, eu testei essa função e parece que funciona bem.

Para tornar a vida mais fácil e um pouco mais certa, por que você não faz isso . . .

extern string     Heures="09:00;15:00;19:00;23:00;";

datetime          HeureSH[];   // datetime NOT string


   if (HeureSH( iTime(Symbol(),PERIOD_H1,0),TIME_MINUTES) )  // pass datetime to HeureSH


//+------------------------------------------------------------------+
void UpdateHSeSpeciales()
   {
   string hour1 = "";
   int count1 = 0;
   for(int k = 0; k < StringLen(Heures); k++)
      {
      if(StringSubstr(Heures, k, 1) != ";")
         {
         hour1 = hour1 + StringSubstr(Heures, k, 1);
         }
      else
         {
         ArrayResize(HeureSH, ArraySize(HeureSH)+1);
         HeureSH[count1] = StrToTime(hour1);  //  convert string to datetime
         hour1 ="";
         count1 +=1;
         }   
      }
   }

bool HeureSH(datetime now1)  // parameter is a datetime
   {
   for(int k = 0; k < ArraySize(HeureSH); k++)
      {
      if(now1 == HeureSH[k])
         {
         return(true);
         }
      }
   
   return(false);
   }

em vez de trabalhar com cordas, você está trabalhando com datas e horários?