FI Market Structure Documentation
Complete reference for installing, configuring, and trading with the FI Market Structure indicator for NinjaTrader 8. Covers BOS/CHoCH, supply & demand zones, EMAs, squeeze momentum, measured moves, session levels, and more.
New to market structure?
Our free learning section covers the concepts behind this indicator in depth:
Installation
The FI Market Structure indicator is delivered as a .zip file that you import directly into NinjaTrader 8.
Download the indicator
Log in to your dashboard and download the latest .zip file. Do not extract the archive.
Import into NinjaTrader 8
Open NinjaTrader 8 and go to Control Center → Tools → Import → NinjaScript Add-On. Select the downloaded .zip file and click Open.
Restart NinjaTrader
Close and reopen NinjaTrader 8 to complete the installation. The indicator will appear in your indicators list as FIMarketStructure.
Add to a chart
Right-click any chart → Indicators → search for FIMarketStructure → click Add. The indicator overlays directly on your price panel.
Licensing & Activation
On first load, click the indicator's toolbar button and select License → Activate to enter your key. Find your key in your licenses dashboard.
License key format: XXXX-XXXX-XXXX-XXXX
Machine lock: Your license is tied to one machine at a time. Use your dashboard to reset if you switch computers.
Trial licenses: Trial keys give you 5 days of full access with all features unlocked.
Market Structure
The core of the indicator: automatic detection and labeling of swing structure, trend shifts, and key structural zones.
Break of Structure (BOS) & Change of Character (CHoCH)
BOS (Break of Structure)
A continuation signal. In an uptrend, price breaks above the previous swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. confirming buyers are still in control. In a downtrend, price breaks below the previous swing low. BOSDefinitionBreak of Structure — price breaks the previous swing point in the trend direction. Confirms continuation. confirms the existing trend is intact.
CHoCH (Change of Character)
A reversal signal. Price breaks a swing level in the opposite direction of the current trend. A bull CHoCHDefinitionChange of Character — the first warning a trend may be ending. Price breaks a swing point against the trend. breaks above a swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. in a downtrend. A bear CHoCH breaks below a swing low in an uptrend. CHoCH is the first sign of a potential trend change.
Swing Points
The indicator automatically identifies swing highs and swing lows and classifies them into four types:
HH
Higher High
Bullish continuation — higher peak
HL
Higher Low
Bullish continuation — higher trough
LH
Lower High
Bearish continuation — lower peak
LL
Lower Low
Bearish continuation — lower trough
Supply & Demand Zones
Demand Zones (Support)
Areas where aggressive buying previously occurred, creating a swing lowDefinitionA trough on the chart where price reversed higher. Marks where buyers previously overpowered sellers.. When price returns to a demand zoneDefinitionA price area where buyers previously overwhelmed sellers. Expect buying when price returns here., buyers are expected to step in again. Drawn as a highlighted zone below current price.
Supply Zones (Resistance)
Areas where aggressive selling previously occurred, creating a swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers.. When price returns to a supply zone, sellers are expected to defend it. Drawn as a highlighted zone above current price.
Zones are automatically marked as broken when price trades through them. Fresh (untested) zones are tracked separately. The indicator also detects MTF (higher timeframe) zones for stronger levels.
Fair Value Gaps (FVG)
Bullish FVG
A gap between the high of bar 1 and the low of bar 3 in a three-bar bullish sequence. Represents an area where buying was so aggressive that price left a void. Price tends to return and fill bullish FVGsDefinitionFair Value Gap — a three-candle pattern leaving a price void. Price tends to return and fill these gaps. as support.
Bearish FVG
A gap between the low of bar 1 and the high of bar 3 in a three-bar bearish sequence. Represents aggressive selling leaving a void. Price tends to return and fill bearish FVGsDefinitionFair Value Gap — a three-candle pattern leaving a price void. Price tends to return and fill these gaps. as resistance.
Configure the number of visible FVGs with the FVG Count parameter (default: 10). FVGs are automatically marked as filled when price trades through them.
Breaker Blocks
When a supply or demand zone gets broken, it can flip into a breaker block. A broken demand zone becomes a bearish breaker (resistance). A broken supply zone becomes a bullish breaker (support). The indicator automatically detects these flips and tracks whether they've been tested.
Measured Moves (Fibonacci)
The indicator detects active swing ranges and projects Fibonacci extension targets. When price rejects off a key Fib level (50%, 61.8%), it generates a measured move signal with a projected target at the -23.6% extension.
Fibonacci levels tracked:
Signals include quality scoring based on confluence count, FVG alignment, strong candle confirmation, and higher-timeframe zone proximity.
Session Levels
Key price levels drawn automatically on your chart. Each can be toggled on or off via the toolbar menu under Levels.
| Level | Description |
|---|---|
| VWAP | Volume Weighted Average Price for the current session. The institutional fair value benchmark. Price above VWAP = bullish bias, below = bearish. |
| Initial Balance (IB) | High and low of the first trading period (configurable, default first 60 minutes). Sets the day's reference range. |
| Opening Range (OR) | The high and low established in the opening period. Similar to IB but can be configured separately. |
| Prior Day High / Low | Yesterday's high and low. Key reference levels — breaks above PDH or below PDL signal initiative activity. |
| Current Day High / Low | Today's running high and low, updated in real-time. |
| Yesterday Close | The prior session's closing price. A key reference for gap analysis. |
| Yesterday Open | The prior session's opening price. |
| Premarket High / Low | High and low from the premarket session (overnight/globex). |
EMAs & SSL Channel
Three EMAs
Configurable exponential moving averages: EMA1 (default 8), EMA2 (default 21), and EMA3 (default 200). Use the fast/medium pair for entries and the 200 EMADefinitionExponential Moving Average — weights recent prices more heavily than older ones for faster trend response. for overall trend context.
SSL Channel
The SSLDefinitionSSL Channel — a trend-following overlay combining moving average crossovers with volatility bands for direction and entries. Channel trend system overlays a directional channel on the chart. It combines moving average crossovers with volatility bands to identify trend direction and potential reversal points. Includes candle coloring based on SSL trend state.
The indicator provides an EMA Bias reading (bullish when price is above EMA2, bearish below) that strategies can access programmatically.
Squeeze Momentum
Squeeze detection identifies when Bollinger Bands contract inside Keltner Channels — a sign of low volatility compression that often precedes explosive moves.
Squeeze On
Bollinger Bands are inside Keltner Channels. Volatility is contracting. The market is coiling for a potential breakout. Watch for the squeezeDefinitionLow volatility compression — Bollinger Bands inside Keltner Channels. Expect an explosive move when it fires. to fire in the direction of the prevailing trend.
Squeeze Fire
Bollinger Bands expand outside Keltner Channels. The breakout has begun. The direction of the first bars after the squeezeDefinitionLow volatility compression — Bollinger Bands inside Keltner Channels. Expect an explosive move when it fires. fires typically indicates the move's direction.
Multi-Timeframe Mode
MTF mode analyzes market structure on a higher timeframe while displaying it on your current chart. This gives you the higher-timeframe context without switching charts.
Available Timeframes
5m
5 Minute
15m
15 Minute
30m
30 Minute
1H
1 Hour
4H
4 Hour
D
Daily
When enabled, MTF mode draws higher-timeframe BOS/CHoCH, swing points, and zones on your chart with a timeframe label. MTF squeeze state and EMA bias are also tracked.
Session Tracking
The indicator tracks and visually separates trading sessions with background shading, divider lines, and session high/low levels.
Asia Session
Overnight session (typically 6pm-2am ET). Often sets the range that London and New York sessions react to.
London Session
European session (typically 2am-8am ET). Often initiates the day's directional move.
New York Session
US session (9:30am-4pm ET). Highest volume period with the most significant price action.
Configure session start/end times, Initial Balance end time, and after-hours display in the indicator properties or via the toolbar menu.
Alerts & Notifications
Real-time NinjaTrader alerts for key events. Each alert type can be toggled independently via the toolbar menu under Advanced.
BOS Alert
Fires when a Break of Structure is confirmed.
CHoCH Alert
Fires when a Change of Character is detected.
Measured Move Alert
Fires when a Fibonacci rejection signal generates a measured move target.
Zone Touch Alert
Fires when price enters a supply or demand zone.
Squeeze Alert
Fires when a squeeze fires (BB expands outside KC).
FVG Alert
Fires when a new Fair Value Gap is created or filled.
VWAP Cross Alert
Fires when price crosses above or below the session VWAP.
Buy/Sell Signal Alert
Fires on Super Bollinger Band buy or sell signals.
Themes & Customization
The indicator ships with multiple built-in themes and full color customization. Access themes from the toolbar menu under Theme, and fine-tune colors under Colors.
Customizable Elements
Color and style changes are auto-saved and persist between sessions. Your customizations survive indicator updates.
Glossary
- BOS (Break of Structure)
- A trend continuation signal where price breaks above the previous swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. (bullish) or below the previous swing low (bearish), confirming the existing trend.
- CHoCH (Change of Character)
- A potential trend reversal signal where price breaks a swing level in the opposite direction of the current trend. The first structural sign of a trend change.
- Swing High / Swing Low
- A local peak (high) or trough (low) in price. The building blocks of market structure. Identified using configurable swing strength.
- Higher High (HH) / Higher Low (HL)
- Bullish swing sequence. HH = swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. above the previous swing high. HL = swing low above the previous swing low. Together they define an uptrend.
- Lower High (LH) / Lower Low (LL)
- Bearish swing sequence. LH = swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. below the previous swing high. LL = swing low below the previous swing low. Together they define a downtrend.
- Supply Zone
- A price area where significant selling previously occurred, forming a swing highDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers.. Expected to act as resistance when price returns.
- Demand Zone
- A price area where significant buying previously occurred, forming a swing lowDefinitionA trough on the chart where price reversed higher. Marks where buyers previously overpowered sellers.. Expected to act as support when price returns.
- Fair Value Gap (FVG)
- A three-bar imbalanceDefinitionA price level where one side overwhelms the other by 3:1 or more. Shows where big players committed. where aggressive buying or selling leaves a gap between bar 1 and bar 3. Price tends to fill these gaps. Also known as an imbalance.
- Breaker Block
- A supply or demand zoneDefinitionA price area where buyers previously overwhelmed sellers. Expect buying when price returns here. that has been broken through and flipped. A broken demand zone becomes resistance (bearish breaker), and vice versa.
- Measured Move
- A projected price target based on Fibonacci extensions from a swing range. When price rejects at a key Fib level, the target is the extension in the opposite direction.
- VWAP
- Volume Weighted Average Price. The average price weighted by volume for the session. Institutional benchmark for fair value — traders above VWAPDefinitionVolume Weighted Average Price — the average price weighted by volume. Institutional benchmark for fair value. have a bullish bias.
- Initial Balance (IB)
- The price range established during the first hour of regular trading. Sets the day's reference range and often determines the trading type for the day.
- Opening Range (OR)
- Similar to the IBDefinitionInitial Balance — the price range of the first hour of regular trading. Sets the day's reference range. but with a configurable time window. The range set in the opening minutes of a session.
- EMA (Exponential Moving Average)
- A moving average that weights recent prices more heavily. The indicator uses three EMAs: fast (8), medium (21), and slow (200) by default.
- SSL Channel
- SSLDefinitionSSL Channel — a trend-following overlay combining moving average crossovers with volatility bands for direction and entries. Channel — a trend-following overlay that combines moving average crossovers with volatility bands. Provides trend direction, channel boundaries, and candle coloring.
- Squeeze
- When Bollinger Bands contract inside Keltner Channels, indicating low volatility. Often precedes a large directional move. The squeezeDefinitionLow volatility compression — Bollinger Bands inside Keltner Channels. Expect an explosive move when it fires. 'fires' when BBs expand back outside KCs.
- Equal Highs / Equal Lows
- When two or more swing highsDefinitionA peak on the chart where price reversed lower. Marks where sellers previously overpowered buyers. (or lows) form at approximately the same price. These levels often contain resting liquidityDefinitionResting orders (stop losses, limit orders) at known levels. Institutions need liquidity to fill large positions. (stop orders) and tend to get swept.
- Naked Level
- A key level (prior day high/low, IBDefinitionInitial Balance — the price range of the first hour of regular trading. Sets the day's reference range., etc.) from a previous session that hasn't been tested yet. Acts as a price magnet.
- MTF (Multi-Timeframe)
- Analyzing market structure on a higher timeframe while viewing a lower timeframe chart. Provides context without switching charts.
- Confluence
- When multiple independent signals or levels line up at the same price area. More confluenceDefinitionMultiple independent signals or levels aligning at the same price area. More confluence = higher probability. = higher probability setup.
Need help?
If you have questions about the indicator or need help with configuration, reach out to our support team.
Contact Support