TTrades' Fractal Model on five markets
One model, written down before any test: the main rule on 3 timeframe pairs and 5 markets, and 10 variations of it on 3 markets, and two continuation-only sets added later: 75 tests. 21 of 75 averaged above zero out of sample, 1 graded promising. Every test is shown below with equal weight.
- Tests
- 75
- Markets
- NAS100, US500, Gold, EURUSD, GBPUSD
- Candles
- 15m, 5m, 1H
- Data
- Oct 2021 – Oct 2026
- Out of sample
- May 2023 – Oct 2026
- Published
- 30 Oct 2026
Whose model this is
The Fractal Model is taught by the trader and educator TTrades, in public articles and videos. This page tests IDFX’s mechanical reading of it: TTrades’ rules, made exact so a computer can run them. TTrades has not seen or endorsed this test. TTrades reads context by eye, compares correlated markets and can skip a setup, so this tests the rules as written here, not TTrades.
One test passed the engine’s critical checks and reads as promising: Candle 4 continuation only: 1H to 5m, on Gold, +0.421R per trade over 38 trades. It is 1 of 75, and it is under the 100 trades the sample check asks for. 21 of 75 averaged above zero out of sample, and 2 did better than the same rules on reshuffled price; with 75 tries, three or four can do that by chance alone. Before trading costs. Every test below has equal weight.
Let the wick form, trade the body
The idea, from zero
Price cannot turn around without first printing a swing high or swing low. So TTrades numbers the candles around every swing and builds everything on one bet: once candle 2 has closed and proved the turn, candle 3 should expand away from it. You do not try to catch the turn. You let the wick form and trade the body.
“Fractal” means the same picture sits inside itself. A daily candle 2 contains a 4-hour pattern, and a 4-hour candle contains a 15-minute one. The model looks for a moment when all of them point the same way.
The words you need
- Candle 1, 2, 3, 4
- Numbers around a swing. Candle 2 is always the swing, 1 is the one before, 3 and 4 come after.
- Sweep
- Price trades past the previous candle’s high or low, taking out the orders resting there, then comes back.
- Reversal closure
- A sweep that closes back inside the previous candle. A candle 2 closure is always this.
- CISD
- Change in the state of delivery. Candles closing down made a low, and then a candle closes above the open of the first of them. The move down has been rejected.
- Protected swing
- The low (or high) a CISD has just confirmed. It should hold if the idea is right, so the stop goes there.
- Wick and body
- The core phrase: “let the wick form, trade the body”. A candle first moves against you, then expands. You wait out the first part.
- Point of interest
- A place price has a reason to react: a previous swing, a fair value gap (a three-candle gap in price), or, failing those, an opposing candle.
- Timeframe pair
- A higher candle watched through lower ones: Daily with 1H, 4H with 15m, 1H with 5m. This is the “fractal” part.
The whole trade, on one chart
An illustration, not data. Candle 2 happens to close up here; it may also close down, as long as it closes back inside candle 1. The study’s tests hold this drawing to what the rule really does on these bars.
The rules as tested, written down and committed on 30 October 2026, before any test was run
- 1Get a daily bias
Yesterday’s daily candle must be a closure in one direction, with a CISD on 1-hour candles inside it. A day that closes as a closure both ways gives no bias, and no trade.
- 2Find a 4-hour swing
A 4-hour candle closes as a closure in the bias’s direction, at a point of interest, with a CISD on 15-minute candles inside it. No swing, “no trade at all”.
- 3Three kinds of closure count
Candle 2 sweeps and closes back. Or candle 2 fails, and candle 3 closes over its body. Or a good candle 2 is followed by a candle 3 that closes beyond candle 2’s far side, and you trade candle 4.
- 4Let the next candle’s wick form
It should trade against you first and not break the swing. Only its first half counts, because a late entry has no time or range left.
- 5Enter on the first new CISD
On 15-minute bars, inside that candle. It says the wick is finished. The market order fills at the next bar’s open. One try per candle.
- 6Stop at the protected swing, target 2R
The stop goes exactly at the low of that candle so far. The target is twice the risk. No time limit, and no session filter: “the clock itself is not what makes the setup valid”.
What had to be pinned down, and what was left out
TTrades’ material leaves some decisions open and disagrees with itself on a few. Each became a fixed choice, and the ones that matter became their own test below: daily bias or none, a wider bias, candle 2 closures only, a strict point of interest, the Ideal Formation, equilibrium, candle 2’s colour, entry timing, a positional entry and a higher-timeframe target.
Not tested: comparing correlated markets (SMT and PSP, which need a second market in the same test), T-Spot, weekly bias, order blocks, reading consolidation against continuation, partial profits and runners. A discretionary trader uses these. So a “not this time” here says nothing about TTrades’ own trading.
The main rule, on three timeframe pairs
75 tests were run: the main rule on 3 timeframe pairs and 5 markets, 10 variations of it on 3 markets, and two continuation-only sets, pre-registered later, on all 3 pairs and 5 markets. With that many, three or four can pass the 5% shuffled-price bar by chance alone even if none has an edge. All are listed with equal weight; read any positive result as '1 of 75'.
Each curve is the test windows stitched end to end, in R, on the same time axis. "Windows up": test windows with a positive average. "Shuffled price as good": how many of the engine's reshuffled price series did as well or better; the fewest for any of the 75 tests was 0.
All 75, with equal weight
| Test | Trades | Win rate | Per trade | Total | Profit factor | Windows up | Shuffled as good | Verdict |
|---|---|---|---|---|---|---|---|---|
| A. 4H to 15m · NAS100 | 74 | 28.4% | −0.149R | −11.0R | 0.78 | 1 of 5 | 39 of 40 | Not this time |
| A. 4H to 15m · US500 | 68 | 30.9% | −0.078R | −5.3R | 0.87 | 1 of 5 | 22 of 40 | Not this time |
| A. 4H to 15m · Gold | 68 | 22.1% | −0.338R | −23.0R | 0.55 | 0 of 5 | 40 of 40 | Not this time |
| A. 4H to 15m · EURUSD | 81 | 35.8% | +0.064R1 of 75 | +5.1R | 1.08 | 2 of 5 | 10 of 40 | Not this time |
| A. 4H to 15m · GBPUSD | 83 | 31.3% | −0.075R | −6.2R | 0.88 | 1 of 5 | 33 of 40 | Not this time |
| B. 1H to 5m · NAS100 | 208 | 35.1% | +0.051R1 of 75 | +10.6R | 1.06 | 4 of 5 | 8 of 40 | Not this time |
| B. 1H to 5m · US500 | 185 | 35.1% | +0.048R1 of 75 | +8.9R | 1.05 | 2 of 5 | 5 of 40 | Not this time |
| B. 1H to 5m · Gold | 193 | 33.7% | +0.010R1 of 75 | +2.0R | 1.00 | 2 of 5 | 24 of 40 | Not this time |
| B. 1H to 5m · EURUSD | 205 | 29.3% | −0.122R | −25.1R | 0.81 | 1 of 5 | 38 of 40 | Not this time |
| B. 1H to 5m · GBPUSD | 212 | 31.6% | −0.061R | −12.9R | 0.90 | 3 of 5 | 17 of 40 | Not this time |
| C. Daily to 1H · NAS100 | 152 | 28.9% | −0.136R | −20.6R | 0.81 | 2 of 5 | 39 of 40 | Not this time |
| C. Daily to 1H · US500 | 146 | 29.4% | −0.120R | −17.5R | 0.83 | 1 of 5 | 32 of 40 | Not this time |
| C. Daily to 1H · Gold | 125 | 31.2% | −0.064R | −8.0R | 0.89 | 3 of 5 | 11 of 40 | Not this time |
| C. Daily to 1H · EURUSD | 184 | 26.1% | −0.217R | −40.0R | 0.72 | 0 of 5 | 37 of 40 | Not this time |
| C. Daily to 1H · GBPUSD | 173 | 28.3% | −0.145R | −25.1R | 0.79 | 1 of 5 | 35 of 40 | Not this time |
| D. No daily bias · NAS100 | 514 | 32.1% | −0.046R | −23.8R | 0.91 | 1 of 5 | 27 of 40 | Not this time |
| D. No daily bias · Gold | 482 | 30.9% | −0.079R | −38.3R | 0.85 | 2 of 5 | 29 of 40 | Not this time |
| D. No daily bias · EURUSD | 536 | 33.4% | −0.007R | −3.6R | 0.97 | 3 of 5 | 25 of 40 | Not this time |
| E. Wider daily bias · NAS100 | 157 | 31.2% | −0.093R | −14.7R | 0.85 | 1 of 5 | 31 of 40 | Not this time |
| E. Wider daily bias · Gold | 147 | 24.5% | −0.265R | −39.0R | 0.64 | 0 of 5 | 39 of 40 | Not this time |
| E. Wider daily bias · EURUSD | 166 | 31.9% | −0.047R | −7.9R | 0.92 | 1 of 5 | 21 of 40 | Not this time |
| F. Candle 2 closures only · NAS100 | 60 | 25.0% | −0.250R | −15.0R | 0.66 | 1 of 5 | 40 of 40 | Not this time |
| F. Candle 2 closures only · Gold | 45 | 26.7% | −0.200R | −9.0R | 0.70 | 1 of 5 | 36 of 40 | Not this time |
| F. Candle 2 closures only · EURUSD | 52 | 26.9% | −0.209R | −10.9R | 0.72 | 1 of 5 | 23 of 40 | Not this time |
| G. Strict point of interest · NAS100 | 44 | 25.0% | −0.250R | −11.0R | 0.66 | 1 of 5 | 37 of 40 | Not this time |
| G. Strict point of interest · Gold | 38 | 23.7% | −0.289R | −11.0R | 0.61 | 1 of 5 | 40 of 40 | Not this time |
| G. Strict point of interest · EURUSD | 42 | 23.8% | −0.306R | −12.9R | 0.60 | 1 of 5 | 31 of 40 | Not this time |
| H. Ideal Formation · NAS100 | 8 | 37.5% | +0.125R1 of 75 | +1.0R | 1.19 | 3 of 5 | 29 of 40 | Not this time |
| H. Ideal Formation · Gold | 8 | 25.0% | −0.250R | −2.0R | 0.65 | 2 of 5 | 23 of 40 | Not this time |
| H. Ideal Formation · EURUSD | 11 | 45.5% | +0.364R1 of 75 | +4.0R | 1.65 | 3 of 5 | 5 of 40 | Not this time |
| I. Equilibrium respected · NAS100 | 31 | 25.8% | −0.226R | −7.0R | 0.69 | 2 of 5 | 37 of 40 | Not this time |
| I. Equilibrium respected · Gold | 28 | 21.4% | −0.357R | −10.0R | 0.53 | 1 of 5 | 34 of 40 | Not this time |
| I. Equilibrium respected · EURUSD | 35 | 31.4% | −0.057R | −2.0R | 0.90 | 2 of 5 | 20 of 40 | Not this time |
| J. Candle 2 closes the right colour · NAS100 | 74 | 25.7% | −0.230R | −17.0R | 0.69 | 1 of 5 | 39 of 40 | Not this time |
| J. Candle 2 closes the right colour · Gold | 65 | 20.0% | −0.400R | −26.0R | 0.49 | 0 of 5 | 40 of 40 | Not this time |
| J. Candle 2 closes the right colour · EURUSD | 78 | 35.9% | +0.066R1 of 75 | +5.1R | 1.09 | 3 of 5 | 10 of 40 | Not this time |
| K. Any time in the candle · NAS100 | 98 | 26.5% | −0.204R | −20.0R | 0.71 | 1 of 5 | 40 of 40 | Not this time |
| K. Any time in the candle · Gold | 89 | 23.6% | −0.292R | −26.0R | 0.59 | 1 of 5 | 39 of 40 | Not this time |
| K. Any time in the candle · EURUSD | 105 | 35.2% | +0.049R1 of 75 | +5.1R | 1.06 | 2 of 5 | 10 of 40 | Not this time |
| L. Positional entry at the candle's open · NAS100 | 153 | 30.1% | −0.103R | −15.8R | 0.84 | 1 of 5 | 34 of 40 | Not this time |
| L. Positional entry at the candle's open · Gold | 131 | 32.8% | −0.016R | −2.1R | 0.97 | 2 of 5 | 16 of 40 | Not this time |
| L. Positional entry at the candle's open · EURUSD | 153 | 37.3% | +0.103R1 of 75 | +15.7R | 1.14 | 4 of 5 | 5 of 40 | Not this time |
| M. Higher-timeframe target · NAS100 | 16 | 0.0% | −1.000R | −16.0R | 0.00 | 0 of 5 | 37 of 40 | Not this time |
| M. Higher-timeframe target · Gold | 16 | 6.3% | −0.440R | −7.0R | 0.50 | 1 of 5 | 36 of 40 | Not this time |
| M. Higher-timeframe target · EURUSD | 16 | 18.8% | −0.282R | −4.5R | 0.64 | 1 of 5 | 24 of 40 | Not this time |
| N. Candle 4 continuation only · NAS100 | 8 | 37.5% | +0.125R1 of 75 | +1.0R | 1.19 | 2 of 5 | 21 of 40 | Not this time |
| N. Candle 4 continuation only · US500 | 5 | 60.0% | +0.800R1 of 75 | +4.0R | 2.99 | 3 of 5 | 1 of 40 | Not this time |
| N. Candle 4 continuation only · Gold | 3 | 0.0% | −1.000R | −3.0R | 0.00 | 0 of 5 | 40 of 40 | Not this time |
| N. Candle 4 continuation only · EURUSD | 8 | 50.0% | +0.500R1 of 75 | +4.0R | 1.95 | 3 of 5 | 2 of 40 | Not this time |
| N. Candle 4 continuation only · GBPUSD | 18 | 33.3% | 0.000R | 0.0R | 0.99 | 3 of 5 | 25 of 40 | Not this time |
| O. Candle 4 continuation only · NAS100 | 31 | 41.9% | +0.258R1 of 75 | +8.0R | 1.43 | 4 of 5 | 4 of 40 | Not this time |
| O. Candle 4 continuation only · US500 | 25 | 24.0% | −0.280R | −7.0R | 0.64 | 1 of 5 | 35 of 40 | Not this time |
| O. Candle 4 continuation only · Gold | 38 | 47.4% | +0.421R1 of 75 | +16.0R | 1.72 | 3 of 5 | 0 of 40 | Promising |
| O. Candle 4 continuation only · EURUSD | 32 | 21.9% | −0.344R | −11.0R | 0.55 | 0 of 5 | 38 of 40 | Not this time |
| O. Candle 4 continuation only · GBPUSD | 28 | 17.9% | −0.464R | −13.0R | 0.45 | 1 of 5 | 37 of 40 | Not this time |
| P. Candle 4 continuation only · NAS100 | 18 | 38.9% | +0.167R1 of 75 | +3.0R | 1.25 | 3 of 5 | 4 of 40 | Not this time |
| P. Candle 4 continuation only · US500 | 24 | 37.5% | +0.125R1 of 75 | +3.0R | 1.18 | 2 of 5 | 36 of 40 | Not this time |
| P. Candle 4 continuation only · Gold | 23 | 34.8% | +0.043R1 of 75 | +1.0R | 1.11 | 3 of 5 | 15 of 40 | Not this time |
| P. Candle 4 continuation only · EURUSD | 24 | 29.2% | −0.125R | −3.0R | 0.81 | 2 of 5 | 37 of 40 | Not this time |
| P. Candle 4 continuation only · GBPUSD | 34 | 29.4% | −0.118R | −4.0R | 0.82 | 2 of 5 | 30 of 40 | Not this time |
| Q. Candle 3 closure only · NAS100 | 1 | 100.0% | +2.000R1 of 75 | +2.0R | 999.00 | 1 of 5 | 36 of 40 | Not this time |
| Q. Candle 3 closure only · US500 | 1 | 0.0% | −1.000R | −1.0R | 0.00 | 0 of 5 | 38 of 40 | Not this time |
| Q. Candle 3 closure only · Gold | 7 | 0.0% | −1.000R | −7.0R | 0.00 | 0 of 5 | 17 of 40 | Not this time |
| Q. Candle 3 closure only · EURUSD | 9 | 33.3% | 0.000R | 0.0R | 0.98 | 2 of 5 | 4 of 40 | Not this time |
| Q. Candle 3 closure only · GBPUSD | 5 | 20.0% | −0.400R | −2.0R | 0.48 | 0 of 5 | 30 of 40 | Not this time |
| R. Candle 3 closure only · NAS100 | 8 | 25.0% | −0.250R | −2.0R | 0.66 | 2 of 5 | 25 of 40 | Not this time |
| R. Candle 3 closure only · US500 | 8 | 25.0% | −0.250R | −2.0R | 0.72 | 0 of 5 | 30 of 40 | Not this time |
| R. Candle 3 closure only · Gold | 15 | 26.7% | −0.200R | −3.0R | 0.70 | 1 of 5 | 34 of 40 | Not this time |
| R. Candle 3 closure only · EURUSD | 10 | 20.0% | −0.400R | −4.0R | 0.49 | 1 of 5 | 37 of 40 | Not this time |
| R. Candle 3 closure only · GBPUSD | 20 | 55.0% | +0.650R1 of 75 | +13.0R | 2.35 | 3 of 5 | 3 of 40 | Not this time |
| S. Candle 3 closure only · NAS100 | 12 | 8.3% | −0.783R | −9.4R | 0.17 | 0 of 5 | 36 of 40 | Not this time |
| S. Candle 3 closure only · US500 | 11 | 36.4% | +0.045R1 of 75 | +0.5R | 1.05 | 2 of 5 | 10 of 40 | Not this time |
| S. Candle 3 closure only · Gold | 12 | 33.3% | 0.000R | 0.0R | 0.99 | 2 of 5 | 13 of 40 | Not this time |
| S. Candle 3 closure only · EURUSD | 17 | 35.3% | +0.059R1 of 75 | +1.0R | 1.07 | 1 of 5 | 16 of 40 | Not this time |
| S. Candle 3 closure only · GBPUSD | 15 | 26.7% | −0.200R | −3.0R | 0.71 | 0 of 5 | 17 of 40 | Not this time |
A to C are the main rule; D to M each change one choice from row A, on NAS100, gold and EURUSD; N to S are the continuation-only sets, pre-registered later, on every pair and market. Read any positive row as 1 of 75. Every row is out of sample and before trading costs.
Continuations on their own
The first 45 tests allowed all three closures together and never tested continuations on their own. These 30 were written down and committed before they were run, on 1 November 2026, when the first 45 results were already known. They add tests and change nothing about the first 45.
TTrades uses the word “continuation” in several ways, so there are two named sets rather than one blend. Both keep the main rule and change only which closure counts as the setup candle. Candle 4 only: the previous candle was a reversal closure, and this one holds its low and closes above its high. Candle 3 only: the previous candle swept and failed, and this one holds its low and closes above its body. TTrades says a candle 3 closure can signal “a reversal or continuation depending on context”, and a fixed rule cannot read that context. Neither set is the true continuation.
| Candle 4 only | NAS100 | US500 | Gold | EURUSD | GBPUSD |
|---|---|---|---|---|---|
| 4H to 15m | +0.125R 1 of 75 8 trades | +0.800R 1 of 75 5 trades | −1.000R 3 trades | +0.500R 1 of 75 8 trades | 0.000R 18 trades |
| 1H to 5m | +0.258R 1 of 75 31 trades | −0.280R 25 trades | +0.421R 1 of 75 38 trades, promising | −0.344R 32 trades | −0.464R 28 trades |
| Daily to 1H | +0.167R 1 of 75 18 trades | +0.125R 1 of 75 24 trades | +0.043R 1 of 75 23 trades | −0.125R 24 trades | −0.118R 34 trades |
| Candle 3 only | NAS100 | US500 | Gold | EURUSD | GBPUSD |
|---|---|---|---|---|---|
| 4H to 15m | +2.000R 1 of 75 1 trade | −1.000R 1 trade | −1.000R 7 trades | 0.000R 9 trades | −0.400R 5 trades |
| 1H to 5m | −0.250R 8 trades | −0.250R 8 trades | −0.200R 15 trades | −0.400R 10 trades | +0.650R 1 of 75 20 trades |
| Daily to 1H | −0.783R 12 trades | +0.045R 1 of 75 11 trades | 0.000R 12 trades | +0.059R 1 of 75 17 trades | −0.200R 15 trades |
Average per trade, out of sample and before trading costs. Candle 4 only: 319 trades across 15 tests, 8 above zero. Candle 3 only: 151 trades across 15 tests, 4 above zero. Every one is under the 100 trades the sample check asks for, and many are too few to read at all. Read any positive cell as 1 of 75.
The promising one is worth reading against what surrounds it. Its last two test windows lost money, the same rule on the same pair is negative on three of the other four markets, and it was not rerun with trading costs, which matter more when stops are this tight. It would need fresh data to say more. The engine’s grade for it says the next step is a demo account; this page does not suggest anyone trade it.
The model on real candles
Real out-of-sample trades, before trading costs, one of 75 tests. Picked to show the rules, not the result: the most recent 4H-15m main-rule trade of each kind (long or short, target or stop) that closed within 40 bars. Blue lines are the two CISD levels, the dashed line candle 1’s extreme.
One of TTrades’ own examples, on our bars
TTrades’ charts carry no dates. Searching 324 of the article images against our bars found this one with confidence: the example in the Candle 4 article. Candle 2 on 11 August, a strong candle 3 on the 12th, candle 4 expected on the 13th. It changed the rules before any test ran: the first version missed this continuation, so it was added. This is the only dated example the study rests on, it is at the daily level, and TTrades’ own entry there used a 30-minute and 3-minute pair this study does not test.
Every trade walked candle by candle
For the 15 main-rule tests and the 30 continuation tests the setups were redrawn from the raw bars with no engine functions, and every signal had to match. For all of them, each trade’s fill, stop, target and exit were replayed bar by bar outside the backtester. Nobody approved sample trades by hand; that review is deferred.
Each test window ran with a 20-bar lead-in, so 77 signals a whole-period reading has were not seen in the windows, and 10 were seen only there. 9 of the main-rule trades come from those. They are left in as run: the results are what the engine did, and the change to any main-rule average is at most 0.04R per trade. The promising continuation test is unaffected: all its trades are the same either way.
Limitations
- Before trading costs. Spread, commission and slippage would push every average down, not up. A tight stop makes this matter more.
- 75 tests. Any single good-looking row can be luck; read each one against all 75.
- Out of sample is May 2023 – Oct 2026, not the whole data period.
- One reading of a discretionary model. SMT, PSP, T-Spot, weekly bias, order blocks and context reading are not in it.
- Almost all of TTrades’ chart examples could not be dated, so the rules were checked against just one of them on real bars.
- CFDs on one broker’s feed, not the futures TTrades trades. A candle 2 depends on whether one wick passes another, and small differences between feeds can change that.
- Each test window started with only 20 bars of history, so a rule that looks further back reads a little differently there: the first days lack an earlier higher candle, and a gap from before the window is not seen. Read over the whole period instead, the main-rule averages move by at most 0.04R per trade.
- A bar that touches both the stop and the target counts as a loss.
- A backtest. Not live trading, and not a funded account.
The data
All 75 tests in one file, published as it was written, with the engine run behind each row. Each test also has its own page and file.