indicator · on price · open source
Mitigated Order Blocks
Running…
Loading chart…
About
Mitigated Order Blocks — bullish OBs coloured grey once price trades back through them, signalling the zone has been 'mitigated' (used up).
- Top/bottom lines drawn for
extendBarsafter formation. - Green = live OB, grey = mitigated OB.
- Use mitigated OBs as historical reference points for back-testing setups.
Source code
//@version=5
indicator("Mitigated Order Blocks", 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(50, "Extend Bars", minval=5, maxval=200)
ph = ta.pivothigh(high, swing, swing)
var float lastPh = na
var float prevPh = na
var float obTop = na
var float obBot = na
var int obAge = 9999
var bool mitigated = false
if not na(ph)
prevPh := lastPh
lastPh := ph
if not na(lastPh) and not na(prevPh) and lastPh > prevPh
found = false
for i = 1 to math.min(lookback, swing * 4)
if not found and close[i] < open[i]
obTop := high[i]
obBot := low[i]
obAge := 0
mitigated := false
found := true
break
obAge += 1
var bool mit = not na(obTop) and low <= obBot
mitigated := mitigated or mit
obTop := obAge > extendBars ? na : obTop
obBot := obAge > extendBars ? na : obBot
p_OB_Top_Live = plot(mitigated ? na : obTop, "OB Top Live", color=color.green, style=plot.style_linebr)
p_OB_Bot_Live = plot(mitigated ? na : obBot, "OB Bot Live", color=color.green, style=plot.style_linebr)
p_OB_Top_Mitigated = plot(mitigated ? obTop : na, "OB Top Mitigated", color=color.gray, style=plot.style_linebr)
p_OB_Bot_Mitigated = plot(mitigated ? obBot : na, "OB Bot Mitigated", color=color.gray, style=plot.style_linebr)
fill(p_OB_Top_Live, p_OB_Bot_Live, color=color.new(color.green, 85))
fill(p_OB_Top_Mitigated, p_OB_Bot_Mitigated, color=color.new(color.gray, 90))
alertcondition(mit and not mitigated[1], "OB mitigated", "Order block has been mitigated")
No comments yet.
Sign in to comment.