NightAnchor
- Experts
- Version: 1.30
- Updated: 1 August 2026
- Activations: 10
NightAnchor
NightAnchor trades one clear edge: the quiet drift and snap-back that appears across major and cross currency pairs in the hours around the New York close. It is a night-session mean-reversion system that works a basket of up to twenty forex pairs from a single chart. Wins are frequent and small, and every position is bounded by a wide stop loss. Most trades close the same night, though a minority are held longer while the exit ladder works; see the honest notes below.
Live signal
NightAnchor runs on a real, live account. You can follow or copy every trade on the public signal: https://www.mql5.com/en/signals/2380654
Strategy
About one hour before the New York close, NightAnchor places a pair of pending limit orders around each enabled pair, one buy limit below price and one sell limit above. When the thin overnight session stretches one side too far, that limit fills and the system harvests the mean-reversion move back toward the anchor with a small target of roughly eight to eleven pips, assisted by a time-decay exit ladder that gradually lowers the target the longer a position is held. The opposite, unfilled order is cancelled when the night window closes. The whole cycle is driven off server time, so the system reads the price data it needs internally and does not depend on the chart timeframe or the chart symbol.
Before any pending order is allowed to fill, the system re-checks the market regime and cancels orders that sit in a toxic condition, such as a deep trend-following extension or a sudden volatility expansion. Because the trade is never opened in those conditions, the system neither chases a false reversion nor holds through the run. In testing, this entry filter raised the profit factor and lowered the drawdown in every real-tick window tested; it trades a little less, so raw net profit is similar, but the risk-adjusted result is better.
Built-in protection
Risk is limited by structure rather than hidden. The night window is short and most positions close the same night: the fast take-profit closes many within the first hour, and a time-decay ladder gradually lowers the target on the rest. A position that is still underwater when the ladder reaches its last rung is held until it recovers to a small loss or reaches its stop, so in testing a minority of positions were held up to about half a day and a few carried into the next day, each one bounded by its stop. Each pair carries a wide stop loss of forty to eighty pips that acts as a catastrophe backstop, and the system warns you if you set a stop too tight, because nightly rollover spread spikes can otherwise trigger it. A configurable equity stop halts new orders on a large account drawdown; it does not close open positions, which run to their stops. When you withdraw funds, the equity-stop baseline re-anchors automatically and the adjustment is logged in the journal, so a withdrawal never leaves new orders blocked. The system refuses to start on a netting account, because the two-sided straddle logic requires hedging. Position sizing, the equity stop, and every internal threshold adapt automatically to the account currency, so the system runs the same on a yen, dollar, or euro account. Broker symbol prefixes and suffixes are resolved automatically, and the server time-zone and daylight-saving offset are measured live rather than assumed. Each pair's pending orders are sent in sequence over a few seconds to stay broker-friendly, and if the broker reports the market as temporarily closed the EA waits cleanly instead of re-trying repeatedly. Journal logging is kept concise as well.
On-chart dashboard
A compact status panel on the chart shows the trading-window countdown, the broker environment (account mode, GMT offset, order limits), each pair's spread compared with its own limit, tonight's orders and fills, weekly statistics, and the reason whenever the system is idle, such as weekend, holiday break or spread too wide. The spread column shows the live value while the trading window is open, and during the day it shows last night's window-time average and peak, so the spread that actually applies at trade time is visible at a glance rather than the tight daytime figure. The panel also shows a sizing line with the effective lot and the approximate risk percent it represents, this week's realized profit and loss (commission and swap included), and, when positions are open, the floating total. A layout switch offers a larger vertical view with one pair per row (the default stays the compact two-column layout). You always know what the EA is doing and why. The panel can be switched off with a single input.
Backtest results
Tested in the MetaTrader 5 tester on USDCHF, M5 chart, 1:100 leverage, fixed 0.01 lot, starting balance 320,000 JPY, all 20 pairs enabled (the default configuration). Every figure below comes from real-tick testing over the full 18 months of tick history available from the broker (2025.01-2026.07). We deliberately publish no one-minute OHLC results: that model is too optimistic for a limit-fill strategy, and real ticks are the honest expectation. The table doubles as the tuning guide for the Trade pace setting - each row is one selectable pace step, and the default is 1.60, the step with the best profit factor.
Trade pace | Trades | Win rate | Profit factor | Net profit | Max equity DD
1.70 | 258 | 91.9% | 4.85 | +17,679 JPY | 1%
1.60 (default) | 292 | 92.1% | 4.91 | +19,182 JPY | 1%
1.50 | 343 | 92.4% | 4.44 | +20,956 JPY | 1%
1.40 | 386 | 91.5% | 4.37 | +22,467 JPY | 1%
1.30 | 453 | 89.4% | 3.69 | +22,741 JPY | 1%
1.20 | 512 | 88.9% | 3.33 | +23,660 JPY | 1%
1.10 | 597 | 87.9% | 2.87 | +23,893 JPY | 1%
1.00 | 717 | 86.3% | 2.49 | +24,108 JPY | 1%
Faster pace steps place the entry orders closer to the market: more orders fill, so trades and absolute net profit increase, but each additional trade carries a thinner edge, so the profit factor and win rate decline. Pick the row whose trade-off you want. The results above use the most conservative sizing of 0.01 lot per 320,000 JPY; net profit scales with lot size when you keep the lot proportional to your balance. The news filter is off by default, and when you switch it on it uses a hardcoded, source-verified FOMC date table instead of the MetaTrader calendar, so the tester and a live account stand aside on exactly the same nights. A live account therefore trades the same nights any backtest shows. Past performance does not guarantee future results.
Quick start
Copy the file into the Experts folder and refresh the Navigator. Attach NightAnchor to one chart; USDCHF on the M5 timeframe is recommended, and the system is chart-independent. Allow algorithmic trading. The EA is ready to run with its default settings (all 20 pairs enabled); a matching set file is provided in the Comments section. Check the journal, where the system prints a startup report that must show a hedging account, your server GMT offset, tonight's trading window in server time, and the list of resolved symbols. If a symbol does not resolve, set the symbol prefix or suffix manually. Deploy and restart during the server daytime, not inside the night window.
Requirements
A hedging account is required, because netting accounts are refused. A tight-spread or raw-spread broker is recommended, since the calibration was tuned on a raw-spread feed and wider-spread brokers simply trade less. Leverage of 1:100 or higher is recommended. Any account currency is supported. Funding of about 150,000 to 320,000 JPY or the equivalent per 0.01 lot is recommended, and this funding floor is important to the safety of the system. A VPS is recommended, because the trading window occurs every night around server time 23:50 to 00:50 and the terminal must be running then.
Settings
All strategy logic is built in and pre-tuned, and most users simply attach the EA and leave everything at default. All 20 pairs are enabled by default, and each pair has its own on/off switch, so you can run a reduced basket if you prefer. You control position sizing with one-click levels: fixed 0.01 lot, the default, risk 1, 2, or 3 percent per leg, or fully manual settings. Risk levels above 1 percent size beyond the recommended funding floor of about 150,000 JPY, or roughly 1,000 USD, per 0.01 lot. To be concrete about the magnitude: the worst case measured in the safety audit, every CHF-correlated position stopped out simultaneously, is about 7 percent of the account at the default Fixed 0.01 on a 320,000 JPY account, but corresponds to about 14 percent at Risk 1, about 29 percent at Risk 2, and about 43 percent at Risk 3. These levels exist for buyers who understand those numbers and explicitly want that trade-off, and the EA prints a journal warning when one is selected. You also control the equity stop percentage, the maximum spread multiplier, and the trading days, with Friday night off by default to avoid weekend gaps. The per-pair stop losses are exposed but should not be lowered below the recommended floor. The Trade pace setting selects how close to the market the entry orders are placed, in eight steps from 1.00 to 1.70 (default 1.60). Broker feeds differ widely in spread and tick density, so the same pace fills very differently from broker to broker; watch a few weeks of forward trading on your feed, then move one step faster if you want more trades or one step slower if you want fewer. The real-tick results for every step are in the table above. An optional trailing stop is also included (default OFF; arm profit, trail distance and minimum step are adjustable). To be honest about it: in a real-tick comparison test, turning it ON left the entries identical but cut winning trades short, so net profit and the profit factor decreased while the maximum drawdown did not improve, because the time-decay exit ladder already does that job more effectively in this system. The default is therefore OFF, and every published result uses the OFF configuration.
An optional multi-day shock guard is also included (default OFF). When enabled, before each night's orders are placed it compares every pair's recent daily range, including the current day, with its own 20-day average, and a pair above the threshold (default 3x) sits out that night. An optional currency-propagation mode goes further and also sidelines every pair that shares a currency with a detected pair, because an intervention-class shock can hit all crosses of one currency at once. In a verification run on the yen-intervention night of 2026-07-30, the guard with propagation ON detected the intervention the same day and avoided every fill of that night. The measured cost of enabling it is about 1-2 percent of net profit over 18 months of real-tick testing. To be honest about its limits: the guard can only detect shocks that have already appeared in the daily ranges by order-placement time; it cannot foresee a shock that starts at night with no daytime footprint, and the most important protection remains conservative sizing. The default is OFF and every published result uses the OFF configuration. If you use percent-risk sizing, enabling the guard with propagation is worth considering.
The year-end trading pause is an optional switch, `InpUseYearEndPause`, and it is off by default. Earlier versions stood aside automatically from late December into early January. Measured across six year-end seasons, the trades taken in that window were profitable in every one of those seasons, and pausing reduced the realised balance drawdown by exactly zero, which is why the default is now off. If you prefer the EA to stand aside over the holidays, switching it on restores the previous behaviour. One nuance worth stating: at the more selective pace steps (1.20 to 1.70) removing the pause improved both net profit and the profit factor, while at the two fastest steps, 1.10 and 1.00, it was slightly worse. If you run the fastest pace, consider switching the pause on.
Honest notes
This is a hold-to-recovery strategy, which means the momentary floating loss on an open position can be deeper than the realized drawdown shown in a report, so size accordingly and keep the lot proportional to your balance. Keeping the funding floor of at least 150,000 JPY per 0.01 lot is part of what keeps the worst case small. The wide per-pair stops are load-bearing and should not be tightened. Positions are not always closed quickly: a trade that is still underwater when the exit ladder runs out is held until it recovers or hits its stop, which can extend into the next day and, in an extreme case, across a weekend. A discontinuous gap while a position is open is therefore a real tail risk that a stop cannot fully neutralize, and because the basket is concentrated in Swiss-franc pairs several positions can face the same shock at once. This is why the window is kept short, Friday nights are off by default, sizing must stay conservative, and the equity stop is in place. The edge is night mean-reversion, which is regime dependent and can decay, so please test on a demo account first and start with the default settings at conservative sizing. Also note that trade frequency naturally varies with the broker feed and the market regime; anywhere from zero to a few trades per week is normal, and the long-run average on the validated feed is about three trades per week at the default pace, and the Trade pace setting adjusts the frequency itself. The EA initializes its volatility reference from price history on attach, so it trades at its normal pace from the first night.
More from this developer
Expert Advisors:
WeekAnchor Eight, eight JPY and CHF crosses: https://www.mql5.com/en/market/product/180321
Live signals:
WeekAnchor Eight: https://www.mql5.com/en/signals/2378669
Seller page: https://www.mql5.com/en/users/masa999/seller
If anything is unclear, please leave a message in the Comments. Thank you for your interest in NightAnchor.

Another great EA by Masahiro Takashima! It is a great combination with my other night scalper EA! Highly Recommended!