algorithmic-tradingmql4metatrader4economicsforex

Where to fetch REAL- TIME economic data announcements for use in algorithmic trading?


I'm looking to fetch values of macro- economic announcement data (e.g. interest rate announcements, unemployment figures, consumer price index figures etc.) as soon as/ as near to the time the figures are released from the original source to be used within an MQL4 algorithm written on metatrader4.

At the moment I'm fetching the latest value from Quandl which provides a csv API so that the value can be fetched within an MQL4 script. The issue here lies in that Quandl doesn't update latest values as soon as the sources release them, which is a factor that is very important for my algorithm.

So:

Q. Which sources allow you to fetch real- time LATEST values upon release, to be used within an algorithm?

There doesn't seem to be any documentation on the source websites such as Bureau of Labor Statistics [US], Bank of England [UK] etc. regarding fetching released data values, yet I see online FOREX market calendar websites retrieving latest values sometimes within the second the value is announced- so they must be fetching data from the source?

Examples of the sort of latest values to be fetched:

To summarise:


Solution

  • To get "near real-time", you need to be subscribed to feed services like Bloomberg. But they are expensive. They provide an WebAPI and wrapper interface. There are other online services too, but again, they can be expensive.

    Alternative way is for you to "data-scrap" them off those "near real-time" sources (note: gray-area legality).

    This method is possible, I've done it. I managed to get it down to ~2sec (near real-time), and am currently using it in one of my MT4 EA project ( TriskM ): https://www.facebook.com/TrackRiskM/photos/a.800008416769352.1073741828.781013552002172/800008486769345

    enter image description here

    Basically, in involve 2 parts:

    1. A server application that I host in the cloud. This application's job is to go out and scrape the data, and format it properly for easy downstream consumption.

    2. At the MT4 application (EA) level, you can make HTTP request to the cloud host and request for the info.