First: check if the EA is actually receiving ticks
In MT4, right-click the currency pair in Market Watch. Look at the Last column — it shows the most recent tick timestamp. If that timestamp is more than a few seconds old during an active trading session, the data feed has dropped. The EA cannot trade what it cannot see. When you see stale ticks, the EA's logic might be working perfectly, but it will not execute because the conditions it sees are outdated.
The fix is to reconnect to the broker — right-click the pair and select "Show" again, or restart MT4. But the real issue is that the connection dropped in the first place. Most common cause: a route problem between the VPS and the broker.
Stale ticks: the connection is dropping silently
MT4 can show "Connected" in the status bar while the actual data feed is frozen. This happens when the TCP keepalive packets between MT4 and the broker's server are being dropped or delayed on the network path. The indicator in the bottom-right corner of the chart shows server time — if that is not updating in real-time, the feed is dead.
This is almost always a route problem, not an MT4 bug. The VPS has a flaky connection to the broker's datacenter. Network packets are getting lost or delayed, causing the keepalive to time out. The solution is not to restart MT4 — it is to stabilise the route. See the guide on MT4 disconnecting on VPS for troubleshooting.
Order rejected: the price moved during transit
If your latency to the broker is high, the price can move between the moment the EA decides to trade and the moment the order arrives at the broker. The broker sees that the order price is no longer available and rejects it as a requote. In MT4's Terminal window, go to the Experts tab — you will see error codes like 138 (Requote), 129 (Invalid price), or 136 (Off quotes).
All three of these errors are symptoms of high or variable latency. The EA is working correctly; the issue is that the order is taking too long to reach the broker. When the order arrives, the price has moved and is no longer available. For a detailed breakdown of latency by broker, check latency by broker.
Clock drift: the EA fires at the wrong time
If your VPS system clock is not synchronised with the broker's server time, time-based EAs will fire at the wrong moment or not at all. Some EAs use time conditions like "open trade between 8:00 and 8:15" — if the VPS clock says 8:14 but the broker clock says 8:15, the EA will miss the window.
Check this first: in MT4, look at the top-right corner of any chart. It shows server time (the broker's time). Compare it to your VPS system clock. If they differ by more than a few seconds, use Windows Time service or NTP to synchronise the VPS clock with a reliable time server.
How a stable proxy route fixes all of these
A dedicated proxy connection to the broker's DC provides a lower-latency, more stable path than the raw public internet. Fewer connection drops means fewer stale ticks — the EA sees fresh data continuously. Lower latency means fewer requotes — the EA's orders arrive while the price is still at the requested level. The result: the EA sees fresh conditions and its orders execute reliably.
TradersProxy nodes are positioned inside or adjacent to Equinix facilities where brokers host their servers. When you configure SOCKS5 in MT4 to route through TradersProxy, the connection to the broker becomes direct and stable. Follow the guide to configure SOCKS5 in MT4.