indicator · on price · open source

Order Blocks (Bearish)

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

About

Bearish Order Blocks mark the last bullish candle before a bearish break of structure — the mirror of bullish OBs.

  • Red zone = OB top/bottom; shaded fill shows the mitigation range.
  • Zones extend for extendBars bars; perfect for shorting into premium on a retracement.
  • Use in confluence with a CHOCH signal for highest probability.

Source code

//@version=5
indicator("Order Blocks (Bearish)", overlay=true)
swing = input.int(5, "Swing Length", minval=2, maxval=50)
lookback = input.int(30, "OB Lookback", minval=5, maxval=100)
extendBars = input.int(30, "Extend Bars", minval=5, maxval=200)
pl = ta.pivotlow(low, swing, swing)
var float lastPl = na
var float prevPl = na
var float obBearTop = na
var float obBearBot = na
var int obBearAge = 9999
if not na(pl)
    prevPl := lastPl
    lastPl := pl
if not na(lastPl) and not na(prevPl) and lastPl < prevPl
    found = false
    for i = 1 to math.min(lookback, swing * 4)
        if not found and close[i] > open[i]
            obBearTop := high[i]
            obBearBot := low[i]
            obBearAge := 0
            found := true
            break
obBearAge += 1
if obBearAge > extendBars
    obBearTop := na
    obBearBot := na
p_Bear_OB_Top = plot(obBearTop, "Bear OB Top", color=color.red, style=plot.style_linebr)
p_Bear_OB_Bot = plot(obBearBot, "Bear OB Bot", color=color.red, style=plot.style_linebr)
fill(p_Bear_OB_Top, p_Bear_OB_Bot, color=color.new(color.red, 85))
alertcondition(not na(obBearTop) and na(obBearTop[1]), "New bearish OB", "Bearish order block formed")

Comments

No comments yet.

Sign in to comment.