Expert Advisors • Indicators • Scripts • Libraries

MQL.RobotFX.org is the biggest collection of MetaTrader expert advisors (MT5 & MT4), indicators, scripts and libraries that can be used to improve trading results, minimize risks or simply automate trading tasks

MetaTrader 4 Script | Get Last Round Time And Date Acc To TF

MetaTrader Experts, Indicators, Scripts and Libraries

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.

36085