Reaper - User manual

30 July 2021, 12:10
Profalgo Limited
12
20 253

This blog will provide the necessary information to run the Reaper EA as intended.

Information will be added as more recurring questions will become clear.

Currently, the EA can run on these pairs: 

EURUSD;GBPUSD;AUDCAD;EURAUD;EURCAD;GBPAUD;GBPCAD;EURCHF;GBPCHF;USDJPY;

EURJPY;USDCAD;EURGBP;USDCHF;CADCHF;CHFJPY;AUDJPY;AUDCHF;AUDUSD;GBPJPY;


When running the EA for the first time, it is recommend to use the best pairs only as they will give best performance for most brokers. 

The best pairs are automatically set in the "Reaper_OneChart_Best Pairs" set file attached.


QUICK SETUP:

  1.  Add this URL "https://www.worldtimeserver.com/" to the list of allowed URLs in the menu 'Tools -> Options -> Expert Advisors'  BEFORE you launch the EA to the charts
  2.  If you want to use the news filter, also add this URL: "https://ec.forexprostools.com/"
  3.  Make sure you enable AutoTrading in the MT4 (AlgoTrading in MT5)
  4.  Open a EURUSD M5 chart
  5.  Load the EA to the chart and go to the "inputs" tab
  6.  Click "load" and select the "best pairs" set file, attached from this blog (you can download it and put it anywhere you like)
  7.  Click "ok"


RECOMMENDED BROKER: ICMARKETS

- The "alternative set" attached to the blog will force a higher TP for a certain time, before fully activating the Trailing Takeprofit

- The "OneChart" set attached to the blog, will trade all 20 pairs with default settings.

Just to be clear: do NOT run the OneChartSetup on multiple charts! Or you will have multiple identical trades.

Since version 1.95, the EA will automatically detect the suffix used by the broker.



The Reaper is a night scalper, which means it will trade from 1 hour before rollover time, till 1 hour after rollover time.

The EA uses an AUTOGMT function, based on GMT time retrieved from a website.  This function is to make sure the EA is always trading at the correct times.

For most brokers (that use GMT+2 in winter and GMT+3 in summer) that means from 23h till 1am

The EA has an infopanel, which shows WHEN the EA will start trading ("Time To Start").  Make sure that this hour corresponds with 1 hour before rollover.

So if your broker's rollover is at 0:00, the Time To Start should be "23:00" from monday till thursday. 

For friday, it will always be 1 hour later (so "0:00") because we don't trade the hour before the weekend starts.

If your  broker uses GMT-0 for example, rollover will be at 21h, and Time To Start should be "20:00" in the infopanel.    

But like I mentioned: the EA will automatically detect the correct times if you use the AutoGMT.

It is important for the AutoGMT to work correctly to add this URL "https://www.worldtimeserver.com/" to the list of allowed URLs in the menu 'Tools -> Options -> Expert Advisors' BEFORE you launch the EA to the charts

So it will look like this:


PLEASE NOTE:During the weekend, the Marketwatch window will simply display the hour of friday closing time, and the "Time To Start" will not show correctly.  don't worry about that as it will adjust as soon as markets open.

ALSO NOTE:  for backtesting, AutoGMT will NOT work, and you must adjust the Winter/Summer GMT Offset parameters according to your broker's pricefeed.


To check your broker's rollover time, simply go to your marketwatch, right click the EURUSD symbol and select "specification".  Then scroll all the way down in the specification window and seen when Rollover start:

for example: a broker using rollover at 00:00


New from version 3.0:


A nice overview of the pairs, showing their profits, and profit per trade. an "*" shows which column is used for the ranking.  In this example, the table is ranked by "Closed PL"

"Closed PL" -> this shows the closed profit for the last X days.  It can show the absolute profits, or the "normalized" profits (reduced to 0.01lots for better comparison). Left side is long term, right side is short term

"PL per trade" -> this shows the average profit per trade, based on the the trades from the last X days (taking in account that at least Y trades have to be closed). Left side is long term, right side is short term

"Lotsize" -> the lotsize  at which the pair will trade.  the 2 values after the lotsize value, are the number of closed trades found VS the minimum number of trades necessary to start the adjustement

IMPORTANT: allow to show 'all history' in the history tab of the MT4 or MT5.  Else it won't be able to read the historical trades



Parameter list:

- ShowInfoPanel: enable the information panel on the chart

- Adjustment for InfoPanel size: for 4K screens, use value "2" to correctly display infopanel

- Update infopanel during testing: disabled will run backtests faster

- comment: comment of the trades

- Magicnumber: the magicnumber used by the EA.  this can be the same for all pairs

- OneChartSetup: enable the OneChartSetup (run all optimized pairs from 1 single chart)

