Strategy
The current codebase uses two related but different concepts under app/strategies/:
- Strategy: creates pending signals that can later become real trades
- Scanner: generates alerts and stores observations, but does not execute trades
Strategy vs Scanner
| Type | Registry | Purpose | Trade execution |
|---|---|---|---|
| Strategy | _registry | Scan + generate pending signal | Yes, after boss confirmation |
| Scanner | _scanners | Alert-first observation pipeline | No |
Registered components
MR Combined
Range/mean-reversion strategy with multi-timeframe context and explicit range management.
Flow:
- Trigger scan via
POST /api/mr-combined/scan-and-signal - Filter by HTF/MTF market context
- Validate 4H range quality, then inspect 1H setup near support/resistance
- Create a pending signal with tier, checklist, TP structure, and range levels
- Boss YES -> COO calls
/api/signal/{symbol}/confirm-> server checks EV/confidence -> bracket order
See: MR Combined
Pump Momentum Scanner
Alert-first momentum scanner. It does not open positions.
Flow:
- Trigger scan via
POST /api/pump-momentum/scan - Prefilter universe using 15m momentum + relative-strength conditions
- Emit
pump_watchorpump_signal - Persist signal data to SQLite
- Send Telegram alert if present