• Overview
  • Reviews (19)
  • Comments (352)
  • What's new

NY Close Scalper

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 do not give a realistic prediction of future profitability.

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.

This is a mean reversion strategy around the close of the New York session. It does not use martingale or grid and uses fixed stop losses for every position. 


Time frame: M5

Max. drawdown in 16 year backtest: $56 per 0.01

Live monitoring (my signals are also using the breaking news filter)

Additional information and backtests

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 (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. 

The EA should run on a VPS continuously without interruption (also Friday evening) to store the historic data. 

Please allow web requests to the following URLs for the calendar news filter and automatic GMT offset calculation:

  • http://fxdata.cc
  • http://backup.fxdata.cc
  • http://breaking.fxdata.cc (only needed if you use the breaking news filter)

For backtest it is important to have the correct GMT settings. Ideally, backtests should be done with Tick Data Suite GMT+2 with US DST. 

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!


General Trade Settings
  • 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 currency pair. 

Time Settings
  • 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).
  • 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.
  • 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. 

PeterSwaby 2020.04.29 04:47 

This is a very good ea. It makes a slow but steady profit.

Guilai Zhang
Guilai Zhang 2020.01.26 16:37 

I think this is the best EA in mql5,I used it for more than one year, and got good result. and the author is very helpful. One more I use Nightwalker together just like the author in his signal. Very good job!

BitcoinLife 2020.01.24 12:59 

One of the best EA currently, it hurts that commissions take much of the profit but it is part of this type of trading. An excellent support.

Update soon with the progress

MAHMOUD SHWAISH 2019.12.13 18:08 

small profits and one big loses will take all .over priced product . Please this is my opinion . i am not here to advise others to buy or not .

mohammed28 2019.10.16 11:00 

Very helpful developer and profitable and secure EA

Tobias Maier
Tobias Maier 2019.03.06 01:02 

The best Night Scalper i have ever seen!

Gianluca Bonfanti
Gianluca Bonfanti 2019.03.04 08:17 

Professional system from a professional seller, so far so good

ruifeng82 2019.03.01 12:28 

The seller is very helpful, always ready to provide great support and guidance for the EA. I am very grateful for his assistance. you will not regret it when you buy the product!

Lucy 2019.02.09 08:48 

Great EA.

Moreno Dainese
Moreno Dainese 2019.02.04 12:57 


penso che sia il miglior EA notturno che trovi sul mercato, molto disponibile Roman,contatto via skype o email

nei commenti i miei risultati.

english translate:

I think it's the best nighttime EA on the market, very helpful Roman, contact via Skype or email

in the comments my results.

peronpmt4 2019.02.04 09:18 

16 dec 19: Today finish my error of renting this EA!! Not Good rate gain/loss in terms of amount!!

Michael Fityani
Michael Fityani 2019.01.31 08:15 

Best product I have seen in more than a year. Good accuracy, good news filter.

I am very happy with this one!

Thx for the good work!

Martin Volk
Martin Volk 2019.01.28 19:45 

Great product

FrankN 2018.12.18 21:49 

I'm very satisfied with the EA. It's furthermore constantly improved by the Author.

I use it in combination with the other EA from Authors portfolio for "trading at night".

Hamad Albaghli
Hamad Albaghli 2018.12.16 14:24 

Good product , Good support.

pogs83 2018.10.27 11:21 

Finally I can make my review!

I been using this EA for 1 month on real account, it is very profitable, and safe it is supported with SL, but most of lossing trades doesn't even hit the SL. My result is 117 win and 27 losses.

and also the seller is very quick to response if you have questions!

I recommended to anyone!

AirOne1 2018.10.18 03:49 

User didn't leave any comment to the rating

Marcus Nyman
Marcus Nyman 2018.09.23 10:24 

Been using this EA on a live account for while. The results are incredible consistant and profitable. Very good job

Maurice L.
Maurice L. 2018.08.13 08:06 

Very profitable so far.

And Roman offers great support!