- OneChartSetup_Pairs: pairs to run (only optimized pairs can be used here).  Currently, the EA will run on these

   pairs: EURUSD;GBPUSD;AUDCAD;EURAUD;EURCAD;GBPAUD;GBPCAD;EURCHF;GBPCHF;USDJPY;EURJPY;USDCAD;EURGBP;USDCHF;CADCHF;CHFJPY;AUDJPY;AUDCHF;AUDUSD;GBPJPY;


TRADING TIMES:

- Time to Start: Time to start the trading session, based on GMT+2 (winter and US DST), assuming rollover at 0:00.  And this is brokertime (marketwatch window)

- Time to Stop:   Time to stop the trading session, based on GMT+2 (winter and US DST), assuming rollover at 0:00.  And this is brokertime (marketwatch window)

- Allow Trades on Friday evening: Allow the EA to open trades on friday evening right before the weekend

- Allow Trades on Weekly Market open: when enabled, the EA will also trade the first hour when market opens after the weekend.

- Skip trading on US holidays: this will disable the EA on US holidays, which are low in liquidity and best to avoid for night scalping


ENTRY SETTINGS:

- Max spread allowed before settings trade: the maximum spread allowed before entering a trade

- spread at which pending orders are deleted: self explanatory

- Maximum number of open trades: here you can set the maximum number of open trades for all pairs together.  You can use this to prevent margin problems when running highly leveraged

- Maximum number of correlated trades (0=disabled)): Here you can limit the occurance of correated pairs trading in the same direction.  For example: Buy EURUSD and Buy EURCAD are correlated on EUR.  But Buy EURUSD, and Sell USDCHF are also correlated on USD.  A good value for this parameter is "3".

- Mode B: enable mode B (recommended).  This will make the EA more strict in entries, and bigger exit TP levels.  Overal this performs best on most brokers

- Turbo mode: when set to "true", it will enable the EA to put a new pending order, even if there is already a trade open for the pair.  If "false", the EA will always wait for the open trade to close before setting a new pending order.  Enabling will lead to more trades.

- Trade at Weekly Market open

- Use Market Orders for Entry: by default the EA will use "Limitorders", but some brokers don't like the multiple opening and modification of pending orders.  You can use this option if your broker starts giving your warnings about that.

- Use Slippage control on Market orders: when not using the Limitorders, there will be more slippage on entry.  This will try to help the EA deal with that slippage

- Randomized Entry in Point: This will 'shift' the entry with -X till +X points from the normal position. Each time X will be randomized from a value between zero and the value of this parameter.  This option will prevent that all REAPER users are trying to enter trades at the same price.  And so, when many users use this option, it will decrease slippage on entry.

- Split up trade into X smaller trades: with this option, you can force the EA to set multiple smaller trades instead of 1 big trade.  This might help with slippage issue when trading big lotsizes.

- Split up trades based on max Lotize Y: here you can set the maximum lotsize per single trade.  If the lotsize will be bigger, the EA will split up the trade into multiple part.  This is to improve execution of big lotsize trades

- Maximum attemps to set/Modify orders: this will set the number or attempts that the ea will do when a order failed to be set or modified for some reason.  A too high number might cause an "overly active" account for your broker

- Minimum minutes between 2 consecutive trades in same direction: this is to prevent multiple faulty trades opened fast after each other

- Force Marketorder if limitorder is out of range: this will set an immediate marketorder, if the limitorder can not be place because it is higher than the buy price, or lower than the sell price

- Minimum "potential" TP before entering a trade: this will make the EA only put trades that are at least X pips away from the TP price.


SL/TP SETTINGS:

- Use Virtual TP for exit: instead of using a hard TP which is modified, you can also use this option if the hard TP modifications is making your  broker nervous

- stoploss (0=default): allows you to override the internal set stoploss

- Widen SL during rollover: allows you to  widen the SL with X pips during rollover time.  this is to prevent spread widening causing unwanted SL triggering

- Add X pips to TP level:  It will a X pips to the default TP levels

- Force Minimum Takeprofit: Here you can force the EA to close trades only with X pips in profit (instead of sometimes closing trades with negative Takeprofit level)

- Reset Forced Minimum TP after X hours: here you can disable the Forced Minimum Takeprofit again, X hours after trade opening

- CloseOnHour: Here you can force the EA close all trades at hour X.


SWAP FILTER:

- Skip trading on Triple Swap: this will disable trading before the triple swap (usually wednesday night).  I personally don't use this option

- TripleSwap day: here you can override the Automatic detection of TripleSwap Day

- Maximum SwapCost allowed (in points): (value "0" means disabled).  Here you can set a value of the maximum swapcost (in points, for example "-5") that you want to allow before setting a trade.


NEWS FILTER:

- Enable News Filter: set to "true" to use the news filter

- FilterHighRisk: filter out high impact news

- FilterMediumRisk: filter out medium impact news

- FilterLowRisk: filter out low impact news

- FilterAUDonJPYnews: filter trades on AUD pairs when JPY has news coming out

- HoursBeforeTradingSession: check news X hours before the trading session starts

