100% FREE — no license, no expiry, no credit card

Backtest harmonic patterns.
Prove the edge before you trade it.

The FxMath Harmonic Hunter Free Backtester sweeps up to 30 forex pairs & metals × 8 timeframes through your MT5 history and simulates every finished harmonic trade — entry touch, stop-loss and the three Fibonacci take-profits — with the exact same in-EA ZigZag engine as the paid suite. No license. No limits. It never places a single trade.

FxMath_Harmonic_Hunter_Backtest_Panel(MT5).ex5 · ~150 KB · MT5 build 1900+
Free forever ✔ Never places trades ✔ No license check ✔ 14 harmonic patterns ✔ 30 pairs × 8 TFs ✔ Pure MQL5
When you attach the EA, it opens hunter.fxmath.com in your browser and checks that DLL imports are allowed (Tools → Options → Expert Advisors). If DLLs are off it tells you exactly what to click first — it's a one-time, 20-second setup.
What you get

One free panel. Four tools inside.

Instead of four separate downloads, the free panel packs the full marketing toolkit — backtest, batch finder and batch shooter — into a single on-chart EA with a GUI. Choose the mode at the top of the panel and press Run.

🧪
Mode 1 · most used

Backtest

Sweeps a bar range across every pair × timeframe you choose and simulates every finished trade — then shows you aggregate stats live on the chart and lets you save a full text report.

  • Per-pattern table — count, win%, avg pips
  • Per-pair table — best symbols
  • Per-pair × TF × pattern drill-down
  • Profit factor, expectancy, max drawdown
  • One click saves backtest_report.txt
Output → MQL5\Files\Backtest\YYYY.MM.DD\backtest_report.txt
🔍
Mode 2

Batch Finder

Scans the market for the most recent finished pattern per pair × timeframe — the "what just completed" radar. Writes one clean list you can read like a signal sheet.

  • One best pattern per symbol × TF
  • Accuracy %, TP hit level, result in pips
  • Numbered rows feed the Shooter directly
  • Saves finder_report.txt
Output → MQL5\Files\History\YYYY.MM.DD\finder_report.txt
📸
Mode 3

Batch Shooter

Opens each chart automatically, draws the finished pattern with its levels and saves a clean PNG screenshot + full-detail text for every combo — perfect for validation galleries, journals or sharing setups.

  • 1750 × 750 px chart screenshots
  • WIN/LOSS + pip result in the file name
  • Matches .txt per shot with full details
  • Charts are closed after each shot
Output → MQL5\Files\History\YYYY.MM.DD\*.png + *.txt
ℹ️ Same engine as the paid suite The ZigZag pivot engine is a faithful MQL5 port of the classic MetaQuotes ZigZag (deviation 5×point, backstep 3, depth 25–50) — identical to the one inside the paid Scanner. The 14-row pattern table (Gartley, Max Gartley, Bat, Max Bat, Alt Bat, Crab, Deep Crab, Butterfly, Max Butterfly, Cypher, Deep Cypher, Shark 1, Shark 2, AB=CD) is the same table the live product uses. What you backtest here is exactly what you'd trade live.
Step by step

Install & run in 3 minutes

Download the file

Grab FxMath_Harmonic_Hunter_Backtest_Panel(MT5).ex5 from the button at the top of this page (or right here):

⬇ Download Free Backtest Panel (.ex5) One file — it contains all three tools. ~150 KB, no installer, no dependencies.

Copy it into your MT5 data folder

In MetaTrader 5 open File → Open Data Folder. Drop the .ex5 into:

  1. MQL5\Experts\ — it's an EA (it has an on-chart GUI).
  2. If you downloaded the source (.mq5) instead, put it in MQL5\Experts\ and press F7 in the MetaEditor to compile it.

Allow DLL imports — required once

The panel opens our website and later lets you open the payment page from the upgrade button, which uses a standard Windows system call. So first:

  1. Tools → Options → Expert Advisors → tick Allow DLL imports → OK.
  2. When you attach the EA, tick Allow DLL imports in the EA properties dialog too.
💡 The EA checks this itself when it starts. If DLLs are off it stops and tells you exactly what to click — you can't miss it. It's a 20-second, one-time setup.

Attach to any chart

Drag the EA from the Navigator onto any chart (any symbol, any timeframe — it scans the list you type, not just the chart). Enable Algo Trading if asked.

On attach the panel opens hunter.fxmath.com in your browser so you can see the live suite behind the free tools.

Pick a mode and press Run

