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.

1

Download the indicator

Log in to your dashboard and download the latest .zip file. Do not extract the archive.

2

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.

3

Restart NinjaTrader

Close and reopen NinjaTrader 8 to complete the installation. The indicator will appear in your indicators list as FIMarketStructure.

4

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.

Display modes: You can show BOS/CHoCH as lines only, text labels, or text with the timeframe indicator. Configure via the toolbar menu under Display.

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:

0%23.6%38.2%50%61.8%78.6%

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.

LevelDescription
VWAPVolume 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 / LowYesterday's high and low. Key reference levels — breaks above PDH or below PDL signal initiative activity.
Current Day High / LowToday's running high and low, updated in real-time.
Yesterday CloseThe prior session's closing price. A key reference for gap analysis.
Yesterday OpenThe prior session's opening price.
Premarket High / LowHigh 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

VWAP linePrior Day High/LowCurrent Day High/LowYesterday Close/OpenSession High/LowAfter HoursBOS lines (bull/bear)BOS text labelsEMA 1 / 2 / 3Supply zone fillDemand zone fillZone bordersBullish FVGBearish FVGFibonacci levelsCandle up/down colorsAll line widthsAll dash styles

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