0% found this document useful (0 votes)
1K views2 pages

CRT Indicator

The document outlines an advanced trading strategy for the Indian market using Pine Script version 5. It incorporates various technical analysis concepts such as market structure, liquidity zones, fair value gaps, order blocks, and smart money concepts to identify entry and exit points. The strategy also includes alert conditions and a dashboard for monitoring performance.

Uploaded by

Rana Naveen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views2 pages

CRT Indicator

The document outlines an advanced trading strategy for the Indian market using Pine Script version 5. It incorporates various technical analysis concepts such as market structure, liquidity zones, fair value gaps, order blocks, and smart money concepts to identify entry and exit points. The strategy also includes alert conditions and a dashboard for monitoring performance.

Uploaded by

Rana Naveen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

//@version=5

strategy("ICT Advanced Strategy - Indian Market (v1.2)", overlay=true,


default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===


length = input(20, "Market Structure Lookback")
fvgGap = input(2.0, "Fair Value Gap Threshold")
obLookback = input(5, "Order Block Lookback")
liqLookback = input(30, "Liquidity Lookback")
killZoneStart = input.time(timestamp("2022-01-01 09:15 +0530"), "Kill Zone Start")
killZoneEnd = input.time(timestamp("2022-01-01 10:30 +0530"), "Kill Zone End")
higherTF = input.timeframe("60", "Higher Timeframe")

// === MULTI-TIMEFRAME MARKET STRUCTURE ===


hhtf = request.security(syminfo.tickerid, higherTF, high)
lhtf = request.security(syminfo.tickerid, higherTF, low)
plot(hhtf, title="HTF High", color=color.fuchsia, linewidth=1)
plot(lhtf, title="HTF Low", color=color.aqua, linewidth=1)

// === LIQUIDITY ZONES ===


highLiq = ta.highest(high, liqLookback)
lowLiq = ta.lowest(low, liqLookback)
plot(highLiq, color=color.red, title="Buy-side Liquidity",
style=plot.style_stepline)
plot(lowLiq, color=color.blue, title="Sell-side Liquidity",
style=plot.style_stepline)

// === FAIR VALUE GAPS ===


fvgUp = low[1] > high[2] and (low[1] - high[2]) >= fvgGap
fvgDown = high[1] < low[2] and (low[2] - high[1]) >= fvgGap
bgcolor(fvgUp ? color.new(color.green, 80) : na, offset=-1)
bgcolor(fvgDown ? color.new(color.red, 80) : na, offset=-1)

// === ORDER BLOCKS ===


bullOB = close > open and low == ta.lowest(low, obLookback)
bearOB = close < open and high == ta.highest(high, obLookback)
plotshape(bullOB, location=location.belowbar, color=color.lime, style=shape.square,
title="Bullish OB")
plotshape(bearOB, location=location.abovebar, color=color.maroon,
style=shape.square, title="Bearish OB")

// === ICT KILL ZONE ===


isKillZone = time >= killZoneStart and time <= killZoneEnd
bgcolor(isKillZone ? color.new(color.navy, 85) : na, title="Kill Zone")

// === BREAKER BLOCKS ===


breakerBull = close > open and close[1] < open[1] and low < low[1]
breakerBear = close < open and close[1] > open[1] and high > high[1]
plotshape(breakerBull, location=location.belowbar, color=color.teal,
style=shape.circle, title="Breaker Bull")
plotshape(breakerBear, location=location.abovebar, color=color.orange,
style=shape.circle, title="Breaker Bear")

// === OTE ZONE ===


rangeHigh = ta.highest(high, length)
rangeLow = ta.lowest(low, length)
oteLow = rangeLow + 0.62 * (rangeHigh - rangeLow)
oteHigh = rangeLow + 0.79 * (rangeHigh - rangeLow)
plot(oteLow, color=color.yellow, title="OTE Low", style=plot.style_linebr)
plot(oteHigh, color=color.yellow, title="OTE High", style=plot.style_linebr)

// === SMART MONEY CONCEPT LABELS ===


label.new(bar_index, high, "HH", color=color.red, textcolor=color.white,
style=label.style_label_down)
label.new(bar_index, low, "LL", color=color.blue, textcolor=color.white,
style=label.style_label_up)
label.new(bar_index, high, "LH", color=color.yellow, textcolor=color.black,
style=label.style_label_down)
label.new(bar_index, low, "HL", color=color.green, textcolor=color.black,
style=label.style_label_up)
label.new(bar_index, close, "BMS", color=color.aqua, textcolor=color.black,
style=label.style_label_down)
label.new(bar_index, close, "CHoCH", color=color.orange, textcolor=color.black,
style=label.style_label_up)

// === ENTRY & EXIT ICONS ===


longEntry = bullOB and close > oteLow and isKillZone
shortEntry = bearOB and close < oteHigh and isKillZone
if longEntry
strategy.entry("Long", strategy.long)
label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white,
style=label.style_label_up)
if shortEntry
strategy.entry("Short", strategy.short)
label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white,
style=label.style_label_down)
strategy.exit("Exit Long", from_entry="Long", stop=lowLiq, limit=highLiq)
strategy.exit("Exit Short", from_entry="Short", stop=highLiq, limit=lowLiq)

// === ALERT CONDITIONS ===


alertcondition(longEntry, title="Long Signal", message="ICT Long Entry Confirmed")
alertcondition(shortEntry, title="Short Signal", message="ICT Short Entry
Confirmed")

// === DASHBOARD ===


var label dash = na
if bar_index % 50 == 0
label.delete(dash)
dash := label.new(bar_index, high, "ICT Strategy Ready (v1.2)",
style=label.style_label_down, color=color.green, textcolor=color.white)

// === END OF STRATEGY ===

You might also like