RobotFX curates the best open-source MetaTrader code to inspire your trading automation.
The signal engine fires a BUY arrow below the bar when a bullish candle touches an active Bullish Order Block after the block was formed, and a SELL arrow above the bar under the equivalent bearish condition. An optional confluence filter (Require FVG near OB) raises signal quality by only triggering when a same-directional FVG overlaps the Order Block zone. Signal arrows are placed at ATR-offset positions below lows (BUY) or above highs (SELL) for clean visual separation. Alerts are fully supported: popup, email, and push notification options are all independently switchable, and the indicator prevents duplicate alerts on the same bar.
Key features at a glance:
- Automatic BOS and CHoCH detection with trend-state tracking
- HH / HL / LH / LL swing labels drawn at each pivot
- Bullish and Bearish Order Block zones with mitigation logic
- Bullish and Bearish Fair Value Gap boxes with mitigation logic
- Equal Highs and Equal Lows detection with dashed connector lines
- BUY and SELL arrow signals based on OB retest (with optional FVG confluence filter)
- ATR-14 adaptive thresholds for noise-free detection on all timeframes
- Popup, email, and push notification alerts with per-bar deduplication
- All five modules are independently toggleable and fully color-customizable
- Automatic chart cleanup on removal or reinitialization

Trade the powerful Traders Dynamic Index strategy automatically with this dedicated TDI Expert Advisor. More details.
Input Parameters
|
Parameter |
Default |
Description |
|---|---|---|
|
--- Market Structure --- |
|
|
|
InpShowStructure |
true |
Enable or disable BOS/CHoCH lines and swing labels on the chart. |
|
InpSwingLength |
10 |
Number of bars to the left and right required to confirm a pivot high or low. Larger values produce fewer but more significant structure levels. |
|
InpShowSwingLabels |
true |
Show HH, HL, LH, LL labels at each detected swing pivot point. |
|
InpBullColor |
DodgerBlue |
Color used for bullish structure lines, BOS/CHoCH labels, and HL swing tags. |
|
InpBearColor |
Red |
Color used for bearish structure lines, BOS/CHoCH labels, and LH swing tags. |
|
--- Order Blocks --- |
|
|
|
InpShowOB |
true |
Enable or disable Order Block zone drawing. |
|
InpMaxOB |
5 |
Maximum number of active Order Blocks stored and displayed per direction (bull/bear). Oldest blocks are removed when the limit is reached. |
|
InpOBExtend |
20 |
Number of bars to extend the right edge of Order Block rectangles forward in time. |
|
InpBullOBColor |
CornflowerBlue |
Fill color for Bullish Order Block zones. |
|
InpBearOBColor |
LightCoral |
Fill color for Bearish Order Block zones. |
|
--- Fair Value Gaps --- |
|
|
|
InpShowFVG |
true |
Enable or disable Fair Value Gap zone drawing. |
|
InpBullFVGColor |
MediumSeaGreen |
Fill color for Bullish FVG zones (upward price imbalance). |
|
InpBearFVGColor |
Salmon |
Fill color for Bearish FVG zones (downward price imbalance). |
|
InpFVGExtend |
10 |
Number of bars to extend the right edge of FVG rectangles forward in time. |
|
--- Equal Highs and Lows --- |
|
|
|
InpShowEQHL |
true |
Enable or disable Equal Highs and Equal Lows detection and labeling. |
|
InpEQHLLen |
5 |
Pivot lookback length used specifically for the EQH/EQL module (bars each side). |
|
InpEQHLSens |
0.5 |
ATR multiplier defining how close two pivot levels must be to qualify as equal. A value of 0.5 means the price difference must be less than 0.5 x ATR. |
|
InpEQHColor |
OrangeRed |
Color for Equal Highs connector lines and labels. |
|
InpEQLColor |
LimeGreen |
Color for Equal Lows connector lines and labels. |
|
--- Signal Settings --- |
|
|
|
InpShowSignals |
true |
Enable or disable BUY and SELL arrow signals on the chart. |
|
InpRequireFVG |
false |
When enabled, a signal is only generated if an active same-directional FVG overlaps the triggering Order Block zone, adding a confluence filter. |
|
InpAlerts |
true |
Enable popup alert notifications when a new BUY or SELL signal fires. |
|
InpEmailAlert |
false |
Send an email notification on each new signal (requires email configured in MetaTrader terminal settings). |
|
InpPushAlert |
false |
Send a push notification to the MetaTrader mobile app on each new signal. |
Note: This indicator is provided for educational and analytical purposes only. Past signal performance does not guarantee future results. Always validate on a demo account before using on live capital.
Level up your trading with professional RobotFX expert advisors and indicators. Visit www.robotfx.org for proven MT4/MT5 tools.
71497