Skip to main content
On this page

BOS CHoCH Indicator MT5: Definitions, Installation and Repainting

· 7 min read
Pineify Team
Pine Script and AI trading workflow research team

A BOS/CHoCH indicator for MT5 labels breaks of selected price swings. It does not identify the trader behind a transaction. Before comparing signals, identify the exact indicator author, version, swing algorithm and break rule: different tools can label the same chart differently.

BOS CHoCH Indicator MT5: Smart Money Market Structure Trading Guide

What BOS and CHoCH mean​

A common convention calls a break in the existing structure direction a Break of Structure (BOS) and the first break against that direction a Change of Character (CHoCH). The initial direction and the swing chosen as the reference are part of the implementation, not universal market facts.

Existing structureObserved breakCommon label
Rising swingsAbove the selected swing highBullish BOS
Rising swingsBelow the selected swing lowBearish CHoCH
Falling swingsBelow the selected swing lowBearish BOS
Falling swingsAbove the selected swing highBullish CHoCH

These are descriptions of price movement. A CHoCH can be followed by a reversal, a range or a return to the previous direction. A BOS does not establish that continuation trades are safe or that institutions are buying. OHLC prices alone do not establish participant identity or intent.

A specific MT5 implementation to inspect​

The author's ZigZag BOS CHoCH Detection release provides downloadable MQL5 source. It uses ZigZag pivots, labels continuation and opposing breaks, and evaluates breaks with candle closes. Its documented inputs include lookback, depth, deviation and backstep. Those details apply to that release; they should not be assumed for every product with BOS or CHoCH in its name.

The same release explicitly warns that ZigZag pivots can change and that BOS/CHoCH levels can move with them. Updating only on new bars does not prove that historical labels are permanent. MetaQuotes also explains that the last ZigZag section can change as later prices arrive.

For a different indicator, read its source or author documentation before assuming its color scheme, alert behavior, supported timeframes or repaint policy. The earlier version of this guide asserted personal testing and non-repainting behavior without supporting records; those claims are not retained.

Install the indicator in MT5​

MetaTrader's application guide distinguishes an MQL5 source file from the compiled EX5 executable. A Pine Script file cannot be installed as an MT5 indicator.

  1. Obtain the exact release from its author. Keep the filename, version and source URL with your test notes.
  2. In MT5 desktop, open File → Open Data Folder and locate MQL5/Indicators.
  3. For a manually downloaded indicator, place its files in the appropriate indicator directory, preserving any required dependency folders. Compile an .mq5 source in MetaEditor and check the compiler output; an .ex5 file is already compiled.
  4. Refresh the Navigator or restart the terminal. Drag the indicator onto the intended broker symbol and timeframe.
  5. Inspect its inputs and the terminal logs before assuming it loaded correctly. Missing dependencies or insufficient history can prevent expected output.

MetaTrader also offers an integrated Code Base download workflow. Its indicator help explains attaching indicators and changing their properties. An indicator displays analysis; it does not place trades merely because a label appears.

Test when a label became available​

A finished historical chart can conceal signal revisions. Use a forward observation log on a demo account:

  1. Fix the broker feed, symbol, timeframe, timezone, indicator version and every input.
  2. At each completed bar, record the latest pivot coordinates and any new BOS/CHoCH label, including both the label's plotted time and the time you first saw it.
  3. Save screenshots or export accessible indicator values. Compare the records after additional bars and after reloading the chart.
  4. Count labels that moved, disappeared or were added to earlier bars. Treat a backdated label as unavailable before its actual observation time.
  5. If testing an alert, record its delivery time separately. A visible historical label does not prove an alert was delivered at that moment.

This procedure tests timing and stability. It does not, by itself, measure the profitability of a trading rule.

Turn the labels into a falsifiable rule​

A hypothesis might be: after a bullish CHoCH, wait for a later bullish BOS, then place a limit order at a predefined retracement level. That is an example for testing, not an established profitable combination. Specify which swing qualifies, whether a close or wick counts, when the setup expires, and what happens if the limit order never fills.

A structural stop also needs an exact price offset and a position-sizing rule based on the broker's contract size and tick value. Include spread, commission, financing and plausible slippage. A stop price is an instruction, not a guarantee of execution at that price.

Compare the CHoCH-only rule with the CHoCH-plus-BOS rule on the same data and costs. Waiting can exclude some false starts but also enter later or miss trades. Adding fair value gaps, order blocks or another timeframe creates another hypothesis to test; it does not provide independent evidence of institutional activity.

Choose settings without declaring a universal winner​

An H1 chart contains different swings from M5 or H4. A larger swing threshold usually changes the number and timing of pivots; the exact effect depends on the algorithm. There is no supported basis here for calling H1 best for gold or for assigning BOS a lower risk category than CHoCH.

Keep a small set of candidate inputs, select them on a development period, then evaluate unchanged rules on a separate period. Record signal count, turnover, drawdown and net results alongside missing or revised labels. Compare sensitivity to nearby input values rather than selecting a single attractive historical chart.

Frequently asked questions​

Is there a free BOS CHoCH indicator for MT5?

The linked ZigZag BOS CHoCH Detection release is available in the MQL5 Code Base. That identifies a specific downloadable implementation, not a performance endorsement or a claim about every similarly named product.

Does a candle-close signal prevent repainting?

No. A close-based break can still depend on a swing that later changes. The linked author's release explicitly warns that its ZigZag pivots and associated structure levels may move.

Can I use it on XAUUSD?

Test the exact release on your broker's XAUUSD symbol and available history. Broker quotes, contract specifications and costs affect the experiment; no gold-specific reliability or best timeframe is established here.

Can Pineify run this MQL5 indicator on TradingView?

An MQL5 file is not a Pine Script file. Pineify can help create a separate Pine Script implementation, but its swing and confirmation rules must be specified and compared. Compilation and testing in the destination platform remain necessary.

Where Pineify fits​

Use Pineify if you want to express a defined structure rule in Pine Script for TradingView. Creating a separate implementation is not proof of equivalence to the MT5 source or of trading performance. Check current plans and entitlements for the workflow you need.

Pineify Website