OPEN-SOURCE SCRIPT
XAUUSD Sniper Setup (Pre-Arrows + SL/TP)

//version=5
indicator("XAUUSD Sniper Setup (Pre-Arrows + SL/TP)", overlay=true)
// === Inputs ===
rangePeriod = input.int(20, "Lookback Bars for Zone", minval=5)
maxRangePercent = input.float(0.08, "Max Range % for Consolidation", step=0.01)
tpMultiplier = input.float(1.5, "TP Multiplier")
slMultiplier = input.float(1.0, "SL Multiplier")
// === Consolidation Detection ===
highestPrice = ta.highest(high, rangePeriod)
lowestPrice = ta.lowest(low, rangePeriod)
priceRange = highestPrice - lowestPrice
percentRange = (priceRange / close) * 100
isConsolidation = percentRange < maxRangePercent
// === Zones ===
demandZone = lowestPrice
supplyZone = highestPrice
// === Plot Consolidation Zone Background ===
bgcolor(isConsolidation ? color.new(color.gray, 85) : na)
// === Plot Potential Buy/Sell Levels ===
plot(isConsolidation ? demandZone : na, color=color.green, title="Potential Buy Level", linewidth=2)
plot(isConsolidation ? supplyZone : na, color=color.red, title="Potential Sell Level", linewidth=2)
// === Liquidity Sweep ===
liquidityTakenBelow = low < demandZone
liquidityTakenAbove = high > supplyZone
// === Engulfing Candles ===
bullishEngulfing = close > open and close[1] < open[1] and close > open[1]
bearishEngulfing = close < open and close[1] > open[1] and close < open[1]
// === Break of Structure ===
bosUp = high > ta.highest(high[1], 5)
bosDown = low < ta.lowest(low[1], 5)
// === Sniper Entry Conditions ===
buySignal = isConsolidation and liquidityTakenBelow and bullishEngulfing and bosUp
sellSignal = isConsolidation and liquidityTakenAbove and bearishEngulfing and bosDown
// === SL & TP Levels ===
slBuy = demandZone - (priceRange * slMultiplier)
tpBuy = close + (priceRange * tpMultiplier)
slSell = supplyZone + (priceRange * slMultiplier)
tpSell = close - (priceRange * tpMultiplier)
// === PRE-ARROWS (Show Before Breakout) ===
preBuyArrow = isConsolidation ? 1 : na
preSellArrow = isConsolidation ? -1 : na
plotarrow(preBuyArrow, colorup=color.new(color.green, 50), maxheight=20, minheight=20, title="Pre-Buy Arrow")
plotarrow(preSellArrow, colordown=color.new(color.red, 50), maxheight=20, minheight=20, title="Pre-Sell Arrow")
// === SNIPER CONFIRMATION ARROWS ===
buyArrow = buySignal ? 1 : na
sellArrow = sellSignal ? -1 : na
plotarrow(buyArrow, colorup=color.green, maxheight=60, minheight=60, title="Sniper BUY Arrow")
plotarrow(sellArrow, colordown=color.red, maxheight=60, minheight=60, title="Sniper SELL Arrow")
// === BUY SIGNAL ===
if buySignal
label.new(bar_index, low, "BUY\nSL/TP Added", style=label.style_label_up, color=color.green, textcolor=color.white)
line.new(bar_index, slBuy, bar_index + 5, slBuy, color=color.red, style=line.style_dotted)
line.new(bar_index, tpBuy, bar_index + 5, tpBuy, color=color.green, style=line.style_dotted)
label.new(bar_index, slBuy, "SL", color=color.red, style=label.style_label_down)
label.new(bar_index, tpBuy, "TP", color=color.green, style=label.style_label_up)
// === SELL SIGNAL ===
if sellSignal
label.new(bar_index, high, "SELL\nSL/TP Added", style=label.style_label_down, color=color.red, textcolor=color.white)
line.new(bar_index, slSell, bar_index + 5, slSell, color=color.red, style=line.style_dotted)
line.new(bar_index, tpSell, bar_index + 5, tpSell, color=color.green, style=line.style_dotted)
label.new(bar_index, slSell, "SL", color=color.red, style=label.style_label_up)
label.new(bar_index, tpSell, "TP", color=color.green, style=label.style_label_down)
// === Alerts ===
alertcondition(buySignal, title="Sniper BUY", message="Sniper BUY setup on XAUUSD")
alertcondition(sellSignal, title="Sniper SELL", message="Sniper SELL setup on XAUUSD")
XAUUSD
indicator("XAUUSD Sniper Setup (Pre-Arrows + SL/TP)", overlay=true)
// === Inputs ===
rangePeriod = input.int(20, "Lookback Bars for Zone", minval=5)
maxRangePercent = input.float(0.08, "Max Range % for Consolidation", step=0.01)
tpMultiplier = input.float(1.5, "TP Multiplier")
slMultiplier = input.float(1.0, "SL Multiplier")
// === Consolidation Detection ===
highestPrice = ta.highest(high, rangePeriod)
lowestPrice = ta.lowest(low, rangePeriod)
priceRange = highestPrice - lowestPrice
percentRange = (priceRange / close) * 100
isConsolidation = percentRange < maxRangePercent
// === Zones ===
demandZone = lowestPrice
supplyZone = highestPrice
// === Plot Consolidation Zone Background ===
bgcolor(isConsolidation ? color.new(color.gray, 85) : na)
// === Plot Potential Buy/Sell Levels ===
plot(isConsolidation ? demandZone : na, color=color.green, title="Potential Buy Level", linewidth=2)
plot(isConsolidation ? supplyZone : na, color=color.red, title="Potential Sell Level", linewidth=2)
// === Liquidity Sweep ===
liquidityTakenBelow = low < demandZone
liquidityTakenAbove = high > supplyZone
// === Engulfing Candles ===
bullishEngulfing = close > open and close[1] < open[1] and close > open[1]
bearishEngulfing = close < open and close[1] > open[1] and close < open[1]
// === Break of Structure ===
bosUp = high > ta.highest(high[1], 5)
bosDown = low < ta.lowest(low[1], 5)
// === Sniper Entry Conditions ===
buySignal = isConsolidation and liquidityTakenBelow and bullishEngulfing and bosUp
sellSignal = isConsolidation and liquidityTakenAbove and bearishEngulfing and bosDown
// === SL & TP Levels ===
slBuy = demandZone - (priceRange * slMultiplier)
tpBuy = close + (priceRange * tpMultiplier)
slSell = supplyZone + (priceRange * slMultiplier)
tpSell = close - (priceRange * tpMultiplier)
// === PRE-ARROWS (Show Before Breakout) ===
preBuyArrow = isConsolidation ? 1 : na
preSellArrow = isConsolidation ? -1 : na
plotarrow(preBuyArrow, colorup=color.new(color.green, 50), maxheight=20, minheight=20, title="Pre-Buy Arrow")
plotarrow(preSellArrow, colordown=color.new(color.red, 50), maxheight=20, minheight=20, title="Pre-Sell Arrow")
// === SNIPER CONFIRMATION ARROWS ===
buyArrow = buySignal ? 1 : na
sellArrow = sellSignal ? -1 : na
plotarrow(buyArrow, colorup=color.green, maxheight=60, minheight=60, title="Sniper BUY Arrow")
plotarrow(sellArrow, colordown=color.red, maxheight=60, minheight=60, title="Sniper SELL Arrow")
// === BUY SIGNAL ===
if buySignal
label.new(bar_index, low, "BUY\nSL/TP Added", style=label.style_label_up, color=color.green, textcolor=color.white)
line.new(bar_index, slBuy, bar_index + 5, slBuy, color=color.red, style=line.style_dotted)
line.new(bar_index, tpBuy, bar_index + 5, tpBuy, color=color.green, style=line.style_dotted)
label.new(bar_index, slBuy, "SL", color=color.red, style=label.style_label_down)
label.new(bar_index, tpBuy, "TP", color=color.green, style=label.style_label_up)
// === SELL SIGNAL ===
if sellSignal
label.new(bar_index, high, "SELL\nSL/TP Added", style=label.style_label_down, color=color.red, textcolor=color.white)
line.new(bar_index, slSell, bar_index + 5, slSell, color=color.red, style=line.style_dotted)
line.new(bar_index, tpSell, bar_index + 5, tpSell, color=color.green, style=line.style_dotted)
label.new(bar_index, slSell, "SL", color=color.red, style=label.style_label_up)
label.new(bar_index, tpSell, "TP", color=color.green, style=label.style_label_down)
// === Alerts ===
alertcondition(buySignal, title="Sniper BUY", message="Sniper BUY setup on XAUUSD")
alertcondition(sellSignal, title="Sniper SELL", message="Sniper SELL setup on XAUUSD")
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.