Learn › Platforms and tools

Running an EA Live Safely: VPS, Ping, Pre-launch Checklist and Weekly Checks

Why an EA belongs on a VPS near the broker server, why ping matters to scalpers, a pre-launch checklist, what stops on a disconnect, and comparing live with backtest.

Intermediate 12 min read 21 October 2026

What you will learn
  • A VPS keeps the terminal running around the clock and cuts the ping to the broker's server, which matters most for systems with small targets per trade
  • Before switching an EA on, check the Algo Trading button, the symbol name, lot size, magic number, server time and the spread filter, every time
  • Stop loss and Take profit already sent sit on the server, but Trailing stop and anything the EA manages itself stop the moment the terminal drops
  • Many wrong numbers come from tools fooling us, such as a preset that isn't read or a lot size off by 10 times, not from the market
  • Compare live results with a backtest of the same week, per trade in dollars, and measure slippage trade by trade

Running an EA (Expert Advisor) with real money is very different from pressing Start in the Strategy Tester. In a test, the machine never shuts down, the connection never drops, and every input is read exactly the way you think. Real life isn’t like that. This article covers what to do from preparing the machine and checking before launch, through daily care, to comparing live results with a backtest every week, so you find out as early as possible when something is wrong.

① Prepare the machine② Pre-launch checklist③ Start small ④ Check every day⑤ Compare weekly⑥ Decide VPS near broker serverCheck ping in MT5 Algo Trading, symbol,lot, magic, time, spread Watch Journal andExperts for errors Phone notificationsRecheck after restart Live vs test per tradeSlippage per trade Below your bar: cut lotsor stop and find why Changed or restarted → checklist again
Flow diagram for looking after a live EA. Step ② isn't a one-off. Every time you change inputs, move machines or the machine restarts, go back and check again.

Why run on a VPS

A VPS (Virtual Private Server) is a virtual computer rented in a data centre that stays on 24 hours a day. You connect to it with Remote Desktop and install MT5 there like on any other computer. There are two main reasons to use one.

  1. It stays on (uptime). An EA only works while MT5 is open and connected. A home computer can lose power, lose its internet connection, restart itself for a Windows update, or go to sleep when you close the laptop lid. During that time the EA stops thinking entirely, but your open trades keep moving with the market.
  2. It sits close to the broker’s server (latency). Every order has to travel from your machine to the broker’s trade server. The further away, the slower.

Ping is the time a signal takes to reach the server and come back, measured in milliseconds (ms, thousandths of a second). In MT5 you can see it in the bottom-right corner of the window, on the connection status bar. Click it to see the list of servers and the ping to each. A ping of 150 ms means an order the EA sends takes a fraction of a second to reach the server and get a reply. Price can move in the meantime.

Ping matters more to scalpers

While the order is travelling, price keeps going. In a calm market that hardly matters. But when price spikes, which is often exactly when breakout-style EAs enter, the gap turns into slippage: you get a worse price than intended (covered in more detail in Why live results usually fall short of the backtest).

A made-up example: gold is moving at 3 dollars per second during a spike, and we assume price moves in one direction the whole time we wait (a bad case; in reality you may get the same or a better price).

  1. Ping 150 ms = 0.15 seconds. Price can move 3 × 0.15 = 0.45 dollars
  2. Ping 5 ms = 0.005 seconds. Price can move 3 × 0.005 = 0.015 dollars
  3. A scalping system aiming for 1.5 dollars per trade: 0.45 ÷ 1.5 = 30% of the target gone. At 5 ms it’s only 0.015 ÷ 1.5 = 1%
  4. A system aiming for 15 dollars: 0.45 ÷ 15 = 3%, barely noticeable

Same distance, but the small-target system hurts ten times more. On gold at 0.01 lot, a 1-dollar price move = 1 dollar of profit or loss. For more on sizing, see Pips and lots.

Fast market (assumed $3 per second) Calm market (assumed $0.2 per second) ping 5 ms ≈ 0.015 ping 150 ms ≈ 0.45 Price move while waiting (dollars) 1.000.75 0.500.25 0 050100 150200250 300 Ping (milliseconds)
A diagram with made-up numbers, not real market data. It is price speed × waiting time, assuming price moves one way while you wait. Real delays also include the time the broker's server takes to fill the order.

Choosing where the VPS is

  • Close to the broker’s trade server, not close to you. Most brokers’ servers sit in data centres in major financial cities. Ask your broker’s support where the server for your account is, and pick a VPS in the same city or as close as possible
  • Measure it yourself after setup. Open MT5 on the VPS and check the ping in the bottom-right corner, then compare with your home computer. If it isn’t clearly lower, it isn’t really close
  • Size it for the job. One MT5 terminal with a few charts doesn’t need much. If you run several accounts or terminals at once, leave room in memory. A machine that runs out of memory slows down entirely
  • Stop Windows from restarting itself while the market is open, and set MT5 to start automatically when the machine boots

We don’t recommend any provider. Compare on location, the ping you actually measure, and stability.

MT5’s built-in Virtual Hosting

