OPEN-SOURCE SCRIPT
CHoCH with Order Block Entry

//version=5
indicator("CHoCH with Order Block Entry", overlay=true)
// User Inputs
lookback = input.int(20, "Lookback for Highs/Lows", minval=1)
ob_zone_size = input.float(0.2, "Order Block Zone %", minval=0.1)
show_zones = input.bool(true, "Show Order Block Zones")
// Function to find recent swing high/low
var float lastHH = na
var float lastLL = na
var bool isBullChoch = false
var bool isBearChoch = false
hh = ta.highest(high, lookback)
ll = ta.lowest(low, lookback)
// Detect CHoCH
if high > lastHH and low < lastLL
isBullChoch := true
isBearChoch := false
lastHH := high
lastLL := low
else if low < lastLL and high < lastHH
isBullChoch := false
isBearChoch := true
lastHH := high
lastLL := low
// Order Block Logic
var float obHigh = na
var float obLow = na
var line obLineTop = na
var line obLineBottom = na
if isBullChoch
obHigh := high[1]
obLow := low[1]
if show_zones
obLineTop := line.new(bar_index, obHigh, bar_index + 10, obHigh, color=color.green, style=line.style_dashed)
obLineBottom := line.new(bar_index, obLow, bar_index + 10, obLow, color=color.green, style=line.style_dashed)
else if isBearChoch
obHigh := high[1]
obLow := low[1]
if show_zones
obLineTop := line.new(bar_index, obHigh, bar_index + 10, obHigh, color=color.red, style=line.style_dashed)
obLineBottom := line.new(bar_index, obLow, bar_index + 10, obLow, color=color.red, style=line.style_dashed)
// Entry Signal
buySignal = isBullChoch and close <= obHigh and close >= obLow
sellSignal = isBearChoch and close <= obHigh and close >= obLow
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
indicator("CHoCH with Order Block Entry", overlay=true)
// User Inputs
lookback = input.int(20, "Lookback for Highs/Lows", minval=1)
ob_zone_size = input.float(0.2, "Order Block Zone %", minval=0.1)
show_zones = input.bool(true, "Show Order Block Zones")
// Function to find recent swing high/low
var float lastHH = na
var float lastLL = na
var bool isBullChoch = false
var bool isBearChoch = false
hh = ta.highest(high, lookback)
ll = ta.lowest(low, lookback)
// Detect CHoCH
if high > lastHH and low < lastLL
isBullChoch := true
isBearChoch := false
lastHH := high
lastLL := low
else if low < lastLL and high < lastHH
isBullChoch := false
isBearChoch := true
lastHH := high
lastLL := low
// Order Block Logic
var float obHigh = na
var float obLow = na
var line obLineTop = na
var line obLineBottom = na
if isBullChoch
obHigh := high[1]
obLow := low[1]
if show_zones
obLineTop := line.new(bar_index, obHigh, bar_index + 10, obHigh, color=color.green, style=line.style_dashed)
obLineBottom := line.new(bar_index, obLow, bar_index + 10, obLow, color=color.green, style=line.style_dashed)
else if isBearChoch
obHigh := high[1]
obLow := low[1]
if show_zones
obLineTop := line.new(bar_index, obHigh, bar_index + 10, obHigh, color=color.red, style=line.style_dashed)
obLineBottom := line.new(bar_index, obLow, bar_index + 10, obLow, color=color.red, style=line.style_dashed)
// Entry Signal
buySignal = isBullChoch and close <= obHigh and close >= obLow
sellSignal = isBearChoch and close <= obHigh and close >= obLow
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.