# Bull Market Support Band

A well-known concept from crypto and equity analysis, popularised by Benjamin Cowen.
The "band" formed by the 20-week SMA and 21-week EMA acts as dynamic support in
bull markets; breaches below it signal the end of a bull phase.

## Versions

| Version | File    | Notes                                                                 |
|---------|---------|-----------------------------------------------------------------------|
| v1      | v1.json | Bounce detection only; no explicit bull market confirmation           |
| v2      | v2.json | Adds EventCount bull confirmation (35 of last 50 days above SMA100)   |

## Logic

On daily charts, the weekly MAs are approximated as SMA(100) and EMA(105).

**Entry** (v1): close[1] was below SMA(100)[1] (touched band) AND close > SMA(100) AND close > EMA(105) (bounced).
**Entry** (v2): same PLUS `event_count(close > SMA(100), period=50) >= 35` — confirms at least 35 of the last 50 days were above the band, establishing a bull market context.
**Exit**: close < SMA(100) AND close < EMA(105) — band is lost on both MAs.

## Indicators

- `SMA(100)` — proxy for 20-week SMA on daily chart
- `EMA(105)` — proxy for 21-week EMA on daily chart

## Data requirements

- Daily (`1d`) candles required.
- Minimum warmup: 105 candles for EMA(105); 150 recommended to satisfy EventCount.

## Known limitations

- The weekly 20 SMA / 21 EMA are approximated with daily 100 / 105 periods.
  A more precise approximation uses 140/147 (7 × 20/21) but those require more data.
- The bounce entry is fragile — a single wick below the band can trigger a false entry.
  Adding a close-above confirmation bar would reduce whipsaws but increases lag.
