Treat a free expert advisor the way you would treat a stranger’s car: find out what someone has actually measured about it, drive it on a demo account first, and decide when you will stop before you attach it — not after. Downloading costs nothing here, and that is precisely why the checking falls to you.
What decides whether a free EA is worth your time is not the price. It is:
- Who produced the number. A pasted backtest and an independent run are not the same claim.
- Whether there is a sample at all. 159 trades on one symbol and one year bounds very little.
- Whether anyone recorded the search. A winning setting with no record of what else someone tried is a result you cannot repeat.
- Whether you can stop it. A rule that only fails slowly is the expensive kind.
We check each of those against our own data below.
| Test conditions | |
|---|---|
| Experiment ID | EXP-FREE-EA-VETTING-001 |
| Parent experiment | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Source | ea-templates-manifest.js + worker/lib/submissions.ts + worker/api/download.ts |
| Symbol / timeframe | USDJPYm M5 |
| Period | 2025-06-01 – 2026-06-09 |
| Model | M1 OHLC (Model=1), Exness MT5, measured 2026-06-18 |
| Deposit | 10,000 |
| Last verified | 2026-08-25 |
What to look for in a free EA: four checks, in this order
Run them in order. Check 1 disqualifies more free EAs than the other three combined, and it is the cheapest to perform.
| Check | Why it decides anything | Red flag |
|---|---|---|
| 1. Who measured it | A self-reported figure is an assertion; an independent run is a measurement | The only numbers are in the description, with no report behind them |
| 2. Sample and window | A profit factor over 40 trades in one quarter is noise wearing a decimal point | No trade count, no period, or a period shorter than a year |
| 3. Recorded search | Knowing what else someone tried, and rejected, separates a result from a lucky pass | Only the winning setting appears anywhere |
| 4. Failure mode | You need a number that means stop, decided before you attach it | Nothing in the description describes a losing stretch |
On this site those four are not advice we invented for the article — three of them sit in code. A submitted EA passes an automatic gate with three checks (compile, duplicate, spam), each returning pass, fail or skip. Duplicate detection runs three layers: the exact source hash, a hash of the source with comments and whitespace stripped, and a hash of the structural skeleton with identifiers and literals tokenised. The first two catch a re-uploaded or re-formatted clone. The third catches a renamed and retuned one, and parks it for a human rather than auto-deciding.
The quality score is where the honesty is easiest to miss. Our review code parses the submitter’s backtest text into a 0–100 score with a confidence flag, and it annotates that score decision-support only: the score sorts the human queue and never changes the gate verdict. A self-reported number cannot earn a listing here, by construction.
The Verified badge is the opposite case. An operator writes it only after running the EA through their own every-tick backtest, and it carries the source hash from that run. If the source later changes, the badge drops automatically — the verified bits no longer describe the file you would download.
The worked example: the best free template we ship
To keep this from being a rigged demonstration, take the strongest entry in the gallery rather than a weak one. Sorted by profit factor, the top of our measured set is ma_distance_pullback.
ma_distance_pullback | |
|---|---|
| Tier / blocks | Intermediate, 6 nodes |
| Gallery flag | recommended |
| Backtest flag on its own record | weak |
| Profit factor | 1.10 |
| Trades | 159 |
| Max drawdown | -0.26% |
| Net on a 10,000 deposit | +25.55 |
| Clears the Measure panel gate | no — fails on profit factor (bar is 1.2) |
| Recorded parameter search | none |
Now run the checks. Check 1 passes: we measured it ourselves, under the conditions in the table above. Check 2 is thin — 159 trades across a single symbol, a single timeframe and one year, on an M1 OHLC tick model that interpolates intra-bar movement rather than reading real ticks (modelling quality matters here). Check 3 fails outright: nobody ever recorded a parameter search for this template, so nothing tells us whether 1.10 survives a different stop or target. Check 4 has no answer in the gallery at all.
And the headline number deserves reading twice. Net +25.55 on a deposit of 10,000 is a return of roughly a quarter of one percent for the year that was tested. The best free template we publish is not a losing design; it is an unfinished one. That is the normal condition of a free EA, including ours.
For the record, the four behind it look the same: pending_breakout at 1.08, ma_perfect_order_trend at 1.07, mtf_osc_filter at 1.04, ichimoku at 1.03. All five carry the recommended label. All five carry the weak flag. None clears the bar. Where a search exists at all — 8 templates have one — every single verdict reads no_robust_edge.
Free EA sources compared: catalogue, community pool, or build your own
There are three realistic free routes on this site and one off it. They differ less in price than in what has been measured before you get there.
| Source | What has been measured | What you must pass | The honest catch |
|---|---|---|---|
| EA catalogue — 23 listings | Each publishes its full closed-trade record and the run that produced it | Registered account, confirmed email | Every record is a backtest; across the fourteen listings measured in EXP-CATALOGUE-PROFITABILITY-001 the verified live run count was zero |
| Community pool | Automatic gate on every entry; a Verified badge only where an operator ran their own backtest | Registered account, confirmed email | It listed 0 approved EAs on the day we wrote this guide — the gate exists, the shelf is empty |
| Builder gallery — 84 templates | 53 measured under one identical setup | Nothing; no account needed | None of the 53 clears the Builder’s own pass bar |
| Forums and marketplaces elsewhere | Usually nothing you can audit | Nothing | No source, no sample, no search — checks 1 to 3 all fail before you start |
The pool row is the one worth sitting with. A gate with an empty queue behind it is still worth understanding, because it tells you what a listing there will have survived. But a guide that sent you to browse it today would be sending you to an empty page, so it does not.
Running a free EA in practice
The procedure below is the actual path, including what each refusal means when it happens.
- Create an account and confirm your email address. The download endpoint answers
401before you sign in and403until you confirm the address — both mean entitlement, not an error on your side. - Download. A catalogue EA arrives as a single zip containing the
.ex5, the published.setpreset and the shared manual. A pool EA arrives as a signed link that expires 60 seconds after issue, so start the download immediately rather than saving the URL. - Load the
.setpreset before changing a single input. It holds the exact values that produced the published record; retyping them from a table is how a reproduction quietly stops being one. - Attach it to a demo chart on the same symbol and timeframe as the record. A rule measured on USDJPYm M5 tells you nothing about the same rule on EURUSD H1.
- Write down the drawdown figure and the number of losing weeks that will make you switch it off — before you enable Algo Trading, while you still have no money in the outcome.
If a pool download returns 404, the file genuinely is not there: submissions that arrived through the old form route carry no compiled binary, and queued or rejected records are never downloadable at all. Only approved and published entries are listable, which is the same rule the public listing uses.
How we earn from a site that gives EAs away
The EAs stay free because the site earns from introducing-broker rebates and from a paid licence for the Builder — both set out in full on our affiliate disclosure. When someone opens a live account through a link here, the broker shares part of the spread or commission it already charges. The trader pays no extra fee, and no EA on this site sits behind a purchase. The criteria we apply to a broker before listing it at all live in our testing methodology.
Two things follow that are worth knowing before you link an account:
- This site profiles six brokers; five hold an IB agreement. The sixth, XM, appears for comparison and earns us nothing. That is not a technicality — without an agreement there is no downline record to check an account against, so nobody can approve a link request naming it. The request form’s dropdown deliberately omits it for that reason.
- You cannot grant yourself a verified link. Submitting the form creates a row with status
pending, and the database policy pins it there; only an operator can move it to verified. This exists because a verified link is what unlocks the MQL5 source download — not the EA itself, which stays free regardless.
Compare the five on their own terms at our broker index if you want the rebate relationship to be part of your decision rather than a discovery you make later.
Risk, and the numbers that mean stop
Two failure modes matter more than the rest, and they are not the ones people expect.
The first is that a free EA loses slowly enough to keep. A design that loses immediately gets deleted in a week and costs almost nothing. A design that drifts down over months is the expensive one, because it keeps looking like variance right up until the account is materially smaller.
The second is worse, and it hides from exactly the check most people run. In our sibling recipe experiment we searched the macd_signal template across 12 stop-and-target combinations over three windows. One setting reached a profit factor of 1.14–1.15 out of sample — and the same setting collapsed to 0.74–0.77 on the earlier window. A single out-of-sample check would have passed it. It was the only design in that set that would have. A rule that wins in one regime and loses in the next does more damage than one that never wins, because it recruits your confidence first.
That is also why the recorded-search check sits third rather than last. Eight of our templates carry a recorded parameter search. All eight verdicts read no_robust_edge — and knowing that helps far more than a table showing only the pass that survived.
There is a third failure mode you can rule out in about a minute, and it is the one free EAs are most notorious for. Open the .set file in a text editor before you attach anything and read the input names. A lot multiplier above 1, a step or grid distance in pips, a maximum-trades cap, and no stop-loss input together describe a martingale or grid money-management scheme. Such an EA produces a near-straight equity curve for months precisely because it postpones every loss, and then gives the whole curve back in one sequence. A backtest of it looks better than an honest rule right up until the sequence arrives. Our own gallery designs are rule-based entry and exit flows and do not hide one, but a .set from a forum can, and the file tells you in plain text before any of it costs you money.
Nothing on this page is a live-account record, and no backtest bounds what your account will do. Past results describe a window that has already happened.
Next steps
If you want a free EA with a record you can actually audit, start with the EA catalogue — all 23 listings are free, each publishes its complete closed-trade list, and you can run the four checks above against it in about five minutes because everything they rest on is on the page. Download one, load its preset, and run it on a demo account before anything else.
From there:
- Learn to read what you downloaded: run a backtest yourself so the record becomes something you reproduced rather than something you were shown.
- If check 3 keeps failing on the EAs you find, build the rule instead — create an EA in the Builder and you own the search record from the start.
- For what “profitable” means once the whole record is in view, see are Expert Advisors profitable.
- Once an EA has passed the four checks, the next question is size: risk management for EA traders works out the deposit and lot size a record actually demands, and finds the recommendation on every listing here is the same number regardless of the risk.