Use the Backtest / Batch Finder / Batch Shooter tabs at the top of the panel, set your pairs and timeframes, then press Run Backtest (or Run Finder / Run Shooter). The button turns into a red Stop while it works — press it again to cancel.

The engine works in small time slices (4,000 ZigZag iterations per tick), so your chart stays fully responsive during a run — no frozen MT5.

Analyze your report online — free

Press Save Report, then open analyzer.fxmath.net and drop the report file onto the page. Your browser analyzes it locally — charts, win rates, per-pattern breakdowns — nothing is uploaded anywhere.

Every report and screenshot the tools save already contains the analyzer link in its footer.

✅ Not the built-in Strategy Tester The free tools run directly on your charts against downloaded history — they are not Strategy Tester EAs. Just attach and run in live mode. The chart must have enough history downloaded; the tools prime each symbol/timeframe automatically (40 × 250 ms polls) and use up to 20,000 bars of ZigZag history.
The three modes

Backtest · Batch Finder · Batch Shooter

All three share the same engine and settings. They only differ in what they output: statistics, a finder list, or screenshots.

🧪 Mode 1 — Backtest: "does this pattern actually work?"

Set Pairs (default: 30 major, cross and exotic pairs plus XAUUSD & XAGUSD), Timeframes (default H1, H2, H3, H4, H6, H8, H12, D1), Bars (how far back to sweep — default 1,000; 0 = all history) and Accuracy % (default 80 — how closely a pattern must match its Fibonacci table).

Press Run Backtest. The results table on the chart is colored by win rate (≥ 60% green, ≥ 45% cyan, else red) and can be viewed three ways with the View button: PatternPairPair × TF.

Press Save Report to write backtest_report.txt into MQL5\Files\Backtest\YYYY.MM.DD\.

🔍 Mode 2 — Batch Finder: "what finished just now?"

Scans every pair × TF combo and keeps the single most recent finished pattern per combo (or the oldest if you enable Oldest_First). Each line shows the row number, symbol, timeframe, bias, pattern name, accuracy and outcome:

01 EURUSD H1 | Bullish Gartley | Acc 84% | TP1 HIT +38.5 pips

At the end it writes finder_report.txt with a summary line (N combos scanned, M had a finished pattern (W WIN / L LOSS)). That numbered list is exactly what the Shooter reads next.

📸 Mode 3 — Batch Shooter: turn the list into screenshots

Give it all (every finder row), specific row numbers like 1,3,7, or typed combos like EURUSD H1, GBPUSD H4. The Shooter opens each chart by itself, draws the finished pattern, waits for it to render, and saves:

  1. YYYY.MM.DD_EURUSD_H1_WIN_+38.5p.png — clean 1750×750 chart shot.
  2. A matching .txt with the full pattern details and levels.

Charts it opened are closed when done — your own charts are never touched.

Reference

Every setting explained

All values are editable live on the chart (and via F7 — the panel seeds its fields from these defaults). The Defaults button restores them at any time.

SettingDefaultWhat it does
Pairs30 symbolsSymbols to scan — the majors, crosses, exotics plus XAUUSD and XAGUSD. Any comma-separated list works.
TimeframesH1–H12, D1Comma-separated: M1, M5, M15, M30, H1, H2, H3, H4, H6, H8, H12, D1.
Bars1000How far back to sweep for pattern D points. 0 = all available history. Larger = slower but more trades.
Accuracy %80Ratio tolerance, 60–100. 100 = near-exact match to the Fibonacci table. Lower finds more patterns, higher finds cleaner ones.
TP Level1Which take-profit decides a win: 1 = TP1 (0.38×AD), 2 = TP2 (0.618×AD), 3 = TP3 (0.786×AD).
Include LossesonOff = only count trades that hit a TP (skip stop-outs). On = count both, for a true win rate.
Min / Max Depth25 / 50The ZigZag depth range the engine searches — smaller depths catch smaller swings.
Max Result Bars200How many bars after point D the engine waits for SL or TP. 0 = until the last closed bar.
Report folderBacktestFolder under MQL5\Files\. Reports land in <folder>\YYYY.MM.DD\.
Pattern togglesall onBat, Gartley, Crab, Butterfly, Cypher, Shark and AB=CD families (each covers its Max/Deep variants).
Shooter: Image W×H1750×750Screenshot size in pixels (the panel also adds the MT5 title bar offset).
Shooter: Render delay900 msHow long to wait for the chart to finish drawing before capturing — raise it on slow PCs.
Output / Shot folderHistoryWhere finder reports and screenshots are written under MQL5\Files\.
⚙️ Engine parameters you normally never touch The advanced F7 engine group mirrors the paid Scanner: History_Min_Age (D must be at least this many bars old — default 5), ZigZag_Window_Bars (history window — must be ≥ Bars), and the same ZigZag deviation 5×point / backstep 3 constants baked into the engine.
Example output

