From Gil Morales & Chris KacherRead about it
Gil Morales and Chris Kacher, who managed money for William O'Neil, looked for big funds' footprints inside a base: an up day on more volume than any down day of the past ten sessions, close to the 10-day average rather than stretched far above it.
Typical holdingWeeks to months
At the close of 1 Oct 2026, among NSE's 500 most-traded stocks. A screen, not a recommendation: in the backtest, a trade opened at the next day's open.
1 Jan 2016 to 1 Oct 2026: a 10-stock portfolio following these rules on NSE's 500 most-traded stocks at each date, after 0.2% costs on each side, against the Nifty 500 index.
Compound growth a year (CAGR).
Gain or loss over the whole test.
Largest drop from a high (max drawdown).
Share of trades that closed with a gain.
Rupees gained for every rupee lost.
Average result per trade, after costs.
A typical winning and losing trade.
Average trading days per trade.
About 106 a year.
Return for each unit of ups and downs.
Average share of the money in trades.
The extremes, after costs.
1 Jan 2016 to 1 Oct 2026: ₹4.50 L against ₹3.24 L in the Nifty 500.
Return in the year, after costs.
Each trade's return after costs, grouped.
The same rules, tested again with one thing changed. A result worth trusting holds up across these; a big swing means the headline figure depends on luck or on the exact setup.
Beat the Nifty 500 in 4 of 5 versions and in 2 of 2 halves of the test.
| Version | Yearly return | Worst fall | Win rate | Profit factor | Trades |
|---|---|---|---|---|---|
| As published10 stocks at a time, 0.2% costs on each side | +15.0% | −62.4% | 29.8% | 1.52 | 1,143 |
| With the market filterNew trades only while the Nifty 500 is above its 200-day average | +14.5% | −49.7% | 28.7% | 1.53 | 893 |
| Costs doubled0.4% on each side, as slippage in thinner stocks can be | +10.6% | −66.7% | 28.4% | 1.39 | 1,143 |
| 5 stocks at a timeA bigger share of the money in each trade | +15.0% | −65.8% | 28.5% | 1.51 | 593 |
| 20 stocks at a timeA smaller share in each trade | +20.7% | −46.6% | 30.4% | 1.69 | 2,146 |
Ahead of the index by 0.7 points a year.
Ahead of the index by 6.2 points a year.
The last 12 trades the rules closed, with 10 still open.
| Stock | Opened | Closed | Days | Return | Why it closed |
|---|---|---|---|---|---|
| Ather EnergyATHERENERG | 1 Jun 2026 | 29 Sep 2026 | 84 | +49.9% | Closed below the 50-day average |
| Anand Rathi WealthANANDRATHI | 18 Aug 2026 | 28 Sep 2026 | 28 | −1.7% | Closed below the 50-day average |
| Vodafone IdeaIDEA | 3 Sep 2026 | 22 Sep 2026 | 12 | −5.4% | Closed below the 50-day average |
| Bharat Heavy ElectricalsBHEL | 18 Aug 2026 | 16 Sep 2026 | 20 | −4.7% | Closed below the 50-day average |
| R R KabelRRKABEL | 31 Aug 2026 | 3 Sep 2026 | 3 | −9.0% | 7% below the opening price |
| The Federal BankFEDERALBNK | 2 Jul 2026 | 31 Aug 2026 | 42 | +2.9% | Closed below the 50-day average |
| Adani Energy SolutionsADANIENSOL | 17 Aug 2026 | 18 Aug 2026 | 1 | −2.4% | Closed below the 50-day average |
| Belrise IndustriesBELRISE | 8 Jul 2026 | 18 Aug 2026 | 29 | +3.3% | Closed below the 50-day average |
| Jayaswal Neco IndustriesJAYNECOIND | 7 Aug 2026 | 17 Aug 2026 | 6 | −4.5% | Closed below the 50-day average |
| Bharat ForgeBHARATFORG | 10 Aug 2026 | 11 Aug 2026 | 1 | −7.6% | Closed below the 50-day average |
| Kirloskar Oil EnginesKIRLOSENG | 18 May 2026 | 10 Aug 2026 | 58 | +23.2% | Closed below the 50-day average |
| Adani Energy SolutionsADANIENSOL | 22 Jul 2026 | 7 Aug 2026 | 12 | −7.8% | 7% below the opening price |
Swing Lab is a screen and a history lesson, not advice. RupeeVerse is not registered with SEBI as an investment adviser or research analyst. A stock meeting a strategy's rules is not a recommendation to trade it, and past results do not predict future ones. Do your own research.