OPEN-SOURCE SCRIPT
Equalhigh True FVG Scanner

# Equalhigh — True FVG Scanner
### User Guide · Version 5.2
Equalhigh True FVG Scanner combines filtered Fair Value Gaps, confirmed swing levels and classic two-candle gaps from a lower timeframe.
Its purpose is to organize potential reaction areas into a readable price map. It is an indicator, not an automated trading strategy.
## 1. Three Different Types of Levels
**Fair Value Gaps — turquoise and pink**
FVGs are detected on the chart timeframe using three consecutive candles:
* Bullish: the third candle’s low is above the first candle’s high.
* Bearish: the third candle’s high is below the first candle’s low.
The rectangle marks the space between those prices. The middle line represents the 50% level, also called Consequent Encroachment.
**Confirmed swing levels — gold**
These horizontal lines mark confirmed pivot highs and lows. By default, a pivot requires five candles on each side.
The line starts when the pivot is confirmed, five candles after the turning point. A closing break above a swing high or below a swing low removes that level. A wick alone does not remove it.
These levels do not contribute to the FVG score.
**Classic lower-timeframe gaps — blue/violet**
These use two consecutive candles on the selected lower timeframe:
* Gap up: the current low is above the previous high.
* Gap down: the current high is below the previous low.
These are complete gaps between candle ranges, not simply differences between the previous close and the next open. They are tracked independently of FVGs.
## 2. How FVGs Are Selected
Every displayed FVG must meet the minimum gap-size requirement and the middle-candle displacement requirements.
With the default settings:
* Minimum FVG size: 0.10 ATR.
* Minimum middle-candle body: 0.80 ATR.
* Minimum body-to-range ratio: 65%.
* Structure break required: enabled.
* Minimum score: 70/100.
The structure-break check requires the middle candle to close beyond the highest high or lowest low of the preceding lookback window. The default lookback is ten candles.
This is a rolling-range break definition, not a full BOS/CHoCH classification system.
## 3. Understanding the Score
The creation score combines:
* Displacement: 25 points.
* Structure break: 25 points.
* Liquidity sweep: 20 points.
* Premium/discount location: 10 points.
* Freshness at creation: 10 points.
* Session criterion: 5 points.
* Opposite-coloured candle before displacement: 5 points.
The sweep check uses the first candle of the three-candle pattern: it must exceed a previous extreme and close back inside.
Premium/discount compares the FVG midpoint with the midpoint of the preceding rolling range, using 50 candles by default.
The opposite-coloured candle criterion is a simple proxy. It does not establish a validated Order Block.
When session scoring is disabled, both directions receive its five points.
**The score is a rule-based ranking, not a win probability.** It remains fixed after creation, including the initial freshness points. Subsequent mitigation is shown separately.
There is no higher-timeframe EMA or trend filter in this version.
## 4. Reading FVG States
**FRESH**
The zone has not been touched by a subsequent candle. Its border is solid.
**TOUCHED**
Price has reached the zone without reaching its midpoint. The border becomes dashed and the fill more transparent.
**MITIGATED 50%**
Price has reached or crossed the midpoint. The border becomes dotted and the median line becomes thicker and solid.
These states are confirmed at chart-candle close and retain the deepest penetration recorded.
With “Remove fully filled FVG” enabled, reaching the opposite boundary removes the zone, even with a wick. This removal rule operates independently of the closing-invalidation setting.
If full-fill removal is disabled, a filled zone is retained as a grey, frozen archive unless invalidated. Focused nearest-zone mode hides these archives.
## 5. Keeping the Chart Readable
“Show nearest active FVG only” displays two zones above and two below the last confirmed close by default.
Zones containing that price are also displayed, so the total can exceed four.
Distance is measured to the nearest zone boundary. Hidden zones continue to be tracked within the storage limit and can reappear as price approaches them.
FVG price cards show the upper boundary, midpoint and lower boundary.
Historical creation triangles are optional and disabled by default. They mark FVG creation, not confirmed trade entries.
## 6. Configuring Classic Gaps
Open section **“5. Classic two-candle gaps (lower timeframe)”**.
Automatic timeframe selection chooses a supported timeframe approximately one-quarter of the chart timeframe. Disable it to select a lower timeframe manually.
Both initial size filters apply:
* Minimum gap in ticks: 2 by default.
* Minimum gap relative to lower-timeframe ATR: 0.05 by default.
Set the ATR threshold to zero to use only the tick filter.
The script processes available lower-timeframe candles chronologically. Overlapping candle ranges reduce the remaining open gap. A complete overlap removes it.
A jump entirely across a gap does not count as a fill. A candle contained inside a gap can leave two separate open portions.
By default, the module stores up to 40 open portions and displays the nearest two per side, plus portions containing the reference price.
## 7. GAP Prices on the Right Scale
Enable **“GAP prices on the price scale”** to display the remaining upper and lower boundaries directly on the price scale.
Up to ten nearest visible gap portions receive native scale markers.
Also enable **“Labels on price scale”** in the indicator’s **Style** tab. TradingView’s chart settings must permit indicator value labels.
Native scale markers show boundary prices. Optional floating GAP cards additionally show direction and timeframe.
The floating cards use a bar-based offset. They are not fixed to the screen edge.
## 8. Updates and Alerts
FVG creation, mitigation and swing confirmation use closed chart candles.
Classic gaps are also committed at chart-candle close. On a daily chart, their displayed state therefore updates when the daily candle closes.
Available alerts cover:
* New qualifying bullish FVG.
* New qualifying bearish FVG.
* New classic bullish lower-timeframe gap.
* New classic bearish lower-timeframe gap.
Alerts are independent of proximity visibility. A classic-gap creation alert can occur even if that gap was subsequently filled within the same chart candle.
Use “Once Per Bar Close” when configuring alerts.
## 9. Practical Limits
Lower-timeframe history depends on TradingView’s available data and your plan. The coverage panel shows the first processed date and latest update; older gaps may be outside coverage.
Storage limits can discard older zones or gap portions. Missing lower-timeframe data can also limit tracking.
Gap filling is inferred from candle high/low ranges, not transaction-by-transaction data.
Use standard time-based candlestick charts for interpretation. Synthetic candles can produce different patterns.
These levels are areas to observe, not guaranteed support, resistance or future targets. Neither a high score nor an open gap guarantees a reversal or eventual fill.
### User Guide · Version 5.2
Equalhigh True FVG Scanner combines filtered Fair Value Gaps, confirmed swing levels and classic two-candle gaps from a lower timeframe.
Its purpose is to organize potential reaction areas into a readable price map. It is an indicator, not an automated trading strategy.
## 1. Three Different Types of Levels
**Fair Value Gaps — turquoise and pink**
FVGs are detected on the chart timeframe using three consecutive candles:
* Bullish: the third candle’s low is above the first candle’s high.
* Bearish: the third candle’s high is below the first candle’s low.
The rectangle marks the space between those prices. The middle line represents the 50% level, also called Consequent Encroachment.
**Confirmed swing levels — gold**
These horizontal lines mark confirmed pivot highs and lows. By default, a pivot requires five candles on each side.
The line starts when the pivot is confirmed, five candles after the turning point. A closing break above a swing high or below a swing low removes that level. A wick alone does not remove it.
These levels do not contribute to the FVG score.
**Classic lower-timeframe gaps — blue/violet**
These use two consecutive candles on the selected lower timeframe:
* Gap up: the current low is above the previous high.
* Gap down: the current high is below the previous low.
These are complete gaps between candle ranges, not simply differences between the previous close and the next open. They are tracked independently of FVGs.
## 2. How FVGs Are Selected
Every displayed FVG must meet the minimum gap-size requirement and the middle-candle displacement requirements.
With the default settings:
* Minimum FVG size: 0.10 ATR.
* Minimum middle-candle body: 0.80 ATR.
* Minimum body-to-range ratio: 65%.
* Structure break required: enabled.
* Minimum score: 70/100.
The structure-break check requires the middle candle to close beyond the highest high or lowest low of the preceding lookback window. The default lookback is ten candles.
This is a rolling-range break definition, not a full BOS/CHoCH classification system.
## 3. Understanding the Score
The creation score combines:
* Displacement: 25 points.
* Structure break: 25 points.
* Liquidity sweep: 20 points.
* Premium/discount location: 10 points.
* Freshness at creation: 10 points.
* Session criterion: 5 points.
* Opposite-coloured candle before displacement: 5 points.
The sweep check uses the first candle of the three-candle pattern: it must exceed a previous extreme and close back inside.
Premium/discount compares the FVG midpoint with the midpoint of the preceding rolling range, using 50 candles by default.
The opposite-coloured candle criterion is a simple proxy. It does not establish a validated Order Block.
When session scoring is disabled, both directions receive its five points.
**The score is a rule-based ranking, not a win probability.** It remains fixed after creation, including the initial freshness points. Subsequent mitigation is shown separately.
There is no higher-timeframe EMA or trend filter in this version.
## 4. Reading FVG States
**FRESH**
The zone has not been touched by a subsequent candle. Its border is solid.
**TOUCHED**
Price has reached the zone without reaching its midpoint. The border becomes dashed and the fill more transparent.
**MITIGATED 50%**
Price has reached or crossed the midpoint. The border becomes dotted and the median line becomes thicker and solid.
These states are confirmed at chart-candle close and retain the deepest penetration recorded.
With “Remove fully filled FVG” enabled, reaching the opposite boundary removes the zone, even with a wick. This removal rule operates independently of the closing-invalidation setting.
If full-fill removal is disabled, a filled zone is retained as a grey, frozen archive unless invalidated. Focused nearest-zone mode hides these archives.
## 5. Keeping the Chart Readable
“Show nearest active FVG only” displays two zones above and two below the last confirmed close by default.
Zones containing that price are also displayed, so the total can exceed four.
Distance is measured to the nearest zone boundary. Hidden zones continue to be tracked within the storage limit and can reappear as price approaches them.
FVG price cards show the upper boundary, midpoint and lower boundary.
Historical creation triangles are optional and disabled by default. They mark FVG creation, not confirmed trade entries.
## 6. Configuring Classic Gaps
Open section **“5. Classic two-candle gaps (lower timeframe)”**.
Automatic timeframe selection chooses a supported timeframe approximately one-quarter of the chart timeframe. Disable it to select a lower timeframe manually.
Both initial size filters apply:
* Minimum gap in ticks: 2 by default.
* Minimum gap relative to lower-timeframe ATR: 0.05 by default.
Set the ATR threshold to zero to use only the tick filter.
The script processes available lower-timeframe candles chronologically. Overlapping candle ranges reduce the remaining open gap. A complete overlap removes it.
A jump entirely across a gap does not count as a fill. A candle contained inside a gap can leave two separate open portions.
By default, the module stores up to 40 open portions and displays the nearest two per side, plus portions containing the reference price.
## 7. GAP Prices on the Right Scale
Enable **“GAP prices on the price scale”** to display the remaining upper and lower boundaries directly on the price scale.
Up to ten nearest visible gap portions receive native scale markers.
Also enable **“Labels on price scale”** in the indicator’s **Style** tab. TradingView’s chart settings must permit indicator value labels.
Native scale markers show boundary prices. Optional floating GAP cards additionally show direction and timeframe.
The floating cards use a bar-based offset. They are not fixed to the screen edge.
## 8. Updates and Alerts
FVG creation, mitigation and swing confirmation use closed chart candles.
Classic gaps are also committed at chart-candle close. On a daily chart, their displayed state therefore updates when the daily candle closes.
Available alerts cover:
* New qualifying bullish FVG.
* New qualifying bearish FVG.
* New classic bullish lower-timeframe gap.
* New classic bearish lower-timeframe gap.
Alerts are independent of proximity visibility. A classic-gap creation alert can occur even if that gap was subsequently filled within the same chart candle.
Use “Once Per Bar Close” when configuring alerts.
## 9. Practical Limits
Lower-timeframe history depends on TradingView’s available data and your plan. The coverage panel shows the first processed date and latest update; older gaps may be outside coverage.
Storage limits can discard older zones or gap portions. Missing lower-timeframe data can also limit tracking.
Gap filling is inferred from candle high/low ranges, not transaction-by-transaction data.
Use standard time-based candlestick charts for interpretation. Synthetic candles can produce different patterns.
These levels are areas to observe, not guaranteed support, resistance or future targets. Neither a high score nor an open gap guarantees a reversal or eventual fill.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.