NewsCatcher Pro opens both pending and market orders based on data from economic calendars. You can choose from one of the 4 available calendars: mt4.numerika.ru, mql5.com, forexfactory.com or fxstreet.com. In live mode, the NewsCatcher Pro automatically downloads calendars, opens orders, trails and closes orders.
NewsCatcher Pro can trade any event from the calendars with any instrument available in MetaTrader 4, including Gold, Oil and cross-rates. To change the default instrument, go to the Strategy View of the event you want to change it for.
NewsCatcher Pro uses two strategies:
- Strategy 1 (pending orders): the EA opens two pending orders above and below the current price before economic data is released. Whichever direction the price moves after economic data is released, one of the pending orders triggers.
- Strategy 2 (market orders): after economic data is released, the EA evaluates the actual value with the forecast or previous value and, if a difference value is reached, it opens a market order.
The EA stores strategy settings locally for all economic data. Economic data is released regularly: Jobless Claims are released every week, while Non Farm Payrolls are released every month. The EA correctly applies the stored strategy settings to the appropriate economic data. Strategies can be combined. If the EA opens a market order, a pending order in the same direction is deleted.
You can store streamed economic data as "full" and "custom" calendars. Data from mt4.numerika.ru has two additional calendars: "conservative" and "popular". The conservative calendar includes economic data which is marked with a green flag on the http://mt4.numerika.ru site. The popular calendar includes economic data voted by users on the http://mt4.numerika.ru page. To vote for or against a piece of economic data, click green or red arrows that appear when you hover your mouse over the economic data.
Testing the Expert Advisor
You can have a quick test of this EA without downloading calendar files. To do this, set "demo_calendar" for the "test_mode" property of the EA before testing. Select "Visual mode" to observe the EA operation. Keep in mind that results of such test should be discarded because the EA generates order commands based on random events.
The NewsCatcher Pro EA automatically downloads calendars only in live mode. MetaTrader 4 cannot go online in testing mode. To test this EA, you need to put calendar files for the testing period to the specific tester folder.
See a simple instruction at this link for testing this EA using real calendars.
While testing in visual mode you may see a notice: "Test uses GBPUSD". This occurs because the MetaTrader 4 does not support multi-currency testing. The EA can work with all the specified currencies from one chart only in live trading mode. To see all events during the test, click the button "full" (for full calendar) and "mon, tue, wed, thu, fri" (for all days of the week).
- comment_length – length of comment. The EA uses comments to distinguish linked orders. If the EA cannot set comments, try to decrease this value.
- draw_all – draw events of the current week on the time scale of the chart. Activate this parameter to allow the EA to draw events on all open charts.
- global_stoploss – use points, not pips. A parameter marked with "g" in an event view can be overwritten with this global value.
- global_takeprofit – use points, not pips. Has no effect, if you activate the button "h4 tp" on the chart. A parameter marked with "g" in an event view can be overwritten with this global value.
- global_trail – use points, not pips. A parameter marked with "g" in an event view can be overwritten with this global value.
- global_volume – either a fixed value (ex: 0.02) or a percentage from available equity (ex: 0.1%). A parameter marked with "g" in an event view can be overwritten with this global value.
- test_mode - use "demo_calendar" for testing purposes if you do not have calendar files. Results for this kind of test should be discarded because the EA issues order commands randomly based on the demo calendar.
- test_release - enter the name of one news release (multiple news, separated by commas). Other news releases are skipped during the test. At the end of the test, the EA will output additional information on all trades in the logs.
- update_defaults - gets new default parameters upon the EA start and at the start of the new day.
- zero – distance from Open price in points after which the EA places the stop loss at the Open price. Activate the button "zero" on the chart for this function to work. The "zero" function may be handy if there is an open order but no strong movements.
- zero_auto - number of minutes after opening a trade. When this time runs out, the EA attempts to set the stop loss at the open price line with consideration of the zero parameter value. Set to 0 to disable it.
This EA uses the magic number "123".
Please take a careful look at the important information about working with the EA in the attached pictures.
Feel free to post your suggestions and comments in the Comments tab. Valuable suggestions will be implemented in the upcoming updates of the EA.
Attention! Default strategy settings may be used for automatic news trading. Nonetheless, the news market can be very volatile. To make your trading successful, you should follow the news context and tailor your strategies accordingly.
2. Reading from EA history files improved.
2. Corrected values for ForexFactory calendar.
3. Improved reading from CSV files.
2. Calendar forexfactory.com was corrected.
3. Related events changed. Now "standby" status of any event disallows a trade (previously such an event was discarded).
4. Minimal stoploss can now be as low as your spread. If spread fluctuates and is higher than your stoploss, then stoploss cannot be set or changed. This should be taken into account, so make your stoploss several times higher than your current spread, or use the default value.
2. An empty value for forecast would not allow to open a trade when comparing by an exact value. I switched forecast for previous, because there is always a value for previous.
3. The comparison sequence to open a new trade was improved.
2. Notification about empty values for the Strategy 2 (instant orders).
3. Further steps to eliminate the ArrayOutOfRange error.
4. Improvements of the interface (length of strings, selection of a symbol in the strategy view, no reset of the current page when switching strategies etc).
5. Checking new actual values for the Strategy 2 (instant orders) should now start 10 seconds before the release with the interval of 3 seconds. The actual interval, though, may depend on a number of factors. 15 seconds after the release, the interval is 5 seconds, then it increases gradually.
2. Calculation with empty values was corrected for instant orders. If there is an empty value or a value with a dash, the EA does not check that event. If there is a zero value, a value of 1 is added to all members of the calculation. This does not change the result and allows to avoid dividing by zero.
3. Error for USDNOK and USDSEK events was corrected.
4. Default strategy settings were updated, following a new rule for checking events.
5. The EA property "update_defaults" allows to automatically update default trading settings when they change. Set to "false" if you want to set up your own trading settings.
2. You can now trade any instrument, including OIL and GOLD, with any news event. Set your instrument in the strategy view.
3. New global parameters added: global_stoploss, global_takeprofit, global_trail and global_volume. You can change values of all news events at once via changing these global parameters. All local values are marked to be overwritten with global values by default (see the "event view").
4. Notification about a new open trade corrected.
5. Checking of input values added to the strategy view.
6. Interface improved.
2. A new property "test_release" allows to test only particular news releases. Specify the news, separated by commas. At the end of the test, the EA prints additional information on each trade in the logs, including the duration.
3. A new indicator "h" added, which shows whether there is a trading history available for each news release.
4. Updated the default trading settings. To apply the new default trading settings, click "reset all" in the panel of any news release.
2. Default strategy settings updated. To apply the new default strategy settings click Reset All on the panel of any news.
3. Automatic execution of the zero function added. If an order does not become profitable (that is, its trailing has not been activated), the EA tries to set a stop loss using the property "zero", 30 minutes after the order was opened. The property "zero_auto" allows you to set how much time should pass for the automatic zero function to be executed (30 minutes is the default value). Set zero_auto=0 to switch it off. Click a button with two arrows on the top left corner to see how much time is left till the automatic zero function executes. The zero button in the chart functions as before and is not linked to the zero auto activation.
2. Release time is now a variable value, which makes it more like a live mode trading.
2. Fixed dynamic volume calculation
2. Sending market orders improved
3. Button widths corrected
4. History improved
2) You can now choose between two calendars: mt4.numerika.ru and forexfactory.com
3) A user-friendly interface has been added.
4) You can now set up to two strategies for different economic data separately.
1) The new parameter NEXT_EVENTS sets the number of the upcoming events. The upcoming events are displayed at the bottom left corner and are based on the data of the selected calendar. For example, if the conservative calendar is selected, which contains 3 events for the current week, the upcoming news will include only these 3 events. Set NEXT_EVENTS=0 to disable the parameter (for example, for testing).
2) The new parameter SLIP sets the size of the slippage, at which the EA tries to close all stop orders. A spread greater than the slippage could mean that the market is shaky and trading will not be efficient. Set the value of SLIP 10 times greater than the average spread (the value of the current spread is displayed at the bottom right corner). Otherwise the EA will open and close a large number of orders at the same time.
3) The new parameter STOPS_FOLLOW_PRICE allows the EA to change the stop loss and take profit after moving the opening price. They are moved before the news release, that is when the stop orders had not triggered yet, and the EA tries to keep them at a distance defined by the STEP value. If your broker does not allow to zero the stop loss and take profit values of an order that has already been sent, set the value of STOPS_FOLLOW_PRICE=false.
Added a number of checks before sending a new order and modifying the current orders.
The EA gets economic data from a different website. To keep on trading, please download this latest update of the EA.
1. Go to www.dailyfx.com/calendar and download CSV file of the calendar for the CURRENT WEEK or any other FULL WEEK starting on SUNDAY
2. Place the file to /tester/files/ folder (File - Open Data Folder)
3. Restart MetaTrader 4, open the Strategy Tester and select the required week; a week starts on SUNDAY
4. Set the GMT value via Expert Properties, which must correspond to the time of opened orders (see the page of economic calendar for hints on your GMT)
5. Start a test with Visual Mode ON, the current testing time is displayed in the lower left corner
If during the test you get the feeling that orders are set earlier or later than they should, it means that you have not taken into account changes to or from Daylight Saving Time. Change the GMT value accordingly and repeat your test.
We are going to publish an article on news-based trading soon, so check the profile page regularly.