MOEasymmetry← All articles
Research · 2026-06-12 · 4 min read

A Sell Rule I Found But Won't Use

Track. Study. Wait. Strike.
English อ่านภาษาไทย (Thai)
⚠️ Personal research and trading journal — not investment advice. The author does not provide licensed advisory services.

In May 2026, I ran a study on 77 stocks that IBD had labeled as ACTIONABLE_BUY or PATTERN_BREAKOUT_FRESH in their video coverage between 2019 and 2026. The goal was to understand what actually happened after IBD highlighted a stock — how far it ran, how long before it reversed, what the realistic hold period looked like.

The results changed how I think about the exit side of my system. And then I deliberately chose not to change anything.

What the Study Found

Across 77 qualifying stocks, 91% moved higher at some point after the IBD mention. That statistic sounds impressive until you look at what happened next.

The maximum run-up (highest intraday gain from entry, measured over 120 days after the signal date): - Mean maximum run-up: +23.2% - Median maximum run-up: +14.6%

The keyword is maximum. That's the best the trade ever looked, not what you'd realize in practice. By 120 days out, the mean return across the same 77 stocks turned negative. UNH fell −49% from its peak. SMCI dropped −45%.

The stocks that ran the most — the ones that built the impressive mean — also gave back the most. The average trader who "held and prayed" didn't capture the run-up. They captured the reversal.

One number stood out: 36% of these stocks hit at least a 20% gain at some point within 120 days. The comparable baseline (similar RS, similar market condition, no IBD mention) was 22.5%. That's a +13.5 percentage-point lift — roughly 60% better odds of a 20%+ move.

What IBD Actually Does

Before the study, my exit rule was: take half off at 2R (twice the initial risk), trail the remaining half on a 21-day moving average. This is the "partial-TP 2R + MA21 trail" I've written about elsewhere.

The IBD data suggested a different approach. Most professional IBD coverage uses a framework of selling 20-25% of the position when a stock gains 20-25%, then trailing the rest on a longer moving average — typically the 50-day EMA. The idea is that the first partial captures the high-probability near-term gain, and the second partial stays in for the cases where a stock develops into a true leader.

I'll call this partial_25_ema50. It differs from my locked system in two ways: - The first partial exit trigger is 20-25% gain rather than 2R (which might be a shorter distance depending on entry risk) - The trail after the first partial uses the 50-day EMA rather than the 21-day MA

The 36% hitting ≥20% is consistent with partial_25_ema50 capturing more of the run-up in the right tail. The 50-day EMA trail gives more room for stocks to develop over time, which matters for the cases that turn into multi-month trends.

Why I'm Not Changing the System

Here is the discipline problem.

My system is currently locked. The locked configuration — partial_2r_ma21 — is the version that passed a 20-year walk-forward test, two separate system configurations, with real out-of-sample windows. The 20-year validation is specifically on this exit structure. If I change the exit rule now, I'm no longer running the system that was validated.

The November 2026 evaluation — when I choose which branch gets live capital — is supposed to be an honest assessment of whether the locked system continues to perform in 2026 conditions. If I've been modifying the system throughout 2026 based on ongoing research, I've conflated the testing period with the development period. The walk-forward result loses its meaning.

This is a known failure mode in strategy development. You run a backtest, find a period where it works, refine the rules during that same period, and arrive at a system that was tuned to the historical data you used to test it. The out-of-sample result isn't actually out-of-sample.

I found evidence of a potentially better sell rule. I found it using data from 2019-2026. My locked system's 2026 paper performance is part of that data. If I improve the system based on what I observed in 2026 and then evaluate it in November 2026, I'm fitting to the test set.

What I'm Doing Instead

I've logged partial_25_ema50 as a candidate for post-freeze evaluation. Starting in December 2026, I'll run it as an A/B test alongside the locked configuration — same entries, different exits — on forward data that neither rule has been tuned to.

The test question is specific: does partial_25_ema50 produce better risk-adjusted returns than partial_2r_ma21 on new data? Not on the IBD sample I used to discover it. On data after the methodology was defined.

That's the correct way to evaluate it. If it passes, it becomes a candidate for the next generation of the system. If it doesn't, the IBD study was interesting but not actionable.

For now: the sell rule stays locked. The research goes into the log. The discipline is the whole point.

Get new research by email
Tested across decades. Failures published. Real money.
Subscribe — free
📊 See the live dashboards, the breakout scanner, and the real track record at the MOEasymmetry hub — research, not advice.
← Previous
Why My Backtest Number Got Smaller When I Made the Test Harder
งานวิจัยและบันทึกการเทรดส่วนบุคคล ไม่ใช่คำแนะนำการลงทุน · Personal research & trading journal — not investment advice. The author does not provide licensed advisory services.
Home · Articles · Methodology · Track record