eventoftime

Author: Kuraev
Miscellaneous
It issuies visual alerts to the screen
1 Views
0 Downloads
0 Favorites
eventoftime

//+------------------------------------------------------------------+
//|                                                  EventofTime.mq4 |
//|                                                           Kuraev |
//|                                                                  |
//| Ôóíêöèÿ äîðàáîòàíà äëÿ êîððåêòíîé ðàáîòû â òåñòåðå ñòðàòåãèé     |
//+------------------------------------------------------------------+
#property copyright "Kuraev"
#property link      "delfik71091@hotmail.com"
#property version   "2.00"
#property strict

input int hh      = 12; // ÷àñ ñîáûòèÿ Õ
input int mm      = 0;  // ìèíóòà ñîáûòèÿ Õ
input int ss      = 0;  // ñåêóíäà ñîáûòèÿ x
input int timeout = 60; // òàéìàóò äëÿ ïðåäâàðèòåëüíîãî âõîäà, â ñåê.
//+------------------------------------------------------------------+
void OnTick()
  {
   if(_SignalofTime(hh,mm,ss,timeout))
     {
      RefreshRates();
      Alert(TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS)," Òâîé ÷àñ íàñòàë! Ïåñåíêà ñïåòà!");
      // çäåñü áëîê ñîáûòèÿ õ
     }
  }
//+------------------------------------------------------------------+
//|         ÔÓÍÊÖÈß ÏÎËÓ×ÅÍÈß ÑÈÃÍÀËÀ  ÇÀÄÀÍÍÎÅ ÂÐÅÌß               |
//+------------------------------------------------------------------+
bool _SignalofTime(int HH,int MM,int SS,int TIMEOUT)
  {
   if(HH>23 || HH<0 || MM>59 || MM<0 || SS>59 || SS<0 || TIMEOUT<0)
     {
      Print("Íåêîððåêòíûå ïàðàìåòðû âðåìåíè. Ðàáîòà ôóíêöèè ïðèîñòàíîâëåíà.");
      return(false);
     }
   datetime timeX=iTime(Symbol(),PERIOD_D1,0)+HH*3600+MM*60+SS; // âðåìÿ X (ê òåêóùåé äàòå ïðèáàâëÿåì ÷àñû è ìèíóòû (ïåðåâîäÿ âñå â ñåêóíäû))
   if(IsTesting())
     {
      static datetime t=0;
      if(TimeCurrent()>=timeX && t<timeX)
        {
         if(t==0) { t=TimeCurrent(); return(false); }
         else     { t=TimeCurrent(); return(true);  }
        }
      return(false);
     }
   if(TimeCurrent()>timeX || TimeCurrent()<timeX-TIMEOUT) return(false);
   while(TimeCurrent()<timeX) // ... âõîäèì â öèêë, ÷òîáû íå ïðîïóñòèòü çàäàííîå âðåìÿ
      Sleep(500); // çàñûïàåì íà 0,5 ñåêóíäû äî òåõ ïîð, ïîêà íå ñòóêíåò ðîâíî çàäàííîå âðåìÿ   
   return(true);
  }
//+------------------------------------------------------------------+

Comments