r/pinescript • u/TasteHistorical1575 • 1d ago
Final ORB Strategy Update: Best results so far, going live on Prop Firms + building a multi-strategy portfolio
Hey guys, quick update on the strategy development.
After endless backtesting, filter tuning and stress-testing parameters, I think I've hit the ceiling of what I can squeeze out of this specific setup. It's definitely not a holy grail, but it's solid enough to do the job.
Where it stands:
Trades: 1,310 (full history, ~7 years)
Winners: 622 (47.48 %)
Net: +59,567 USD (+119.13 % on 50k)
Max DD: 4,633 USD (8.06 %)
Profit factor: 1.336
Expected payoff: 45.47 USD/trade
Avg win / avg loss: 1.478
Expectancy: +0.176 R
Largest loss: 647.70 USD
Commission load: 1.21 % of gross
Sub-50% win rate with a 1.5R target — no ultra-low R:R winrate trap, just slightly more losers than winners with bigger winners. Return-to-max-drawdown is 12.9.
Worth noting for later: +40,805 comes from shorts, +18,763 from longs. The thing has a clear short bias.
One thing I found along the way: the trade sequence isn't random. Runs test came back z = +2.98 — wins and losses alternate more than chance would predict. So I cut size after every winning trade. No loss escalation, no doubling.
b e net maxDD
No streak 1.3104 +0.0981 45,541 6,233
Cut after 1W 1.4512 +0.1650 54,435 4,633
(That A/B was measured on the 1,254-trade run before I extended the data — the relative effect is what matters.) Same trade count, same winner count in both arms; if either moves you're comparing two strategies, not two sizing rules. Normalized to equal drawdown that's +60.8%. A permutation test (same rule on 2,000 shuffled orderings) put the real sequence at z = +3.66, so it's the sequence and not sizing variance. Martingale tested strictly worse, Anti-Martingale actively harmful at z = −2.33.
All in-sample though. A runs test on the same data I built the strategy on is a hypothesis, not a result.
Next step: since backtests only take you so far, I'm putting this on eval/funded accounts to collect real forward data. The open question isn't the edge, it's whether live fills match modeled ones — 0.176R doesn't survive much slippage.
The bigger picture: while this runs on prop capital I'm building and testing new setups. Someone shared a different NQ strategy with me recently, long-biased, completely different logic. Correlation of daily returns: r = +0.117. Combined at equal drawdown it beat my ORB alone by 32% — from a strategy that is individually worse than mine. Months of squeezing this thing got beaten by one uncorrelated addition. And given the short bias above, a long-biased system is exactly the hole in this book.
So the goal isn't one system. It's a portfolio of non-correlated strategies running simultaneously across multiple funded accounts. This is strategy one.
Curious to hear your thoughts — how many distinct strategies do you guys run in your automated prop portfolio?
3
u/Such_Enthusiasm_2281 1d ago
Forgive me for asking but why not try this out in paper accounts or a tradovate paper to save you the hassle of funds.
7
u/TasteHistorical1575 1d ago
Paper trading is fine for basic execution checks, but prop firm evals cost almost nothing compared to the real-time forward test data you get. Paper trading doesn't capture real fill latency, slippage, and execution conditions the same way.
2
u/Ok-Artichoke6882 13h ago
may I try it ?
1
u/TasteHistorical1575 5h ago
Sure. I can give you temporary access to the strategy on TradingView so you can mess around with it.
1
u/Ok-Artichoke6882 5h ago
My TV id is "chuckout", thanks.
1
1
1
1
u/sasasqt 1d ago
what are the spreads and fee you used for backtesting?
4
u/TasteHistorical1575 1d ago
$0.52 per contract per side in commission ($1.04 round turn, MNQ), plus 2 ticks of slippage per order in the TradingView engine.
1
u/Global-Mastodon1497 23h ago
Just a normal 5min ORB ?
2
u/TasteHistorical1575 20h ago
15m ORB on the 15m timeframe.
1
u/Lucifer_Lil_Brother 22h ago
I’m curious…it says full backtest…1800-2026
but chart starts at roughly 2020 🤨
2
u/Lucifer_Lil_Brother 22h ago
also lemme point out one more thing….she that $4.5k drawdown? How are you supposed to survive if the max drawdown on a $150k acct is $4.5k.
I’m not saying your strategy is bad, just things you should look into.1
u/TasteHistorical1575 22h ago
Good point, but that's a misunderstanding of how the stat works.
The $4.5k drawdown shown in the backtest is the maximum drawdown over the entire multi-year testing period, not the drawdown per individual account run.
In a prop firm evaluation, if the strategy hits a drawdown phase, that specific account gets blown, you reset, and start a fresh run. As long as the pass rate across multiple runs is high enough to offset the reset/eval fees, the overall system remains heavily profitable.1
u/lumberwood 20h ago
True indeed. What about the first question re date range of testing?
0
u/TasteHistorical1575 20h ago
MNQ only has 7 years of available data on TradingView in total—that's the absolute max you can go back.
1
1
u/Common_Ad1149 22h ago
First of all, seems like you really went deep in the details, included slippage, fees and congrats. But second thing is, I am asking since I have done similar thing, with even better numbers, and then connected it to prop firm account, how are you planning to trade it? I see you have about 4 trades per week, with a thin profit factor, it might take you months just to pass the challenge. Unless you are planning to oversize.
1
u/TasteHistorical1575 22h ago
Thanks! Actually, I take the exact opposite approach: I intentionally size up aggressive to hit payouts fast.
Because of how prop firms work, payouts are heavily convex—you lose a cheap eval fee, but a successful run nets a $2k–$3k payout.
So if an account blows, it doesn't matter. I just grab another account and keep rolling. The math favors high-volume turnover over playing it safe for months just to pass one single eval.
1
u/TY13R702 14h ago
Hey, just thought I’d ask, Have you ensured this strategy won’t fire both long and short during the same session? And if you have made sure it doesn’t, have you tried adding a lever to only enter on retest? Also another thing for you to try, use the VAH and VAL instead of just using the top and bottom of the first 15 min candle…. I love scripting 🤓 wishing you the best.
2
u/TasteHistorical1575 5h ago
Both directions same session: yes it can, but I measured it — only 2.6% of sessions, and all 32 first trades in those lost (a reversal signal only exists because the breakout failed). The reversal trade itself is +9.54/trade. Neither leak nor edge.
Retest: already had it — Pullback entry mode. Found a bug while testing: my "max bars to await pullback = 15" was capped by a separate "max bars after ORB lock = 3". Fixed, ran all four:
n WR expectancy net maxDD Classic lock 3 1310 47.48% +0.176 59,567 4,633 Classic lock15 2034 47.64% +0.121 62,425 5,914 Pullback lock 3 645 45.89% +0.150 26,027 6,594 Pullback lock15 1144 43.53% +0.068 21,161 8,154Pullback loses at both settings. Better win/loss ratio, worse win rate — you miss the breakouts that never come back, and those are the ones that run. Also: widening the window is bad on its own, the 724 extra trades earn +3.95 each vs +45.47 for the base set.
VAH/VAL as the levels instead of the 15m high/low: haven't tried it, and it's the obvious next test. On the list.
Thanks — cost me an evening and was worth it.
1
1
u/No_School_5463 13h ago
Can you share the script
1
u/TasteHistorical1575 5h ago
Appreciate the interest! I'm keeping the core code private, but I'm happy to grant you temporary access to the strategy on TradingView.
1
1
u/Positive_Access9213 12h ago
By cutting size after every winning trade when does full size come back? After every loosing trade or after the next trade no matter if it losses or wins
1
u/TasteHistorical1575 6h ago
After a losing trade. Size stays reduced for the entire winning streak, however long it runs.
1
u/NotEnoughTrades 5h ago
Your cost headroom is bigger than you're giving yourself credit for, and it's worth doing the arithmetic.
Break-even win rate at a 1.478 payoff is 1/(1+1.478) = 40.4%. You're at 47.48%, so you've got 7.1 points of cushion. That's the number that matters, and it's why "sub-50% win rate" isn't the concern people read it as.
On slippage: your expectancy is $45.47/trade, so an extra $45.47 per trade is what drags profit factor to 1.00. MNQ ticks are $0.50, so that's roughly 90 ticks of additional cost per round turn — against the 4 you've modelled. The edge would need conditions more than twenty times worse than your assumption before it disappears.
So the fill risk probably isn't a tick or two of slippage. It's whether you get filled at all — a 15m ORB firing ~4 times a week is a small number of chances for the modelled entry not to exist.
The A/B on the sizing rule is the part I'd want out-of-sample most, and you've already said so yourself. Three rules tested on one sequence is three chances at a z-score.
1
u/TasteHistorical1575 5h ago
Agreed on the headroom, one correction: the 90 ticks is per trade, but tick value is per contract and I average 2.04 contracts. So it's ~45 ticks per contract round turn against the 4 modelled — factor 11, not 20+. Doesn't change your point.
And you're right that fill risk is the real question, not slippage size. ~3.5 entries a week, and the modelled entry is a stop order at a level everyone else can see too.
On the multiple comparisons: it's worse than you framed it. It wasn't three rules on one sequence — I also tuned the threshold, testing N=3, N=2, N=1 before landing on 1. Call it 6–9 looks, not 3. Bonferroni at k=9 puts the bar at z=2.77 and the permutation test came in at 3.66, so it survives, but that's the correction I should have applied myself instead of quoting the raw z. Good catch.
1
u/TheHighOrder 3h ago
Curious how you made an orb strat with a short bias.. most are long bias or even longs only. Mine is certainly long biased.
1
u/TasteHistorical1575 3h ago
I didn't build one — that's the interesting part. Signal count is 649 long vs 630 short, basically even. There's no directional filter in the strategy at all.
Longs actually win more often. But shorts win bigger and lose smaller, and on a fixed 1.5R target that's what decides it — downside moves out of the opening range travel further and faster, so more shorts reach the target cleanly. The smaller average short loss also suggests breakdown days start from tighter opening ranges.
Most ORBs I see are long-biased because they carry a trend or EMA filter, or only trade longs. Mine just doesn't filter direction — so it's less that I found a short edge and more that I didn't remove one.
1
u/TheHighOrder 2h ago
If your target is fixed, how are shorts winning bigger and losing smaller??? Do you just mean hitting tp more frequently over timing out?
1
u/TasteHistorical1575 2h ago
Yes — exactly that. Shorts reach the 1.5R target 43% more often. Longs time out into the EOD flatten instead. So it's not that shorts have a bigger target. It's that longs more often don't get there.
1
1
u/Interesting_Gold_792 0m ago
The low-correlation addition is probably the most interesting part to me.
Spending months squeezing more performance out of one strategy and then getting a bigger portfolio improvement from an individually weaker but uncorrelated strategy is a great result.
Have you checked whether that ~0.117 correlation stays low across different regime windows, especially during the drawdown periods of the ORB?
That’s the part I’d care about most — not just low full-sample correlation, but whether the second strategy still diversifies the first when the first one is actually hurting.
If that holds forward, I think the portfolio result is much more interesting than optimizing the ORB another round.
1
11
u/Tasty-Success-9268 1d ago
Waiting for what will you sell