Match check Pro
What a match mark would verify, what has been compared on each export target so far, and the honest status of each target today.
This feature is part of Pro.
An exported file is written from the same strategy, but the platform that runs it is a different program with its own price history. The match check asks whether the trades it makes are the same trades the Miner reported. This page says what has been compared and what has not.
Status today
Every exported file carries the line Match with the platform tester: not verified, and the validation JSON at the end of the header carries "parity":"not verified". No target shows a match mark on a downloaded file today. This does not mean the file is wrong. It means nobody has confirmed, for that exact file, that its trades equal the Miner’s.
| Target | Compared on the platform? | Mark on your file |
|---|---|---|
| MetaTrader 5 | Yes, in the Strategy Tester, on a set of test strategies | None |
| MetaTrader 4 | Yes, in the Strategy Tester, on a set of test strategies | None |
| TradingView Pine | The script compiles in TradingView. The trades were compared with MetaTrader 5 and did not meet the criteria | None |
| cTrader | Yes, with the official cTrader command-line backtest, on a set of test strategies | None |
| Python | Yes, against the in-house backtest, on a set of test strategies | None |
What a mark would verify
A match mark would say that, for one exact file, the trades on the platform match the in-house backtest the Miner used. The comparison pairs the trades of both sides by their entry bar and then checks:
- there are enough trades to judge, at least 100;
- the entries match, at least 98% of them;
- the side of each trade matches, at least 99.5%;
- the number of trades differs by at most 2%;
- the profit of each trade is within tolerance for at least 98% of trades;
- the distance from entry to exit matches for at least 98% of trades;
- the net profit differs by at most 4% of the traded amount.
The distance check exists because a stop loss written one pip off passes the other checks.
A mark applies to the exact bytes of one file. If the export changes by a single character, the mark is gone and the file is unverified again.
What has been compared
All comparisons use test strategies, not your strategy. The conditions differ by target, so the results of different targets are not directly comparable.
MetaTrader 5
The in-house backtest was compared with the MetaTrader 5 Strategy Tester on eight single-symbol strategies, with the tester’s spread applied. Five passed on both tester models, and not a single trade had the wrong side. The three that did not had known causes: a yen-quoted symbol, where the profit conversion differs, and very narrow stops, where a single bar reaches both the stop loss and the take profit.
MetaTrader 4
The same comparison was made with the MetaTrader 4 tester on five strategies, two symbols and one timeframe. The four simple strategies passed on both models. The very narrow stop strategy did not. Other symbols, timeframes and periods were not measured.
TradingView Pine
Two things are separate here:
- Compile. Sample scripts were added to a TradingView chart and compiled without errors.
- Trades. The trades listed by the TradingView Strategy Tester were compared with the MetaTrader 5 trades for eight strategies. None of the eight met the criteria. The differences come from things Pine cannot express, such as the spread, and from different price data.
Because the trades did not meet the criteria, there is no match mark for Pine. Treat the Pine export as a strategy to test again on TradingView.
cTrader
The cBot was built with the official tools and run with the cTrader command-line backtest on 48 test strategies, and 47 met the criteria. The one that did not missed the entry-match limit narrowly (97.7% against 98%). The comparison used the in-house backtest with no spread.
A mark exists for each of the passed strategies in an internal record. It does not show on a downloaded file today, and the header of the .cs file still reads not verified. A changed output needs a new run before a mark can apply again.
Python
The script was run on 25 strategy designs, each with the spread at 0 and at 5 points. No run failed. Two designs had too few trades to judge, which the criteria count as insufficient, not as a pass. The entries differed by a bar only in a few places, where two indicator values become equal after rounding to six decimals.
What this does not tell you
- A pass is a statement about the trades on the test strategies, not a statement about whether they make money.
- A comparison on one symbol, timeframe and period does not carry over to another.
- Results are an approximation of past data. They do not guarantee the future.
What to do before you use a file
- Run the file on the platform’s tester over the same period as the Miner result.
- Compare the number of trades and the first few entries by hand.
- Use a demo account first.
Next steps
- Read the steps for your platform: MetaTrader 5, MetaTrader 4, TradingView Pine, cTrader or Python.
- Go back to the Export overview.