Before you buy a night scalper please be aware of the risks involved:
1) Past performance is no guarantee of future profitability (the EA could also make losses).
2) The backtests shown (e.g. in screenshots) are highly optimized to find the best parameters but therefore results cannot be transferred to live trading.
3) Any mean reversion can get caught on the wrong side of a fast movements due to unexpected news or flash crashes. This strategy will always use a stop loss, but still execution of the SL depends on your broker.
4) Night scalpers are dependent on good brokerage conditions, like low spread and slippage, which might be worse on high lot sizes.
Density Scalper is a mean reversion system during the quite hours of the day. It is similar to NY Close Scalper but optimized in a few ways to reduce slippage. For example, the entry logic was reduced to make the calculation faster and the exit is done via take profit orders, which can even lead to positive slippage on exiting a trade.
Additionally, it offers various paramters for optimization of entry conditions and other improvements.
It does not use martingale or grid and has a stop loss for every position.
Symbols: EURUSD, GBPUSD, EURCHF, USDCHF, USDCAD, EURAUD, EURCAD
Time frame: M5
Max. drawdown in 16 year backtest: $60 per 0.01
Please read the blog post for instructions on how to set up the EA.
Because the EA will trade around the New York close time, the GMT time will be different in summer compared to winter (DST: daylight saving time). The EA should adjust for DST automatically if GMT auto settings are used.
Please allow web requests to the following URLs for the calendar news filter and automatic GMT offset calculation:
- http://breaking.fxdata.cc (only needed if you use the breaking news filter)
Ideally, backtests should be done with Tick Data Suite GMT+2 with US DST.
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!
- dailyEquityStopPercentage: IMPORTANT: please read point 6 in the blog post.
- 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).
- maxSpreadPips - maximum spread allowed for entry. If smaller 0, auto settings will be used, which are different for each
- startHourGMT - when to start trading (GMT).
- endHourGMT - when to stop trading (GMT).
- waitMinutesBetweenSameSideEntry- After a buy position another buy position will only be allowed after the given time. Same for sell positions. 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.
- autoGMT - whether to determine GMT offset automatically.
- manualGMToffsetWinter - manual GMT offset in winter (if autoGMT=false or in Tester)
- manualGMToffsetSummer - manual GMT offset in summer (if autoGMT=false or in Tester)
Please also have a look at the blog post and the "What's new" tab for additional parameters.
- Changed parameter takeProfit to maxTakeProfitPips, so that it will not modify the take profit to a higher value than the one given here.
- Added parameter minSecondsBetweenTPchange in case someone has problems with their broker because of too many take profit modifications.
- Added parameter maxEntryPriceDeviationPoints. If the price moved more than the given value in the negative direction during entry calculation, then the order will not be sent.
- Added auto settings for a new symbols, AUDUSD and AUDNZD. But they are very experimental and I will only use them with very small risk. On backtests they only work well with spread multiplier smaller 1 (0.7 used for optimization), but some users reported profitable live performance.
- Added parameter neverReduceLotSize. If true and lotType=increasing, then the EA will not decrease the lot size when the balance is reduced (e.g. in drawdown).
IMPORTANT: This will also be the case if you withdraw some of the money. This option will be ignored if the margin is not enough to cover the previous lot size.
- Changed max positions settings:
maxPositionsAllSymbols=3 (max positions on all symbols)
maxPositionsSameSideCHForCAD=1 (only allow one position in the same direction for CHF and CAD)
maxPositionsSameSideOthers=2 (allow two positions for other currencies)
symbolPrefix="" (has to be entered in case your broker has a prefix with symbols like xxEURUSD.
Changes for the new version:
- The old auto GMT solution would not work for brokers with EU DST. The new one will check the GMT offset when both EU and US DST changes.
- The Japanese holiday filter on Sundays will now only filter JPY and CHF since those are the most risky currencies with regards to flash crashes.