I build and sell the Gold line of EAs on the MQL5 Market, so this is a note from the seller side. Every entry these EAs place starts as a pending stop order. The order waits on the broker's trade server and becomes a position only if price reaches the level. That one choice explains most of what you see on the chart, and it is the reason I recommend a VPS.
What a pending stop order does
A pending order is an instruction left with the broker to buy or sell later, once a condition is met. A buy stop sits above the current Ask and becomes a buy when Ask reaches its price. A sell stop sits below the current Bid and becomes a sell when Bid reaches its price. Until then no position exists, and you can cancel the order at any time.
My EAs place these orders at levels taken from higher-timeframe XAUUSD structure. Before the order goes out, the stop loss, take profit, trailing and break-even rules are already set. The EA waits for the level instead of entering at a bar close and chasing the move. There is no martingale, no grid and no averaging down, and every filled position has a broker-side stop loss.
What runs on the server and what needs the terminal
The terminal sends an order. The trade server checks it: price validity, margin, the broker's stop level. Accepted orders then wait on the server to be processed.
Once accepted, the server holds the pending order and watches incoming prices. It triggers the order whether or not my terminal is running. On a hedging account, which these products require, each triggered order opens a new separate position. If the order triggers when free margin is too low, it is rejected and moves to history with Rejected status.
The trigger happens on the server. The management happens in the terminal.
Trailing stops work in the terminal, so they do not run when the platform is off. Break-even moves made by an EA sit in the same bucket. If my terminal is offline when an order triggers, the position still opens with the stop loss and take profit sent with the order, because those are checked on the server. The later adjustments wait until the terminal is back. A stop loss that could not be executed at activation is not deleted, and it triggers again on the next qualifying tick.
A VPS is a remote computer in a data centre that keeps the terminal and the EA running. MetaQuotes describes its virtual hosting the same way, and suggests a server near the broker to cut latency. For a strategy that places pending orders, the terminal has to be online to send new ones.
Weekend gaps and the expiration setting
Gold stops trading over the weekend, and the first price after the reopen can sit beyond a level you left in. A triggered stop order fills at the current Bid or Ask at that moment, not at the level you wrote. The gap between the two is slippage, the difference between the price you expected and the price you got.
Expiration is set when the order is placed, and the symbol specification lists which types the broker allows. "Good till today" deletes pending orders at the end of the trading day. "Good till canceled" keeps them into the next day. I check which type an order carries before holding anything over a weekend.
The stop level also matters. It is a price channel around the current price, set by the broker. Stop loss, take profit and pending orders cannot sit inside it, and the server answers Invalid Stops if you try.
What the stop loss does when the terminal is down
The stop loss goes to the server with the order, so it stays active when the terminal is off. That is why I require one on every position. Stops are checked on the server too, and they execute at the current Bid or Ask when they trigger, so the exit can land away from the stop price. On gold, spread and slippage take a large share of gross profit, which is why I test on real ticks with raw-spread history.
MT5 Strategy Tester simulation, every tick based on real ticks, XAUUSD, IC Trading raw-spread tick history, deposit USD 5,000, leverage 1:500, 2019 to 2026. Gold Aegis Protocol at Standard risk: 92% CAGR, maximum drawdown 26.18%, profit factor 2.33.
How the tester treats pending orders
The tester emulates the EA's own requests, such as placing an order or changing stops. It does not emulate the triggering of a pending order in the same queue, because the server does that part on its own. A real-tick run therefore models the server doing the trigger and the terminal being online for management. A terminal that is switched off falls outside that model.
The tick model also changes the fills. Real ticks are the broker's accumulated tick history, with spread that can move inside a minute. Generated "every tick" builds ticks from M1 bars by fixed rules and sets Ask as Bid plus one fixed spread for the bar. The "1 minute OHLC" model emulates only open, high, low and close, so intermediate prices are missing. MT5's own notes say that under coarse models orders can trigger at a price different from the specified one. For a strategy built on pending stops, the real-tick run is the one that decides. Real-tick history is not gap-free either: where a minute bar has no tick data, the tester generates ticks for that bar, and the path inside it is a guess.
Each product page also publishes Monte Carlo drawdown percentiles from block resampling over 10,000 paths (MT5 Strategy Tester simulation, real ticks), so the single historical worst drawdown is not the only number you see. For Gold Aegis Protocol, the 95th percentile drawdown is 28% at fixed lot and 48% at Standard risk. Compounded runs can ask for position sizes that live markets would not fill.
Repeat it yourself
Search for "Gold Aegis Protocol" in the Market tab of your terminal, open its free demo, and run it in the Strategy Tester with these settings:
- Symbol: XAUUSD
- Model: every tick based on real ticks
- Period: 2019 to 2026
- Deposit: USD 5,000
- Leverage: 1:500
- Risk: Standard
If your drawdown, profit factor or trade count differ from the figures above, post your numbers and your broker's tick history source in the comments.
Backtests are simulations; past results do not guarantee future results.


