I went hunting for “free forex robot for MT4 download” and fell into a rabbit hole. I think I’ve pieced together a safe way to play with free EAs without blowing up, and I’d love sanity checks and upgrades from you all.
Idea: sandbox any free MT4 EA using a demo-to-live trade copier + a “risk cop” wrapper, then stress-test it to expose hidden martingale/grid behavior before trusting it.
What I’m doing now:
- Run the free EA only on a demo account on the same broker server as live (to minimize execution differences).
- Copy trades from demo to a small live account using a copier with filters (so the live account only mirrors what I allow).
- Wrap the live account with a separate “risk cop” EA that:
- Caps net exposure per symbol and total (lots + notional + margin used).
- Blocks trading during high-spread and news windows (spread threshold + news calendar via WebRequest).
- Forces a max trade count and max trade lifetime (auto-closes stale positions).
- Enforces per-symbol max adverse excursion and daily loss limit; if tripped, it kills mirroring until the next session.
- Normalizes position sizing to fixed fractional risk (ignoring the EA’s lot multipliers).
- Stress-test the EA on demo first with tick data and noise:
- Variable spread, random slippage, realistic commissions/swaps, weekend gaps, rollovers.
- Walk-forward on multiple non-overlapping OOS windows; randomize tick order segments (Monte Carlo shuffles).
- Pair-rotation: run on correlated/unrelated pairs to see if it’s curve-fit to one symbol.
How I’m catching hidden martingale/grid:
- Trade fingerprinting on the demo history:
- Look for lot size escalation after losses (lot[n]/lot[n-1] > 1.4 repeatedly).
- Check average distance between entries in baskets; tight, repeating spacing = grid DNA.
- Equity curve “hockey stick” recoveries after drawdowns are a red flag.
- Profit factor driven by many tiny wins and a few giant losses = mean-reversion bomb.
- Time-in-trade distribution: if losers stay open way longer than winners, likely averaging down.
- Swap drift test: run it through long-only and short-only windows around triple-swap days; grid bombs often bleed from swaps when held.
What I’m unsure about and want feedback on:
- Is there a better way to “hard block” an untrusted EA from opening more than N trades without editing its code? My current approach relies on a copier filter plus a monitor that closes excess trades, but that’s reactive.
- Has anyone built an MQL4 “guardian” that enforces symbol-level risk across everything in the terminal reliably, even if the offending EA ignores GlobalVariables? Any gotchas with trade context and race conditions?
- Demo-to-live copier pitfalls I should expect beyond slippage/liq differences? FIFO and stop-level rules tripping the copier logic?
- Best free or open-source trade copiers you’ve used that support granular filters (lot normalization, symbol allowlist, time filters)?
- Any public datasets or tools you use to inject realistic slippage/latency noise into MT4 backtests without paid suites?
Bonus: if you know truly free, open-source MT4 EAs that:
- Don’t grid/martingale,
- Survive walk-forward with random spread/slippage,
- Keep max DD under 20% with fixed fractional sizing,
drop names. I’d love a short list we can all benchmark against the same stress battery.
If this “demo EA -> filtered copier -> risk cop live account” pipeline has holes, tear it apart. Also happy to share my little script that flags martingale-like sequences from trade history if anyone’s interested.