The NinjaTrader BOS & CHOCH Indicator is built on one of the fundamental concepts of price action analysis — the study of market structure. At its core, the indicator tracks two key elements: Break of Structure (BOS) and Change of Character (CHoCH). Together, they form the foundation for understanding how trends are established, maintained, and eventually reverse.
From a structural perspective, a BOS occurs when the price decisively breaks a key high or low in the direction of the prevailing trend. This confirms trend continuation and reflects the current state of the underlying order flow. CHoCH, on the other hand, marks the first structural break in the opposite direction — a visual indication that market sentiment may be shifting and the prevailing trend structure could be transitioning into a new phase.
In practice, these elements form the basis for Smart Money Concepts (SMC), Inner Circle Trader (ICT) methodologies, and other approaches grounded in structural analysis.
The significance of BOS and CHoCH lies in their ability to contextualize market movements. Instead of treating every breakout as meaningful, the methodology places these market events within a broader sequence of higher highs / higher lows (bullish structure) and lower highs / lower lows (bearish structure). This distinction is crucial: BOS confirms the continuity of the current trend structure, while CHoCH identifies a potential shift in market character.
The BOS & CHOCH Indicator for NinjaTrader allows traders to integrate this logic into their analytical process, preserving methodological rigor and the accuracy of structure identification.
Important Note
This version of the BOS & CHoCH Indicator for NinjaTrader is designed to strictly follow the correct definition of BOS and CHoCH patterns, based on the precise sequence of swing points that indicate a change in market character.
Many similar indicators simplify the logic and interpret BOS and CHoCH as any local breakout, without verifying the necessary swing sequence. This approach ignores the overall market context and the preceding Bullish or Bearish structure, often resulting in unreliable data points and inconsistent structural identification.
In this solution, BOS and CHoCH are identified only when the full swing sequence is respected. Each breakout is considered in the context of the complete structure, not as an isolated event. This ensures that real changes in market character are captured, providing accurate and systematic structural analysis.
BOS and CHoCH Identification Rules
| Type BOS / CHoCH | Classic Version | Allowable Deviation |
| Bullish BOS | HL → HH → break HH ↑ | HL → HH → HL → break HH ↑ |
| Bearish BOS | LH → LL → break LL ↓ | LH → LL → LH → break LL ↓ |
| Bullish CHoCH | LL → LH → break LH ↑ | LL → LH → HL/LL → break LH ↑ |
| Bearish CHoCH | HH → HL → break HL ↓ | HH → HL → LH/HH → break HL ↓ |
The NinjaTrader Market Structure (BOS & CHoCH) Indicator provides practical and convenient tools, allowing traders to adjust settings for different trading styles and approaches. These features include:
The indicator detects and displays Strong Swings and Weak Swings, distinguishing major structural pivots from minor pullbacks. Strong Swings highlight key price turning points with higher structural significance, while Weak Swings reflect secondary movements within the trend. Both swing types can be enabled together or independently, allowing traders to reduce noise or analyze full price structure context.
The indicator allows traders to separately enable or disable the display of BOS (Break of Structure) and CHoCH (Change of Character). This flexibility is convenient because some traders prefer to focus only on market continuation events (BOS), while others concentrate on potential reversal points (CHoCH). By customizing the display, users can adapt the tool to match their personal trading approach without unnecessary visual clutter.
For better understanding and validation, the indicator provides a clear visualization of Swing Points directly on the chart. This makes it easy to track how market structure is forming and how BOS and CHoCH points appear in real time. Such visualization helps traders verify the sequence of swing highs and lows, providing additional clarity for structure identification. If the trader finds the display distracting, Swing Point marks can be easily turned off.
The indicator includes flexible options for event notifications and visual markers. Traders can enable or disable alerts depending on whether they require active notifications or only visual confirmation of a structural break. Similarly, on-chart markers can be switched off when the indicator is used as part of a broader analytical framework with multiple tools. This provides full control over the information flow and prevents cluttering the chart or trading workspace.
Flexible Confirmation Settings for BOS and CHoCH
Traders can fine-tune the logic for confirming BOS and CHoCH by choosing whether to rely on candle closes or high/low levels. This option accommodates different trading styles: some strategies prioritize candle closes as a conservative confirmation, while others prefer high/low extremes for more sensitive execution timing within their methodology. This adaptability makes the indicator suitable for both aggressive and conservative traders.
Threshold-Based Validation
The indicator includes the ability to define a threshold for BOS and CHoCH confirmation. This allows the user to set a minimum breakout distance that must be achieved before a structural event is validated. By adjusting this threshold, traders can filter out minor price fluctuations, refine the detection criteria, and align the indicator’s logic with their specific analytical methodology.
The indicator has the following parameters:
Alerts – Configure various types of alerts.
Swing Strength – Defines the number of bars the indicator considers when identifying local highs and lows based on fractal logic. A higher value increases the strictness of the swing definition, as the extreme must be surrounded by more bars with lower highs (for a top) or higher lows (for a bottom).
Enable BOS – activates the detection of Break of Structure (BOS) on the chart.
BOS Confirmation Price Type – specifies which price type is used to confirm BOS: candle close or high/low values.
Enable CHoCH – activates the detection of Change of Character (CHoCH) on the chart.
CHoCH Confirmation Price Type – specifies which price type is used to confirm CHoCH: candle close or high/low values.
Enable Break Confirmation Threshold – enables threshold-based confirmation for BOS and CHoCH. A breakout of a swing point is validated only when the price exceeds it by the predefined threshold.
Threshold Type – sets the unit for threshold measurement: ticks, points, or percentage.

