I’ve been working on and testing trend-based automated strategies in NinjaTrader for a while, and I wanted to share some design notes that might be useful to others building or refining their own systems.
This isn’t about a specific indicator or setup — more about structure, filters, and expectations.
1. Trend Strategies Fail More From When Than What
Most trend systems don’t fail because the entry is wrong —
they fail because they trade when the market isn’t trending.
So the priority should be:
- Regime filtering
- Volatility confirmation
- Time-of-day selection
- Then entries
If those aren’t aligned, no indicator will save it.
2. Trend Detection Should Be Redundant (on Purpose)
Relying on a single signal is fragile.
What’s worked better for me:
- A directional signal (momentum / state change)
- A structure filter (EMA alignment or similar)
- Optional higher-timeframe confirmation
Example logic (conceptual):
- Longs only when price > fast EMA > slow EMA
- Shorts only when price < fast EMA < slow EMA
This alone eliminates a lot of chop.
3. Volatility Filtering Is Non-Negotiable
Low volatility is where most automated systems bleed.
I’ve found it’s important to block trades explicitly when volatility is insufficient.
Common approaches:
- ADX threshold (e.g., minimum value, optionally rising)
- Range or expansion filter (price must move X% over N bars)
- Structure breakouts (price must clear recent swings)
If volatility isn’t expanding, I’d rather the strategy do nothing.
Inactivity is a feature, not a bug.
4. Time Filters Matter More Than People Admit
A lot of bad trades disappear when you simply:
- Restrict trading to specific sessions (e.g., NY morning)
- Skip known dead zones (lunch hours, pre-rollover)
- Disable low-quality days if applicable
Time filters aren’t about optimization —
they’re about liquidity and participation.
5. Scaling Into Trends ≠ Averaging Down
One mistake I see often is confusing scaling with martingale.
A safer approach:
- Initial entry confirms the trend
- Additional entries only trigger if momentum increases
- Each entry has independent risk logic
No adding to losers.
No forced exposure.
If the trend doesn’t continue, no extra risk is taken.
6. Risk Controls Must Be System-Level
For automation especially, risk needs to be baked in:
- Hard stops (structure-based or bar-based)
- Break-even logic
- Trailing logic only during expansion
- Daily loss limits
- Consecutive loss limits
Once limits are hit, the system should stop trading — automatically.
That removes a lot of psychological damage.
7. Expected Behavior (This Is Important)
A well-filtered trend strategy will:
- Not trade every day
- Sit flat for long stretches
- Look “inactive” during ranges
- Make its money during specific market regimes
If a trend system trades constantly, it’s probably not filtering enough.
8. Testing Notes
When testing:
- Start with minimal filters
- Add filters one at a time
- Expect fewer trades as quality improves
- Validate behavior, not just equity curves
If a backtest shows zero trades, that doesn’t mean it’s broken —
it usually means the market conditions didn’t qualify.
Closing Thought
Most of the edge in trend-following doesn’t come from entries.
It comes from knowing when not to participate.