NY Close Scalper
This is a mean reversion strategy around the close of the New York session.
It is only designed for symbols: EURUSD, GBPUSD, EURCHF and USDCHF on M5 timeframe.
There are also auto settings EURGBP, but I am not using it on my signal account.
Because the EA will trade around the New York close time (16:00 - 18:00 New York time), the GMT time will be different in summer compared to winter (DST: daylight saving time). But the EA has daylight saving times stored internally, so there is no need to adjust the trading hours manually.
Please allow webrequests to http://currencystrength.de for the automatic GMT offset calculation.
For backtest you should use GMT offset 0 (or set testerGMToffset to the correct value) and don't adjust for DST, the EA will do the adjustment itself.
You can find backtest in the comment section. Because this strategy is trading around swap time the spread can be very large. It is important to use real spread in backtesting and not some fixed spread. But be aware that the spread can be very different between brokers at that time.
The EA should be turned off on days of important events, for example general elections in UK, US or Europe!
Be aware that past performance is no guarantee of future profitability and that optimized backtest results cannot provide a realistic prediction of future profitability.
- orderComment - Each trade will show this comment in history tab.
- magicNumber - individual magic number. The EA will only manage position of the chart symbol with this magic number.
- lotType - "fixed" or "increasing", where the lot size is calculated automatically.
- fixLots - fixed lot size in case lotType = fixed.
- lotStep - how much the lot size should be increased every equityPerStep (if lotType = increasing).
- equityHardStop - if the equity falls below that level the EA will close open positions (only of this strategy) and will not open any new positions.
- pipInPoints - for 5-digit brokers, this should be 10, for 4-digit brokers 1.
- slippagePoints - Slippage used in OrderSend() function (points, not pips).
- maxSpreadPipsEURUSD - maximum spread allowed for entry on EURUSD.
- maxSpreadPipsGBPUSD - maximum spread allowed for entry on other symbols.
- liveGMToffset - To set GMT offset manually. Usually this is not needed.
- skipSunday - if true the EA will not open positions on Sunday (GMT).
- startHourGMT - when to start trading (GMT).
- endHourGMT - when to stop trading (GMT).
- waitMinutesBetweenEntries - The EA will not check for new positions during the given duration. If you are sleeping during the trading hours you could limit the potential total risk with this parameter. If the last hour was a loss the EA will automatically increase waitMinutesBetweenEntries by 15 minutes.
- dontTradeTripleNegativeSwap - If true, the EA will not open trades on before swapHourGMT when the swap is negative on days with triple swap rate.
- tripleSwapDay - Day at which tripple swap is applied. On most borkers it is Wednesday.
- swapHourGMT - Swap hour used if dontTradeWednesdayNegativeSwap=true.
- testerGMToffset - Only needed for tester because GMT time is not defined in tester and your bar data might have a GMT offset.
Please also have a look at the "What's new" tab for additional parameters.
- Added a new parameter maxPercentageIncrease to prevent trading on days with an extreme increase in stock market during the last 8 hours (0 = auto settings for each pair).
stockIndexSymbol - Here you have to insert the symbol for the S&P500 index, which is used for this filter. The default is set for ICMarkets where it is called "US500", but it might be different on your broker. To disable this filter, set the parameter to an empty string.
maxPercentageDecline - In case you want to set your own value. If it is 0, auto settings will be used, which are different for each pair in the range of 1.3 to 2.2 percent.
The EA has historic SP500 data stored internally, so it will also work on backtest (until the date of the last update). You don't have to change the stockIndexSymbol for backtests.
dontTradeWednesdayNegativeSwap - true if you want to avoid trading in the direction of negative tripple swap.
trippleSwapDay - Day at which tripple swap is applied. On most borkers it is Wednesday.
swapHourGMT - Time of swap in winter (GMT+0), in summer it will be automatically adjusted with DST.
Be aware that the EA will always reload the historic data if it is not older than a few days. So if you intend to stop the EA for a day during the week (when the market is open), you might want to delete the historic data in the directory \MQL4\Files\NYCloseScalper_history before restarting it to prevent loading data that is too old.
- Added a parameter liveGMToffset so that those who have problems with time zone settings of their VPS can chose GMT offset manually.
- To calculate GMT offset it will use MetaTrader 4 GMT time which depends on local PC time.
- Use MetaTrader 4 broker time for minutes and seconds (because local PC time could be off by a few seconds or more).
- Check only once on connection to the broker's server whether the MetaTrader 4 GMT time is correct. If it is not correct, an alert message will be shown.
Therefore, now the EA will determine the GMT offset itself and use broker time to calculate GMT time.
You have to allow web requests to http://currencystrength.de to use the automatic GMT offset calculation.
Also added a parameter testerGMToffset to enable backtests with GMT offset. Daylight saving time will still be applied automatically, so don't backtest with DST!