← All projects

NinjaTrader 8 Multi-Timeframe Breakout Bot

A 5-minute futures breakout strategy that needs trend agreement on 5m, 15m and 1h, a VWAP side, RSI and a volume spike, with ATR risk, partial exits and a live status panel.

Client
Index futures day trader
Year
2025
Category
Trading Systems
Stack
  • NinjaTrader 8
  • C#
  • NinjaScript

The problem

The client day-traded opening breakouts on index futures and wanted the checklist enforced by code. A trade should only fire when every timeframe and filter agrees, and the chart should show which condition is still missing.

What I built

  • Three timeframes: a 5-minute primary series with 15-minute and 1-hour series added in code. Each timeframe needs an 8/21 EMA alignment.
  • Filters: price on the correct side of VWAP, RSI above 55 for longs or below 45 for shorts, and volume of at least 1.2× its 20-bar average.
  • Breakout levels: the higher of the premarket high and the 20-bar consolidation high (the mirror for shorts). The premarket range resets at the cash open.
  • ATR risk: the stop sits 0.6 ATR beyond the breakout level and the full target 2.5 ATR from entry.
  • Partial exit: half the position closes at +1 ATR, then the stop moves to breakeven and a 1-ATR trail starts on the remainder.
  • Exits: false-breakout exit when price closes back inside the zone, flatten before session close, and one position per direction.
  • Status panel: shows each condition (VWAP side, each timeframe’s EMA cross, RSI, volume spike, ATR, breakout levels) with the overall trend bias and an “entry ready” state.
  • Documentation: a full user guide covering the parameters, the logic and troubleshooting.

Details

  • The status panel doubles as a debugging tool. When no trade fires, the trader can see exactly which filter is blocking it instead of guessing.