Idea in brief
Okala trades Nasdaq-100 futures and only from prices whose last two digits are 80 or 20: 25,580, 25,620, 25,680. This is the author's 80/20 strategy. The level alone is not a reason for a trade. The author enters when a candle structure forms at the level: a fork (a reversal after capitulation), a cross-section (a return to the junction of two strong candles) or a repair (a wickless candle whose open draws price back). No indicators or order flow are used.
The stop is always 10 points. The first target is 15 points, after which the stop moves to breakeven and the remainder is held to the next level. The author reads the structure on the 10-minute chart and enters on the 200-second chart.
Why it might work
The author calls the strategy mean reversion. After a sharp move into a level, late buyers or sellers find themselves in a loss, and their exit turns price by 15-60 points. The author considers round prices places where this happens more often. A wickless candle, in the author's explanation, has left unfilled limit orders above it, and price returns to them.
The author does not explain why exactly 80 and 20 rather than 00 and 50: that is simply what the author's observations showed. There are no tests. The card sets the grid as a hypothesis that has to be tested separately from the candle rules.
Rules
Level grid, bars and time
// NQ futures prices, tick size 0.25
Base = Floor(Close / 100) * 100
Levels = { Base - 80, Base - 20, Base + 20, Base + 80, Base + 120 } // author: endings 80 and 20
// the author sees intermediate levels but does not name them. They are not part of the card
StructureBars = 10 minutes // author: structure and markup
EntryBars = 200 seconds // author: a third of a 10-minute bar
LevelTol = 5 points // Finetiq: the author allows an entry at 23 instead of 20
TradeWindow = 09:30-11:30 ET // Finetiq: the author trades the New York open,
// skips lunch and slow days
Entry A. Fork at a level (long, short mirrored)
// bar i on the 200-second chart: initiation candle
Capitulation = Open(09:30) - Low[i] >= 100 // author: 100-150 points down from the New York open
NearLevel = |Low[i] - L| <= LevelTol for one of the Levels
Body = |Close[i] - Open[i]|
LowerWick = Min(Open[i], Close[i]) - Low[i]
Initiation = LowerWick >= 2 * Body // Finetiq: "long wick, small body"
AND Body <= 0.35 * (High[i] - Low[i]) // Finetiq
// bar i+1 tests the low, does not break it and makes a higher high (author)
Trigger = Low[i+1] >= Low[i]
AND Low[i+1] <= Low[i] + 3 // Finetiq: what counts as a "test"
AND High[i+1] > High[i]
IF Capitulation AND NearLevel AND Initiation AND Trigger
AND Time in TradeWindow
BUY LIMIT at Low[i] + 9 // Finetiq: entry no higher than Low[i] + 9, so the 10-point stop
// is at least a point below Low[i]. If the bar opens lower, the fill is at the open
CANCEL after 1 bar without a fill // Finetiq. The author enters inside the bar (low 23, entry 27)
StopLoss = EntryPrice - 10 // author
Entry B. Cross-section at a level
// two consecutive strong candles of the same color: j and j+1
Strong(k) = |Close[k] - Open[k]| >= 0.6 * (High[k] - Low[k]) // Finetiq
Cross = (Close[j] + Open[j+1]) / 2 // author (slide): junction of the first candle's close and the second's open
// short: two bearish candles, then a pullback up to the junction
IF Strong(j) AND Strong(j+1) AND both bearish
AND |Cross - L| <= LevelTol for level L // author: the best entry is when the junction coincides with 80 or 20
SELL SHORT LIMIT at Cross // author: entry on a touch of the junction
CANCEL after 6 bars without a fill // Finetiq
StopLoss = EntryPrice + 10 // author
// long mirrored. The author uses pattern h (a spike up into 80, a wick, a reversal)
// as context for a short, with the entry on a cross-section. There is no separate rule for h
Exit
TP1 = EntryPrice ± 15 // author
AT TP1: EXIT 2/3 of the position // author: out of 3 contracts, 2 at +15
StopLoss = EntryPrice ± 1 // author: breakeven one point in profit, to cover commission
// the author's variant for 4 contracts: 1/2 at +15, 1/4 at +30, 1/4 at +60
Runner target = nearest 80/20 level beyond TP1
or the open of an untouched repair candle, whichever is closer // author, choice by Finetiq
EXIT remainder at 12:00 ET // Finetiq
Repair: a magnet target
// a bearish repair candle opened without an upper wick
RepairBear(k) = Close[k] < Open[k] AND High[k] - Open[k] <= 0.25 // author: "no wick"; one-tick tolerance by Finetiq
Magnet = Open[k] // author: a target until price returns to Open[k]
// bullish mirrored. With a strong magnet, the author takes the first part beyond 15 points and keeps the stop at 10
Parameters
| Parameter | Value | Source |
|---|---|---|
| Instrument | NQ futures | author |
| Levels | prices ending in …80 and …20 | author |
| Intermediate levels | not used | Finetiq (not named by the author) |
| Structure bars | 10 minutes | author |
| Entry bars | 200 seconds | author |
| Standard substitute | 15 and 5 minutes or 10 and 3 minutes | Finetiq |
| Trading window | 09:30-11:30 ET | Finetiq (author: New York open, no lunch) |
| Level tolerance | 5 points | Finetiq |
| Capitulation before a fork | 100 points down from the 09:30 ET open | author (example 100-150) |
| Initiation wick and body | wick ≥ 2 bodies, body ≤ 35% of the candle | Finetiq |
| Strong candle for cross-section | body ≥ 60% of the candle | Finetiq |
| Limit order cancel | 6 bars | Finetiq |
| Stop | 10 points | author |
| First target | 15 points | author |
| After the first target | stop at +1 point | author |
| Partial exits | 2/3 at +15; or 1/2 at +15, 1/4 at +30, 1/4 at +60 | author |
| Remainder target | next level or repair | author, choice by Finetiq |
| Time exit | 12:00 ET | Finetiq |
What to test
- The grid versus a random one. Run the same entries at …80 and …20 levels, at …00 and …50, and at a grid shifted by a random amount each day. If there is no difference, the effect is in the candle structure, not in round numbers. This is the main question of the card.
- A bare limit order versus structure. The author keeps limit orders at the levels with a 10-point stop and at the same time says that blindly shorting 80 is a bad idea. Compare a limit order at every level, fork and cross-section.
- 200 seconds versus standard bars. The 15 and 5 minute pair keeps the 1 to 3 ratio, the 10 and 3 minute pair keeps the time scale. If the result holds only on 200-second bars, the port loses the idea.
- Stop and grid in points. With NQ around 10,000 and around 25,000, a 10-point stop and a 40-60 point level spacing mean different fractions of the daily range. Compare fixed points with fractions of ATR(14) of 10-minute bars by year.
- Threshold neighborhood. Capitulation of 75, 100 and 150 points. Tolerance of 3, 5 and 8. Wick-to-body ratio of 1.5, 2 and 3.
- Slippage on the stop. With a 15-point target and a 10-point stop the margin is thin. Add 0.5 and 2 points of slippage to stop exits plus a round-turn commission and see what is left at a 65-70% win rate.
Platform notes
TradingView (Pine Script)
- Second-based intervals are not available on all plans, and neither is a custom 200 seconds. Without them, use the 15 and 5 or 10 and 3 minute pairs. A 3-minute bar does not divide a 10-minute bar into equal parts, while a 200-second bar does.
- Levels depend on the chart price. A continuous futures contract with back-adjusted rolls shifts old prices, and a historical …80 on the chart was not a …80 price on the exchange. Turn off the adjustment or test on individual contracts.
- Cross-section limit order:
strategy.entry("S", strategy.short, limit = cross)stays until cancelled. Cancel after 6 bars:strategy.cancel("S"). Cancel the fork limit order the same way after 1 bar. - A 10-point stop and a 15-point target often fit into one bar, and the order of fills inside the bar is unknown:
use_bar_magnifier = trueon paid plans.
MultiCharts and TradeStation (EasyLanguage)
- Both platforms build second-based bars, but the data vendor's second history can be short. Check how many years of 200-second bars you have.
- The same pitfall with rolls: the …80 and …20 grid only works on the unadjusted contract price.
Sell short next bar at Cross limitlives for one bar. Send the order on each of the six bars.- Set the stop and target as prices (
Buy to cover next bar at EntryPrice + 10 stop).SetStopLossworks in dollars: 10 NQ points are $200 per contract, $20 for MNQ.
MetaTrader 5 (MQL5)
- MT5 has no 200-second period, but standard M3 and M10 exist. Exact 200-second bars can only be obtained through a custom symbol built from ticks.
- A Nasdaq-100 CFD price differs from the futures by a basis that changes until expiration. The …80 and …20 grid on a CFD gives different levels, which is already a different hypothesis. An exact version is possible only on exchange-traded NQ, if the broker offers it.
- 10 NQ points are 10.0 in price, not
10 * _Point. - Partial exits and moving the stop depend on the account type: on a netting account a partial close reduces a single position, on a hedging account specific positions are closed.
Where the idea can break
- The 80/20 levels are the author's observation without statistics. There is no test in the video, only walkthroughs of examples where the level worked.
- The "low to mid 70%" win rate is given from memory and includes manual setup selection and managing the position in parts. The video title shows a different number.
- The grid and the stop are set in absolute points and do not track the growth of NQ's price and volatility.
- The author judges wick length, the "instant reaction" and candle strength by eye and admits to still learning to feel the speed of the market.
- According to the author, the model gives many entries, and the students' main mistake is overtrading. A mechanical version will enter wherever the conditions are formally met, including slow days the author skips.
- The video advertises prop firms. The author's payouts are not verified.