Get Last Round Time And Date Acc To TF – script MetaTrader 4

This Custom Function Will Help To Get Round Time For Any Given Timeframe And Time.


Code :-

//+------------------------------------------------------------------+
//|Get Last Round Time And Date Acc To TF                            |
//+------------------------------------------------------------------+
datetime Get_Last_Round_Time_And_Date_Acc_To_TF(datetime From, int TimeFrame)
{
int Minutes = ((int)From - (int)(datetime)(TimeToString(From,TIME_DATE)+" 00:00:00"))/60;
int Min = Minutes-(Minutes%TimeFrame); string Date = "1970.01.01"; string _Hour_ = (string)((Min-Min%60)/60); string _Minutes_ = (string)((Min%60)%60);
return((datetime)TimeToString(From,TIME_DATE) + (datetime)(Date+" "+_Hour_+":"+_Minutes_+":00"));
}

Inputs Required : 

1.) Time To Be Rounded.
2.) Timeframe According To Which You Want Time To Be Rounded.


Few Examples : 

A.) 
     Inputs : 
                1.) Time = “2021.08.25 10:43:00”.
                2.) Timeframe = 60.
     Returned Value :   “2021.08.25 10:00:00”

B.) 
     Inputs : 
                1.) Time = “2021.08.25 10:43:00”.
                2.) Timeframe = 30.
     Returned Value :   “2021.08.25 10:30:00”

C.) 
     Inputs : 
                1.) Time = “2021.08.25 10:43:00”.
                2.) Timeframe = 15.
     Returned Value :   “2021.08.25 10:30:00”

D.) 
     Inputs : 
                1.) Time = “2021.08.25 10:43:00”.
                2.) Timeframe = 5.
     Returned Value :   “2021.08.25 10:40:00”


This Code Has Only Been Tested For 5,15,30,60 Minutes Time Frame.


Contact Me For Any Help. Will Be Happy To Help.

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