What TradeGate does
Mirror your MT5 CFD trades into Tradovate futures in near real-time so you can keep using your favorite MT5 EA and execute on prop-firm compliant futures (e.g., Apex and others that clear via Tradovate).
-
Mirrors opens and closes (market)
-
Magic Number and Comment filters (AND logic)
-
Max concurrent replicas cap
-
On-chart status panel + open positions snapshot
-
Simulation mode for safe testing (no orders sent)
Requirements
-
Tradovate account with a prop firm that supports Tradovate.
Find one here: https://prop.tradovate.com/find-a-prop-firm ? -
Enable TradingView connection in your Tradovate account (used by Tradovate’s APIs).
Guide: https://support.tradovate.com/s/article/Connecting-Your-Tradovate-Account-to-TradingView?language=en_USNote: despite wording you may see in articles, you don’t have to pay for this integration !! IT'S FREE !!
Quick start (MQL5 Market build)
-
Attach TradeGate to the MT5 chart you want to mirror (e.g., US500, USTEC…).
-
In Inputs, fill Tradovate login and password.
-
Choose Futures root to mirror (e.g., MES for Micro S&P).
-
Set Mirror Qty (contracts) (start with 1 for prop evals).
-
(Optional) Set Magic Number Filter and/or Comment Filter.
-
(Optional) Limit MAX Open Positions (0 = unlimited).
-
For a dry run, set Simulation only = true.
-
Click OK. The on-chart panel shows connection status, balance, and open Tradovate positions.
Inputs (important note)
One instance per mapping: TradeGate mirrors only the symbol of the chart it’s attached to. If you want to mirror multiple CFDs (US500, USTEC, DE40…), attach a separate instance of the EA on each chart and set the appropriate Futures root to mirror in each instance.
If you’re using TradingView or Tradovate, make sure you’re not placing trades or staying connected to the same Tradovate account that your MT5 terminal is using.Having both platforms active on the same account can create multiple sessions and cause Tradovate to disconnect you.
👉 If you want to connect to your Tradovate account manually, first disconnect all your EAs instance by clicking the “Disconnect” button.
Inputs (explained)

| INPUT | PURPOSE | RECOMMENDATION |
|---|---|---|
| Tradovate login / password | Credentials for API authorization. | Required. |
| Futures root to mirror | Target futures family (MES, MNQ, MYM, ES, NQ, YM, GC, MGC, FDXM, FDXS…). | Start with Micro products . |
| Mirror Qty (contracts) | Contracts per mirrored action. | Start at 1. |
| MAX Open Positions | Max number of MT5 positions this EA will mirror/manage simultaneously (per chart). 0 = unlimited. | 1–2 for tighter prop control. |
| Magic Number Filter | Only mirror orders with this MagicNumber. | Leave blank/0 to disable. |
| Comment Filter | Only mirror if order comment contains this case-sensitive substring. | Leave blank to disable. |
| Simulation only (no orders sent) | If true, no orders are sent; EA logs what it would do. | Use for first-run validation. |
| OpenImmediate , OpenRandomDelay , OpenPullback | These options, mutually exclusive, are designed to help make your trades more unique and reduce the risk of being flagged by prop firm consistency or duplication rules.
| |
| Pullback distance (in pips) | Parameter valid only when OpenPullback mode is selected. | Recommended values:
Use irregular numbers like 158 or 237 to make the delay pattern harder to detect |
| Pip Value | Parameter valid only when OpenPullback mode is selected. | Leave at 0 unless your broker use different pip calculation. |
| Min Seconds | Parameter valid only when OpenRandomDelay mode is selected, use a value >1 | A higher value and a larger gap between Min and Max create more randomized trade timing. |
| Max Seconds | Parameter valid only when OpenRandomDelay mode is selected, use a value < 100 | A higher value and a larger gap between Min and Max create more randomized trade timing. |
| Poll period while positions are open (sec) | How often to poll Tradovate for open positions while active (sec): lower = faster updates, more API calls. | Keep this value min = 10sec |
| Verbose request/response logs | Debug logging of HTTP calls. | Keep OFF unless troubleshooting. |
| Refresh the /accounts list every N seconds (0 = never) | How often to refresh the Tradovate /accounts list (sec); set 0 to disable. | Keep this value min = 60sec |
Recommended CFD → Futures mapping
Use the table below as a practical guide when you choose Futures root to mirror. Pick the Micro product for prop evaluations unless you’re very comfortable with risk.
| MT5 CFD | Market | Futures | Root(s) | Notes |
|---|---|---|---|---|
| US500 | S&P 500 | E-mini / Micro E-mini S&P 500 | ES / MES | MES = 1/10 ES (prop-friendly). |
| US30 | Dow 30 | E-mini / Micro E-mini Dow | YM / MYM | MYM = 1/10 YM. |
| USTEC | Nasdaq-100 | E-mini / Micro E-mini Nasdaq-100 | NQ / MNQ | MNQ = 1/10 NQ. |
| DE40 | DAX | Mini-DAX / Micro-DAX | FDXM / FDXS | DAX Futures require a paid subscription for real market data. |
| XAUUSD | Gold | COMEX Gold / Micro Gold | GC / MGC | MGC = 1/10 GC. |
You still select the root (MES, MNQ, MYM, FDXS, MGC, etc.) in the EA’s Futures root to mirror input.
How mirroring works
-
The EA listens for executed deals on the attached MT5 chart symbol.
-
If filters pass and the replica cap allows, it routes a market order to the current front tradable month of your chosen futures root.
-
It creates a sticky mapping so subsequent closes/reductions mirror correctly.
-
If Tradovate rejects an order, you’ll see a red banner below the panels, e.g. Open mirror failed: TV reject which persists until a successful mirror or EA re-init.
Prop-firm tips
-
Prefer breakout/flat-by-EOD strategies over grid or holding overnight.
-
Avoid martingale sizing. It often violates risk limits and can trigger daily loss or trailing thresholds.
-
Use Micro futures (MES/MNQ/MYM/FDXS/MGC) and set Mirror Qty = 1 until you’re comfortable.
-
Consider MAX Open Positions = 1–2 to limit exposure.
Most prop firms (including Apex and similar) enforce daily session rules and may force flat at end of day or during maintenance windows. To adapt:
Troubleshooting
-
Not connected / no account ID: confirm your credentials and that MT5 WebRequest is allowed for your Tradovate API host in Tools → Options → Expert Advisors.
-
No mirrors firing: check Magic/Comment filters and MAX Open Positions cap.
-
Sizing off: remember “Mirror Qty” is contracts, not CFD lots.
![[ +105% Profit / 10% Drawdown ] GBPAUD H1 Automated Strategy 'ACRON Supply Demand EA' [61049] [ +105% Profit / 10% Drawdown ] GBPAUD H1 Automated Strategy 'ACRON Supply Demand EA' [61049]](https://c.mql5.com/6/984/splash-preview-765123.png)