What your report looks like

Every report is plain text, saved in a dated folder, and ends with the analyzer link — drop the file on analyzer.fxmath.net for interactive charts and tables.

backtest_report.txt — saved to MQL5\Files\Backtest\2026.09.04\
=================================================================
  FxMath Harmonic Hunter - BACKTEST report
  Date/Time  : 2026.09.04 21:19
  Range      : last 1000 bars per symbol/TF
  Covered    : 01.07.2026 .. 03.09.2026
  Symbols    : EURUSD,GBPUSD,USDCHF,USDJPY,EURCHF,EURGBP,EURJPY,...
  Timeframes : H1,H2,H3,H4,H6,H8,H12,D1
  Accuracy tolerance : 80%
  Result TP level    : TP1
=================================================================
  OVERALL
  Trades      : 208
  Win / Loss  : 136 / 72
  Win rate    : 65.4%
  Total pips  : +3,412.5
  Avg pips    : +16.4
  Expectancy  : +16.4 pips/trade
  Profit factor: 2.41
  Best / Worst: +118.2 / -62.4
  Max drawdown: 310.8 pips
=================================================================
  PER-PATTERN
  Pattern        Bias      N    Win%    Avg pips   Expectancy
  Bat            Bullish    12    66.7%     +38.5     +38.5
  Gartley        Bearish     9    77.8%     +31.2     +31.2
  ...
=================================================================
  Notes: SL = 0.05 x CD ; TP1 = 0.38 x AD ; TP2 = 0.618 x AD ;
         TP3 = 0.786 x AD. Same-bar SL+TP touch counts as a loss.
  Past performance is not a guarantee of future results.
  Analyze this report: https://analyzer.fxmath.net/
=================================================================

Example structure — actual numbers come from your own symbols and history. The Backtest mode report also includes PER-PAIR and PER-PAIR × TF × PATTERN tables.

📊

OVERALL

Total trades, wins/losses, win rate, total & average pips, expectancy per trade, profit factor, best/worst single trade, and max drawdown in pips.

📋

PER-PATTERN / PER-PAIR

Which pattern (with bullish/bearish bias), symbol or symbol×TF×pattern combination produces the most reliable results in your range — sorted by trade count.

Methodology

The backtest rules — honest by design

No curve-fitting tricks, no "pattern drawn in hindsight". These rules are hard-coded and identical across every mode and every report.

🎯

Entry — the "23" level

A trade exists only after point D has finished on a closed bar and price touches the entry at D ± (0.238 × CD) / 2. The forming bar is never used — no look-ahead on the entry.

🛑

SL & TP — Fibonacci-fixed

Stop-loss = 0.05 × CD. Take-profits = 0.38 × AD (TP1), 0.618 × AD (TP2), 0.786 × AD (TP3). These same ratios are the ones drawn and traded by the paid suite.

⚖️

Conservative outcome

Inside each bar the SL is checked first, so a bar that touches both SL and TP counts as a loss. The selected TP level (1/2/3) decides the win — or, in Finder and Shooter modes, the highest TP actually reached is reported.

Time limit per trade

A pattern only becomes a finished trade if SL or TP is hit within Max_Result_Bars (default 200) bars after D. 0 = wait until the last closed bar. Everything else is simply not counted.

⚠️ Read this once Results depend on your broker's history quality, spread assumptions and the exact bar range you choose. The backtest uses point-based pip distances and does not model spread or swaps. Treat any result as a relative comparison between patterns, pairs and settings — then confirm on a demo account before risking money.
Free vs Pro

Free is the proof. Pro is the trade.

The free tools exist so you can validate the harmonic method and our engine on your own broker and history — before spending a cent.

🧪 Free Backtest Panel

$0 — forever
  • Full backtesting — 30 pairs × 8 TFs, all 14 patterns
  • Batch Finder — recent finished patterns per combo
  • Batch Shooter — PNG + txt screenshots
  • Analyzer — free online report analysis (analyzer.fxmath.net)
  • Only finished trades — D must be confirmed and resolved
  • Never places trades, never draws on your live charts
⬇ Download free

⭐ Harmonic Hunter Suite

