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")
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.