clock – library MetaTrader 4

CClock – Extension for the datetime


Installation

  • Put clock.mqh into your Include folder
  • Use one of the samples that shows the usage

    Inputs

    • GMTOffset, int(-23~23) Server GMTOffset value
    • DSTMethod, either DAYLIGHTSAVING_METHOD_US, DAYLIGHTSAVING_METHOD_UK or DAYLIGHTSAVING_METHOD_NONE

    Methods


       void              CClock(void); 
       void              CClock(int offset, int method);
       void              Set(const datetime value);
       datetime          DateTime(int offset, int method);
       datetime          ServerTime(void) {return(srvdt);}
       datetime          GreenwichMeanTime(void) {return(gmtdt);}
       bool              IsDaylightSavingTime(void);
       bool              IsDaylightSavingTime(int method);
       bool              IsDaylightSavingTime(datetime value, int method);

    Usage


    #property copyright "Copyright 2021, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    
    // from clock.mqh
    #define DAYLIGHTSAVING_METHOD_NONE 0
    #define DAYLIGHTSAVING_METHOD_US 1
    #define DAYLIGHTSAVING_METHOD_UK 2
    
    #include <clock.mqh>
    
    //+------------------------------------------------------------------+
    //| Global variables                                                 |
    //+------------------------------------------------------------------+
    CClock Clock;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       Clock.GMTOffset = 2;
       Clock.DSTMethod = DAYLIGHTSAVING_METHOD_US;
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
      }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       Clock.Set(TimeCurrent()); // set clock
       
       Clock.IsDaylightSavingTime(); // return true if the clock time is with in DaylightSavingTime
       Clock.ServerTime(); // return server time with datetime
       Clock.GreenwichMeanTime(); // return GMT time with datetime
       Clock.DateTime(2,DAYLIGHTSAVING_METHOD_US); // return the timezone time with datetime. 
    
      }
    //+------------------------------------------------------------------+
    

    📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks