
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
subtract directly from 12:30 (instead of -3 + 31*/2):
I did not do this on purpose, because I assume that in the future it is possible to change the input parameters of CalendarValueHistoryByEvent.
I didn't do this on purpose, because I assume that in the future it is possible to change the input parameters of CalendarValueHistoryByEvent.
you can use:
After updating the library, the Calendar should be synchronised with the history of quotes on any broker.
...
Did they remove sorting by time in the latest version?
Did they remove time sorting in the latest version?
Yes. I was sure that the MQs were sorted. I was wrong.
ZY Added.
Unfortunately, you can't trust the current Calendar.
Here is the omission of an important CHF news in the list of events and the corresponding market reaction to it.
And this is another calendar, where the news is present.
In the Tutorial I found a treasure trove of information on working with the Calendar. In particular, in the Tester.
Теперь мы можем выбрать индикатор CalendarMonitorCached.mq5 в тестере и увидеть в динамике, на истории, как меняется таблица новостей.
News indicator with calendar cache in the Tester
The presence of the calendar cache allows you to test trading strategies on news. We will show it in the next section.
Same code, different results according to the chart symbol. I tested 2 brokers.
test_calendar.mq5
FXOpen:
Trading.com
I have tracked the root of the error: DST::IsEurope() wrongly returns true for these DST_US brokers because the algo implemented in DST::RolloverTime() is not reliable (i.e., scanning spreads).
test_calendar_fixed.mq5
Now results are correct:
Hope this helps you to fix the lib.
Same code, different results according to the chart symbol. I tested 2 brokers.
I have tracked the root of the error: DST::IsEurope() wrongly returns true for these DST_US brokers because the algo implemented in DST::RolloverTime() is not reliable (i.e., scanning spreads).
test_calendar_fixed.mq5
Now results are correct:
Hope this helps you to fix the lib.
Thank you very much for finding the bug, an example of how to reproduce it, and the proposed solution!
I have made changes to the file DST.mqh.
Not totally fixed on DST_US brokers.
Beware there is also another problem with DST_NONE brokers:
Because exness servers never change into DST. New York is GMT-5 in winter months, So that NFP at 08:30 am NYC time should match (08:30 + 5:00 offset) = 13:30 Exness server time.Unfortunately, you can't trust the current Calendar.
Very unfortunately, the MQ-Calendar contains errors in the timing of events even of the current day.
The news was at 07:30 (on the alternative calendar above and on the symbol graph), and the MQ-Calendar says (including the Web-version) that the news will be an hour later.