![[OC] Every one of the 131 breakout trades a systematic strategy took in a 5-year backtest: the median trade lost 4%, the mean made +10.5%](https://preview.redd.it/xp6o939dsgbh1.png?auto=webp&s=4399101b7db7744dd66cd8aa15ab3a45ddd086fb)
u/qqAzo
![[OC] Every one of the 131 breakout trades a systematic strategy took in a 5-year backtest: the median trade lost 4%, the mean made +10.5%](https://preview.redd.it/xp6o939dsgbh1.png?auto=webp&s=4399101b7db7744dd66cd8aa15ab3a45ddd086fb)
Five years of logged breakout trades: most of them fail, and that's fine. The base rates.
I run a rules-based breakout system and log every trade. Base rates from
the 131 breakout entries in its locked five-year test window (2021 to
2026), because almost nobody posts these:
- 56.5% of entries lost money (74 of 131).
- The single most common outcome was a loss between 5 and 10 percent.
That's not a coincidence, it's where the volatility stop lives.
- Median trade: minus 4.0%.
- And the book still made money, decisively: mean +10.5% per trade,
average winner +34.2% against an average loser of minus 7.7%. Roughly
one trade in eleven ran +40% or more. No trade lost more than 20%.
What those numbers taught me about the craft:
1. The stop IS the strategy. A breakout entry is a cheap option on a
trend. The stop caps the premium. Mine is ATR-scaled and sits below
structure, not at a round number, which is why the losses pile up in
one narrow bucket instead of bleeding everywhere.
2. No profit targets. Every cap on the right tail attacks the only part
of the distribution that pays. Winners get a slow moving-average
trail, confirmed on the close so one bad intraday print doesn't shake
the position out.
3. Win rate is the wrong thing to optimize. A 43.5% hit rate with this
shape beats a 60% hit rate with a clipped tail. Chasing win rate
quietly caps your winners.
4. Regime does the heavy lifting. The same entries during weak breadth
just bleed. The system only trades breakouts when breadth is broad and
rising, and it stands down to cash entirely on roughly a third of all
days. Doing nothing is a position.
Honesty footnote: these are hypothetical backtest numbers, not live
results. I paper-trade the system in public and publish every signal and
every miss daily, because I think the industry's cherry-picked screenshots
are a plague. Nothing here is advice; it's just what a breakout
distribution actually looks like when it's logged honestly.
Happy to go deeper on the stop math or the regime gate in the comments.
Meet Shishin
I have finalized my breakout strategy bot, Shishin!
A 4-engine QM styled breakout bot. Named for the Four Sacred Beasts (四神) of Chinese / Japanese cosmology — one engine per cardinal direction, each specialised for a different market regime.
N 玄武 Genbu — PRIME (small-cap quality)
E 青龍 Seiryū — MEGACAP (V-recovery breakouts)
S 朱雀 Suzaku — BULL (small-cap aggressive)
W 白虎 Byakko — BEAR (defensive + bear ETF basket)
Went live a couploe of weeks ago. Had a few weeks of bugs but most things have now been ironed out and it's in a solid spot.
Few things to sum it up
- 4 strategies. Each strategy with its unique scoring to identify top runners. What's used across is high ADR (5%+) stocks. All strategies optimized for their specific regime.
- Max risk per trade in most strategies are 1-2% per trade. 4-10 trade capped.
- Regime classifier (home built market breath).
- MA12 stop/loss.
- Top-up functionality.
- 5min after Open I have scanned around 5800 stocks, calculated breath and applied my scoring. Result; full list of candidates based on scoring which is used to fill up todays potential buys (it tracks the price during the day and buys the breakout).
Forward walk backtested it which produced a 2.44 Sharp over 5 years with a max drawdown of 16%. Everything is built in Python with an SQlite DB and feeds directly from the market data's API.
Backtest NAV. It looks a little different as it does not have gains over time. It's basically buy T+0, Sell T+MA12. Which means it looks a little more spiky that it would in reality.
Next steps; it's currently connect to a paper account where it will live side by side with the signals.
I already catch quite a few EPs - issue with EPs is a timing. As they're newsdriven it can be though to classify them with high certainty and when you do it's usually too late in a lot of cases.
Give it a look and give your honest feedback.
What is market breadth? What the index level hides.
An index can climb for two completely different reasons. In one, the broad market is rising together, hundreds of names making progress at once. In the other, the index level is being carried by a handful of giant stocks while most of the market quietly slips behind them. The headline number looks identical in both cases. Market breadth is the measurement that tells them apart, and the difference is often the most important thing the index level is hiding.
Market breadth is a measure of how many stocks are participating in a market move, whether an index is rising because most of its members are advancing, or being dragged upward by a few large constituents while the majority weaken underneath.
What market breadth is
A market-capitalisation-weighted index, which is to say, almost every index anyone quotes, is not a vote where every stock counts equally. The largest companies count far more than the smallest. That weighting is sensible for measuring the value of the market, but it has a side effect: a small number of mega-cap names can move the index on their own. When those few names rise enough, the index rises, and the screen says “up” even if the typical stock in it is falling.
Breadth strips the weighting away and asks a different question. Not how much is the market worth today, but how many of its members are actually going up. It treats the index as a population of stocks and counts participation across that population. A market where four stocks in five are advancing is in a very different state from one where the same index level was produced by one stock in five doing all the work, and only a breadth measure can see the difference, because the index level itself cannot.
How market breadth is measured
There is no single breadth number. Breadth is a family of measures, each counting participation a slightly different way, and each with its own blind spots. The common ones:
- The advance/decline line. The running total of advancing stocks minus declining stocks, day after day. When it climbs alongside the index, the rally is broad; when the index makes new highs and the advance/decline line does not, fewer and fewer names are along for the ride.
- Percentage above a moving average. The share of stocks trading above their fifty-day or two-hundred-day average. The fifty-day reading captures the medium-term tape; the two-hundred-day reading captures the structural, longer-term trend. A healthy advance keeps a large share of names above both.
- New highs versus new lows. How many stocks are printing fresh fifty-two-week highs against how many are printing fresh lows. A market making new index highs while new lows are expanding is internally contradictory, a classic warning that the move is narrower than it looks.
Up volume versus down volume. Breadth weighted by trading activity rather than a simple headcount, which catches whether the participation is backed by real conviction or is thin and easily reversed.
None of these is the “correct” one. They are different lenses on the same question, and they often disagree at the margins, which is exactly why a serious reading of the tape looks at several at once rather than anointing a single gauge.
Why market breadth matters
The reason breadth earns attention is the divergence: the situation where the index keeps rising while breadth quietly deteriorates underneath it. Fewer stocks above their averages, a sagging advance/decline line, expanding new lows , the surface holds up while the foundation erodes. Historically, breadth divergences of this kind have tended to precede trouble more often than a clean, broadly-supported advance does. They are not a timer, and they have failed plenty of times, but the pattern is persistent enough to take seriously.
The intuition is straightforward.
A rally carried by five names is fragile because it has five points of failure: if any of those leaders rolls over, there is nothing underneath to catch the index. A rally in which most stocks are advancing is robust for the opposite reason, broad participation means many independent things are working, and the move does not depend on any single one of them continuing. Breadth, read this way, is a measure of how much the market’s direction agrees with itself. Broad participation confirms a trend; narrow leadership puts a question mark over one. This is also why breadth pairs naturally with momemtum investing: momentum strategies want trends that the whole market is leaning into, not ones balanced on a few tall names.
Personally I found the best way to handle market breathe in my algorithms was using a HMM / GMM model. By far it was the most precise and the one that catches clear market directions.
Choppy market - ready to turn BULL or BEAR
Buying breakouts in the current market is a coin flip business (32% BEAR, 32% BULL and the rest hovers).
There are plenty of good opportunities but the market is against them. The next week will be defining for how the next month will run. Keep your eyes open - potentially a wide array of great breakouts coming up!
Built the signal page a week ago - now the bot is finished
Trading high ADR break outs - fully automatic. Now it's just time to sit back and relax. Watch it go positive when the market sorts itself.
Daily BREAKOUT signals
High ADR Breakout setups - pick a few and they might breakout.
Return alone, Sharpe alone, drawdown alone. None of them.
The conventional way to evaluate a trading strategy is to pick the metric that flatters it most and lead with that. A high CAGR ignores the volatility cost of getting there. A high Sharpe ratio ignores whether the strategy actually deployed enough capital to be worth running. A small drawdown ignores whether the strategy did anything at all. None of the three numbers is sufficient by itself. The well-adjusted strategy is the one that improves all three together - and a change that improves one at the cost of another is rejected.
Why any single metric is gameable
Each of the three big numbers has at least one trivial attack that produces a flattering value at the cost of the actual strategy.
- Return alone. Any strategy’s headline return can be inflated by widening the stops, increasing the position size, or running with leverage. The cost is paid in drawdown and Sharpe; the headline looks better. A return number quoted without the drawdown that produced it is a number you cannot evaluate.
- Sharpe alone. A high Sharpe ratio is easy if the strategy avoids volatility - sit in T-bills, deploy ten percent of capital, or cap every position so tightly that the realised volatility goes to almost zero. The return collapses; the Sharpe climbs. The number looks academic-grade. The strategy isn’t doing anything.
- Drawdown alone. The smallest drawdown available to any strategy is zero, achieved by never deploying capital. Sit in cash; report a flat curve; drawdown is zero. The number is unimpeachable. The strategy is not a strategy.
Each metric, optimised in isolation, produces a worse product than the joint optimisation. That is not a novel observation. What is striking is how often published strategies lead with one of these numbers and leave the other two off the page entirely. The reader cannot evaluate what they are not shown.
The trinity
Three numbers, reported together, contain almost all of the operationally-relevant information about a strategy. Not because they are individually sacred - they each have known failure modes - but because their joint distribution constrains each one’s manipulability.
Return tells you the strategy did something. A meaningful CAGR is the floor for any further discussion. If return is small, the rest of the metrics are answering the wrong question.
Sharpe tells you the strategy produced that return at a defensible level of volatility. Not small volatility - defensible volatility. A long-bias equity strategy will have meaningful volatility because the underlying instruments are volatile; the Sharpe asks whether the return is reasonable given that floor.
Drawdown tells you the worst the path was. The CAGR is the endpoint; the drawdown is the memory. A strategy with a beautiful endpoint but a thirty-percent drawdown midway will be redeemed out of before it gets to display the endpoint. Drawdown is what determines whether the operator is allowed to keep running the system.
The three together: did the strategy do something (return), did it do it sensibly (Sharpe), did the path get there honestly (drawdown). Any one of them misleading; all three of them together, almost impossible to game.
Top 15 stocks about to breakout
Updates daily on shishin.io
Shishin is now living on shishin.io
Hey
Posted a few days ago about the Qullamaggie breakout scanner I built and the bot connected to it. Built a site where I post everything when the market opens. Only requires an e-mail to sign up.
https://www.reddit.com/r/qullamaggie/comments/1tllmwi/meet_sheshin/
Please revert with any ideas/feedback if you think something feels off.
Shishin - the breakout scanner
Hi
Built a breakout scanner which daily scans the market and scores the top candidates. It has been backtested resulting in a 138% CAGR over a 5 year period with a 17% max drawdown. On the side it has a live bot running to validate the signals which will compounding over time (went live 22-05-2026).
It's built around high ADR stocks that are consolidating and then about to break out to new ATHs.
Please find top 15 scan from yesterday below. The bot itself entered SIDU around 4,4 for example.
It updates automatically on shishin.io 5 minutes after the market opens every trading day.
>!(it's still in beta so I am fine tuning it on a daily basis)!<
Finalized my trading bot, Shishin!
I have finalized my breakout strategy bot, Shishin!
A 4-engine QM styled breakout bot. Named for the Four Sacred Beasts (四神) of Chinese / Japanese cosmology — one engine per cardinal direction, each specialised for a different market regime.
N 玄武 Genbu — PRIME (small-cap quality)
E 青龍 Seiryū — MEGACAP (V-recovery breakouts)
S 朱雀 Suzaku — BULL (small-cap aggressive)
W 白虎 Byakko — BEAR (defensive + bear ETF basket)
Went live Friday 4 hours too late due to a few bugs (so most of the positions are bought a bit after it really would have)
Few things to sum it up
- 4 strategies. Each strategy with its unique scoring to identify top runners. What's used across is high ADR (5%+) stocks. All strategies optimized for their specific regime.
- Max risk per trade in most strategies are 1-2% per trade. 10 trade capped.
- Regime classifier (home built market breath).
- MA12 stop/loss.
- Top-up functionality.
- 5min after Open I have scanned around 5800 stocks, calculated breath and applied my scoring. Result; full list of candidates based on scoring which is used to fill up todays potential buys (it tracks the price during the day and buys the breakout).
Forward walk backtested it which produced a 1.87 Sharp over 5 years with a max drawdown of 17,69%. CAGR of 139%. Everything is built in Python with an SQlite DB and feeds directly from IBKRs API. (used Claude Code for some of the work)
Backtest NAV. It looks a little different as it does not have gains over time. It's basically buy T+0, Sell T+MA12. Which means it looks a little more spiky that it would in reality.
Next steps; it's currently connect to a paper account where it will live for the next week or two. See if it's actually working as intended over a longer period. I have set up a website where it's data lives.
Shishin - over and out.
(can't put in dashboard pictures - says the assets are not mine)
Meet Sheshin
I have finalized my breakout strategy bot, Shishin!
A 4-engine QM styled breakout bot built around IBKR's API. Named for the Four Sacred Beasts (四神) of Chinese / Japanese cosmology — one engine per cardinal direction, each specialised for a different market regime.
N 玄武 Genbu — PRIME (small-cap quality)
E 青龍 Seiryū — MEGACAP (V-recovery breakouts)
S 朱雀 Suzaku — BULL (small-cap aggressive)
W 白虎 Byakko — BEAR (defensive + bear ETF basket)
Went live Friday 4 hours too late due to a few bugs (so most of the positions are bought a bit after it really would have)
Few things to sum it up
- 4 strategies. Each strategy with its unique scoring to identify top runners. What's used across is high ADR (5%+) stocks. All strategies optimized for their specific regime.
- Max risk per trade in most strategies are 1-2% per trade. 10 trade capped.
- Regime classifier (home built market breath).
- MA12 stop/loss.
- Top-up functionality.
- 5min after Open I have scanned around 5800 stocks, calculated breath and applied my scoring. Result; full list of candidates based on scoring which is used to fill up todays potential buys (it tracks the price during the day and buys the breakout).
Forward walk backtested it which produced a 1.87 Sharp over 5 years with a max drawdown of 17,69%. CAGR of 139%. Everything is built in Python with an SQlite DB and feeds directly from IBKRs API. (used Claude Code for some of the work)
Backtest NAV. It looks a little different as it does not have gains over time. It's basically buy T+0, Sell T+MA12. Which means it looks a little more spiky that it would in reality.
Next steps; it's currently connect to a paper account where it will live for the next week or two. See if it's actually working as intended over a longer period.
I already catch quite a few EPs - issue with EPs is a timing. As they're newsdriven it can be though to classify them with high certainty and when you do it's usually too late in a lot of cases.
What are you guys using to define a bear/bull market?
I had something as simple as MA200 and MACD indicators hit best. These give the best results. But I feel they’re too simple and doesn’t cover sectors that break out early.
What have you used to classify 2021/2022 as bear and the drops we’ve seen the past years?
What is a good average return backtested?
Update 18/05/2026. Drawdown 421 days is from 2022-2023. Next step is reduce drawdown (currently being handled) to get the Sharp ratio up and running again.
For the people interested; Updated 16/05/2026. I have continued to backtest and improved the paramters. Got it above Sharp 2.0 with a 40,6% win rate and 168%CAGR now. 1 year backtesting. Next steps are finishing tuning of the strategy and then the ultimate test; backtest 5 years.
I am currently having fun with Claude and ended up on this automated strategy. Still a lot of fine tuning to do. What are people usually setting up?
Got this with a breakout strategy. It's over 1 year.
Hej
Syntes altid der er forskellige inputs men meget få snakker om reel strategi herinde. Så tænkte jeg ville fremvise min egen.
Jeg køber to ting. Momemtum og Episode Parabolics. Bedste edge er når de sammenfalder. En ting; jeg lader tingene komme til mig. Frem for at gætte på hvad som kommer til at ske. Bruger cirka 30min om dagen. Vigtige ting, følg QQQ/SP500 Index etc for at få en idé om markedsmomemtum. Vær opmærksom på hvad der sker i det marked man handler. F.eks. hvis Trump begynder på noget dumt.
Min overordnede strategi. Jeg vil ikke ligge langtid i en aktie. Hellere være 20 dage for 40% end 3 måneder for 80%. Det handler om at optimere % per dag.
ENTRY I HHV)
EP
Der skal komme en stor nyhed, dette kan være nyt marked, et kæmpe regnskab, nyt produkt, de er nået længere end hvad markedet tror. Etc. Noget som ændrer synet på aktien. (Skal påvirke forward P/E massivt)
Momentum
Har en scanner hertil hvor jeg følger aktier som opfylder tre kriterier
- ADR +5%. Average daily range
- Volume +50m USD
- Top 8% af dem som har rykket sig mest
Entry er når de bryder der niveau. Se f.eks. SNDK, RKLB, RR, LUNR, BB
POSITION SIZING
Det er vigtigt at man ikke ligger 100% i en aktie. Jeg ender normalt i 6-10 aktier i et godt bull marked.
Tommelfinger regel 20% maks i en ny position.
Køber meget på margin og sælger fra løbende.
EXIT
Stop-loss ALTID. Hvis min tese ryger så er jeg ude. Hvis vi snakker EP. Så lægger jeg stop-loss på dags kursen. Jeg vil have momemtum fra dag 1. Momemtum ligger jeg et sted i niveauet den bryder. Afhængig af hvorfor.
Jeg anvender et løbende frasalg. Så jeg sælger ind i styrke. Jeg afventer ikke til jeg gætter på en top. F.eks. 50% efter 5 dage bliver solgt. Herefter sælges resten når den bryder MA10.
DISCLAIMER
Dette er meget simplificeret. Det handler om at finde noget som passer en. Begynde småt også finde ud af hvor man ser en god mulighed. Overordnet set har jeg lavet fejl. Glemt stop-losses. Brudt mine egne regler. Det koster. Som i også kan se nedenfor. Af personlige årsager forbliver DKK beløbet ukendt. Men det er godt deroppe af.
Som i kan se er der også store udsving. Det kræver nok at man kan tåle både op og nedture. Som i kan se på det store fald (var så sikker i min case at jeg ikke inkluderede et stop loss) Jeg har nu lukket den kæmpe position og ædt mit tab.
Har sikkert glemt et eller andet. (Det var sjovere for 4 måneder siden hvor den sagde +800%) Men en ting er vigtigt; man lærer hver dag.
P.s. skippede SNDK på 50 USD som stadigt gør ondt den dag i dag.
Tre kæmpe regnskaber fra RDDT.
QS Melder de er længere i deres udvikling end tidligere.
RKLB ligeledes
MU konsoliderer over en 3 ugers periode og derefter bryder dens tidligere top.