We can customize this indicator to your needs — adding functions, modifying logic, or integrating it with other tools for your workflow.
We also convert indicators into Automated Trading Strategies with advanced functions (trailing stops, risk management, filters) tailored to your trading style strictly according to your specifications.
Request a free consultation to discuss the technical scope and timeline of your project.
We are committed to the ongoing development and refinement of our indicators. If you’ve spotted a bug, feel that something essential is missing, or have ideas that could make the indicator even better, just send us a message. Your feedback helps us improve and deliver tools that truly meet traders’ needs.
The indicator provides a set of exposed analytical plot outputs designed for structured integration with third-party strategy builders and automation tools such as BloodHound and BlackBird (SharkIndicators), as well as other algorithmic trading environments.
| Analytical Plot Name | Output Values | Description |
| Long | > 0 | Bullish directional detection condition. |
| Short | > 0 | Bearish directional detection condition. |
Plot output names and descriptions are technical identifiers intended solely for software integration purposes and do not constitute trading advice, signals, or recommendations.
Nordman Algorithms is a trade name of Nordman Algorithms OÜ (Reg. No. 14435535), registered in Tallinn, Estonia.
Software Nature & User Responsibility — Nordman Algorithms provides algorithmic software tools for technical analysis. Nordman Algorithms is not a financial advisor and is not liable for any losses. All trades conducted based on the software’s output are executed at the user’s sole discretion and risk.
Visual Markers & Signal Disclosure — This software may display visual markers (such as arrows, dots, or alerts) when predefined mathematical conditions are met. These markers are provided for educational and analytical purposes only, must not be interpreted as financial guidance, and do not constitute a recommendation to buy, sell, or hold any financial instrument. Users must independently validate all visual cues within their own trading methodology.
No Financial Advice — Nordman Algorithms does not provide discretionary trading signals, investment advice, or managed signal services. Our software represents a mathematical visualization of historical and real-time data. The appearance of a visual marker does not guarantee a profitable trade or predict future market behavior.
Trading Risk Warning — Futures, Forex, and options trading involve significant risk. Risk capital is money that can be lost without jeopardizing financial security. Only risk capital should be used for trading. Past performance is not indicative of future results. View Full Risk Disclosure: https://www.nordman-algorithms.com/risk-disclosure/
ESMA Risk Warning — Financial instruments, especially those involving leverage such as CFDs and Forex, are complex and carry a high risk of rapid financial loss. Our software provides analytical outputs and visual markers based on predefined mathematical conditions and does not mitigate or reduce inherent market risks. You should carefully consider whether you understand how leveraged financial instruments work and whether you can afford the high risk of losing your capital.
CFTC Rule 4.41 — Hypothetical or simulated performance results have inherent limitations. Unlike actual performance records, simulated results do not represent real trading. Because trades have not actually been executed, these results may under- or over-compensate for the impact of market factors such as liquidity. No representation is being made that any account will achieve profits or losses similar to those shown.
Trademark Notice — NinjaTrader® is a registered trademark of NinjaTrader Group, LLC. No NinjaTrader company has any affiliation with the owner, developer, or provider of the products or services described herein, or any interest, ownership or otherwise, in any such product or service, or endorses, recommends or approves any such product or service.