A perfect backtest proves nothing if the Expert only knows the past it was tested on. Tick Forge rebuilds the same real broker ticks on a different calendar and price level, so you can test the Expert in the normal Strategy Tester on a market it has never seen.
| What it is | A free utility with a window. Attach it to any chart, fill in a few fields, press one button. Algo trading can stay off. |
| Who it is for | Anyone who bought an Expert that looked perfect in the backtest and then behaved differently live, and anyone who wants to check an Expert before putting money behind it. |
| What it makes | An ordinary custom symbol in Market Watch and in the Strategy Tester, built from your own broker's history. |
| What it never does | It never opens, modifies or closes a trade, never touches your live symbols, uses no DLL and has no internet access. |
| Cost and source | Free. Open source (MIT licence), you can read every line. forge.mql5.io/joshuadunnink/Tick_Forge |
A backtest shows what an Expert did on one stretch of history. It does not show why. Some Experts are sold on backtests that look flawless because the "strategy" is partly a memory: a list of dates, a table of times, hard-coded price levels, or entries written after the fact. On the original data they look brilliant. Live, there is no list for the future.
Change the history in a controlled way. Logic survives the change. A memorised list does not.
| Test | What you do | What it exposes |
|---|---|---|
| Control | Function p, no shift. Run it first. | Proves the pipeline changes nothing by itself. |
| Calendar shift | Shift all timestamps by a multiple of 7 days, for example +7 days. Weekday and time of day stay the same, only the date changes. | Logic trades much as before. A list of dates loses its trades or its edge. |
| Price level | Multiply the prices: p*0.5 or p*2. | Hard-coded levels and fixed distances stop fitting. |
| Mirror, reshape | p0*p0/p, p0*r^2, p*(1+t). | Reliance on the direction or size of one period's moves. |
Some audit tools re-order or re-sample the trades an Expert already made and call the result many worlds. That is the same trades, rearranged. It is not a new market, and an Expert that memorised its history passes it as easily as before.
Tick Forge changes the price data itself. Every tick is a real broker tick. The order, the volatility clusters, the gaps and the spreads are real. Only the date and the price level change.
The Audit set button builds the standard set in one go, after you confirm: _C control, _S7, _S14, _S28 shifted by 7, 14 and 28 days, _L50 prices x0.5, _L200 prices x2 and _MIR mirrored moves. Nothing is created silently: you see how many symbols and days first, and each symbol uses the disk space of one generated symbol (real ticks use far more than M1 bars). The Delete audit set button removes the set again. It only touches symbols Tick Forge created.
It cannot start the Strategy Tester for you. MQL5 programs are not allowed to launch the tester. So you run your Expert on each symbol yourself, control first, with identical settings. A free helper script in the source repository can run the whole set automatically on a terminal you choose and write a comparison report: trade count, net, profit factor, drawdown, and how many of the control's entries reappear at the shifted time.
Spread can follow the price factor. Digits, tick size and tick value adjust when the level changes a lot. An existing custom symbol asks before it is replaced. A real broker symbol is never overwritten. The window shows where the data is stored.