Momentum SNR VIP [TP1-3 + SL Aligned Right]//@version=6
indicator("Momentum SNR VIP ", overlay=true)
// === Settings ===
pip = input.float(0.0001, "Pip Size", step=0.0001)
sl_pip = 50 * pip
tp1_pip = 40 * pip
tp2_pip = 70 * pip
tp3_pip = 100 * pip
lookback = input.int(20, "Lookback for S/R", minval=5)
// === SNR ===
pivotHigh = ta.pivothigh(high, lookback, lookback)
pivotLow = ta.pivotlow(low, lookback, lookback)
supportZone = not na(pivotLow)
resistanceZone = not na(pivotHigh)
plotshape(supportZone, title="Support", location=location.belowbar, color=color.blue, style=shape.triangleup, size=size.tiny)
plotshape(resistanceZone, title="Resistance", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)
// === Price Action ===
bullishEngulfing = close < open and close > open and close > open and open <= close
bearishEngulfing = close > open and close < open and close < open and open >= close
bullishPinBar = close < open and (low - math.min(open, close)) > 1.5 * math.abs(close - open)
bearishPinBar = close > open and (high - math.max(open, close)) > 1.5 * math.abs(close - open)
buySignal = supportZone and (bullishEngulfing or bullishPinBar)
sellSignal = resistanceZone and (bearishEngulfing or bearishPinBar)
// === SL & TP ===
rawBuySL = low - 10 * pip
buySL = math.max(close - sl_pip, rawBuySL)
buyTP1 = close + tp1_pip
buyTP2 = close + tp2_pip
buyTP3 = close + tp3_pip
rawSellSL = high + 10 * pip
sellSL = math.min(close + sl_pip, rawSellSL)
sellTP1 = close - tp1_pip
sellTP2 = close - tp2_pip
sellTP3 = close - tp3_pip
// === Plot Lines ===
plot(buySignal ? buySL : na, title="Buy SL", color=color.red, style=plot.style_line, linewidth=1)
plot(buySignal ? buyTP1 : na, title="Buy TP1", color=color.green, style=plot.style_line, linewidth=1)
plot(buySignal ? buyTP2 : na, title="Buy TP2", color=color.green, style=plot.style_line, linewidth=1)
plot(buySignal ? buyTP3 : na, title="Buy TP3", color=color.green, style=plot.style_line, linewidth=1)
plot(sellSignal ? sellSL : na, title="Sell SL", color=color.red, style=plot.style_line, linewidth=1)
plot(sellSignal ? sellTP1 : na, title="Sell TP1", color=color.green, style=plot.style_line, linewidth=1)
plot(sellSignal ? sellTP2 : na, title="Sell TP2", color=color.green, style=plot.style_line, linewidth=1)
plot(sellSignal ? sellTP3 : na, title="Sell TP3", color=color.green, style=plot.style_line, linewidth=1)
// === Floating Labels on Right ===
if buySignal
label.new(x=bar_index + 20, y=buySL, text="SL : " + str.tostring(buySL, format.mintick), style=label.style_label_right, color=color.red, textcolor=color.white)
label.new(x=bar_index + 21, y=buyTP1, text="TP 1 : " + str.tostring(buyTP1, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
label.new(x=bar_index + 22, y=buyTP2, text="TP 2 : " + str.tostring(buyTP2, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
label.new(x=bar_index + 23, y=buyTP3, text="TP 3 : " + str.tostring(buyTP3, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
if sellSignal
label.new(x=bar_index + 20, y=sellSL, text="SL : " + str.tostring(sellSL, format.mintick), style=label.style_label_right, color=color.red, textcolor=color.white)
label.new(x=bar_index + 21, y=sellTP1, text="TP 1 : " + str.tostring(sellTP1, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
label.new(x=bar_index + 22, y=sellTP2, text="TP 2 : " + str.tostring(sellTP2, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
label.new(x=bar_index + 23, y=sellTP3, text="TP 3 : " + str.tostring(sellTP3, format.mintick), style=label.style_label_right, color=color.green, textcolor=color.white)
// === Signal Markers ===
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")
// === Alerts ===
alertcondition(buySignal, title="Buy Alert", message="🟢 BUY at Support Zone + Price Action")
alertcondition(sellSignal, title="Sell Alert", message="🟡 SELL at Resistance Zone + Price Action")
Candlestick analysis
Momentum SNR VIP [3 TP + Max 50 Pip SL]//@version=6
indicator("Momentum SNR VIP ", overlay=true)
// === Settings ===
pip = input.float(0.0001, "Pip Size", step=0.0001)
sl_pip = 50 * pip
tp1_pip = 40 * pip
tp2_pip = 70 * pip
tp3_pip = 100 * pip
lookback = input.int(20, "Lookback for S/R", minval=5)
// === SNR ===
pivotHigh = ta.pivothigh(high, lookback, lookback)
pivotLow = ta.pivotlow(low, lookback, lookback)
supportZone = not na(pivotLow)
resistanceZone = not na(pivotHigh)
plotshape(supportZone, title="Support", location=location.belowbar, color=color.blue, style=shape.triangleup, size=size.tiny)
plotshape(resistanceZone, title="Resistance", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)
// === Price Action ===
bullishEngulfing = close < open and close > open and close > open and open <= close
bearishEngulfing = close > open and close < open and close < open and open >= close
bullishPinBar = close < open and (low - math.min(open, close)) > 1.5 * math.abs(close - open)
bearishPinBar = close > open and (high - math.max(open, close)) > 1.5 * math.abs(close - open)
buySignal = supportZone and (bullishEngulfing or bullishPinBar)
sellSignal = resistanceZone and (bearishEngulfing or bearishPinBar)
// === SL & TP ===
rawBuySL = low - 10 * pip
buySL = math.max(close - sl_pip, rawBuySL)
buyTP1 = close + tp1_pip
buyTP2 = close + tp2_pip
buyTP3 = close + tp3_pip
rawSellSL = high + 10 * pip
sellSL = math.min(close + sl_pip, rawSellSL)
sellTP1 = close - tp1_pip
sellTP2 = close - tp2_pip
sellTP3 = close - tp3_pip
// === Plot Buy/Sell Signal
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")
// === Plot SL & TP lines
plot(buySignal ? buySL : na, title="Buy SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(buySignal ? buyTP1 : na, title="Buy TP1", color=color.green, style=plot.style_linebr, linewidth=1)
plot(buySignal ? buyTP2 : na, title="Buy TP2", color=color.green, style=plot.style_linebr, linewidth=1)
plot(buySignal ? buyTP3 : na, title="Buy TP3", color=color.green, style=plot.style_linebr, linewidth=1)
plot(sellSignal ? sellSL : na, title="Sell SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(sellSignal ? sellTP1 : na, title="Sell TP1", color=color.green, style=plot.style_linebr, linewidth=1)
plot(sellSignal ? sellTP2 : na, title="Sell TP2", color=color.green, style=plot.style_linebr, linewidth=1)
plot(sellSignal ? sellTP3 : na, title="Sell TP3", color=color.green, style=plot.style_linebr, linewidth=1)
// === Labels
if buySignal
label.new(x=bar_index, y=buySL, text="SL : " + str.tostring(buySL, "#.0000"), style=label.style_label_down, color=color.red, textcolor=color.white)
label.new(x=bar_index, y=buyTP1, text="TP1 : " + str.tostring(buyTP1, "#.0000"), style=label.style_label_up, color=color.green, textcolor=color.white)
label.new(x=bar_index, y=buyTP2, text="TP2 : " + str.tostring(buyTP2, "#.0000"), style=label.style_label_up, color=color.green, textcolor=color.white)
label.new(x=bar_index, y=buyTP3, text="TP3 : " + str.tostring(buyTP3, "#.0000"), style=label.style_label_up, color=color.green, textcolor=color.white)
if sellSignal
label.new(x=bar_index, y=sellSL, text="SL : " + str.tostring(sellSL, "#.0000"), style=label.style_label_up, color=color.red, textcolor=color.white)
label.new(x=bar_index, y=sellTP1, text="TP1 : " + str.tostring(sellTP1, "#.0000"), style=label.style_label_down, color=color.green, textcolor=color.white)
label.new(x=bar_index, y=sellTP2, text="TP2 : " + str.tostring(sellTP2, "#.0000"), style=label.style_label_down, color=color.green, textcolor=color.white)
label.new(x=bar_index, y=sellTP3, text="TP3 : " + str.tostring(sellTP3, "#.0000"), style=label.style_label_down, color=color.green, textcolor=color.white)
// === Alerts
alertcondition(buySignal, title="Buy Alert", message="🟢 BUY at Support Zone + Price Action")
alertcondition(sellSignal, title="Sell Alert", message="🟡 SELL at Resistance Zone + Price Action")
Hybrid candles by Marian BWill plot normal candles with the Heikin-Ashi colors.
You must bring the visiual order to front.
Volume Impulse Order Blocks | InvrsROBINHOODWhat the Indicator Does
The Volume Impulse Order Blocks indicator is designed to automatically identify and highlight key price zones where significant trading activity occurs, particularly after the market has made a potential bottom. Its primary goal is to visually distinguish between the initial, often institutional-driven market moves ("Smart Money") and the subsequent reactions from the broader market ("Retail").
The indicator watches for two specific volume patterns:
Paired Impulses: After identifying a significant swing low in price, the indicator looks for the first major spike in volume. It marks this as a "Smart Money" zone. It then watches for the next volume spike, which it labels as a "Retail" zone.
Singular Impulses: Sometimes, a single, powerful volume spike occurs on a candle that is the opposite color of the bars immediately surrounding it. The indicator identifies this as a standalone "Smart Money" event, suggesting a strong, isolated market action.
How to Use It in Trading
This indicator provides visual cues that can be interpreted as potential areas of future support or resistance.
Identifying Key Zones (The Boxes):
Smart Money Box (White/Black): This is the most important signal. It highlights a price range where large players may have initiated positions. A white box marks a bullish (up) candle, and a black box marks a bearish (down) candle. Traders often watch these zones closely, as price may react strongly if it returns to test them in the future.
Retail Box (Red): This box shows where the general market likely followed the initial smart money move. While still significant, it represents a secondary reaction.
Extending Boxes: All boxes automatically extend to the right and will only disappear once the price has traded completely through them. This allows you to see which zones have been "respected" and which have been "broken."
Confirmation Signals:
Blue Vertical Line: This thin blue line is a simple pointer that marks the exact candle of the initial "Smart Money" impulse, helping you pinpoint the event in time.
Trend Reversals: The appearance of a Smart Money box after a prolonged downtrend and a pivot low can be an early signal that the trend may be losing momentum and that significant buyers are entering the market.
In practice, a trader might use these boxes as high-probability zones to look for entries, exits, or to simply understand the underlying market dynamics. As with any tool, it is most effective when used in conjunction with other forms of analysis, such as market structure and trend analysis.
Ariezu2.0 - ScalperAriezu2.0 Pro - Trading Signals
Key features:
- Clear buy/sell signals on 1M and 5M timeframes only
- Clean dashboard showing current and previous signals
- Works best with Gold (XAUUSD) and major forex pairs
How to use:
1. Apply to your 1-minute or 5-minute chart
3. Stop-loss at minimum 50 pips from entry
Note: This is a trading tool, not financial advice. Trading involves risk. Use proper risk management.
Message in TG: @ForexIntelAd
CME Crude Oil 15-Min Multi-Unified Entry Zones (Dot Signals)//@version=6
indicator("CME Crude Oil 15-Min Multi-Unified Entry Zones (Dot Signals)", overlay=true)
// --- Input Parameters ---
emaLength = input.int(11, title="EMA Length", minval=1)
// Ichimoku Cloud Inputs (Adjusted for higher sensitivity)
conversionLineLength = input.int(7, title="Ichimoku Conversion Line Length (Sensitive)", minval=1)
baseLineLength = input.int(20, title="Ichimoku Base Line Length (Sensitive)", minval=1)
laggingSpanLength = input.int(40, title="Ichimoku Lagging Span Length (Sensitive)", minval=1)
displacement = input.int(26, title="Ichimoku Displacement", minval=1)
// MACD Inputs (Adjusted for higher sensitivity)
fastLength = input.int(9, title="MACD Fast Length (Sensitive)", minval=1)
slowLength = input.int(21, title="MACD Slow Length (Sensitive)", minval=1)
signalLength = input.int(6, title="MACD Signal Length (Sensitive)", minval=1)
// RSI Inputs
rsiLength = input.int(8, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=90)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=10, maxval=50)
// ADX Inputs
adxLength = input.int(14, title="ADX Length", minval=1)
adxTrendStrengthThreshold = input.int(20, title="ADX Trend Strength Threshold", minval=10, maxval=50)
// Weak Entry Threshold (50 ticks for Crude Oil, where 1 tick = $0.01)
// 50 ticks = $0.50
weakEntryTickThreshold = input.float(0.50, title="Weak Entry Threshold (in $)", minval=0.01)
// --- Indicator Calculations ---
// 1. EMA 11
ema11 = ta.ema(close, emaLength)
// 2. Ichimoku Cloud
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
tenkanSen = donchian(conversionLineLength)
kijunSen = donchian(baseLineLength)
senkouSpanA = math.avg(tenkanSen, kijunSen)
senkouSpanB = donchian(laggingSpanLength)
// Shifted for plotting (future projection)
senkouSpanA_plot = senkouSpanA
senkouSpanB_plot = senkouSpanB
// Chikou Span (lagging span, plotted 26 periods back)
chikouSpan = close
// 3. MACD
= ta.macd(close, fastLength, slowLength, signalLength)
// 4. RSI
rsi = ta.rsi(close, rsiLength)
// 5. ADX
= ta.dmi(adxLength, adxLength)
// --- Price Volume Pattern Logic ---
// Simplified volume confirmation:
isVolumeIncreasing = volume > volume
isVolumeDecreasing = volume < volume
isPriceUp = close > close
isPriceDown = close < close
bullishVolumeConfirmation = (isPriceUp and isVolumeIncreasing) or (isPriceDown and isVolumeDecreasing)
bearishVolumeConfirmation = (isPriceDown and isVolumeIncreasing) or (isPriceUp and isVolumeDecreasing)
// --- Daily Pivot Point Calculation (Critical Support/Resistance) ---
// Request daily High, Low, Close for pivot calculation
= request.security(syminfo.tickerid, "D", [high , low , close ])
// Classic Pivot Point Formula
dailyPP = (dailyHigh + dailyLow + dailyClose) / 3
dailyR1 = (2 * dailyPP) - dailyLow
dailyS1 = (2 * dailyPP) - dailyHigh
dailyR2 = dailyPP + (dailyHigh - dailyLow)
dailyS2 = dailyPP - (dailyHigh - dailyLow)
// --- Crosses and States for Unified Entry 1 (EMA & MACD) ---
// Moved ta.cross() calls outside of conditional blocks for consistent calculation.
emaGoldenCrossCondition = ta.cross(close, ema11)
emaDeathCrossCondition = ta.cross(ema11, close)
macdGoldenCrossCondition = ta.cross(macdLine, signalLine)
macdDeathCrossCondition = ta.cross(signalLine, macdLine)
emaIsBullish = close > ema11
emaIsBearish = close < ema11
macdIsBullishStrong = macdLine > signalLine and macdLine > 0
macdIsBearishStrong = macdLine < signalLine and macdLine < 0
// --- Unified Entry 1 Logic (EMA & MACD) ---
unifiedLongEntry1 = false
unifiedShortEntry1 = false
if (emaGoldenCrossCondition and macdIsBullishStrong )
unifiedLongEntry1 := true
else if (macdGoldenCrossCondition and emaIsBullish )
unifiedLongEntry1 := true
if (emaDeathCrossCondition and macdIsBearishStrong )
unifiedShortEntry1 := true
else if (macdDeathCrossCondition and emaIsBearish )
unifiedShortEntry1 := true
// --- Unified Entry 2 Logic (Ichimoku & EMA/Volume) ---
unifiedLongEntry2 = false
unifiedShortEntry2 = false
ichimokuCloudBullish = close > senkouSpanA_plot and close > senkouSpanB_plot and
senkouSpanA_plot > senkouSpanB_plot and
tenkanSen > kijunSen and
chikouSpan > close
ichimokuCloudBearish = close < senkouSpanA_plot and close < senkouSpanB_plot and
senkouSpanB_plot > senkouSpanA_plot and
tenkanSen < kijunSen and
chikouSpan < close
// Moved ta.cross() calls outside of conditional blocks for consistent calculation.
ichimokuBullishTriggerCondition = ta.cross(tenkanSen, kijunSen)
ichimokuBearishTriggerCondition = ta.cross(kijunSen, tenkanSen)
priceCrossAboveSenkouA = ta.cross(close, senkouSpanA_plot)
priceCrossBelowSenkouA = ta.cross(senkouSpanA_plot, close)
if (ichimokuBullishTriggerCondition or (priceCrossAboveSenkouA and close > senkouSpanB_plot)) and
emaIsBullish and
bullishVolumeConfirmation
unifiedLongEntry2 := true
if (ichimokuBearishTriggerCondition or (priceCrossBelowSenkouA and close < senkouSpanB_plot)) and
emaIsBearish and
bearishVolumeConfirmation
unifiedShortEntry2 := true
// --- Weak Entry Logic ---
weakLongEntry = false
weakShortEntry = false
// Function to check for weak long entry
// Checks if the distance to the nearest resistance (R1 or R2) is less than the threshold
f_isWeakLongEntry(currentPrice) =>
bool isWeak = false
// Check R1 if it's above current price and within threshold
if dailyR1 > currentPrice and (dailyR1 - currentPrice < weakEntryTickThreshold)
isWeak := true
// Check R2 if it's above current price and within threshold (only if not already weak by R1)
else if dailyR2 > currentPrice and (dailyR2 - currentPrice < weakEntryTickThreshold)
isWeak := true
isWeak
// Function to check for weak short entry
// Checks if the distance to the nearest support (S1 or S2) is less than the threshold
f_isWeakShortEntry(currentPrice) =>
bool isWeak = false
// Check S1 if it's below current price and within threshold
if dailyS1 < currentPrice and (currentPrice - dailyS1 < weakEntryTickThreshold)
isWeak := true
// Check S2 if it's below current price and within threshold (only if not already weak by S1)
else if dailyS2 < currentPrice and (currentPrice - dailyS2 < weakEntryTickThreshold)
isWeak := true
isWeak
// Apply weak entry check to Unified Entry 1
if unifiedLongEntry1 and f_isWeakLongEntry(close)
weakLongEntry := true
if unifiedShortEntry1 and f_isWeakShortEntry(close)
weakShortEntry := true
// Apply weak entry check to Unified Entry 2
if unifiedLongEntry2 and f_isWeakLongEntry(close)
weakLongEntry := true
if unifiedShortEntry2 and f_isWeakShortEntry(close)
weakShortEntry := true
// --- Enhanced Entry Conditions with RSI and ADX ---
// Removed candlestick pattern requirement.
// Only consider an entry if RSI is not overbought/oversold AND ADX indicates trend strength.
// Enhanced Long Entry Condition
enhancedLongEntry = (unifiedLongEntry1 or unifiedLongEntry2) and
(rsi < rsiOverbought) and // RSI not overbought
(adx > adxTrendStrengthThreshold) // ADX shows trend strength
// Enhanced Short Entry Condition
enhancedShortEntry = (unifiedShortEntry1 or unifiedShortEntry2) and
(rsi > rsiOversold) and // RSI not oversold
(adx > adxTrendStrengthThreshold) // ADX shows trend strength
// --- Define colors as variables for clarity and to potentially resolve parsing issues ---
// Changed named color constants to hexadecimal values
var color strongBuyDotColor = #FFD700 // Gold
var color weakBuyDotColor = #008000 // Green
var color strongSellDotColor = #FFFFFF // White
var color weakSellDotColor = #FF0000 // Red
// --- Plotting Entry Dots on Candlesticks ---
// Define conditions for plotting only on the *first* occurrence of a signal
isNewStrongBuy = enhancedLongEntry and not weakLongEntry and not (enhancedLongEntry and not weakLongEntry )
isNewWeakBuy = enhancedLongEntry and weakLongEntry and not (enhancedLongEntry and weakLongEntry )
isNewStrongSell = enhancedShortEntry and not weakShortEntry and not (enhancedShortEntry and not weakShortEntry )
isNewWeakSell = enhancedShortEntry and weakShortEntry and not (enhancedShortEntry and weakShortEntry )
// Helper functions to check candlestick type
isCurrentCandleBullish = close > open
isCurrentCandleBearish = close < open
// Strong Buy: Gold dot (only on bullish candles)
plotshape(isNewStrongBuy and isCurrentCandleBullish ? close : na, title="Strong B", location=location.absolute, color=strongBuyDotColor, style=shape.circle, size=size.tiny)
// Weak Buy: Solid Green dot (no candlestick filter for weak buys)
// Changed text to "" and style to shape.triangleup for symbol only
plotshape(isNewWeakBuy ? close : na, title="Weak B", location=location.absolute, color=weakBuyDotColor, style=shape.triangleup, size=size.tiny)
// Strong Sell: White dot (only on bearish candles)
plotshape(isNewStrongSell and isCurrentCandleBearish ? close : na, title="Strong S", location=location.absolute, color=strongSellDotColor, style=shape.circle, size=size.tiny)
// Weak Sell: Red dot (no candlestick filter for weak sells)
// Changed text to "" and style to shape.triangledown for symbol only
plotshape(isNewWeakSell ? close : na, title="Weak S", location=location.absolute, color=weakSellDotColor, style=shape.triangledown, size=size.tiny)
// --- Plotting Indicators (Optional, for visual confirmation) ---
// All indicator plots have been removed as requested.
// plot(ema11, title="EMA 11", color=emaColor)
// plot(tenkanSen, title="Tenkan-Sen", color=tenkanColor)
// plot(kijunSen, title="Kijun-Sen", color=kijunColor)
// plot(senkouSpanA_plot, title="Senkou Span A", color=senkouAColor, offset=displacement)
// plot(senkouSpanB_plot, title="Senkou Span B", color=senkouBColor, offset=displacement)
// fill(plot(senkouSpanA_plot, offset=displacement), plot(senkouSpanB_plot, offset=displacement), color=cloudFillBullishColor, title="Cloud Fill Bullish")
// fill(plot(senkouSpanA_plot, offset=displacement), plot(senkouSpanB_plot, offset=displacement), color=cloudFillBearishColor, title="Cloud Fill Bearish")
// plot(chikouSpan, title="Chikou Span", color=chikouColor, offset=-displacement)
// plot(macdLine, title="MACD Line", color=macdLineColor, display=display.pane)
// plot(signalLine, title="Signal Line", color=signalLineColor, display=display.pane)
// plot(hist, title="Histogram", color=hist >= 0 ? histGreenColor : histRedColor, style=plot.style_columns, display=display.pane)
// plot(rsi, title="RSI", color=rsiPlotColor, display=display.pane)
// hline(rsiOverbought, "RSI Overbought", color=rsiHlineRedColor, linestyle=hline.style_dashed, display=display.all)
// hline(rsiOversold, "RSI Oversold", color=rsiHlineGreenColor, linestyle=hline.style_dashed, display=display.all)
// plot(adx, title="ADX", color=adxPlotColor, display=display.pane)
// hline(adxTrendStrengthThreshold, "ADX Threshold", color=adxHlineColor, linestyle=hline.style_dashed, display=display.all)
// plot(diPlus, title="+DI", color=diPlusColor, display=display.pane)
// plot(diMinus, title="-DI", color=diMinusColor, display=display.pane)
// plot(dailyPP, title="Daily PP", color=dailyPPColor, style=plot.style_line, linewidth=1)
// plot(dailyR1, title="Daily R1", color=dailyRColor, style=plot.style_line, linewidth=1)
// plot(dailyR2, title="Daily R2", color=dailyRColor, style=plot.style_line, linewidth=1)
// plot(dailyS1, title="Daily S1", color=dailySColor, style=plot.style_line, linewidth=1)
// plot(dailyS2, title="Daily S2", color=dailySColor, style=plot.style_line, linewidth=1)
// --- Alerts (Optional) ---
alertcondition(enhancedLongEntry and not weakLongEntry, title="Strong Buy Alert", message="CME Crude Oil: Strong Buy Entry!")
alertcondition(enhancedLongEntry and weakLongEntry, title="Weak Buy Alert", message="CME Crude Oil: Weak Buy Entry Detected!")
alertcondition(enhancedShortEntry and not weakShortEntry, title="Strong Sell Alert", message="CME Crude Oil: Strong Sell Entry!")
alertcondition(enhancedShortEntry and weakShortEntry, title="Weak Sell Alert", message="CME Crude Oil: Weak Sell Entry Detected!")
AriezuFx Golden EntryThe AzurieFX Gold Entry Premium indicator is designed to help traders identify high-probability trade entries based on Smart Money Concepts (SMC) and price action strategies. This tool aims to visually assist in planning trade setups such as entries, stop-loss levels, and take-profit zones, making it ideal for traders who value structure and precision.
⚠️ DISCLAIMER:
This indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instruments. Trading involves risk and may result in loss of capital. Always do your own research and consult with a licensed financial advisor before making trading decisions. The developer of this tool is not responsible for any losses incurred from its use.
XAUUSD Smart Liquidity Strategyndicator Description (EN): "XAUUSD Smart Liquidity Strategy"
This script is a comprehensive smart money-based indicator designed for trading XAUUSD on the 15-minute timeframe. It combines key institutional concepts such as liquidity grabs, market structure shifts, Fair Value Gaps (FVGs), Order Blocks, and volume spikes. It's optimized for use during high-volume sessions like London and New York.
Key Features:
Liquidity Levels: Automatically plots previous daily, weekly, and monthly highs and lows – the core zones for external liquidity grabs.
Session Boxes: Highlights highs and lows of London and New York sessions to frame institutional trading ranges.
Fair Value Gaps (FVG): Identifies unbalanced candles between current and 2 bars back, a signal of inefficient price delivery.
Order Blocks: Detects the last bullish or bearish candle before a sharp reversal or impulsive move.
Volume Spikes: Marks when current volume exceeds the 20-bar SMA by 1.5x or more – indicating potential smart money interest.
Market Structure Logic: Filters setups using three-leg pullback logic and structure shifts after a liquidity grab.
Risk-Based Lot Calculation: Calculates position size per trade based on ATR stop loss, account balance, and custom risk % (e.g. 0.2%).
Telegram Alerts Ready: Emits JSON-formatted webhook alerts (buy/sell) ready for Telegram bot integration.
Buy Setup:
Liquidity grab below previous day's low
Bullish structure (higher lows)
During London or New York session
Sell Setup:
Liquidity grab above previous day's high
Bearish structure (lower highs)
During London or New York session
Stop Loss and Take Profit are based on ATR(14) and a default Risk:Reward = 1:2 ratio.
[T] Session Range w/ DR & Msg [NQ+ES]Tracks the range for the defined session start and end time.
User defined Minimum Range Size.
- Minimum Range Size not hit - price is Red
- Minimum Range Size hit - price is Green
DR/Opening Range size & exit condition (eg. 5 candles).
- Minimum Range Size not hit & DR not exited by 5 consecutive candles - price is Red
- Minimum Range Size not hit & DR is exited by 5 consecutive candles - price is Red
- Minimum Range Size is hit & DR not exited by 5 consecutive candles - price is Red
- Minimum Range Size is hit & DR is exited by 5 consecutive candles - price is Green
Optional Alert Candle - User Defined Time (eg. 11:10am) | User defined # of candles (eg. 5) | User defined msg (eg. "NY Range condition NOT met")
- At 11:10am - if Price is Red - at 11:10 to 11:15 a message will appear above the candles with the user defined message.
ZY Legend İndikatörü (Hedge Modda)The ZY Legend Indicator (in Hedge Mode) can be used with the ZY Legend Indicator. When used alone, it allows entering into a transaction in an already established trend. Its use with the ZY Legend Indicator is as follows: When transactions taken with the ZY Legend Indicator are hedged with the signals of the same indicator, it shows the TP target of the position performing the hedge transaction (the last opened position). When the relevant TP signal arrives, the position should be closed with a market order, and the profit/loss from the position should be added to or deducted from the profit/loss of the main position at the TP target.
ZY Legend İndikatörüZY Legend Indicator follows trend reversals and generates Long/Short signals from the best possible areas. It is used in scalp transactions (5-minute, 15-minute charts).
XAUUSD - KEM-CHE IndicatorA simple indicator that support XAUUSD traders who follow KEM day trading system to identify the opportunities during the valid trading sessions, with SL and TP automatically calculated.
NOTEs:
- Early Exit is a feature that wasn't defined in KEM day trading system, so use it at your own risks.
- Win rate calculation is mainly for quick confirmation purposes. Please verify the strategy performance using the published KEMCHE Strategy instead (Link: )
Crptopastor support & Resistance ProWhat is “Cryptopastor SR Pro (v2)”?
An adaptive support-and-resistance engine that clusters swing points into price zones , then auto-draws trade plans (entry, stop-loss, multi-stage take-profits) and breakout alerts — in a single, self-contained Pine v6 study.
Why traders use it
Cuts through chart noise by keeping only the strongest confluence zones.
Updates widths automatically to match recent volatility.
Plots ready-made long or short setups you can accept, ignore or tweak.
Fires alerts the instant price closes across a zone’s midpoint.
Works on any symbol and any timeframe, from 1 min scalps to weekly swing charts.
How it works (under the hood)
Pivot harvesting – Every bar, the script scans the last prd candles for confirmed highs/lows with ta.pivothigh / ta.pivotlow .
Data pool maintenance – It stores only the most recent maxnumpp pivots, keeping the dataset light.
Clustering – Pivots lying inside a dynamic channel width ( ChannelW % of the past 300-bar range) merge into a common zone.
Strength scoring – Each zone’s score = number of pivots inside it. The top maxnumsr zones that beat min_strength survive; weaker or overlapping zones are discarded.
Visual rendering – Zones appear as translucent boxes: lime below price (potential support) or red above (potential resistance). Mid-prices are auto-labelled with timeframe + value.
Breakout detection – When a candle closes across any zone midpoint, an alert fires (“Support Broken” / “Resistance Broken”).
Trade-plan overlay (optional) – The script finds the closest valid zone and prints:
• Entry at midpoint
• Stop-loss buffered by sl_buffer_pct of zone height
• Up to num_tp_levels take-profit labels on successive opposite zones
Key inputs & typical tweaks
Pivot Period (prd) – Higher on H4/D1, lower on scalps.
Source – “High/Low” (classic) or “Close/Open” for body-based pivots.
Maximum Channel Width % – Tighten in ranging markets, widen in trending ones.
Minimum Strength – Raise to display only the most respected zones.
Show Trade Setups – Toggle if you want a pure S/R map without entries/SL/TPs.
Practical guide
Add the indicator to your chart and adjust ChannelW % until each zone looks realistic for your symbol’s volatility.
Hover a zone to view its pivot count; more pivots = stronger level.
Enable alerts → “Support or Resistance Broken” to catch live momentum shifts.
If you trade the built-in setups, confirm them with your own filters (volume, trend filters, etc.) and size positions around the printed stop-loss.
Disable the Trade Setup layer when back-testing other strategies — the S/R boxes remain.
What makes it different from classic horizontal lines?
Zone widths breathe with market range instead of staying fixed.
Self-filtering strength score removes the clutter of weak levels.
Integrated, label-based trade plans eliminate spreadsheet math.
Pure price-action logic — no MAs, RSI, Bollinger Bands or repackaged public code.
Pine-snip preview
// simplified glimpse only
float ph = ta.pivothigh(high, prd, prd)
float pl = ta.pivotlow(low, prd, prd)
// …clustering & scoring…
Disclaimer
This indicator is a technical-analysis tool, not financial advice. Test thoroughly on demo or small size before risking capital.
xGhozt Wickless Candle Streak ProbabilityThe xGhozt Wickless Candle Streak Probability is a custom Pine Script indicator designed to identify and quantify the occurrence of consecutive "wickless" candles of the same trend (either bullish or bearish).
Key Features:
Wickless Candle Detection: It first identifies candles that lack an upper or lower wick (meaning their open/close is equal to their high/low, respectively).
Consecutive Streak Tracking: The indicator tracks how many wickless bullish candles occur in a row, and similarly for wickless bearish candles.
User-Defined Streak Length: You can specify a Streak Length in the indicator's settings. This defines how many consecutive wickless candles are needed to register a "streak."
Probability Calculation: For the chosen Streak Length, the indicator calculates the historical probability (as a percentage) of encountering such a streak for both bullish and bearish wickless candles. This is done by dividing the number of times a streak of that length has occurred by the total number of candles scanned.
On-Chart Display: The results, including the total wickless candles, total scanned candles, and the calculated streak probabilities, are displayed in a convenient table directly on your chart.
Purpose:
This indicator helps traders and analysts understand the historical likelihood of sustained, strong directional moves as indicated by consecutive wickless candles. By quantifying these probabilities, it can provide insights into potential continuation patterns or extreme market conditions, which might be useful for developing trading strategies or confirming market biases.
xGhozt Wickless Candles with TailSimple script showing candles missing an upper or lower wick. As candles tend to have a low and a high, they will most certainly form wicks. It is rare to have wickless candles on longer time frames, so it's more relevant on 1h and above.
Additionally, this indicator now visually tracks these 'missing wicks' as horizontal 'tails'. These tails extend from the wickless candle's extreme (low for bullish, high for bearish) and continue to stretch to the right until price action finally touches that level. Once touched, the tail disappears, signifying that the 'missing wick' has been filled or 'mitigated'.
What can you do about it?
If you see for example a Bitcoin 4h candle that hasn't formed two wicks yet, there are high chances that the missing wick will be formed at one point or another. The persistent horizontal tail vividly highlights these unmitigated levels, allowing you to identify potential price magnets. You could therefore consider taking a trade in the direction of the missing wick. You can set alerts on wickless candles if needed.
Liquidity Sweeps [SB1]Liquidity Sweeps
This indicator detects liquidity sweep events where price briefly breaks above or below recent swing points before reversing. These sweeps often occur during stop hunts, fakeouts, or liquidity grabs, and are commonly used by smart money traders to trap breakout participants before reversing direction.
🔍 What It Does
Identifies key swing highs and lows based on user-defined pivot strength.
Detects:
Bearish Sweeps: Price breaks a recent high but fails to close above it.
Bullish Sweeps: Price breaks a recent low but fails to close below it.
Tracks whether these sweeps are simply wicks, full breakouts and retests, or a combination of both.
Highlights these zones with boxes and labels to signal high-probability reversal or reaction zones.
🧠 Why Use It
Liquidity sweeps are often used by institutions and large players to trigger stops and create movement. Detecting these events helps traders:
Avoid chasing false breakouts
Time entries around exhaustion or reversal points
Align trades with Smart Money Concepts (SMC), ICT principles, or Order Block Theory
Avoid chasing false breakouts
Time entries around exhaustion or reversal points
Align trades with Smart Money Concepts (SMC), ICT principles, or Order Block Theory
⚙️ Settings & Customization
Swings: Adjusts the sensitivity of swing high/low detection.
Detection Type:
Only Wicks: Detects when a wick pierces a level but closes back inside.
Only Outbreaks & Retests: Detects when a candle breaks out and later retests.
Wicks + Outbreaks & Retests: Shows both types for full coverage.
Extend Zones: Draws boxes across future bars until invalidation.
Colors: Fully customizable for bullish and bearish sweeps.
🧬 Original Enhancements
This script is based on open-source work by LuxAlgo and has been significantly enhanced with:
Multiple detection modes
Real-time alert support📣 📣
Efficient pivot memory cleanup📣 📣
Sweep zone auto-extension until broken
Improved visual clarity with dotted/dashed lines, and color-coded boxes
✅ Note: The original version had no alerts. This version adds real-time detection alerts for practical trading use. Credit: Original swing detection logic inspired by LuxAlgo’s open-source Liquidity Sweep framework. This version is extended and modified under the terms of the CC BY-NC-SA 4.0 license.
📣 📣 Alerts Included📣📣
🔼 Bullish Wick Sweep📣
🔽 Bearish Wick Sweep📣
These alerts allow traders to be notified the moment a liquidity sweep occurs, providing immediate edge for reactive or anticipatory trading.
📈 How to Use It
Add to your chart.
Choose the detection type based on your trading style:
Wicks for reversals and stop hunts
Outbreaks for failed breakouts or retests
Wait for sweep zones to form and monitor price behavior around them.
Use in conjunction with:
Fair Value Gaps (FVG)
Order Blocks
VWAP Anchors
Market Structure Breaks/ Breaks of structures
Auto YEAR High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current YEAR's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-year high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Yearly High & Low Tracking
Real-time dynamic update of the current year's intra-year high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between yearly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh yearly for clean, uncluttered information.
🧠 Use Cases
Identify intra-year support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Auto MONTH High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current MONTH's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-month high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Monthly High & Low Tracking
Real-time dynamic update of the current month's intra-month high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between monthly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh monthly for clean, uncluttered information.
🧠 Use Cases
Identify intramonth support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Auto WEEK High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current WEEK's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-week high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Weekly High & Low Tracking
Real-time dynamic update of the current week's intra-week high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between weekly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh weekly for clean, uncluttered information.
🧠 Use Cases
Identify intra-week support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Alım Algoritması (EMA + RSI + MACD + ATR + Pozisyon Takibi)//@version=5
indicator("Alım Algoritması (EMA + RSI + MACD + ATR + Pozisyon Takibi)", overlay=true)
// === INPUTS ===
ema1_len = input.int(21, title="EMA 1")
ema2_len = input.int(50, title="EMA 2")
ema3_len = input.int(100, title="EMA 3")
rsi_len = input.int(14, title="RSI Length")
atr_len = input.int(14, title="ATR Length")
macd_fast = input.int(12, title="MACD Fast")
macd_slow = input.int(26, title="MACD Slow")
macd_signal = input.int(9, title="MACD Signal")
max_distance_pct = input.float(5.0, title="Max EMA Distance %", step=0.1)
// === CALCULATIONS ===
ema1 = ta.ema(close, ema1_len)
ema2 = ta.ema(close, ema2_len)
ema3 = ta.ema(close, ema3_len)
avg_ema = (ema1 + ema2 + ema3) / 3
distance_pct = math.abs(close - avg_ema) / avg_ema * 100
ema_near = distance_pct <= max_distance_pct
basis = ta.sma(close, 20)
dev = ta.stdev(close, 20)
upper = basis + 2 * dev
lower = basis - 2 * dev
width = (upper - lower) / basis
is_range = width < 0.12 // %5'ten dar bant
rsi = ta.rsi(close, rsi_len)
rsi_trend = ta.sma(rsi, 5)
rsi_up = rsi > rsi_trend
= ta.macd(close, macd_fast, macd_slow, macd_signal)
ema1_cross = ta.crossover(close, ema1) or ta.crossover(close, ema2) or ta.crossover(close, ema3)
ema_recent_cross = ta.barssince(ema1_cross) < 5
// === BUY SIGNAL ===
//buy_signal = ema_near and ema_recent_cross and
// macdLine > signalLine and hist > 0 and
// rsi > 45 and rsi < 65 and rsi_up
buy_signal = not is_range and ema_near and ema_recent_cross and
macdLine > signalLine and hist > 0 and
rsi > 45 and rsi < 65 and rsi_up
//buy_signal = not is_range and ema_near and ema_recent_cross and
// macdLine > signalLine and hist > 0 and
// rsi > 45 and rsi < 65 and rsi_up
// === POSITION LOGIC ===
var bool in_position = false
var float entry_price = na
var float stop_loss = na
var float take_profit_1 = na
var float take_profit_2 = na
atr = ta.atr(atr_len)
// Koşullar
new_buy = buy_signal and not in_position
// SL ve TP seviyeleri hesaplama
new_sl = close - 1.5 * atr
new_tp1 = close + 2.0 * atr
new_tp2 = close + 3.5 * atr
// Pozisyon açma
if new_buy
in_position := true
entry_price := close
stop_loss := new_sl
take_profit_1 := new_tp1
take_profit_2 := new_tp2
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
sl_hit = in_position and low <= stop_loss
tp1_hit = in_position and high >= take_profit_1
tp2_hit = in_position and high >= take_profit_2
// Pozisyon kapama sinyali
if sl_hit
in_position := false
//label.new(bar_index, low, "SL", style=label.style_label_down, color=color.red, textcolor=color.white)
if tp2_hit
in_position := false
//label.new(bar_index, high, "TP2", style=label.style_label_down, color=color.rgb(209, 34, 222), textcolor=color.white)
else if tp1_hit
in_position := false
//label.new(bar_index, high, "TP1", style=label.style_label_down, color=color.rgb(209, 34, 222), textcolor=color.white)
// === PLOT ===
// Sadece BUY, SL ve TP seviyeleri çizilir
plot(in_position ? stop_loss : na, title="Stop Loss", color=color.red, style=plot.style_linebr)
//plot(in_position ? take_profit_1 : na, title="TP1", color=color.rgb(209, 34, 222), style=plot.style_linebr)
//plot(in_position ? take_profit_2 : na, title="TP2", color=color.rgb(209, 34, 222), style=plot.style_linebr)
Auto DAY High/Low with Fibonacci Levels (MC) (Pub)This indicator automatically tracks and updates the current DAY's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intraday high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Daily High & Low Tracking
Real-time dynamic update of the current day's intraday high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between daily high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh daily for clean, uncluttered information.
🧠 Use Cases
Identify intraday support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
BOS INDICATOR )This indicator is used to mark out breaks of structures to the upside and the downside. It's used to easily determine which direction the market is breaking structure towards.