특정 시간에 양초의 시가를 가집니다. - 페이지 4

 
Kane59 :

정말 죄송합니다.

나는 그것만 가지고 있지만 "UpdateHSeSpeciales"를 잊어 버린 것이 사실입니다.


프로그램이 시작될 때 "초기화"에서 호출됩니다.

알겠습니다. 해당 기능 을 테스트했으며 정상적으로 작동하는 것 같습니다.

삶을 더 쉽게 만들고 조금 더 확실하게 하려면 이렇게 하세요. . .

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

그래서 문자열로 작업하는 대신 datetimes로 작업하고 있습니까?