SOXX test: live rules vs no B1 on red Stage (12 Nov 2026 close)
This page shows the same SOXX history twice so the two rule sets can be checked trade by trade. Both scenarios use Yahoo Finance daily bars from 4 Jan 2021 through the 12 Nov 2026 close, SOXX’s own price-based Stage on every bar, Stochastic 14,3,5, Bollinger 18,2, one position at a time, fills at the signal-day close, no costs. It is a backtest only: nothing was bought or sold.
- Scenario A, the live rules (set E + P1, as on the dashboard charts).
- Scenario B, the correction: the same rules, except that a B1 oversold-cross buy (%K crosses above %D with both under 20) is blocked when the Stage on the cross day is Rolling Over or Faded (red background). All other buy and sell rules are identical.
Result to the 12 Nov 2026 close: Scenario A +342.8%, Scenario B +296.3%, SOXX buy & hold +269.4% over the full period. The correction blocked 5 B1 buys on SOXX. Of the matching B1 trades in Scenario A, 3 closed as winners and 1 as a loser; 1 was not a trade in A because A was already holding; their returns add up to +42.8%. The most costly block (25 Jan 2022, the biggest gap between the A trade and B’s replacement trade): A bought B1 on 25 Jan 2022 at 51.13 and sold on 24 Mar 2022 (+5.7%). B skipped it (Stage Rolling Over) and bought on 9 Feb 2022 (B4 middle-band reclaim) at 56.07 instead, sold 24 Mar 2022, -3.6%. Each block also shifts the entry price of the trade B takes instead, so the full-period gap comes from these trade-by-trade differences, compounded over time. These match the cross-ETF backtest (to the 9 Nov 2026 close: A +319.3%, B +275.3%; this build gives +319.3% and +275.3% on the same dates).
Not advice. Highlighted rows (yellow) = the most costly block (25 Jan 2022, the biggest gap between the A trade and B’s replacement trade).
Summary
Summary: Scenario A vs Scenario B vs SOXX buy & hold (to the 12 Nov 2026 close)
| Period | Scenario A: live rules | Scenario B: no B1 on red Stage | SOXX buy & hold |
|---|---|---|---|
| Full period (from 4 Jan 2021) | +342.8% | +296.3% | +269.4% |
| 2021 | +30.2% | +26.5% | +43.6% |
| 2022 | -9.8% | -17.8% | -37.1% |
| 2023 | +68.2% | +69.0% | +67.2% |
| 2024 | +24.3% | +24.3% | +16.4% |
| 2025 | +26.7% | +27.4% | +38.9% |
| 2026 (to 12 Nov 2026) | +38.2% | +38.2% | +48.2% |
| Last 1 year (from 12 Nov 2025) | +28.9% | +28.9% | +55.2% |
| Last 6 months (from 12 May 2026) | -10.4% | -10.4% | -9.9% |
| Worst drop, full period | -39.9% | -39.9% | -46.2% |
| Trades (closed + open) | 23 + 1 | 23 + 1 | – |
| Win rate (closed trades) | 70% (16 of 23) | 65% (15 of 23) | – |
Strategy columns = mark-to-market from a flat start on 4 Jan 2021, including the open position. Years run from the first to the last close of the year (2026 to 12 Nov 2026); 1 year from 12 Nov 2025, 6 months from 12 May 2026. Shaded = best in that row. Win rate counts closed trades only.
Scenario A: live rules (set E + P1)
Markers:buy (rule written below)sell (reason written above)
SOXX (iShares Semiconductor ETF) daily OHLC from 4 Jan 2021 through the 12 Nov 2026 close from Yahoo Finance (indicators warmed up on bars from Nov 2019). SMA 50/100/200, Bollinger 18,2 and Stochastic 14,3,5 calculated from these closes; default view = last year, scroll or zoom back for the full history. Test signals, one position at a time, so buys and sells always alternate (rules tested from a flat start on the first valid bar, 4 Jan 2021 where the ETF traded then). BUY (green up triangle, rule written below it) on the first close that meets, in this order: B1 oversold — %K crosses above %D with both under 20; B2 a below-20 embed ends; B3 trend pullback — close above SMA 50 and %K crosses above %D after %K dipped under 50 since the last sell; B4 middle-band reclaim — 2 closes in a row above the 18-day Bollinger middle band after a close at or below it, with %K above %D; B5 re-entry after a sell — close above the highest close of the prior 20 days, above SMA 50, with %K above %D. No buy while %K and %D both stay under 20 for 3+ closes (red band). SELL (orange down triangle, reason written above it) only after a buy, and only on a close below SMA 68 (the 68-day simple average of closes, not drawn): S1 %K crosses below %D with both above 80 (held while both stay above 80 for 3+ closes, green band, per Ira Epstein’s embed rule); S2 either line closes back under 80 after such an embed. If S1 or S2 happens while the close is still at or above SMA 68, the sell waits and S4 fires on the first later close below SMA 68; while the Stage (here the price-based proxy) is Rolling Over or Faded (red background) a waiting sell fires already on the first close below SMA 40 (S5). Rule set chosen on all narrative ETFs together (cross-ETF re-tune and Stage-aware test, 11 Nov 2026), not on this ETF alone. Background colour = SOXX’s Stage from the price-based proxy on every bar (the dashboard Stage rules applied to SOXX vs SPY prices only; no mention data, so Start, Peak and Faded cannot appear): green Push Up; yellow Recovery Attempt or Basing; orange Pullback; red Rolling Over; grey Unclassified. The same proxy is used in the cross-ETF backtests, so this chart matches them.
Scenario A: all 24 trades
| # | Buy date | Buy rule | Buy close | Sell date | Sell rule | Sell close | % gain | Days held |
|---|---|---|---|---|---|---|---|---|
| 1 | 2 Feb 2021 | B3 trend pullback | 45.94 | 3 May 2021 | S4 waited for a close below SMA 68 | 46.40 | +1.0% | 90 |
| 2 | 21 May 2021 | B4 middle-band reclaim | 46.00 | 16 Jul 2021 | S4 waited for a close below SMA 68 | 47.42 | +3.1% | 56 |
| 3 | 21 Jul 2021 | B3 trend pullback | 49.49 | 28 Sep 2021 | S4 waited for a close below SMA 68 | 50.36 | +1.8% | 69 |
| 4 | 5 Oct 2021 | B1 oversold cross | 49.03 | 10 Jan 2022 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 57.94 | +18.2% | 97 |
| 5 | 25 Jan 2022 most costly block | B1 oversold cross | 51.13 | 24 Mar 2022 | S1 overbought cross, close below SMA 68 | 54.05 | +5.7% | 58 |
| 6 | 28 Mar 2022 | B5 20-day-high re-entry | 54.34 | 1 Apr 2022 | S2 embed-high end, close below SMA 68 | 51.57 | -5.1% | 4 |
| 7 | 29 Apr 2022 | B2 embed-low end | 44.53 | 3 Jun 2022 | S1 overbought cross, close below SMA 68 | 46.78 | +5.0% | 35 |
| 8 | 24 Jun 2022 | B2 embed-low end | 41.43 | 26 Jul 2022 | S2 embed-high end, close below SMA 68 | 42.43 | +2.4% | 32 |
| 9 | 28 Jul 2022 | B5 20-day-high re-entry | 44.91 | 26 Aug 2022 | S4 waited for a close below SMA 68 | 42.87 | -4.6% | 29 |
| 10 | 9 Sep 2022 | B2 embed-low end | 41.73 | 23 Dec 2022 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 38.76 | -7.1% | 105 |
| 11 | 4 Jan 2023 | B2 embed-low end | 39.27 | 20 Apr 2023 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 46.65 | +18.8% | 106 |
| 12 | 28 Apr 2023 | B2 embed-low end | 45.79 | 10 Aug 2023 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 55.42 | +21.0% | 104 |
| 13 | 15 Aug 2023 | B1 oversold cross | 54.71 | 17 Apr 2024 | S4 waited for a close below SMA 68 | 70.12 | +28.2% | 246 |
| 14 | 24 Apr 2024 | B2 embed-low end | 69.51 | 24 Jul 2024 | S4 waited for a close below SMA 68 | 76.56 | +10.1% | 91 |
| 15 | 8 Aug 2024 | B2 embed-low end | 71.01 | 28 Aug 2024 | S2 embed-high end, close below SMA 68 | 75.30 | +6.0% | 20 |
| 16 | 20 Sep 2024 | B4 middle-band reclaim | 74.56 | 1 Oct 2024 | S2 embed-high end, close below SMA 68 | 74.71 | +0.2% | 11 |
| 17 | 7 Oct 2024 | B3 trend pullback | 76.82 | 24 Feb 2025 | S4 waited for a close below SMA 68 | 72.91 | -5.1% | 140 |
| 18 | 4 Mar 2025 | B1 oversold cross | 67.42 | 1 May 2025 | S1 overbought cross, close below SMA 68 | 61.20 | -9.2% | 58 |
| 19 | 9 May 2025 | B5 20-day-high re-entry | 64.65 | 19 Nov 2025 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 93.87 | +45.2% | 194 |
| 20 | 28 Nov 2025 | B4 middle-band reclaim | 98.91 | 17 Dec 2025 | S4 waited for a close below SMA 68 | 95.08 | -3.9% | 19 |
| 21 | 22 Dec 2025 | B3 trend pullback | 101.28 | 6 Mar 2026 | S4 waited for a close below SMA 68 | 107.84 | +6.5% | 74 |
| 22 | 25 Mar 2026 | B4 middle-band reclaim | 115.08 | 16 Jul 2026 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 176.83 | +53.7% | 113 |
| 23 | 5 Aug 2026 | B4 middle-band reclaim | 176.90 | 14 Oct 2026 | S4 waited for a close below SMA 68 | 173.14 | -2.1% | 70 |
| 24 | 28 Oct 2026 | B2 embed-low end | 173.98 | 12 Nov 2026 open | still held (valued at last close) | 154.99 | -10.9% | 15 |
Scenario B: live rules + no B1 on a red Stage
Markers:buy (rule written below)sell (reason written above)B1 blocked (red), hollow grey
SOXX (iShares Semiconductor ETF) daily OHLC from 4 Jan 2021 through the 12 Nov 2026 close from Yahoo Finance (indicators warmed up on bars from Nov 2019). SMA 50/100/200, Bollinger 18,2 and Stochastic 14,3,5 calculated from these closes; default view = last year, scroll or zoom back for the full history. Scenario B change: B1 (oversold cross) does not fire when the Stage that day is Rolling Over or Faded (red background); the hollow grey triangle marked “B1 blocked (red)” shows each blocked B1. On a blocked day the other buy rules (B2–B5) are still checked in the usual order; everything else is the same as Scenario A. Test signals, one position at a time, so buys and sells always alternate (rules tested from a flat start on the first valid bar, 4 Jan 2021 where the ETF traded then). BUY (green up triangle, rule written below it) on the first close that meets, in this order: B1 oversold — %K crosses above %D with both under 20; B2 a below-20 embed ends; B3 trend pullback — close above SMA 50 and %K crosses above %D after %K dipped under 50 since the last sell; B4 middle-band reclaim — 2 closes in a row above the 18-day Bollinger middle band after a close at or below it, with %K above %D; B5 re-entry after a sell — close above the highest close of the prior 20 days, above SMA 50, with %K above %D. No buy while %K and %D both stay under 20 for 3+ closes (red band). SELL (orange down triangle, reason written above it) only after a buy, and only on a close below SMA 68 (the 68-day simple average of closes, not drawn): S1 %K crosses below %D with both above 80 (held while both stay above 80 for 3+ closes, green band, per Ira Epstein’s embed rule); S2 either line closes back under 80 after such an embed. If S1 or S2 happens while the close is still at or above SMA 68, the sell waits and S4 fires on the first later close below SMA 68; while the Stage (here the price-based proxy) is Rolling Over or Faded (red background) a waiting sell fires already on the first close below SMA 40 (S5). Rule set chosen on all narrative ETFs together (cross-ETF re-tune and Stage-aware test, 11 Nov 2026), not on this ETF alone. Background colour = SOXX’s Stage from the price-based proxy on every bar (the dashboard Stage rules applied to SOXX vs SPY prices only; no mention data, so Start, Peak and Faded cannot appear): green Push Up; yellow Recovery Attempt or Basing; orange Pullback; red Rolling Over; grey Unclassified. The same proxy is used in the cross-ETF backtests, so this chart matches them.
Scenario B: all 24 trades
| # | Buy date | Buy rule | Buy close | Sell date | Sell rule | Sell close | % gain | Days held |
|---|---|---|---|---|---|---|---|---|
| 1 | 2 Feb 2021 | B3 trend pullback | 45.94 | 3 May 2021 | S4 waited for a close below SMA 68 | 46.40 | +1.0% | 90 |
| 2 | 21 May 2021 | B4 middle-band reclaim | 46.00 | 16 Jul 2021 | S4 waited for a close below SMA 68 | 47.42 | +3.1% | 56 |
| 3 | 21 Jul 2021 | B3 trend pullback | 49.49 | 28 Sep 2021 | S4 waited for a close below SMA 68 | 50.36 | +1.8% | 69 |
| 4 | 15 Oct 2021 | B4 middle-band reclaim | 50.47 | 10 Jan 2022 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 57.94 | +14.8% | 87 |
| 5 | 9 Feb 2022 most costly block | B4 middle-band reclaim | 56.07 | 24 Mar 2022 | S1 overbought cross, close below SMA 68 | 54.05 | -3.6% | 43 |
| 6 | 28 Mar 2022 | B5 20-day-high re-entry | 54.34 | 1 Apr 2022 | S2 embed-high end, close below SMA 68 | 51.57 | -5.1% | 4 |
| 7 | 29 Apr 2022 | B2 embed-low end | 44.53 | 3 Jun 2022 | S1 overbought cross, close below SMA 68 | 46.78 | +5.0% | 35 |
| 8 | 24 Jun 2022 | B2 embed-low end | 41.43 | 26 Jul 2022 | S2 embed-high end, close below SMA 68 | 42.43 | +2.4% | 32 |
| 9 | 28 Jul 2022 | B5 20-day-high re-entry | 44.91 | 26 Aug 2022 | S4 waited for a close below SMA 68 | 42.87 | -4.6% | 29 |
| 10 | 9 Sep 2022 | B2 embed-low end | 41.73 | 23 Dec 2022 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 38.76 | -7.1% | 105 |
| 11 | 4 Jan 2023 | B2 embed-low end | 39.27 | 20 Apr 2023 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 46.65 | +18.8% | 106 |
| 12 | 28 Apr 2023 | B2 embed-low end | 45.79 | 10 Aug 2023 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 55.42 | +21.0% | 104 |
| 13 | 22 Aug 2023 | B2 embed-low end | 54.46 | 17 Apr 2024 | S4 waited for a close below SMA 68 | 70.12 | +28.8% | 239 |
| 14 | 24 Apr 2024 | B2 embed-low end | 69.51 | 24 Jul 2024 | S4 waited for a close below SMA 68 | 76.56 | +10.1% | 91 |
| 15 | 8 Aug 2024 | B2 embed-low end | 71.01 | 28 Aug 2024 | S2 embed-high end, close below SMA 68 | 75.30 | +6.0% | 20 |
| 16 | 20 Sep 2024 | B4 middle-band reclaim | 74.56 | 1 Oct 2024 | S2 embed-high end, close below SMA 68 | 74.71 | +0.2% | 11 |
| 17 | 7 Oct 2024 | B3 trend pullback | 76.82 | 24 Feb 2025 | S4 waited for a close below SMA 68 | 72.91 | -5.1% | 140 |
| 18 | 14 Mar 2025 | B2 embed-low end | 67.04 | 1 May 2025 | S1 overbought cross, close below SMA 68 | 61.20 | -8.7% | 48 |
| 19 | 9 May 2025 | B5 20-day-high re-entry | 64.65 | 19 Nov 2025 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 93.87 | +45.2% | 194 |
| 20 | 28 Nov 2025 | B4 middle-band reclaim | 98.91 | 17 Dec 2025 | S4 waited for a close below SMA 68 | 95.08 | -3.9% | 19 |
| 21 | 22 Dec 2025 | B3 trend pullback | 101.28 | 6 Mar 2026 | S4 waited for a close below SMA 68 | 107.84 | +6.5% | 74 |
| 22 | 25 Mar 2026 | B4 middle-band reclaim | 115.08 | 16 Jul 2026 | S5 Stage Rolling Over: waited sell fired on a close below SMA 40 | 176.83 | +53.7% | 113 |
| 23 | 5 Aug 2026 | B4 middle-band reclaim | 176.90 | 14 Oct 2026 | S4 waited for a close below SMA 68 | 173.14 | -2.1% | 70 |
| 24 | 28 Oct 2026 | B2 embed-low end | 173.98 | 12 Nov 2026 open | still held (valued at last close) | 154.99 | -10.9% | 15 |
Every B1 buy that the correction blocked (Scenario B)
| # | Date | Close | Stage that day | %K / %D | What this B1 trade returned in Scenario A | Next buy in Scenario B instead, and how that trade did |
|---|---|---|---|---|---|---|
| 1 | 5 Oct 2021 | 49.03 | Rolling Over | 13.1 / 12.6 | +18.2% (sold 10 Jan 2022 at 57.94, S5 Stage Rolling Over: waited sell fired on a close below SMA 40; 97 days) | 15 Oct 2021, B4 middle-band reclaim at 50.47: +14.8% (sold 10 Jan 2022) |
| 2 | 14 Oct 2021 | 50.13 | Rolling Over | 19.8 / 19.6 | not a trade in A (A was already in a position) | 15 Oct 2021, B4 middle-band reclaim at 50.47: +14.8% (sold 10 Jan 2022) |
| 3 | 25 Jan 2022 most costly block | 51.13 | Rolling Over | 13.9 / 10.6 | +5.7% (sold 24 Mar 2022 at 54.05, S1 overbought cross, close below SMA 68; 58 days) | 9 Feb 2022, B4 middle-band reclaim at 56.07: -3.6% (sold 24 Mar 2022) |
| 4 | 15 Aug 2023 | 54.71 | Rolling Over | 17.2 / 13.7 | +28.2% (sold 17 Apr 2024 at 70.12, S4 waited for a close below SMA 68; 246 days) | 22 Aug 2023, B2 embed-low end at 54.46: +28.8% (sold 17 Apr 2024) |
| 5 | 4 Mar 2025 | 67.42 | Rolling Over | 12.8 / 12.1 | -9.2% (sold 1 May 2025 at 61.20, S1 overbought cross, close below SMA 68; 58 days) | 14 Mar 2025, B2 embed-low end at 67.04: -8.7% (sold 1 May 2025) |