1Copy the scriptPress Copy script above, or the copy button on the code below.
2Open the Pine EditorOpen a TradingView chart and choose Pine Editor at the bottom of the screen.
3Paste over the templateCreate a new indicator, select all of the template text and paste. Press Save and give it a name.
4Add it to the chartPress Add to chart, then adjust the settings with the gear icon next to its name.
Source Code
327 lines of Pine Script v5 from Market_Structure_Indicator.pine, published under MPL-2.0 (file header). Keep the author's credit and licence lines when you reuse it.
Market Structure - Clean & Objective classifies swing points into Higher Highs, Higher Lows, Lower Highs, and Lower Lows while detecting Break of Structure (BOS) and Change of Character (CHoCH) occurrences. Noise filtering can be configured using a minimum distance in pips or an ATR multiplier. User settings allow adjustment of pivot lengths, break buffers, line modes, and horizontal swing levels.
Pivot high and low detection with swing classification
Break of Structure (BOS) and Change of Character (CHoCH) alerts
Noise filtering via minimum pip distance or ATR threshold
The inputs you can change from the gear icon on the chart. Defaults are the author's.
Setting
Type
Default
Variable
Pivot Length (Left = Right)
int
5
swingLen
Use Minimum Swing Distance Filter
bool
true
useMinDistance
Min Swing Distance (pips)
float
5.0
minSwingPips
Use ATR Filter Instead
bool
false
useATRFilter
ATR Length
int
14
atrLength
Min ATR Multiplier
float
0.5
minATRMult
Show BOS (Break of Structure)
bool
true
showBOS
Show CHoCH (Change of Character)
bool
true
showCHoCH
BOS Buffer (pips)
float
2.0
bosBufferPips
Show Swing Labels (HH/HL/LH/LL)
bool
true
showSwingLabels
Show Structure Lines
bool
true
showStructureLines
Line Mode
string
ZigZag
lineMode
Show all 19 settings
Setting
Type
Default
Variable
Show Last Swing Levels (Horizontal)
bool
true
showLastSwingLevels
Bullish Swing Color
color
color.new(color.green, 20)
bullishColor
Bearish Swing Color
color
color.new(color.red, 20)
bearishColor
BOS Up Color
color
color.new(color.aqua, 0)
bosColorUp
BOS Down Color
color
color.new(color.fuchsia, 0)
bosColorDown
Max Swing Marks to Keep
int
50
maxMarks
Debug Mode (Show Internal State)
bool
false
debugMode
Third-party code. ForexR did not write, test or endorse this script, and the summary above was generated automatically from its code and README. Indicators describe the past, and a strategy's backtest can look better than live trading, especially when a script repaints. Check it in the Strategy Tester and on a demo account before you rely on it.
This indicator detects equal highs and lows by comparing prices within user-defined left and right bars using a tolerance percentage. It plots horizontal lines on the price chart for equal highs in one color and lows in another. A screener allows input of mult
This Pine Script indicator plots a ZigZag on the price chart. It identifies reversal points when price moves more than a set percentage from the last pivot. The script calculates forecasts using zigzag data and labels detected geometric patterns including harm
This indicator plots market structure on the price chart by identifying swing highs and lows. It connects these points with lines to visualize trend direction and detect Break of Structure (BOS) when price breaks a prior swing in the current trend. Change of C
This indicator implements the Fractal Model concept to plot market structure shifts, liquidity sweeps, and Change in State of Delivery (CISD) levels. It overlays custom higher-timeframe candle previews, open prices, and time markers directly on the price chart
BigBeluga Smart Money Concepts identifies and overlays market structure and volumetric order blocks directly on the price chart. It analyzes market swings, trend sweeps, and mapping structure using customizable pivot lengths and calculation modes. The indicato
Apex Trend & Liquidity Master calculates a trend cloud using customizable moving averages expanded by a volatility multiplier directly on the main price chart. It identifies dynamic support and resistance liquidity zones from swing high and low pivots, extendi