IDM CHoCH BOS Indicator: Structure Labels and Arrows

Written by Dominic Walsh · Published · Last updated

The idm choch bos indicator marks market structure on the price chart. It confirms swing pivots, then labels each break as CHoCH or BOS. A blue BuyArrow or an orange-red SellArrow prints whenever the read flips. Traders who follow inducement and structure ideas get that whole sequence in one tool.

This build ships as idm-choch-bos-indicator-forexmt4systems.ex4 for MT4 and idm-choch-bos-indicator-forexmt4systems.ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: BuyArrow, SellArrow
Alerts popup
Inputs 10

What the IDM CHoCH BOS Indicator draws on the chart

BuyArrow is the blue up arrow, code 233. It prints under the bar of a swing high that cleared the previous high while the read was bearish. SellArrow is the orange-red down arrow, code 234, and it prints above the swing low that undercut the previous low during a bullish read.

Text labels carry the rest of the story. CHoCH marks the flip itself in magenta. BOS marks a continuation break in aqua. IDM tags the swing that price swept just before the flip, in gold. Small H and L letters mark every confirmed pivot in silver.

All of it sits over the candles. The arrows come from two indicator buffers, and the words come from chart text objects. LabelPrefix keeps those objects under one name, so the tool clears its own drawings when you remove it.

  • BuyArrow: arrow, dodger blue, width 3, arrow code 233
  • SellArrow: arrow, orange red, width 3, arrow code 234
EURUSD H1 chart: idm choch bos indicator BuyArrow, SellArrow and the CHoCH, BOS and IDM labels.
EURUSD H1 chart: idm choch bos indicator BuyArrow, SellArrow and the CHoCH, BOS and IDM labels.

How the IDM CHoCH BOS Indicator calculates its values

Confirming a swing pivot

A pivot needs quiet neighbours. The code checks PivotLen bars on each side of the candidate bar. A swing high has to top every one of them, and a swing low has to undercut every one of them. Nothing counts until those right-hand bars close, so each mark lands a couple of candles late.

Labelling CHoCH and BOS

The walk carries the last swing high and the last swing low. A new high above the stored high, while the read was not already bullish, prints CHoCH and flips the read up. A further high in the same direction prints BOS instead. Lows work as the mirror, and the stored levels then move to the fresh pivot.

Arrows and the IDM tag

Only a flip earns an arrow. The code converts the pivot time back into a bar index, then writes the marker price into the BuyArrow or SellArrow buffer at that bar. ArrowOffPts pushes the marker clear of the candle. When a flip follows an opposite-side extreme, the tool tags that extreme as IDM.

How to read the signals

Start with the words, not the arrows. A CHoCH label says the last structural level gave way against the prevailing read. A BOS label says the current read simply carried on. Together they give you a running map of who controls the swing.

A BuyArrow under a bar marks the bullish flip. Many traders then wait for a pullback toward the gold IDM level rather than chasing the break. A SellArrow works the same way above price. The silver H and L letters let you check which pivots the tool actually used.

Alert channels in this build: popup, one message per closed bar.

Alerts go out by popup only, so there is no push, email or sound channel here. EnableAlerts gates them, and the check runs on the last closed bar, which limits output to one popup per bar.

Every IDM CHoCH BOS Indicator input

Core settings

Setting What it does Default
PivotLen bars left/right for swing pivot. PivotLen (default 2) sets how many bars on each side must stay beyond a swing candidate. A larger value finds fewer and bigger pivots. 2

Display settings

Setting What it does Default
HistoryBars bars to scan. HistoryBars (default 800) caps how far back the scan runs, which keeps a long chart responsive. 800
ArrowOffPts arrow offset in points. ArrowOffPts (default 18) lifts each arrow that many points clear of the candle it belongs to. 18
ClrIDM (see inputs panel) gold
ClrCHoCH (see inputs panel) magenta
ClrBoS (see inputs panel) aqua
ClrPivot (see inputs panel) silver
ShowPivotMarks mark every confirmed swing pivot. ShowPivotMarks (default true) prints the small H and L letters at every confirmed pivot. Switch it off to leave only the structure labels. on
LabelPrefix (see inputs panel) IDMCB_

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) on
idm choch bos indicator: Inputs panel: PivotLen 2, HistoryBars 800, ArrowOffPts 18 and the ShowPivotMarks switch.
Inputs panel: PivotLen 2, HistoryBars 800, ArrowOffPts 18 and the ShowPivotMarks switch.

Settings that fit your chart

For the screenshot the chart shows EURUSD on H1. Structure tools read best where swings have room, so H1 and H4 suit them well. On M1 the pivot test fires constantly and the labels crowd each other off the screen. Gold and index CFDs work too, though their wider ranges call for a longer pivot span than a major pair needs.

When the IDM CHoCH BOS Indicator fails

Every pivot lags. The code needs closed bars to the right of a swing before it accepts one. With the shipped span that means two extra candles, and on H4 two candles cost you eight hours. That delay is built into any honest structure rule.

Ranges produce label spam. Price pokes above and below the same shelf, so CHoCH and BOS alternate every few bars. The chart fills with words that mean almost nothing. Widen PivotLen or step up a timeframe when that starts.

Arrows only mark flips, never continuations. A long trend can run for weeks with BOS labels and no fresh arrow at all. Do not read the absence of an arrow as the absence of a setup.

The label set rebuilds on each pass. Older text objects shift as the pivot list refreshes, so a label you noticed yesterday may not sit in the same place today. Take your notes from price levels instead.

Copy idm-choch-bos-indicator-forexmt4systems.ex4 into MQL4/Indicators and idm-choch-bos-indicator-forexmt4systems.ex5 into MQL5/Indicators, then restart the terminal and drag the IDM CHoCH BOS Indicator onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Background reading on the method behind the IDM CHoCH BOS Indicator: Convergence trade on Wikipedia, Wedge at Investopedia.

Download the IDM CHoCH BOS Indicator for MT4 and MT5

The zip idm-choch-bos-indicator-forexmt4systems.zip holds idm-choch-bos-indicator-forexmt4systems.ex4, idm-choch-bos-indicator-forexmt4systems.ex5 and a short README, compiled files only. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

What separates a CHoCH label from a BOS label on the chart?

CHoCH marks a flip. The code prints it when a new swing high clears the stored high while the read was not already bullish. BOS marks continuation, so it prints when the same direction breaks again. Only the flip earns an arrow, which keeps the arrow count low.

Why does an arrow appear two bars after the swing itself?

PivotLen decides that delay. A swing high only counts once the bars to its right close lower, and the shipped span asks for two of them. The tool then walks back to the pivot bar and writes the arrow there. The mark is honest about the bar, yet it always arrives late.

What does the gold IDM label actually mark on the chart?

It marks the swing that price swept just before structure flipped. After a bullish CHoCH the tool tags the low that came before it. After a bearish flip it tags the prior high instead. Many traders read that level as the inducement the move ran through on its way up or down.

Does ShowPivotMarks change the arrows or only the letters?

Only the letters. ShowPivotMarks controls the small silver H and L text at each confirmed swing. Pivot detection keeps running either way, so CHoCH, BOS and both arrows behave exactly as before. Turn it off when the chart looks busy and you only want the structure read.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the IDM CHoCH BOS Indicator as one input. Always backtest before trading live.

Category: this is part of our Smart Money collection. Also, browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment