Our own strategy run through the same build as a paid one Tested 14 Nov 2026
ICT power of three on NQ
The Asia range, a London sweep of one side, a trade the other way at 09:30 New York, the target the Asia range's far side. 1 micro (MNQ), 5-minute bars, 15 Nov 2021 to 22 Oct 2026.
Answer: Weak evidence
On the years nobody chose anything on, it made +$3,195 on 338 trades, and entering at a random time on the same days did as well only 3.6%-4.0% of the time. It stops at weak evidence: MES, the deflated Sharpe and the evaluation fail.
Net profit by day, 1 micro, after costs15 Nov 2021 to 22 Oct 2026; the shaded band is where its settings were chosen, so it is never used for the answer
Out-of-sample trades
338
the untouched years and the locked months
Out-of-sample net, 1 micro
+$3,195
after costs; profit factor 1.18
Untouched years
+$1,659
291 trades, 15 Nov 2021 to 22 Oct 2024
Luck did as well
3.6%-4.0%
of 6,000 runs with random entry times
Why this report is public
This is a 48-Hour Strategy Build run on a strategy of our own, so you can read every page before you send us yours. The test plan was written down and sealed before any result, and every test that failed is printed. 6 of the 9 checks pass.
Past results on historical data, with costs taken off. They don't forecast anything and they aren't advice to trade, or about what size to trade. Futures can lose more than an account holds.
On years nobody chose anything on, the power of three made +$3,195 on 1 micro and beat random entry times in about 96 runs of 100, but the gain is small and 3 checks fail
Answer: Weak evidence
Its trades on unseen bars beat chance, and it held up with costs doubled and with every nearby setting. It stops short of evidence of an edge: once the tries behind its settings are counted, the deflated Sharpe is 0.52, under the 0.90 bar, and it lost money on the S&P (MES).
It trades exactly as tested. Our tester ran the script on the same 349,780 bars, and all 458 of its trades matched the research engine trade for trade.
The untouched years: +$1,659 on 291 trades, 15 Nov 2021 to 22 Oct 2024, before its settings were chosen. The locked months: +$1,536 on 47 trades. Together, out of sample: +$3,195, profit factor 1.18.
Luck did as well 3.6%-4.0% of the time. Entering at a random time on the same days, same side, same stop and target, matched it in about 4 runs of 100.
Costs doubled: +$2,528. All 54 nearby settings made money out of sample.
What fails: the deflated Sharpe (0.52, counting 100 tries), MES (−$524 over two years), and a typical 50K evaluation, which it doesn't pass more often than it fails at any size tested.
It is small. About 8 trades a month and an average out-of-sample trade of +$9 at 1 micro.
What was tested. Our library's power of three, exactly as published on 7 Nov 2026: its rules, its settings, nothing changed.
How. 5-minute bars, 15 Nov 2021 to 22 Oct 2026 (1,277 trading days). After costs: $0.61 a contract each side and 1 tick of slippage on every market and stop fill.
What it is not. A forecast, a recommendation, or a size to trade.
Contents
1. The answer1
2. Summary2
3. It trades as tested3
4. Where the settings came from4
5. The untouched years5
6. Against luck6
7. The nine checks7
8. An evaluation8
9. A normal month9
10. Three real days10
11. What would change the answer11
A. Glossary12
B. Disclosures13
C. The script14
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20262
Alpha Charts · 48-Hour Strategy Build · Sample report3 · It trades as tested
3 · It trades as tested
The script and the research engine agree on all 458 trades, so every number in this report is the script's own
The rules, exactly as the script has them
Asia: the high and low from 20:00 to midnight New York.
London: from 02:00 to 05:00, price takes out one side of the Asia range. If it takes out both, there is no trade that day.
New York: at the close of the 09:30 bar the trade goes the other way: long after a sweep of the Asia low, short after a sweep of its high. Filled at the next bar's open.
Stop a tick beyond the night's extreme on the swept side; target the Asia range's far side. Flat by 16:00.
Filters: no trade if the stop is closer than 0.05 or wider than 0.4 of the daily average range, or if the Asia range is wider than 0.3 of it.
The trade-for-trade check
Before any result was used, our tester ran the script on the same 349,780 bars and its trades were compared with the research engine's: entry and exit time, side, both prices and the contracts. 458 of 458 match.
Why this page comes first. A test of a script that trades differently on the chart proves nothing about the chart. The check runs before any result is read.
Costs in every result: $0.61 a contract each side, 1 tick of slippage on market and stop fills, none on the target.
The full script is Appendix C.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20263
Alpha Charts · 48-Hour Strategy Build · Sample report4 · Where the settings came from
4 · Where the settings came from
Its settings were chosen on 16 months in the middle; the answer comes only from the years before them and the months after
Exhibit 1Net profit by day, 1 micro, after costs15 Nov 2021 to 22 Oct 2026; shaded: the months its settings were chosen on
458 trades in all. After costs: $0.61 a contract each side and 1 tick of slippage on every market and stop fill.
Period
Dates
Trades
Net
Winners
Profit factor
Role
The untouched years
15 Nov 2021 to 22 Oct 2024
291
+$1,659
50%
1.12
Nothing was chosen on these. The main test.
Settings chosen here
23 Oct 2024 to 23 Feb 2026
120
+$3,299
53%
1.51
The library tuned its filters on these months. Never used for the answer.
The locked months
24 Feb 2026 to 22 Oct 2026
47
+$1,536
57%
1.47
One run, after the settings were fixed.
Out of sample
the first and the last together
338
+$3,195
51%
1.18
The answer's set.
The library's own page priced the locked months with different cost settings; here every number carries the build's costs.
Why the split matters. Settings fit to months always look good on those months. Only bars they were not fit to can say anything.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20264
Alpha Charts · 48-Hour Strategy Build · Sample report5 · The untouched years
5 · The untouched years
Nobody had looked at 15 Nov 2021 to 22 Oct 2024 when the settings were chosen; on those years it made +$1,659
Exhibit 2Net profit by month, 1 micro, after costsNov 2021 to Oct 2024
After costs: $0.61 a contract each side and 1 tick of slippage on every market and stop fill.
Year
Trades
Net
Winners
Profit factor
Deepest drop
2021 (from 15 Nov)
5
+$200
80%
2.14
$176
2022
103
−$135
47%
0.98
$2,170
2023
103
+$1,255
52%
1.32
$952
2024 (to 22 Oct)
80
+$338
50%
1.09
$1,029
Check 3 passes: the untouched years are above zero on their own.
2022 was flat (−$135). The deepest drop of the five years, $2,170 from 4 Aug 2022 to 7 Nov 2022, came in it and took until 5 Sep 2023 to make back.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20265
Entering at a random time on the same days did as well only 3.6%-4.0% of the time
Exhibit 3What random entry times made out of sample, against the strategy2,000 runs (seed 11): the untouched years (15 Nov 2021 to 22 Oct 2024) and the locked months (24 Feb 2026 to 22 Oct 2026); the same days, side, stop and target, entered at a random 5-minute close from 09:30 to 15:50; dark bars did at least as well
After costs: $0.61 a contract each side and 1 tick of slippage on every market and stop fill. Three seeds, 2,000 runs each.
Seed
Runs
As good as the strategy
Middle run
Top tenth from
11
2,000
4.0%
+$806
+$2,542
12
2,000
4.0%
+$732
+$2,497
13
2,000
3.6%
+$689
+$2,482
What this tests. If the 09:30 entry after a London sweep carries information, it should beat entering at a random time with everything else the same. Check 6 needs random entries as good in under 10% of runs; they are as good in 3.6%-4.0%. Check 6 passes.
Random entries still made money (a middle run of +$806): the stop and target levels themselves carry part of the result.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20266
Alpha Charts · 48-Hour Strategy Build · Sample report7 · The nine checks
7 · The nine checks
6 of the 9 checks pass; MES, the deflated Sharpe and the evaluation fail
#
Check, as the plan wrote it before any run
Result
Verdict
1
It runs and trades
458 trades
Passes
2
Out of sample above zero
+$3,195, 338 trades
Passes
3
The untouched years alone above zero
+$1,659, 291 trades
Passes
4
Neighbours: 60% of 54 nearby settings above zero
54 of 54 above zero
Passes
5
Costs doubled, out of sample still above zero
+$2,528 at $1.22 a side and 2 ticks
Passes
6
Random entries as good in under 10% of runs
3.6%-4.0% of 6,000 runs
Passes
7
The same rules on MES above zero (reported only)
−$524, 23 Oct 2024 to 22 Oct 2026
Fails
8
Deflated Sharpe 0.90 or more, counting 100 tries
0.52
Fails
9
A typical 50K evaluation: passes more often than it fails
0.6% pass, 1.2% fail at 1 micro
Fails
Neighbouring settings (check 4), shown and never used to choose
Entry at 09:30 or 09:45, and each of the three filters at its value and 0.05 either side: 54 settings, out of sample. Lowest +$2,217, middle +$5,185, highest +$7,311.
How the answer is set
Evidence of an edge: checks 2, 3, 5, 6 and 8 all pass. Weak evidence: 2, 3 and 5 pass and random entries are as good in under 20% of runs. Otherwise Unproven. Here 2, 3, 5 and 6 pass and 8 fails: Weak evidence.
Deflated Sharpe asks how likely the result is to beat zero once the number of settings tried is counted. No log of the library's search survives, so the plan counts 100 tries; the spread between tries is taken from the 54 neighbours. It scores 0.52.
MES has 23 Oct 2024 to 22 Oct 2026 on file, so check 7 covers two years, and part of them is the months the settings were chosen on.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20267
On a typical 50K evaluation it passed more often than random entries at every size, but never more often than it failed
Micros
Passes
Fails
Neither in 120 days
Middle days to pass
Random: pass
Random: fail
1
0.6%
1.2%
98.3%
103
0.0%
1.0%
2
18.0%
25.8%
56.2%
84
6.1%
25.6%
3
35.7%
47.8%
16.5%
62
17.4%
56.1%
The evaluation simulated
A $3,000 profit target; a $2,000 end-of-day trailing drawdown that stops rising at the starting balance; a $1,000 daily loss limit, read on each day's closed result.
10,000 attempts at each size, each built from the out-of-sample days in 5-day blocks, drawn at random, until the target, a breach, or 120 trading days.
Beside it, the same attempts built from one run of random entry times (seed 11).
Check 9 fails: it needs passes to outnumber fails. At 1 micro most attempts reach neither the target nor a breach in 120 days: the strategy is too small at that size for a $3,000 target.
No size is picked here. The table shows what 1, 2 and 3 micros did, each beside random entries. The size you trade is your decision.
Your firm's rules differ; a paid build runs this on yours.
Intraday drawdown is not simulated here: a day is judged on its close.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20268
Alpha Charts · 48-Hour Strategy Build · Sample report9 · A normal month
9 · A normal month
A normal month is about 8 trades and a small result; 32 of 60 months made money
Exhibit 4Net profit by month, 1 micro, after costsNov 2021 to Oct 2026, all five years
After costs: $0.61 a contract each side and 1 tick of slippage on every market and stop fill.
A month
Value
Trades a month
7.6
Winners
52%
Average winner, average loser
+$129, −$108
The middle month
+$82
The best month
+$1,211 Apr 2022
The worst month
−$1,015 Oct 2022
Longest run of losing trades
10 5 Oct 2022 to 7 Nov 2022
Deepest drop
−$2,170 4 Aug 2022 to 7 Nov 2022
What living with it is like. About half the trades win, and a winner (+$129 on average) is a little larger than a loser (−$108). The middle month is +$82 at 1 micro.
How trades end: 230 at the target, 213 at the stop, 15 flat by the close.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 20269
Alpha Charts · 48-Hour Strategy Build · Sample report10 · Three real days
10 · Three real days
Three days from the locked months: the middle winner, the middle loser, and a day it sat out
Exhibit 5A winner: 14 Aug 20265-minute candles, 09:00 to 16:00 New York; shaded: the Asia range; red: the stop; green: the target
Short at 30205.75, 09:35; out at 30124.25 on the target: +$162
Exhibit 6A loser: 2 Oct 2026The same view
Short at 31145.25, 09:35; out at 31224.00 on the stop: −$159
Exhibit 7A day it sat out: 11 Jun 2026The same view
London took out the Asia high, so the day's trade would have been a short, but the Asia range was wider than 0.3 of the daily average range, so there was no trade.
Why the middle ones. The best and worst days are rare by definition; the middle winner and loser are what most days look like.
Days without a trade: London took both sides of the Asia range or neither, or one of the three filters ruled the night out.
Entries and exits: the filled dot is the entry, the open dot the exit.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202610
Alpha Charts · 48-Hour Strategy Build · Sample report11 · What would change the answer
11 · What would change the answer
New months with the rules unchanged are the only way to evidence of an edge; re-tuning would start the count again
Stronger: if new months, run with the script exactly as it is, add up above zero and still beat random entries, the answer can move. The test is re-run on the new trades alone.
Weaker: a drop deeper than $2,170 (4 Aug 2022 to 7 Nov 2022) would be outside anything in five years.
Not a way forward: changing the settings to make these years look better. Every nearby setting already made money (check 4); a better-looking past would not be new evidence.
Running it exactly as tested
MNQ on 5-minute bars, the session's full hours, New York time.
The script's inputs as they are: entry 09:30, target the Asia range, the three filters at 0.05, 0.4 and 0.3.
Results here are at 1 micro with the costs above; the size you trade is your decision.
What a paid build adds. Your script instead of ours, matched trade for trade on your own chart, three versions of yours tested and counted, and your firm's evaluation rules instead of the typical ones on page 8.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202611
The Asia range. The highest high and lowest low from 20:00 to midnight New York.
A London sweep. Price trading beyond one side of the Asia range between 02:00 and 05:00 New York.
Daily average range. The 14-day average of each session's true range, updated at the session's close.
Net. Profit after costs, in dollars, at 1 micro (MNQ, $2 a point) unless a line says otherwise.
Costs. $0.61 a contract each side, plus 1 tick ($0.50 on MNQ) of slippage on every market and stop fill; none on a target.
Winners. The share of trades that made money after costs.
Profit factor. Money made on winners divided by money lost on losers.
Deepest drop. The largest fall from a high point of the running total, day by day.
The untouched years. 15 Nov 2021 to 22 Oct 2024: bars nobody had looked at when the settings were chosen.
The locked months. 24 Feb 2026 to 22 Oct 2026: run once, after the settings were fixed.
Out of sample. The untouched years and the locked months together.
Random entries. The same days, side, stop and target, entered at a random 5-minute close from 09:30 to 15:50 instead of at 09:30.
Deflated Sharpe. The probability that the result's Sharpe ratio is above zero once the number of settings tried is counted (Bailey and López de Prado).
Block bootstrap. New sequences of days built by drawing 5-day blocks of the strategy's own days at random, to simulate many evaluations.
Weak evidence. Out of sample above zero, with costs doubled too, and random entries as good in under 20% of runs, without passing every check that evidence of an edge needs.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202612
This report is a sample: a 48-Hour Strategy Build run on a strategy of our own, published so readers can see what a build contains. It is not a recommendation to trade this or any strategy.
All results are hypothetical, from historical data, with the costs stated. Hypothetical results have limits: they are made with hindsight, don't involve financial risk, and can't account for every factor of real trading, such as fills in fast markets or the ability to keep to a strategy through losses. No representation is made that any account will or is likely to achieve results like these.
Futures are leveraged; losses can exceed an account's deposits. The evaluation figures simulate typical rules, not any one firm's, and no firm has reviewed them.
Nothing here is advice about what to trade or what size to trade. Sizes in this report (1, 2 and 3 micros) are shown to describe results; the size anyone trades is their own decision.
The test plan and the strategy were written down and sealed with a checksum before any result of this build was run; the plan is kept with the build.
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202613
Alpha Charts · 48-Hour Strategy Build · Sample reportAppendix C · The script
Appendix C · The script
power_of_three.pine, exactly as tested (106 lines). The web version has the file beside it.
//@version=6
// Suggested timeframe: 5-minute
strategy("ICT power of three (Asia range, London sweep, New York 9:30)", overlay=true, initial_capital=50000, default_qty_type=strategy.fixed, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=2.5, slippage=1, margin_long=0, margin_short=0)
// Accumulation: the Asia range, 20:00 to 00:00 New York. Manipulation: London, 02:00 to 05:00,
// takes out one side of it. Distribution: at the New York entry time the trade goes the other way,
// long after a sweep of the Asia low and short after a sweep of its high (both sides taken: no
// trade). The stop sits a tick beyond the night's extreme on the swept side; the target is the far
// side of the Asia range, or a fixed multiple of the risk. Flat at 15:55 New York.
entryAt = input.int(930, "Entry time (HHMM, New York)")
tgtMode = input.string("Asia range", "Target", options=["Asia range", "1R", "2R", "3R"])
// Fixes from the tuning-month diagnosis; the defaults are the optimised pick (all 0 / false = the textbook)
minRiskAtr = input.float(0.05, "Skip stops closer than x daily ATR (0 = off)", minval=0, step=0.05)
maxRiskAtr = input.float(0.4, "Skip stops wider than x daily ATR (0 = off)", minval=0, step=0.05)
maxAsiaAtr = input.float(0.3, "Skip Asia ranges wider than x daily ATR (0 = off)", minval=0, step=0.05)
midOpenRule = input.bool(false, "Longs only below, shorts only above the midnight open")
nyMins = hour(time, "America/New_York") * 60 + minute(time, "America/New_York")
entryMins = math.floor(entryAt / 100) * 60 + entryAt % 100
inAsia = nyMins >= 1200
inLondon = nyMins >= 120 and nyMins < 300
var float asiaHi = na
var float asiaLo = na
var bool tookLow = false
var bool tookHigh = false
var float nightLo = na
var float nightHi = na
var bool armed = false
var float midOpen = na
// The daily ATR (14, Wilder) from each futures session's bars, set on the session's last bar, so a morning only
// reads days already closed
var float dHigh = na
var float dLow = na
var float dPrevClose = na
var float dAtr = na
var int dCount = 0
dHigh := na(dHigh) ? high : math.max(dHigh, high)
dLow := na(dLow) ? low : math.min(dLow, low)
if session.islastbar
tr = na(dPrevClose) ? dHigh - dLow : math.max(dHigh - dLow, math.abs(dHigh - dPrevClose), math.abs(dLow - dPrevClose))
dAtr := na(dAtr) ? tr : (dAtr * 13 + tr) / 14
dPrevClose := close
dCount := dCount + 1
dHigh := na
dLow := na
warm = dCount >= 14 and not na(dAtr)
if inAsia and not inAsia[1]
asiaHi := high
asiaLo := low
tookLow := false
tookHigh := false
nightLo := low
nightHi := high
armed := true
midOpen := na
else if inAsia
asiaHi := math.max(asiaHi, high)
asiaLo := math.min(asiaLo, low)
nightLo := math.min(nightLo, low)
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202614
Alpha Charts · 48-Hour Strategy Build · Sample reportAppendix C · The script (continued)
Appendix C · The script, continued
nightHi := math.max(nightHi, high)
if not inAsia and nyMins < entryMins and not na(asiaHi)
nightLo := math.min(nightLo, low)
nightHi := math.max(nightHi, high)
if not inAsia and nyMins < 120 and na(midOpen) and not na(asiaHi)
midOpen := open
if inLondon and not na(asiaLo)
if low < asiaLo
tookLow := true
if high > asiaHi
tookHigh := true
atEntry = nyMins >= entryMins and nyMins[1] < entryMins
// the fixes, checked at the entry bar: the stop's distance and the Asia range against the daily ATR, and where
// price sits against the midnight open (ICT: buy in discount, sell in premium)
longRisk = close - (nightLo - syminfo.mintick)
shortRisk = nightHi + syminfo.mintick - close
asiaOk = maxAsiaAtr == 0 or (warm and asiaHi - asiaLo <= maxAsiaAtr * dAtr)
longOk = (minRiskAtr == 0 or (warm and longRisk >= minRiskAtr * dAtr)) and (maxRiskAtr == 0 or (warm and longRisk <= maxRiskAtr * dAtr)) and asiaOk and (not midOpenRule or (not na(midOpen) and close < midOpen))
shortOk = (minRiskAtr == 0 or (warm and shortRisk >= minRiskAtr * dAtr)) and (maxRiskAtr == 0 or (warm and shortRisk <= maxRiskAtr * dAtr)) and asiaOk and (not midOpenRule or (not na(midOpen) and close > midOpen))
if atEntry and armed and strategy.position_size == 0
armed := false
if tookLow and not tookHigh
stp = nightLo - syminfo.mintick
risk = close - stp
tgt = tgtMode == "Asia range" ? asiaHi : close + str.tonumber(str.replace(tgtMode, "R", "")) * risk
if risk > 0 and tgt > close and longOk
strategy.entry("Long", strategy.long)
strategy.exit("Long exit", "Long", stop=stp, limit=tgt)
else if tookHigh and not tookLow
stp = nightHi + syminfo.mintick
risk = stp - close
tgt = tgtMode == "Asia range" ? asiaLo : close - str.tonumber(str.replace(tgtMode, "R", "")) * risk
if risk > 0 and tgt < close and shortOk
strategy.entry("Short", strategy.short)
strategy.exit("Short exit", "Short", stop=stp, limit=tgt)
if strategy.position_size != 0 and nyMins >= 955 and nyMins < 965
strategy.close_all(comment="Flat by the close")
plot(asiaHi, "Asia high", color.new(#A3A39E, 20), style=plot.style_linebr)
plot(asiaLo, "Asia low", color.new(#A3A39E, 20), style=plot.style_linebr)
bgcolor(inLondon ? color.new(#E3A008, 92) : na, title="London")
ICT power of three on NQ · 1 micro · 15 Nov 2021 to 22 Oct 202615