Belirli bir saatte mumun açık fiyatına sahip olun. - sayfa 4

 
Kane59 :

Üzgünüm, gerçekten

Sadece bu var ama "UpdateHSeSpeciales" i unuttuğum doğru.


Program başladığında "init" olarak adlandırılır.

Tamam, bu işlevi test ettim ve iyi çalışıyor gibi görünüyor.

Hayatı kolaylaştırmak ve biraz daha emin olmak için bunu neden yapmıyorsunuz? . .

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

yani dizelerle çalışmak yerine tarih saatleriyle mi çalışıyorsunuz?