Most of the automated trading discussion I see focuses entirely on finding a profitable idea. Way less gets said about what happens after you find one, the tuning process that decides whether that bot survives contact with live markets or blows up in the first volatility spike that doesn’t look like your backtest.
A few things I’ve learned building and running NinjaScript strategies overnight:
1. Fewer parameters, more survival. If your strategy has 10+ optimizable inputs, you probably don’t have an edge, you have a curve fit. I cap my strategies at 4 parameters. If I can’t explain in one sentence why each parameter exists, it gets cut.
2. ATR-based stops, not fixed-dollar stops. Volatility regimes change. A stop that made sense in a quiet session will get run over in a fast one. Sizing risk off ATR means the strategy adapts on its own instead of you having to babysit it.
3. Walk-forward, not just backtest. A strategy that only gets validated on the same data it was built on is basically guaranteed to look great and trade terribly. Run it through NinjaTrader’s Strategy Analyzer walk-forward before you even think about Sim, let alone live.
4. Hard time exits. If your edge lives in a specific session window, exit at the window’s end, no exceptions, no discretion. The moment you let yourself override the bot “just this once,” you’ve stopped running a system and started gambling with extra steps.
Attaching one of my free strategies below, NSQ Overnight Breakout, as a concrete example of what a 4-parameters-only, ATR-based, hard-time-exit bot looks like in practice. It trades the low-liquidity overnight range on NQ/MNQ (00:00 to 02:30 ET range build, 02:30 to 04:00 ET breakout window, forced flat by 04:00 ET). Happy to share the full backtest writeup if anyone wants it, just ask below.
Curious what parameter-count discipline (or lack of it) has cost other people here, would love to hear how you all approach the tuning side once you’ve got something that shows promise in testing.