$99 one-time · lifetime license
  • Live scanning — catches a pattern while it is still forming
  • Fresh signals — entry not yet touched, age filter included
  • Sortable signal panel + chart helper with one-click trading
  • ML fake-pattern filter + ATR risk management
  • Auto position management — partial close + breakeven
  • Telegram alerts · free lifetime updates · 3 EAs in one license
Buy — $99 lifetime
🎁 Why give this away free? Because a harmonic scanner is only as good as its real track record. Run the backtest on your own broker's history, save the report, analyze it at analyzer.fxmath.net — and when you see a pattern that keeps winning in your market, the paid suite lets you catch it while it's still fresh, with the ML filter, live panel and one-click execution. We win when you see the numbers first.
FAQ

Free tools — questions traders ask

Is it really free? No trials, no limits, no licence?

Yes. The free backtester has no license check, no expiry, no watermark and no feature limits. Download it, run it, keep it forever. The only thing it never does is place a real trade — by design.

Does it show live patterns I can trade right now?

No — and that's deliberate. The free tools only report finished trades: point D must be confirmed on a closed bar, and the outcome (SL or TP) must already be resolved. That's exactly what makes a backtest honest. If you want patterns while they are still forming — entry not yet touched, age filter, ML confidence — that's the paid suite.

Do I need the paid version to use it?

No. It is a standalone free product. On attach it simply opens our website so you can see what the live suite looks like — close the tab if you're not interested.

Why does it open a browser when I attach it? Why "Allow DLL imports"?

Opening our site uses the standard Windows shell32 system call, which MT5 treats as a DLL import — same as the paid suite's Telegram alerts. Enable it once under Tools → Options → Expert Advisors, and tick the box in the EA properties when attaching. If it's disabled, the panel stops and shows you the exact steps. No data leaves your PC — the call only opens a URL in your default browser.

Does it trade, open charts or draw on my charts?

Never trades. In Backtest and Finder modes it never opens or draws on any chart — results go to the panel and text files. The only exception is Shooter mode, which opens charts by itself, draws the finished pattern, takes the screenshot and closes them again. Your own charts are never touched.

Is this the MT5 Strategy Tester?

No. This is an EA/script that runs on your charts against already-downloaded history — attach it in live mode and press Run. It primes each symbol and timeframe automatically, so make sure history is downloaded for the pairs you scan.

Which patterns and ratios are tested?

The same 14-entry table as the paid scanner: Gartley, Max Gartley, Bat, Max Bat, Alt Bat, Crab, Deep Crab, Butterfly, Max Butterfly, Cypher, Deep Cypher, Shark 1, Shark 2 and AB=CD — with Fibonacci ratios verified against the classic references (Gartley 0.618 XAB, Bat 0.886 XAD, Crab 1.618 XAD, Butterfly 0.786 XAB, Cypher 1.13–1.414 ABC, Shark 1.13–1.618 XAB…).

What do TP1, TP2, TP3 mean in the results?

Three take-profit levels from point D: TP1 = 0.38 × AD, TP2 = 0.618 × AD, TP3 = 0.786 × AD, with the stop at 0.05 × CD. In Backtest mode the TP Level setting chooses which one decides a win. In Finder/Shooter modes the tools report the highest TP actually reached before the stop — so "TP3 HIT" means price ran all the way.

How is this different from the built-in Strategy Tester results?

The built-in tester simulates an EA tick-by-tick. These tools instead re-detect every harmonic pattern across a whole grid and apply fixed harmonic rules (entry at D + 0.238×CD/2, SL 0.05×CD, TP 0.38/0.618/0.786×AD, SL checked first) — a transparent, reproducible methodology focused purely on the pattern edge. No spread model is applied; distances are point-based.

Where are the reports saved?

Under your MT5 data folder (File → Open Data Folder):
MQL5\Files\Backtest\YYYY.MM.DD\backtest_report.txt (backtest)
MQL5\Files\History\YYYY.MM.DD\finder_report.txt (finder)
MQL5\Files\History\YYYY.MM.DD\*.png + *.txt (shooter screenshots).

How do I analyze a report?

Open analyzer.fxmath.net and drop the report file onto the page. Everything runs in your browser — charts, KPIs, sortable tables, CSV export. Your report never leaves your computer.

What about the paid version — is it the same engine?

Exactly the same ZigZag and pattern engine. The paid suite adds live scanning while patterns are still forming, a sortable signal panel, ML fake-pattern filtering, ATR risk management, one-click trade execution and auto position management. See pricing →

See it win first. Then catch it live.

Download the free backtester, run it on your own pairs, and drop the report into the free analyzer. When a pattern proves itself in your market, upgrade to catch it while it's still fresh.