MT5 has its own built-in virtual server service, called Virtual Hosting, which you can order from inside the terminal (right-click your account in the Navigator window) and pay for through an MQL5 account. It picks a machine with a low ping to your broker’s server, and you migrate your charts, EAs and settings to run there. Two things to know: when you change settings on your own computer, you have to migrate again, otherwise the hosted copy keeps running the old ones. And you shouldn’t keep Algo Trading on for the same EAs on your own computer at the same time. See MT5’s own documentation for prices and details.

Pre-launch checklist

Go through it every time you install, move machines or change inputs.

  1. The Algo Trading button on the toolbar must be on (older MT5 builds call it AutoTrading). This button switches every EA in the terminal on or off at once
  2. Allow Algo Trading in the EA’s settings. When you drag the EA onto a chart, this box on the Common tab must be ticked. Otherwise that EA thinks but can’t send orders, even with the toolbar button on
  3. The symbol name matches your account. Brokers name symbols differently, for example XAUUSD, XAUUSDm, XAUUSD.r. If the EA or preset names a symbol, it must match exactly, and the EA must sit on a chart of the right symbol
  4. Lot and risk inputs. Read each one to see whether it’s a fixed lot or a % of balance. 0.10 and 0.01 differ by 10 times. Check the minimum lot and lot step in the symbol’s contract specification. Work out a suitable size with Position size from Stop loss
  5. A unique magic number. The magic number is the ID an EA stamps on its own trades. If two EAs use the same number on the same symbol, they may close or modify each other’s trades
  6. Server time vs Thai time. Most EA time filters use server time, not your computer’s clock. You can see server time at the top of the Market Watch window. Many brokers use GMT+2, and GMT+3 while the US is on daylight saving time, which is 5 or 4 hours behind Thai time (UTC+7), but not all do. More in Forex market hours in Thai time
  7. Max spread filter. If the EA has one, set it in points for that symbol. Some brokers quote gold to 2 decimals and some to 3, so 1 point differs by 10 times. A value copied from another account can be 10 times too wide or too tight. For costs, see Spread cost per trade
  8. The values the EA actually uses match what you meant. After attaching the EA, open its settings again and read every field, or check the Experts tab if the EA prints its inputs at start

Start with the smallest lot you can, because the first week is for finding what’s wrong, not for making money. For a step-by-step start with real money, see From demo to a live account.

Tools that fool you: lessons from our own testing

The most expensive mistakes in our work didn’t come from the market. They came from tools that didn’t do what we thought, both in testing and live.

  • A preset that wasn’t read. In our backtests (gold M1, real ticks for 2026), we once reported that an EA lost 1,123 dollars, but in fact we had tested it with the default values in the code, not the preset file that was running live. Many values differed, including the main filter, which had been switched off. The test produced 15,919 trades when it should have had a few thousand. The wrong-sized trade count was the warning sign we missed
  • A lot size off by 10 times. Results run at 0.10 lot were read as if they were at 0.01 lot, so every profit, loss and drawdown figure was 10 times off
  • An input that does nothing. The EA had a field to cap the number of open positions, but no line of code ever read it. Whatever you set, the result was the same. Two tests that should have differed came out identical to the last digit, which is the signature of a dead input
  • A time filter that didn’t cancel pending orders. The EA stopped thinking outside its time window, but the pending orders it had already placed stayed on the server and could fill all day. A 6-hour window produced 364 trades, more than the 151 from a 24-hour window, which is impossible. Once fixed to cancel pending orders when the window closes, +1,563 dollars (142 trades) became −342 dollars (155 trades). Tested on gold M1 with real 2026 ticks, at 0.01 lot with a 3,000-dollar balance

All of these are backtest results. Past results do not predict future results, and they are not returns you should expect.

Before you trust any number, ask whether it makes sense. A trade count of the wrong size, results that match exactly, or a narrower window with more trades are signs that the tool is wrong, not the market.

Daily care: Journal, Experts and notifications

The Toolbox window at the bottom of MT5 has two tabs worth checking out of habit.

  • Journal, the terminal’s log: connections dropping and coming back, logins, orders sent and the server’s replies
  • Experts, the messages the EA prints: starting up, the values it read, and errors when sending orders. If an EA can’t get an order through, this is usually where you see it first

You don’t need to watch all day. Set up phone notifications instead. Install the MT5 mobile app, find your MetaQuotes ID in the app’s settings, then enter it in MT5 on your computer or VPS under Tools → Options → Notifications, tick Enable Push notifications and press the test button. An EA written to send notifications (with the SendNotification function) can then message your phone, for example when it opens a trade or hits an error.

Restarts, updates and weekends

  • After the machine or terminal restarts, check that MT5 has opened, the right account is logged in, the Algo Trading button is on, and every EA is still on its chart. The Experts tab should show the EA starting again. A good EA finds its own trades again by magic number after a restart. If you’re not sure, try restarting on a demo account while a trade is open and see whether it carries on managing it
  • Updates. Both Windows and MT5 update themselves from time to time. Do it while the market is closed, then run the checklist again
  • Weekends. The Forex market closes from early Saturday morning to early Monday morning, Thai time (around 04:00–05:00 each side). Trades held over the weekend meet Monday’s opening price, which can jump (gap) past a Stop loss, and may be charged swap. See gaps in Order types explained and swap in Swap and overnight fees. The closed market is the best time to change inputs or move machines

