Sie haben den offenen Preis der Kerze zu einer bestimmten Stunde. - Seite 4

 
Kane59:

Tut mir wirklich leid,

Ich habe nur das, aber es ist wahr, ich vergesse "UpdateHSeSpeciales".


Es wird in "init" aufgerufen, wenn das Programm beginnt.

OK, ich habe diese Funktion getestet und sie scheint zu funktionieren.

Um das Leben einfacher und ein wenig sicherer zu machen, warum machst du nicht folgendes.

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);
   }

also statt mit Strings arbeiten Sie mit Datumsangaben ?