OPEN-SOURCE SCRIPT
Liquidity Sweep Strategy [Enhanced]

//version=5
indicator("Liquidity Sweep Strategy [Enhanced]", overlay=true)
// === USER SETTINGS ===
structureLookback = input.int(20, "Structure Lookback")
sweepSensitivity = input.int(2, "Sweep Sensitivity (Wicks Above/Below)")
showBreaks = input.bool(true, "Highlight Breaks of Structure")
showSweeps = input.bool(true, "Highlight Liquidity Sweeps")
showEntrySignals = input.bool(true, "Show Entry Signals After Sweeps")
emaLength = input.int(50, "EMA Trend Filter Length")
atrLength = input.int(14, "ATR Length")
atrMultiplier = input.float(1.2, "Minimum ATR for Valid Entry")
// === INDICATORS ===
ema = ta.ema(close, emaLength)
atr = ta.atr(atrLength)
// === HIGH/LOW STRUCTURE ===
var float lastHigh = na
var float lastLow = na
swingHigh = ta.highest(high, structureLookback) == high
swingLow = ta.lowest(low, structureLookback) == low
if swingHigh
lastHigh := high
if swingLow
lastLow := low
// === BREAK OF STRUCTURE ===
bosUp = showBreaks and swingHigh and close > lastHigh
bosDown = showBreaks and swingLow and close < lastLow
plotshape(bosUp, title="Break of Structure (Up)", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bosDown, title="Break of Structure (Down)", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// === LIQUIDITY SWEEP DETECTION ===
sweepHigh = high > lastHigh and close < lastHigh and showSweeps
sweepLow = low < lastLow and close > lastLow and showSweeps
plotshape(sweepHigh, title="Liquidity Sweep High", location=location.abovebar, color=color.orange, style=shape.xcross, size=size.small)
plotshape(sweepLow, title="Liquidity Sweep Low", location=location.belowbar, color=color.orange, style=shape.xcross, size=size.small)
// === ENTRY SIGNALS WITH CONFIRMATION ===
validShort = sweepHigh and close < open and close < ema and atr > atrMultiplier * ta.sma(close, atrLength)
validLong = sweepLow and close > open and close > ema and atr > atrMultiplier * ta.sma(close, atrLength)
entryShort = validShort and showEntrySignals
entryLong = validLong and showEntrySignals
plotshape(entryShort, title="Entry Short", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.normal)
plotshape(entryLong, title="Entry Long", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.normal)
// === ALERT CONDITIONS ===
alertcondition(entryShort, title="Short Entry Alert", message="Liquidity Sweep Short Entry with EMA + ATR Confirmation")
alertcondition(entryLong, title="Long Entry Alert", message="Liquidity Sweep Long Entry with EMA + ATR Confirmation")
// === BACKGROUND COLOR ON CONFIRMATION ===
bgcolor(bosUp or bosDown ? color.new(color.gray, 85) : na)
indicator("Liquidity Sweep Strategy [Enhanced]", overlay=true)
// === USER SETTINGS ===
structureLookback = input.int(20, "Structure Lookback")
sweepSensitivity = input.int(2, "Sweep Sensitivity (Wicks Above/Below)")
showBreaks = input.bool(true, "Highlight Breaks of Structure")
showSweeps = input.bool(true, "Highlight Liquidity Sweeps")
showEntrySignals = input.bool(true, "Show Entry Signals After Sweeps")
emaLength = input.int(50, "EMA Trend Filter Length")
atrLength = input.int(14, "ATR Length")
atrMultiplier = input.float(1.2, "Minimum ATR for Valid Entry")
// === INDICATORS ===
ema = ta.ema(close, emaLength)
atr = ta.atr(atrLength)
// === HIGH/LOW STRUCTURE ===
var float lastHigh = na
var float lastLow = na
swingHigh = ta.highest(high, structureLookback) == high
swingLow = ta.lowest(low, structureLookback) == low
if swingHigh
lastHigh := high
if swingLow
lastLow := low
// === BREAK OF STRUCTURE ===
bosUp = showBreaks and swingHigh and close > lastHigh
bosDown = showBreaks and swingLow and close < lastLow
plotshape(bosUp, title="Break of Structure (Up)", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bosDown, title="Break of Structure (Down)", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// === LIQUIDITY SWEEP DETECTION ===
sweepHigh = high > lastHigh and close < lastHigh and showSweeps
sweepLow = low < lastLow and close > lastLow and showSweeps
plotshape(sweepHigh, title="Liquidity Sweep High", location=location.abovebar, color=color.orange, style=shape.xcross, size=size.small)
plotshape(sweepLow, title="Liquidity Sweep Low", location=location.belowbar, color=color.orange, style=shape.xcross, size=size.small)
// === ENTRY SIGNALS WITH CONFIRMATION ===
validShort = sweepHigh and close < open and close < ema and atr > atrMultiplier * ta.sma(close, atrLength)
validLong = sweepLow and close > open and close > ema and atr > atrMultiplier * ta.sma(close, atrLength)
entryShort = validShort and showEntrySignals
entryLong = validLong and showEntrySignals
plotshape(entryShort, title="Entry Short", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.normal)
plotshape(entryLong, title="Entry Long", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.normal)
// === ALERT CONDITIONS ===
alertcondition(entryShort, title="Short Entry Alert", message="Liquidity Sweep Short Entry with EMA + ATR Confirmation")
alertcondition(entryLong, title="Long Entry Alert", message="Liquidity Sweep Long Entry with EMA + ATR Confirmation")
// === BACKGROUND COLOR ON CONFIRMATION ===
bgcolor(bosUp or bosDown ? color.new(color.gray, 85) : na)
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.