OPEN-SOURCE SCRIPT
ice tea

//version=6
indicator("ICT + ICC Combined Strategy", overlay=true)
// === INPUTS ===
bosSensitivity = input.int(3, "BOS Sensitivity", minval=1)
showDashboard = input.bool(true, "Show Dashboard")
dashCorner = input.string("top_right", "Dashboard Corner", options=["top_left", "top_right", "bottom_left", "bottom_right"])
// === COLORS ===
bosColorBull = color.new(color.green, 0)
bosColorBear = color.new(color.red, 0)
// === STRUCTURE & BOS LOGIC (example) ===
var bool bullishBOS = false
var bool bearishBOS = false
// Extract function calls for consistency
highestClose = ta.highest(close, bosSensitivity)
lowestClose = ta.lowest(close, bosSensitivity)
// Dummy BOS detection (replace with your actual logic)
if close > highestClose
bullishBOS := true
bearishBOS := false
else if close < lowestClose
bearishBOS := true
bullishBOS := false
else
bullishBOS := false
bearishBOS := false
// === BOS PLOTTING ===
if bullishBOS
line.new(bar_index - bosSensitivity, low[bosSensitivity], bar_index, low, color=bosColorBull, style=line.style_dotted)
label.new(bar_index, low, "BOS ↑", style=label.style_label_up, color=bosColorBull, textcolor=color.white)
if bearishBOS
line.new(bar_index - bosSensitivity, high[bosSensitivity], bar_index, high, color=bosColorBear, style=line.style_dotted)
label.new(bar_index, high, "BOS ↓", style=label.style_label_down, color=bosColorBear, textcolor=color.white)
// === ICC / SHORT-TERM DEALING RANGE LOGIC (simplified example) ===
var float stHigh = na
var float stLow = na
if bullishBOS
stLow := low
stHigh := high
else if bearishBOS
stLow := low
stHigh := high
plot(stHigh, title="ST High", color=color.orange, linewidth=1)
plot(stLow, title="ST Low", color=color.orange, linewidth=1)
// === DASHBOARD PANEL ===
if showDashboard
// choose table position
dashPosition = switch dashCorner
"top_left" => position.top_left
"bottom_left" => position.bottom_left
"bottom_right" => position.bottom_right
=> position.top_right
var table dash = table.new(dashPosition, 2, 2, bgcolor=color.new(color.black, 85), frame_color=color.new(color.white, 70))
// Higher time frame bias placeholder (replace with actual HTF logic)
htfBias = bullishBOS ? "bullish" : bearishBOS ? "bearish" : "neutral"
htfTxtColor = htfBias == "bullish" ? color.new(color.green, 0) : htfBias == "bearish" ? color.new(color.red, 0) : color.new(color.yellow, 0)
sigTxtColor = bullishBOS ? color.new(color.green, 0) : bearishBOS ? color.new(color.red, 0) : color.new(color.yellow, 0)
table.cell(dash, 0, 0, "1H Bias:", text_color=color.white, text_size=size.small)
table.cell(dash, 1, 0, str.upper(htfBias), text_color=htfTxtColor, text_size=size.small)
table.cell(dash, 0, 1, "15M Signal:", text_color=color.white, text_size=size.small)
table.cell(dash, 1, 1, sigTxtColor == color.new(color.green, 0) ? "Buy Setup" : sigTxtColor == color.new(color.red, 0) ? "Sell Setup" : "Waiting", text_color=sigTxtColor, text_size=size.small)
indicator("ICT + ICC Combined Strategy", overlay=true)
// === INPUTS ===
bosSensitivity = input.int(3, "BOS Sensitivity", minval=1)
showDashboard = input.bool(true, "Show Dashboard")
dashCorner = input.string("top_right", "Dashboard Corner", options=["top_left", "top_right", "bottom_left", "bottom_right"])
// === COLORS ===
bosColorBull = color.new(color.green, 0)
bosColorBear = color.new(color.red, 0)
// === STRUCTURE & BOS LOGIC (example) ===
var bool bullishBOS = false
var bool bearishBOS = false
// Extract function calls for consistency
highestClose = ta.highest(close, bosSensitivity)
lowestClose = ta.lowest(close, bosSensitivity)
// Dummy BOS detection (replace with your actual logic)
if close > highestClose
bullishBOS := true
bearishBOS := false
else if close < lowestClose
bearishBOS := true
bullishBOS := false
else
bullishBOS := false
bearishBOS := false
// === BOS PLOTTING ===
if bullishBOS
line.new(bar_index - bosSensitivity, low[bosSensitivity], bar_index, low, color=bosColorBull, style=line.style_dotted)
label.new(bar_index, low, "BOS ↑", style=label.style_label_up, color=bosColorBull, textcolor=color.white)
if bearishBOS
line.new(bar_index - bosSensitivity, high[bosSensitivity], bar_index, high, color=bosColorBear, style=line.style_dotted)
label.new(bar_index, high, "BOS ↓", style=label.style_label_down, color=bosColorBear, textcolor=color.white)
// === ICC / SHORT-TERM DEALING RANGE LOGIC (simplified example) ===
var float stHigh = na
var float stLow = na
if bullishBOS
stLow := low
stHigh := high
else if bearishBOS
stLow := low
stHigh := high
plot(stHigh, title="ST High", color=color.orange, linewidth=1)
plot(stLow, title="ST Low", color=color.orange, linewidth=1)
// === DASHBOARD PANEL ===
if showDashboard
// choose table position
dashPosition = switch dashCorner
"top_left" => position.top_left
"bottom_left" => position.bottom_left
"bottom_right" => position.bottom_right
=> position.top_right
var table dash = table.new(dashPosition, 2, 2, bgcolor=color.new(color.black, 85), frame_color=color.new(color.white, 70))
// Higher time frame bias placeholder (replace with actual HTF logic)
htfBias = bullishBOS ? "bullish" : bearishBOS ? "bearish" : "neutral"
htfTxtColor = htfBias == "bullish" ? color.new(color.green, 0) : htfBias == "bearish" ? color.new(color.red, 0) : color.new(color.yellow, 0)
sigTxtColor = bullishBOS ? color.new(color.green, 0) : bearishBOS ? color.new(color.red, 0) : color.new(color.yellow, 0)
table.cell(dash, 0, 0, "1H Bias:", text_color=color.white, text_size=size.small)
table.cell(dash, 1, 0, str.upper(htfBias), text_color=htfTxtColor, text_size=size.small)
table.cell(dash, 0, 1, "15M Signal:", text_color=color.white, text_size=size.small)
table.cell(dash, 1, 1, sigTxtColor == color.new(color.green, 0) ? "Buy Setup" : sigTxtColor == color.new(color.red, 0) ? "Sell Setup" : "Waiting", text_color=sigTxtColor, text_size=size.small)
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.