These are starting hypotheses to test, not proven edges. All rules assume signals on the daily close and execution at the next open (or the same close for "MOC" rules). Add costs and slippage: roughly 0.5 tick plus commission for NQ, and spread plus commission for QQQ.

1. **200-day trend filter**
   - Entry: go long at the close when QQQ closes above its 200-day SMA.
   - Exit: go to cash when it closes below the 200-day SMA.
   - Optional: require 2 consecutive closes on the same side to cut whipsaws.

2. **RSI(2) pullback in an uptrend**
   - Entry: go long at the close if close > 200-day SMA and RSI(2) < 10.
   - Exit: sell when close > 5-day SMA, or after 7 trading days.
   - Stop: none, or a 2×ATR(14) disaster stop.

3. **Donchian breakout (turtle style)**
   - Entry: go long at the next open after a close above the highest high of the last 55 days.
   - Exit: sell on a close below the lowest low of the last 20 days.
   - Sizing: risk 1% of equity per 2×ATR(20).

4. **Opening range breakout (NQ, 5-minute bars)**
   - Entry: define the range as the high and low of 9:30–9:45 ET. Go long on a 5-minute close above the range high, or short on a close below the range low. Take only the first signal each day.
   - Stop: the opposite side of the range.
   - Target: 2× the range width.
   - Exit: flat at 15:55 ET if neither the stop nor the target is hit.

5. **Gap fade with trend filter**
   - Entry: if the open gaps down by 0.5–1.5% versus the prior close and the prior close is above the 50-day SMA, buy the open.
   - Exit: sell at the prior day's close (gap fill) or at that day's close, whichever comes first.
   - Stop: 1× ATR(14) below the entry.

6. **Turn-of-the-month seasonality**
   - Entry: buy at the close of the 5th-to-last trading day of the month.
   - Exit: sell at the close of the 3rd trading day of the next month.
   - Filter variant: skip the trade if close < 200-day SMA.

7. **Bollinger Band mean reversion**
   - Entry: go long at the close when the close is below the lower Bollinger Band (20, 2σ) and close > 200-day SMA.
   - Exit: sell when the close crosses back above the 20-day SMA (the middle band).
   - Stop: close below the entry-day low minus 1×ATR(14).

8. **MACD and EMA crossover with a volatility filter**
   - Entry: go long when the 12/26 MACD line crosses above its 9-period signal line, the 50-day EMA is above the 200-day EMA, and VIX < 25.
   - Exit: sell when the MACD crosses back below the signal line, or when VIX closes above 30.

9. **Volatility-targeted trend (QQQ)**
   - Position size: weight = min(1.5, 15% ÷ the 20-day realized annualized volatility). Rebalance weekly at Friday's close.
   - Long only when close > 100-day SMA; otherwise the weight is 0.
   - This reduces exposure when volatility spikes.

10. **VIX spike reversal**
    - Entry: buy QQQ at the close when VIX closes more than 20% above its 10-day SMA and VIX > 25, and QQQ is within 15% of its 52-week high.
    - Exit: sell when VIX closes below its 10-day SMA, or after 10 trading days.
    - Stop: a 7% adverse close.

**Backtest checklist:**
- Test on data from at least 2000 onward so you cover the dot-com crash, 2008, 2020 and 2022.
- Split the data into in-sample and out-of-sample periods, or use walk-forward testing.
- Keep the parameters fixed rather than optimizing them.
- Compare each strategy against buy-and-hold on CAGR, max drawdown and Sharpe.
- For NQ, use back-adjusted continuous contracts and account for roll dates.
- Use QQQ data adjusted for dividends.

If you tell me your platform (Python, TradingView Pine, NinjaTrader, etc.), I can write the code for any of these.