Version 3.1 2020.03.10
- Added parameter useStockDataFromBreakingNewsFilter. If true, it will also use the SP500 percentage change data from the breaking news filter (if you have it running in your MT4 terminal). This is useful if your broker does not have a stock market symbol.
- Exchanged the old internally stored S&P500 stock index M30 data with M5 data for a better accuracy while backtesting. Data is available from 2003 until 2020.03.06. The stock market filter was also optimized.
- Added option "Auto" for tripleSwapDay parameter. It will then determine the triple swap day from the MT4 information and print it in the expert log on initialization. Some brokers use Wednesday (=3) and some use Thursday (=4).
Version 3.0 2020.01.19
A few internal changes and fixes.
Version 2.9 2019.11.23
- Added small optimization for slightly higher profit target.
- DST check will be done only every new day to speed up the calculations.
Version 2.8 2019.10.26
IMPORTANT: if you are using a broker with EU DST, please update this weekend!

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.
Version 2.7 2019.10.16
- GMT auto solution was changed to make it less dependent on Windows time.
- Added a function to calculate DST, which should be correct until 2099.
Version 2.6 2019.08.08
Added a parameter halfRiskExceptSunday. If true, it should use half the lot size on all weekdays except Sunday-Monday night.
I use this for GBPUSD until Brexit is decided. I don't use it for other pairs.
I also did some internal optimizations, for example to make the file size smaller and the backtest a bit faster.
Version 2.5 2019.07.12
Fixed a small technical issue.
Version 2.4 2019.07.11
- 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.
- Added parameters waitMinutesAfterLargeLoss and lossFractionOfSL. If a loss was larger than lossFractionOfSL times the normal SL, then new trades are not allowed for a duration of waitMinutesAfterLargeLoss minutes.
- Slippage is now saved in one file for all charts with the same magic number, so that the average over all pairs is shown on the chart.
Version 2.1 2019.01.28
- From version 2.1 on, the EA can use the Breaking News Filter: https://www.mql5.com/en/market/product/35212

- The maxSpreadPips settings were changed. Now every used symbol will have its own max spread value derived from optimizations.

- Added a parameter stopLoss for those who want to define an own value or do some optimizations.

- Changed the DST tester settings. Now there is a parameter testerDataHasDST. Set it true if you want to backtest on data with DST, like GMT+2/+3 time zone.
Version 2.0 2019.01.07
- Important notes:
1) Version 2.0 will not be able to read historic data files from earlier version. Therefore, if you don't want to miss a trading day please upgrade during the morning of a weekday (not weekend).

2) Please check that the new parameter dailyEquityStopPercentage is correct for your risk settings. The EAs will stop trading and close open positions if the equity falls below this level (in percent) compared to the equity at 17 GMT (or at initialization if initialized afterwards). If you withdrew or deposited money after 17 GMT it would cause this logic to not work correctly. Please see the blog post for more information:

- There are also default settings for two new pairs, USDCAD and EURAUD.
Backtests can be found in the blog post. They look good, but I only started to test them live in 2019. Therefore, I will only use them on small risk and also not on all signals.

- The EA will now use news filter on all symbols, but with shorter pause times after events compared to NightWalker.

- Added exitLossesOnStockMarketCrashTrigger parameter. Set it to true if you want the EA to close filled positions when the crash filter triggers. Default is false.

- Added parameters stopDayDecember and startDayJanuary so that users can decide whether or not to pause trading during the low liquidity period around New Year.
Version 1.9 2018.11.14
Added a new parameter maxPositionsAllSymbols=2 to reduce the maximum risk. Since 2003 there have been only 9 occasions with 3 positions at the same time, so I think it is ok to only allow 2 to reduce the maximum risk and leverage.
Version 1.8 2018.11.01
The stock market crash filter has been slightly improved.
Version 1.7 2018.10.24
- Added historic SP500 data starting from 2003 to the EA file and optimized the stock market crash filter from 2003-2018.
- 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).
Version 1.6 2018.10.16
A "stock market crash filter" was added. It will not allow trading on days where there is a large drop in stock markets. It will only trigger on negative movement. There are two new parameters for this:

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.
Version 1.5 2018.09.25
There are three new parameter to avoid trading on day of tripple swap in the direction of negative swap (positive direction will still be allowed):

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.
Version 1.4 2018.09.17
The EA will now save historic data in a file (similar to NightWalker EA). It will be restored on restart of the EA so that EA can start trading immediately. This is needed to allow Sunday trading in case the VPS was restarted during the weekend.

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.
Version 1.3 2018.08.17
- Optimization of internal parameters. New backtests are available in the comment section:

- Added a parameter liveGMToffset so that those who have problems with time zone settings of their VPS can chose GMT offset manually.
Version 1.2 2018.05.18
Another small update because of GMT time. The old version determined the GMT offset from the broker's server. To make the time independent of the broker's server in case it is not available, the new solution is:
- 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.
Version 1.1 2018.05.10
Only a small, but very important update. Now the EA will no longer use the MT4 GMT time. The MT4 GMT time depends on local PC time, which usually is wrong by a few seconds and sometimes even hours.
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!