How to test an EA on a demo account: a 30-day checklist
How to test an EA on a demo account in 30 days: a week-by-week MT5 plan that checks behaviour, not profit, from disconnects and errors to your risk limits.
Key takeaways
- A demo test shows whether an EA behaves as documented, meaning it stays connected, keeps to its limits and explains its decisions. It cannot show what the EA will earn on a live account.
- Set the demo up like the live account you plan to use, with the same broker, the same hedging or netting type, a similar balance, the same risk settings and the same PC or VPS.
- Create the bad days on purpose while they cost nothing, by letting the daily loss limit trigger, pressing the kill switch, closing a trade by hand and watching a weekend.
- Judge the month from the log and the Experts tab, not the P&L. Every skipped trade needs a reason and every repeating error needs an explanation.
- Demo fills can be kinder than live ones, so symbol names, minimum lot, spreads and broker permission all need checking again on the live account.
On this page
To test an EA on a demo account, run it for about 30 days on a demo set up like your future live account and judge it on behaviour, not profit. Check that it stays connected, keeps to its limits, gets through bad days you cause on purpose and logs a reason for what it does. A demo cannot tell you what the EA will earn live, but it can show whether it works as documented before real money is involved.
The plan works for any MetaTrader 5 Expert Advisor. Numbers in the examples are illustrative, not recommendations.
What a demo test can and cannot tell you
A demo run is a forward test: the EA trades in real time on prices it has never seen, unlike backtesting, which replays history. For an EA that talks to a web server, it is the only way to test the whole setup, because WebRequest, the function MQL5 programs use to reach a web server, “cannot be executed in the Strategy Tester” (MQL5 documentation).
What it cannot show is future results. One broker’s help centre says slippage, a fill at a different price from the one requested, is not applied on its demo accounts, and that outcomes can differ from live “especially during high-volatility periods”. The disclaimer the US National Futures Association requires next to hypothetical results adds that hypothetical trading “does not involve financial risk” (NFA Compliance Rule 2-29). So every pass mark below is about behaviour.
How to test an EA on a demo account in four weeks
| Week | Focus | Passes when |
|---|---|---|
| 0 | Setup | Demo matches the live plan |
| 1 | Plumbing | Online all week, recovers after restarts, alerts arrive |
| 2 | Rule enforcement | Stops, sizes, caps and filters match the settings |
| 3 | Bad days on purpose | Daily limit, kill switch, manual close and weekend behave as documented |
| 4 | Log review | Every skip has a reason, every repeating error an explanation |
Keep a short diary as you go: the date, what you checked, what you saw.
Before day 1: set it up like live
A demo that differs from your live account tests a different system. Match these:
- The broker. Symbol names, contract sizes, minimum lots and spreads are the broker’s choices.
- The account type. MT5 accounts use netting or hedging. On a netting account you can hold “only one common position for a symbol”, so a second trade on the same pair, including one you place by hand, changes the EA’s position instead of opening a new one (MT5 help). In File → Open an Account, the “Use hedge in trading” option selects hedging (MT5 help).
- The balance. The same dialog lets you pick the deposit and leverage. A $100,000 demo hides what a $500 account can hit: sizes below the minimum lot, margin warnings, a 5% daily limit worth only $25.
- The settings. Risk per trade, daily loss limit, maximum open positions, spread limits, news window.
- The machine. The PC or VPS you will use live, with the same sleep and restart settings.
Install the EA exactly as you will on live, following how to install an Expert Advisor in MT5.
Week 1: plumbing
The first week tests the pipes, not the strategy. The EA has to run whenever the market is open (see forex market hours).
- Status. Check the chart and the Experts tab daily (Ctrl+T opens the Toolbox). Experts holds messages from running EAs, Journal the platform’s own events (MT5 help). Look for a recent heartbeat or a “connected” status.
- Restarts. Close and reopen MT5, then restart the machine. The EA should come back by itself, with its settings, without opening anything twice.
- Alerts. Stop the terminal on purpose and time how long an alert takes to reach your phone.
- Algo Trading. The toolbar button should still be green at the end of the week. Options in Tools → Options → Expert Advisors can switch it off when you change account, profile, or a chart’s symbol or period.
- One terminal. Run the EA in one terminal only. Copies on a home PC and a VPS can send duplicate orders unless the EA prevents it.
Pass: no unexplained offline gaps while the market was open, and every restart recovered without help.
Week 2: are the rules enforced?
Compare what the EA does with what its settings say, trade by trade, on the Trade and History tabs.
- A stop on every trade. Every position should carry a stop loss from the moment it opens. A position with no S/L is a fail, even on a winning trade.
- Sizes. Check a few trades with the position size calculator, as in the example below.
- Position caps. With a cap of 3, a fourth signal should be skipped, not queued and opened later.
- The spread filter. No entry should happen above your maximum spread. MT5 shows spreads in points; on a pair quoted to five decimals, 10 points make 1 pip. A limit of 2 meant as pips but read as points is ten times tighter than intended.
- The news blackout. Read the log around one scheduled high-impact release. The US jobs report (NFP) comes out at 8:30 a.m. Eastern Time, for example on 2 October and 6 November 2026 (BLS schedule). With a news blackout of 60 minutes before and 30 after, a USD pair should see no new entries from 7:30 to 9:00 a.m. Eastern.
Pass: every trade had a stop, every size was within one volume step of your own calculation, and no rule was broken once.
Week 3: bad days on purpose
A quiet day tests very little, so this week you create bad days while they cost nothing.
- Let the daily limit trigger. For a day or two, set the daily loss limit below your risk per trade (illustrative: 0.5% with 1% risk), so one losing trade reaches it. Check that new trades stop, what happens to open trades, that an alert arrives and when trading resumes, then restore the limit. An open trade can still carry the day past the limit on its way to its stop (how to set a daily loss limit).
- Press the kill switch. With a position open and the market open, use the kill switch or its equivalent. Time the closes, and check that trades the EA did not open, which it tells apart by their magic number, are left alone.
- Close a trade by hand. The EA should record it as closed, not reopen it or fill the Experts tab with errors.
- Watch the weekend. If the EA holds trades over the weekend, follow one from Friday to Monday. Compare the swap charged with the symbol’s Specification (right-click it in Market Watch), which lists long and short swaps and a multiplier for each weekday (MT5 help). After a weekend gap, a triggered stop becomes a market order and can fill well past the stop price.
Pass: all four behaved as documented, and you know what happens to open trades in each case.
Week 4: review the log, not the P&L
Count the month’s skipped signals by reason. A skip for the spread, the news window or a position cap is a rule doing its job. Look closer at unknown reasons, repeated errors, skips because the EA was offline or the broker rejected the order, and clusters at one hour or on one pair.
For slippage, compare the fill in the History tab with the price the EA asked for, if it logs one, and for stopped-out trades, the close price with the stop. Note the largest gap; a demo may understate it.
Copy this table into your diary:
| Check | Where to look | Passes when |
|---|---|---|
| Uptime | EA status, alerts, diary | No unexplained gaps while the market was open |
| Restarts | Experts tab | Recovered by itself, nothing opened twice |
| Stops | Trade and History tabs | Every position had a stop from the start |
| Sizes | Log and calculator | Within one volume step |
| Caps and filters | Log | No entry above a cap, the spread limit or inside the news window |
| Daily limit | Log, alerts | New trades stopped at the limit |
| Kill switch and manual close | Trade and History tabs | EA positions closed, others untouched, nothing reopened |
| Slippage | History tab | Largest gap noted and explained |
| Errors | Experts tab | Every repeating error explained |
| Skips | Log, by reason | Every reason matches a rule you set |
Profit is not on the list. A month of demo trades is a small sample, and a good month tempts people to skip the checks.
Before you go live: what to re-check
The live account is a new setup. Re-check:
- Symbol names. Live servers can use other suffixes, such as
EURUSD.morEURUSD.pro. Check Market Watch (right-click → Symbols). - Minimum lot and step. The symbol’s Specification shows “Minimal volume” and “Volume step” (MT5 help). See minimum lot size.
- Account type. Hedging or netting, as on the demo.
- Broker permission. Where EAs are not allowed, orders fail with 10026, “Autotrading disabled by server” (MQL5 return codes).
- Algo Trading after login. An option in Tools → Options → Expert Advisors disables automated trading when you switch accounts; MetaQuotes’ own example is “switching from a demo account to a real one” (MT5 help). Check the Algo Trading button once you are logged in.
- Live spreads. Compare them with the demo’s at the hours the EA trades.
If the EA runs on live but opens nothing, see why an EA is not taking trades. Some traders then start at the smallest size the account allows and repeat weeks 1 and 2 on live; on a small balance that may be the only size (see lot size for a $100 account).
How the PipWarden trial works
The PipWarden free trial needs no card and works with demo or live MT5 accounts; its current length and account limit are on the pricing page. PipWarden runs in MT5 on a Windows PC or VPS, not on a phone, and needs a broker that allows EAs.
- Week 1. The chart panel shows Connection, Bot status and Last heartbeat. If the EA stops reporting while the bot is started, an “Expert Advisor offline” alert goes out by email or Telegram, per your alert settings. A second terminal with the same token is refused.
- Week 2. By default: 1% risk per trade, 3 open positions, 1 per pair, and no new entries from 60 minutes before to 30 minutes after a high-impact release for the pair’s currencies. A spread limit is optional, per pair. Lot sizes are rounded down to the broker’s volume step; a size below the minimum lot is skipped as “Risk below minimum lot”, not rounded up. The EA checks the position cap and live spread again right before each order.
- Week 3. The daily loss limit, 5% by default, counts equity and is checked before every order. Once it is hit, no new trades open until the next UTC day; open trades keep their stops. The kill switch closes every position the bot opened and leaves your manual trades alone. With the market closed, the broker refuses those closes, and the EA retries every minute while the kill switch is on.
- Week 4. Every signal is logged as Taken, Blocked or No trade with its reason, such as “Spread too wide” or “High-impact news”. Closed trades show how they closed, including “Manual”. The optional AI filter, where available and switched on, can only block trades.
For live, the login gets its own trading account and token on the dashboard. If the trial ends without a plan, nothing is charged: the bot stops opening new trades and open positions stay open for you to manage. How it works has the full setup.
Forex/CFD trading is high risk. You can lose money. Not financial advice. Read the risk disclosure before trading.
Frequently asked questions
How long should I test an EA on a demo account?
Can demo results predict live results?
What should I track during a demo test?
Should I use the same balance on demo as I would on live?
What should I check before moving an EA from demo to live?
Educational content, not financial advice. Forex and CFDs are traded on margin and are high risk: you can lose money, and more than your deposit with some brokers. Examples use made-up numbers and show no real results. Read the risk disclosure.