If the connection drops or the VPS goes down, what keeps working

The key question is what lives on the broker’s server and what lives in your terminal.

What you setWhen the terminal drops
Stop loss and Take profit already sent with the tradeStill work, they sit on the server
Pending orders already placedStill there, and can still fill
MT5’s built-in Trailing stopStops moving, it runs in your terminal
Trailing, moving SL to break-even, partial closes done by the EAAll stop
A hidden Stop loss the EA keeps to itself and never sendsNothing protects the trade
Time filters, or cancelling pending orders by timeStop, pending orders keep waiting to fill

A good EA sends a real Stop loss with every trade, even if it plans to manage the trade itself later. Whenever the machine goes down, every trade still has an exit on the server.

The last row of the table is the same problem as the time-filter bug above. Orders already placed belong to the server, not to the EA. Read more about server-side orders in Order types explained.

Compare live with backtest every week

Every week, run a backtest over the same dates you traded live, with the same preset, the same symbol on the same account, and compare each EA (each magic number) on three numbers.

  1. Trade count. A big difference points to something mechanical: the machine dropping out, the spread filter skipping trades, or inputs that don’t match
  2. Win rate
  3. Profit per trade. This one matters most

A made-up example: this week the backtest made 40 trades for +18.40 dollars = 0.46 per trade. Live made 37 trades for +7.40 dollars = 0.20 per trade. Live kept 0.20 ÷ 0.46 = 43% of the backtest per trade. Set your bar in advance, for example: if it stays below 40% for several weeks in a row, cut the lot size first, then look for the cause. Don’t decide on a single week, because the trade count is still small.

Measure slippage trade by trade. In the History tab, a pending order shows the price you asked for and the deal shows the price you actually got. For market orders, have the EA record the price at the moment it sends. A made-up example on gold, 0.01 lot, 5 trades, measured from our side (negative = worse than requested):

TradeSideRequestedFilledSlippage
1Buy2,401.502,401.62−0.12
2Buy2,398.202,398.200.00
3Sell2,410.802,410.45−0.35
4Buy2,405.102,405.38−0.28
5Sell2,395.602,395.52−0.08

Total −0.83 dollars, average −0.83 ÷ 5 = −0.17 dollars per trade. Buys filled above the requested price and sells below it, both worse for us. You can subtract this number straight from the backtest’s profit per trade.

In our backtests, a breakout system on gold that enters with stop orders, tested over 5 years (the latest year on real ticks, earlier years on generated ticks) at 0.01 lot, averaged about 0.77 dollars per trade. We estimated that the live costs a backtest can’t see, with entry slippage the largest, come to roughly 0.20–0.55 dollars per trade. If so, only about 74% down to 29% of the backtest would be left. That is an estimate, not a measured result, which is why you need to measure trade by trade as in the table above. Backtest results do not predict future results. Record each week in your trading journal, and if you buy signals or an EA from someone else, see how to check them in Evaluating copy trading signals.

Common mistakes

  • Switching Algo Trading off and forgetting to turn it back on, or forgetting to tick Allow Algo Trading on a new EA. The EA looks like it’s running but never trades
  • Copying a preset between accounts without reading it. The symbol name, price decimals, lot size and server time may all differ
  • Duplicate magic numbers. Two EAs fight over the same trades, so the combined result matches neither backtest
  • Believing the Trailing stop works while the machine is down. It stops with the terminal, leaving only the Stop loss already sent
  • Running the same EA on two machines. A home computer and a VPS on the same account give you double the trades
  • Only looking at the monthly total. Without a per-trade comparison against a backtest of the same period, it can take weeks to notice slippage is eating half the edge
  • Changing inputs mid-week after a loss. Live and backtest can no longer be compared, and the change is often driven by fear. Read Trading biases
Try it with your own numbers

Frequently asked questions

Do I need a VPS if my EA only trades once or twice a day?

Not always. If the system holds trades for a long time, has large targets and doesn't use a Trailing stop or any EA-side trade management, a home computer that stays on may be enough. But if the EA has to move Stop losses, cancel pending orders or chase small targets, a machine that drops out often or has a high ping eats directly into the results.

How low does the ping need to be?

There is no fixed number. Think about it relative to the target per trade. A system aiming for tens of dollars barely notices the difference between 20 and 150 milliseconds, while a system aiming for under two dollars does. The best answer is to measure real slippage trade by trade and see what share of the profit per trade it takes.

Can I run the same EA on my home computer and on a VPS at the same time?

You shouldn't. If both machines are logged into the same account with Algo Trading on, the EA runs twice. It can open duplicate trades or fight over managing them. Keep automated trading switched on in one place only, and use the other machine for watching.

This is general education, not investment advice. Trading is risky and you may lose all of your capital.

Tools Chat on LINE