BOS and CHoCH MT4 indicator mapping bullish and bearish structural breaks.
Break of Structure (BOS & CHoCH) MT4 Indicator is a free RaptozGroup indicator for MetaTrader 4. Breaks of confirmed swing levels, classified by retained break direction as BOS or CHoCH. Order blocks, when enabled, use the last opposite candle before the break.
Break of Structure (BOS & CHoCH) MT4 Indicator Overview
Version 3.00 implementation: Breaks of confirmed swing levels, classified by retained break direction as BOS or CHoCH. Order blocks, when enabled, use the last opposite candle before the break. Test on a demo chart; this release does not claim identical results to third-party indicators.
What Is Market Structure, BOS, and CHoCH in Smart Money Concepts?
In Smart Money Concepts (SMC) and price action trading, Market Structure is the primary framework used to define trend direction and identify high-conviction reversal pivot points. Markets do not move in straight lines; they develop through a continuous series of swing highs and swing lows.
When price breaks an established swing point in the direction of the dominant trend, a Break of Structure (BOS) occurs, confirming that institutional momentum is continuing. Conversely, when price breaks a critical swing point in the opposite direction, a Change of Character (CHoCH) occurs, providing an early signal that the prevailing trend has ended and an institutional reversal is underway.
Break of Structure (BOS) vs Change of Character (CHoCH)
Break of Structure (BOS)
In an uptrend: Price breaks above the previous Higher High (HH). In a downtrend: Price breaks below the previous Lower Low (LL). Confirms trend continuation and validates the newly created Higher Low or Lower High swing base.
Change of Character (CHoCH)
In an uptrend: Price violates and closes below the last Higher Low (HL). In a downtrend: Price breaks above the last Lower High (LH). Signals the initial shift in market control from buyers to sellers (or vice versa).
Major External Structure vs Internal Sub-Structure
A crucial institutional nuance is distinguishing between external swing structure and internal sub-structure. External structure represents the macro trend boundaries (H4/Daily swings), while internal structure develops inside the leg of that major swing (M5/M15). An internal CHoCH on M5 often represents a minor pullback inside a major Daily bullish expansion leg.
Candle Body Close vs Wick Break Validation
A common pitfall in retail trading is confusing a wick sweep with a genuine structural break. The Break of Structure MT4 Indicator provides configurable validation modes:
| Break Condition | Structural Meaning | Indicator Classification |
|---|---|---|
| Candle Body Close | Full institutional displacement confirming commitment to new price territory. | Valid BOS / CHoCH |
| Wick-Only Spike | Liquidity grab or stop sweep without sustained order volume. | Liquidity Sweep (Not a BOS) |
Pro Trader Execution Rules & Structural Traps
- Always Trade in Harmony with External Structure: Do not take an internal bearish CHoCH if price has just tapped into a fresh Daily Demand zone.
- Identify the Origin Order Block: When a strong displacement BOS occurs, mark the origin candle that initiated the move—it serves as your prime re-entry level.
- Beware of Inducement Highs/Lows: The first minor pullbacks immediately following a BOS are often engineered as liquidity inducement traps.
Supported MT4 Timeframes & Multi-Timeframe Alignment
| Timeframe | Trading Role | Application |
|---|---|---|
| M1 / M5 | Execution / Timing | Pinpointing internal CHoCH shifts inside HTF supply/demand zones. |
| M15 / H1 | Intraday Structure | Mapping London/NY session trend continuation BOS levels. |
| H4 / D1 | Macro Direction | Identifying major swing highs/lows and institutional macro trend. |
Key Features & Capabilities
Input Parameters & Settings Guide
Configure the indicator inputs inside MetaTrader MT4 via the Inputs tab upon attaching to your chart:
| Parameter | Default Value | Description | Recommended |
|---|---|---|---|
| Lookback | 500 | Closed bars to scan; maximum 10000 | Demo-test first |
| SwingDepth | 3 | Pivot confirmation depth | Demo-test first |
| ShowLabels | true | Zone or structure labels | Demo-test first |
| BullColor | clrSeaGreen | Bullish objects | Demo-test first |
| BearColor | clrIndianRed | Bearish objects | Demo-test first |
| ShowBOS | true | Continuation structure breaks | Demo-test first |
| ShowCHoCH | true | Reversal structure breaks | Demo-test first |
| PopupAlerts | false | See implementation notes. | Demo-test first |
| PushAlerts | false | See implementation notes. | Demo-test first |
| EmailAlerts | false | See implementation notes. | Demo-test first |
| SoundAlerts | false | See implementation notes. | Demo-test first |
Trading Strategy & Entry Rules
Step 1: Determine Macro Trend Direction
Look at the H4/Daily chart and identify whether price is forming consecutive bullish or bearish BOS breaks.
Step 2: Identify Market Structure Pullback
Wait for price to retrace into an unmitigated Order Block or Fair Value Gap.
Step 3: Await Lower Timeframe CHoCH
On M5, wait for price to break the counter-trend structure (Change of Character) with a confirmed candle body close.
Step 4: Execute on Return to Origin
Place entry on the pullback to the origin candle that caused the CHoCH break.
Step 5: Target Next Structural BOS Level
Set profit targets at the previous major swing high or low for a 1:3+ risk-to-reward ratio.
MQL4 Source Code
Loading complete source file…
How to Install & Compile in MetaTrader MT4
Follow this complete step-by-step technical guide to install, compile, and configure the custom MQL4 indicator on your desktop trading terminal:
Download Source File
Download the raw .mq4 source file to your computer using the direct download button below.
Open MT4 Data Folder
Open your MetaTrader terminal, navigate to the top menu bar, click File → Open Data Folder, and open the MQL4 → Indicators subfolder.
Copy & Compile in MetaEditor
Paste the downloaded file into the Indicators directory. Press F4 on your keyboard to launch MetaEditor, open the file, and press Compile (F7). Ensure the compiler reports 0 errors and 0 warnings.
Attach to Chart & Configure
Return to your terminal, refresh the Navigator (Ctrl+N) panel, drag the indicator onto your active chart, and customize input parameters. These downloads do not require DLL imports.
Integrating with Expert Advisors (EA) via iCustom()
Buffer meanings differ between indicators. Check SetIndexBuffer and the plot labels in the complete source before using iCustom. A moving-average value is not a buy signal. Object-based zones and dashboards do not expose their drawings as signal buffers.
How to Set Up Mobile Push Notifications on iOS & Android
To receive the indicator’s supported alerts on your smartphone:
- Install the official MetaTrader MT4 app on your iPhone or Android smartphone.
- Open the mobile app, go to Settings → Messages, and copy your unique 8-character MetaQuotes ID.
- In your desktop MetaTrader terminal, click Tools → Options (Ctrl+O) → Notifications tab.
- Check Enable Push Notifications and paste your MetaQuotes ID into the box.
- Click Test to verify phone delivery, then enable push alerts in the indicator inputs.
Institutional Risk Management & Capital Preservation Protocol
Professional proprietary trading desks operate under strict risk control parameters to ensure longevity:
- Maximum 1% - 2% Risk Rule: Never risk more than 1% to 2% of total account equity on any individual trade setup.
- Minimum 1:2.5 Risk-to-Reward Ratio (RRR): Only execute setups where the potential profit target is at least 2.5 times greater than the stop-loss invalidation distance.
- Multi-Timeframe Confluence Required: Never take an intraday trade against the primary Daily or 4-Hour trend direction.
- High-Impact Economic News Awareness: Avoid entering new positions 15 minutes before and after major macroeconomic data releases (such as US Non-Farm Payrolls, CPI Inflation, and central bank FOMC/ECB interest rate announcements).
Strategy Backtesting & Historical Modeling Protocol
Before deploying any indicator or automated strategy in a live trading environment, professional quants conduct rigorous multi-year backtesting across varying market conditions:
- 99.9% Tick Data Modeling: Use high-precision tick history from reputable data providers (such as Dukascopy or TrueFX) to eliminate spread anomalies and slippage distortion.
- Spread & Commission Inclusion: Always test with realistic variable spreads and broker commission structures to simulate true real-world execution friction.
- Out-of-Sample Walk-Forward Optimization: Avoid curve-fitting by validating parameters on 70% in-sample data and testing robustness on 30% out-of-sample data.
- Monte Carlo Drawdown Analysis: Run randomized trade sequence simulations to calculate the maximum potential drawdown under adverse market volatility regimes.
Virtual Private Server (VPS) & Execution Latency Optimization
For active day traders, scalpers, and automated Expert Advisors, execution speed is paramount:
- Low-Latency Proximity Hosting: Deploy your MetaTrader MT4 terminal on a dedicated Windows VPS located in the same financial data center (e.g. Equinix LD4 in London or NY4 in New York) as your broker server to achieve sub-millisecond execution times.
- Terminal Memory Optimization: Go to Tools → Options → Charts and decrease Max bars in chart to 5,000 to conserve CPU and RAM resources.
- Audio & News Feed Disabling: Turn off unneeded terminal audio event chimes and background news feeds to ensure 100% of CPU cycles are dedicated to indicator calculations.
Common MetaTrader Error Codes & Resolution Matrix
| Error Code | Description | Exact Resolution Action |
|---|---|---|
| ERR_INVALID_STOPS (130) | Stop Loss or Take Profit is too close to current price. | Verify broker freeze/stops level in symbol specification and increase SL distance. |
| ERR_OFF_QUOTES (136) | Broker server has no available liquidity quotes. | Market may be closed or experiencing extreme liquidity disruption during major news. |
| ERR_REQUOTE (138) | Price moved before order reached broker liquidity pool. | Increase slippage tolerance deviation parameter in your order execution settings. |
| ERR_TRADE_TIMEOUT (128) | Order request timed out waiting for server acknowledgment. | Check internet connection latency or migrate terminal to a dedicated trading VPS. |
Institutional Quantitative Trading Lexicon
Broker Execution Models & Raw Spread Compatibility
To achieve optimal performance when using custom technical indicators:
- ECN / Raw Spread Accounts: Use True ECN accounts with 0.0 pip spreads and transparent commissions to ensure precision stop loss and take profit execution.
- No Dealing Desk (NDD) Routing: Direct market access ensures orders are routed straight to tier-1 liquidity providers without dealer intervention or artificial requotes.
- Leverage & Margin Safety: Maintain sufficient free margin (minimum 500% margin level) to avoid margin calls during sudden macroeconomic volatility spikes.
MarketStructure_BOS_CHoCH_MT4.mq4
Version: v3.00File Size: 8.4 KBTotal Downloads: 15,000+Access: Free source downloadPlatform: MetaTrader MT4
Already using MetaTrader? Download the compiled .ex4 file and place it in MQL4/Indicators.
Frequently Asked Questions

Quantitative algorithmic trading research desk specializing in MetaTrader MQL4/MQL5 automated systems, institutional order book mechanics, and risk management tools.
