Back to Blog
signal copierexecutionlatencymt4mt5ea

Near-Instant Signal Copying: How to Get 1–2 Second Execution

Most of the delay between a Telegram signal and your trade is the EA's poll interval — not the network. Here's how the latency actually breaks down and how to tune the copier for ~1-second signals and ~2-second commands.

2026-06-12 6 min readBy TradeJournal Team

When a signal provider posts an entry, every second counts — price moves while the trade sits unexecuted, and that gap shows up as slippage. The good news: most of the delay people blame on "slow copiers" isn't the network at all. It's a single setting. Here's exactly where the time goes, and how to get execution down to a second or two.

Where the latency actually comes from

A signal travels through five stages before your broker fills the order:

StageTypical time
Provider posts → we receive it (Telegram MTProto)50–200 ms
AI parses the signal0.5–1.5 s
Parsed signal queued for your account< 100 ms
EA polls the server and picks it up0–30 s
EA sends the order → broker fills50–300 ms

Notice the outlier. Receiving, parsing, and queuing all happen in well under two seconds. The variable that dominates everything is the EA poll interval — how often your Expert Advisor asks the server "any new signals?" On the default setting of 30 seconds, a signal that was parsed instantly can still wait up to half a minute before your EA even asks for it.

So if your fills feel slow, you almost never need a faster VPS or a closer server. You need a shorter poll interval.

The two settings that control your speed

The copier EA has two independent polling loops, each with a per-second input and a sub-second (millisecond) override:

  • POLL_INTERVAL_SEC / SIGNAL_POLL_MS — how often it fetches new signals to open. Defaults 30s / off.
  • COMMAND_POLL_SEC / COMMAND_POLL_MS — how often it checks for management commands like break-even, close, or modify SL/TP. Defaults 5s / off.

Set the _MS variant to go sub-second; it overrides the per-second value. Both loops run off a timer rather than off price ticks, which matters: a quiet pair with few ticks no longer stalls signal delivery. Lowering these is the entire trick — the question is just how low you can safely go, which depends on where the EA is pointed.

Why you can't just set it to 1 on the default URL

By default the EA polls our main site (tradejournalpro.net). That endpoint is rate-limited to protect it from abuse, so polling once per second there gets throttled — you'd hammer the limit without getting faster fills. On the default URL, keep POLL_INTERVAL_SEC at 10 or higher.

To go faster, point the EA at our dedicated low-latency endpoint instead. It serves the exact same data — your token, your signals, your commands are all identical — but it's purpose-built for high-frequency polling, so 1-second checks are welcome.

Setting up near-instant execution

This is an opt-in change; the default setup keeps working untouched if you'd rather not switch.

  1. Allowlist the endpoint. In MetaTrader: Tools → Options → Expert Advisors → Allow WebRequest for listed URL and add:

    https://tradejournal-worker.fly.dev
    

    Leave https://tradejournalpro.net in the list too.

  2. Point the EA at it. On the EA's Inputs tab, set:

    API_URL          = https://tradejournal-worker.fly.dev
    SIGNAL_POLL_MS   = 200
    COMMAND_POLL_MS  = 500
    
  3. Confirm. Save, and check the Experts tab — you should see the EA print its poll cadence in milliseconds on startup. New signals now arrive in a few hundred milliseconds, and break-even/close commands land about half a second after you post them.

That's it. Your token and channel configuration don't change.

A realistic expectation of "instant"

"1–2 second execution" means the copier stops being the bottleneck. After that, your fill speed is in your broker's hands: spread, requotes, and market depth at the moment of entry. Two things worth keeping in mind:

  • Entry ranges still matter. A signal like Entry: 2340–2345 uses the midpoint. If price has already run past the range by the time you'd fill, faster polling can't bring the price back — that's what entry filters and max-slippage settings are for.
  • Faster isn't always better on thin pairs. On illiquid symbols or during news, the very first tick after a signal can be the worst price of the minute. Polling at 1 second will take that tick. If you trade news, the prop-firm and slippage guards matter more than raw speed.

How commands fit in

The same poll interval logic applies to trade management. When you (or the provider) post something like "move SL to break-even" or "close GOLD" in a monitored channel, that command is queued the same way a signal is — and the EA picks it up on its COMMAND_POLL_SEC loop. Set it to 2 and break-even/close instructions execute within a couple of seconds instead of waiting on the default 5-second timer.

Commands also expire if they sit too long: if your EA was offline when a "close all" was sent, it won't fire that stale command hours later when the terminal reconnects — it's discarded so it can't close positions at the wrong time.

The bottom line

If your signal copying feels laggy, don't reach for a new VPS. Open the EA inputs, point API_URL at the fast endpoint, and set SIGNAL_POLL_MS to 200 and COMMAND_POLL_MS to 500. The parsing and routing were already fast — you're just telling the EA to stop waiting.

For the full list of inputs and what each one does, see the EA Inputs Reference. New to the copier? Start with How to Set Up the Telegram Signal Copier, then come back here to tune it. Trading a funded account? Pair this with Prop Firm Mode so faster fills don't trip a drawdown rule.

Get the free Signal Parsing Cheat Sheet

10 real signal formats decoded — plus a 5-day Starter trial. No card.

One email now, then occasional tips. Unsubscribe anytime.

Start your free trading journal today

Track every trade, analyze your performance with real data, and build the habits that create consistent profitability.

Get Started Free

No credit card required