I think you want
t=iTime(Symbol(),PERIOD_D1,1)+12*3600 ;
tonyjms2005:
I am using StrToTime and I am trying to get it to start from 12:00 on the previous day, I have this but it is not working correctly, can anyone help please:
I am using StrToTime and I am trying to get it to start from 12:00 on the previous day, I have this but it is not working correctly, can anyone help please:
{t=StrToTime("00:00")-(1440)+(12*3600);} //I am trying to get 00:00 on the day before //plus 12 hours to give me 12:00 the previous day
1440 is the number of minutes per day (60*24) not seconds. you wanted 86400.
However, the calculation will compute noon yesterday but yesterday may not be a trading day (weekend, bank holidays) iTime(Symbol(),PERIOD_D1,1) is the previous trading day. Ickyrus' post is what you want if you want 12:00 the previous trading day.
However, on early Monday morning, 1200 Sunday is before trading opens. If you want the last noon trading was open, you need something like:
datetime bod = iTime(Symbol(),PERIOD_D1,0); // Beginning of the day for (int shift=0; true; shift++){ datetime noon = iTime(Symbol(),PERIOD_H1, shift); if (TimeHour(noon) = 12 && noon < bod) break; }
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hi
I am using StrToTime and I am trying to get it to start from 12:00 on the previous day, I have this but it is not working correctly, can anyone help please:
Thanks
Antony