- HoursAfterTradingSession: check news X hours after the trading session has ended


LOTSIZE SETTINGS:

- Autolotsmode: here you can choose if you want to use a fixed lotsize (StartLots), or use the LotsizeStep, or use the Risk Per Trade (LotsizeStep is recommended)

- StartLots: the lotsize used for fixed lotsize

- Risk Per Trade: the risk per trade in %.  Lotsize will then be based on SL of the pair and the risk chosen

- LotsizeStep: the EA will use X lots per Y balance.  for example: LotsizeStep=100 means the EA will use 0.01lots per 100 of balance.  so on 500 balance, it will be 0.05lots.  Keep in mind that these values need to be adjusted to your base currency!  So when running on JPY account, you can not use value 100, since that would be much too high in lotsize!

- OnlyUp: this will force the EA to only increase lotsize after profits, but not reduce lotsize after losses (for faster recovery). Example: if you use LotsizeStep=100, the EA will use 0.01lots per 100 of balance. so if you balance is 500, it will use 0.05 lots. It the balance grows to 1000, the lotsize is 0.1lots. If balance then declines back to 700, the lotsize will remain 0.1lots if OnlyUp is true

- Balance selection for Autolotsize Calculations: here you can choose if the EA should use Balance or Equity for automatic lotsize calculations


PERFORMANCE BASED RISK SETTING:

- Enable Performance based Lotsize: this will turn on this feature

- Performance numbers to use: you can select to see results based on real numbers (absolute values of profits and profit per trade), or by normalized number (reduced to lotsize 0.01 to have better direct comparison between the pairs)

- How to rank pairs: you can select to rank the pairs by profits, or by profit per trade

- Number of days to evaluate: here you set the minimum days of history for the pairs the EA needs, to evaluate before starting to adjust the lotsize

- minimum #trades before monitoring: here you set the minimum number of trade of the pairs that the EA needs to take in accounts

- Days of profit to reset lotsize: The lotsize will be reset to normal, if this short term period is positive (when "Only limit pairs in minus" is enabled)

- Maximum lotsize reduction: the maximum (in %) to reduce the lotsize, based on his ranking place

- Only limit pairs going in minus: this will make the EA only reduce lotsize for pairs that have a negative performance (so profits in minus or profit per trade in minus


GMT SETTINGS:

- AutoGMT: this will make the EA automatically calculate your broker's GMT settings. (make sure to add the URL ""https://www.worldtimeserver.com/" to the list of allowed URLs in your MT4/MT5) 

- GMT offset Winter: when AutoGMT is disabled, set this value to the winter GMT offset of your broker

- GMT offset Summer when AutoGMT is disabled, set this value to the summer GMT offset of your broker


ROLLOVER SETTINGS:

- Use Rollover Filter: this will enable/disable the rollover filter

- Open order during Rollover: enable opening of trading during the rollover period

- Close orders during Rollover: enable the (virtual) closing of trades during rollover period (hard TP will still be triggered)

- Rollover start time: time when rollover starts (always based on GMT+2 winter and GMT+3 summer so your do NOT need to adjust to your broker's GMT)

- Rollover end time: time when rollover ends (always based on GMT+2 winter and GMT+3 summer so your do NOT need to adjust to your broker's GMT)



How to set up the EA:

A) With OneChartSetup enabled:  Simply run the EA on a EURUSD M5 chart with OneChartSetup enabled.

B) With OneChartSetup disabled: Run the EA on a M5 chart for each of the 20 optimized pairs.


Make sure you select your lotsize setup.  for USD/EUR accounts, these are the risk levels for LotsizeStep:

- 400 -> low risk

- 200 -> Medium risk

- 100 -> High risk


For MT5: when you receive an error regarding the Bollinger Bands indicator: make sure you have all the pairs visible in the marketwatch window, and that they all have some historical data.  




FAQ:

  • How do I know if the EA is set up correctly?  first, there must be a smiley face on the chart.  Secondly, check the "Time To Start".  It should be 1 hour BEFORE rollover (from monday till thursday). If not, check the beginning of the blog to see how to set the GMT correctly
  • The EA doesn't trade:  Check your setup again.  Also, check the expert tab and journal tab for messages.  
  • My lotsize is always 0.01lots:  For automatic lotsize, you must set "autolotmode = use LotsizeStep (or use Risk per trade)".  Check the list of parameters above to know which lotsizeStep to use
  • My broker is giving me a warning that the account is hyperactive:  You can first try using OneChartSetup instead of running the EA on all charts seperately.  If you still get a warning, you lower the "maximum attemps to set/modify trades" to a lower value.  you can also use the virtual entry (marketorders) and virtual TP.  This will for sure fix it, but will also risk more slippage on entry and exit of trades
  • I only see trades for EURUSD:  then you are only running on EURUSD.  Either run on all charts for all pairs, or run on EURUSD BUT enable the OneChartSetup





Share it with friends: