AS BM PivotConfluence
BMPivotConfluence
CATEGORY: Automated strategy · For NinjaTrader 8 · Confluence of pivot, zone, divergence, and VWAP · Futures (ES, NQ, GC, CL, MES, MNQ, MGC, MCL)
HOW IT WORKS: A strategy that enters a trade when a specific pivot (by default, the third one) is confirmed within a sequence of higher lows or lower highs. It features up to three optional, independently toggleable confluence conditions: the pivot falling within a support or resistance zone (calculated based on current volatility), the presence of price-RSI divergence at that point, and the pivot being near the VWAP or one of its standard deviation bands. The stop is calculated via ticks, ATR, or the last swing; the take-profit is set via ticks, ATR, or a multiple of the risk taken (R). It includes a trailing stop based on the percentage of maximum advance achieved, automatic closure upon reaching a specific dollar profit, and comprehensive daily risk management (maximum loss, profit target, daily trailing drawdown, maximum number of trades, time windows, and day-of-the-week filtering).
Differentiating features:
A self-contained strategy designed this way for a specific, documented reason rather than mere design preference. The initial version relied on the BMTrendChannel and BMSwingZones indicators as external dependencies and failed in two distinct ways: when instantiated directly, they failed to receive bar data (resulting in zero values without warning); conversely, the alternative method caused a circular compilation error because NinjaTrader only creates an indicator's wrapper after the assembly has successfully compiled—yet the strategy would not compile precisely because that wrapper did not yet exist. Rather than persisting with a dependency that failed in two different ways, the pivot detection algorithm was duplicated directly within the strategy using the same parameters. An option was also added to mark the pivots on the chart, allowing for a visual check to confirm they match those of the original indicator. A strict separation exists between the decision to enter a trade and the management of the open position. The current version evaluates entries exclusively at the bar close (this is how pivots are confirmed; evaluating them intra-bar would generate signals that a backtest could not replicate in live trading), yet it manages the open position on a tick-by-tick basis—the level of resolution where trailing stops truly require it.
Signal lag is a structural feature, not a flaw to be fixed. A pivot is confirmed several bars after it occurs—this is the only way to verify it was a genuine extreme, and it is the necessary trade-off to ensure the signal does not repaint. Any "instant" pivot detection results in repainting, meaning the performance measured in such backtests cannot be replicated in a live trading account.
TARGET AUDIENCE: Traders who trade based on a confluence of technical signals (pivot structure, zones, divergence, VWAP) and prefer a system where each confirmation layer can be independently enabled or disabled to analyze its actual contribution, rather than an all-or-nothing package of fixed rules.
TECHNICAL REQUIREMENTS: NinjaTrader 8. Instruments: ES, NQ, GC, CL, MES, MNQ, MGC, MCL. Does not rely on any separately installed external indicators.