indicator · on price · open source

Fair Value Gaps (Both)

Deepwick · @deepwickv1Updated 2 Oct 2026▲ 0 users
Running…
Loading chart…

About

Fair Value Gaps (Bullish + Bearish) plotted together — every qualifying 3-candle imbalance is shaded in green (bull) or red (bear).

  • Combines bullish + bearish FVG logic in one overlay.
  • minGapPct filters tiny imbalances.
  • Quick visual map of all unfilled imbalances on the chart.

Source code

//@version=5
indicator("Fair Value Gaps (Both)", overlay=true)
minGapPct = input.float(0.1, "Min Gap %", minval=0, maxval=5, step=0.05)
extendBars = input.int(30, "Extend Bars", minval=5, maxval=200)
gapBull = low[0] > high[2]
gapBear = high[0] < low[2]
gapBullPct = (low[0] - high[2]) / close * 100
gapBearPct = (low[2] - high[0]) / close * 100
gapBull := gapBull and gapBullPct >= minGapPct
gapBear := gapBear and gapBearPct >= minGapPct
var float fvgBullTop = na
var float fvgBullBot = na
var float fvgBearTop = na
var float fvgBearBot = na
var int fvgBullAge = 9999
var int fvgBearAge = 9999
if gapBull
    fvgBullTop := low[0]
    fvgBullBot := high[2]
    fvgBullAge := 0
if gapBear
    fvgBearTop := low[2]
    fvgBearBot := high[0]
    fvgBearAge := 0
fvgBullAge += 1
fvgBearAge += 1
if fvgBullAge > extendBars
    fvgBullTop := na
    fvgBullBot := na
if fvgBearAge > extendBars
    fvgBearTop := na
    fvgBearBot := na
p_Bull_FVG_Top = plot(fvgBullTop, "Bull FVG Top", color=color.green, style=plot.style_linebr)
p_Bull_FVG_Bot = plot(fvgBullBot, "Bull FVG Bot", color=color.green, style=plot.style_linebr)
p_Bear_FVG_Top = plot(fvgBearTop, "Bear FVG Top", color=color.red, style=plot.style_linebr)
p_Bear_FVG_Bot = plot(fvgBearBot, "Bear FVG Bot", color=color.red, style=plot.style_linebr)
fill(p_Bull_FVG_Top, p_Bull_FVG_Bot, color=color.new(color.green, 88))
fill(p_Bear_FVG_Top, p_Bear_FVG_Bot, color=color.new(color.red, 88))

Comments

No comments yet.

Sign in to comment.