OPEN-SOURCE SCRIPT
Zaktualizowano Amritsingh Pinbar Candle GhostTrade Criteria

//version=5
indicator("Custom Candle with Asymmetric Wicks", overlay=true)
// === User Inputs ===
// Body percent thresholds (as % of full candle)
bodyMin = input.float(72.0, "Minimum Body %", minval=0.0, maxval=100.0)
bodyMax = input.float(85.0, "Maximum Body %", minval=0.0, maxval=100.0)
// Wick ratio threshold (e.g., 2.0 means one wick must be at least 2x the other)
wickRatio = input.float(2.0, "Min Wick Asymmetry Ratio", minval=1.0, step=0.1)
// === Candle Calculations ===
bodySize = math.abs(close - open)
candleRange = high - low
// Avoid divide-by-zero
validCandle = candleRange > 0
// Body as % of full candle
bodyPercent = validCandle ? (bodySize / candleRange) * 100 : 0
// Wick sizes
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
// Ensure both wicks are present (non-zero)
bothWicksPresent = (upperWick > 0) and (lowerWick > 0)
// Wick asymmetry condition (either wick must be ≥ wickRatio × the other)
wickAsymmetry = (upperWick >= lowerWick * wickRatio) or (lowerWick >= upperWick * wickRatio)
// Final condition: all must be true
signal = validCandle and bothWicksPresent and wickAsymmetry and (bodyPercent >= bodyMin and bodyPercent <= bodyMax)
// === Plotting ===
plotshape(signal, title="Candle Signal", location=location.belowbar, style=shape.labelup, color=color.orange, size=size.small, text="⚡")
barcolor(signal ? color.orange : na)
indicator("Custom Candle with Asymmetric Wicks", overlay=true)
// === User Inputs ===
// Body percent thresholds (as % of full candle)
bodyMin = input.float(72.0, "Minimum Body %", minval=0.0, maxval=100.0)
bodyMax = input.float(85.0, "Maximum Body %", minval=0.0, maxval=100.0)
// Wick ratio threshold (e.g., 2.0 means one wick must be at least 2x the other)
wickRatio = input.float(2.0, "Min Wick Asymmetry Ratio", minval=1.0, step=0.1)
// === Candle Calculations ===
bodySize = math.abs(close - open)
candleRange = high - low
// Avoid divide-by-zero
validCandle = candleRange > 0
// Body as % of full candle
bodyPercent = validCandle ? (bodySize / candleRange) * 100 : 0
// Wick sizes
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
// Ensure both wicks are present (non-zero)
bothWicksPresent = (upperWick > 0) and (lowerWick > 0)
// Wick asymmetry condition (either wick must be ≥ wickRatio × the other)
wickAsymmetry = (upperWick >= lowerWick * wickRatio) or (lowerWick >= upperWick * wickRatio)
// Final condition: all must be true
signal = validCandle and bothWicksPresent and wickAsymmetry and (bodyPercent >= bodyMin and bodyPercent <= bodyMax)
// === Plotting ===
plotshape(signal, title="Candle Signal", location=location.belowbar, style=shape.labelup, color=color.orange, size=size.small, text="⚡")
barcolor(signal ? color.orange : na)
Informacje o Wersji
//version=5indicator("Custom Candle with Asymmetric Wicks", overlay=true)
// === User Inputs ===
// Body percent thresholds (as % of full candle)
bodyMin = input.float(72.0, "Minimum Body %", minval=0.0, maxval=100.0)
bodyMax = input.float(85.0, "Maximum Body %", minval=0.0, maxval=100.0)
// Wick ratio threshold (e.g., 2.0 means one wick must be at least 2x the other)
wickRatio = input.float(2.0, "Min Wick Asymmetry Ratio", minval=1.0, step=0.1)
// === Candle Calculations ===
bodySize = math.abs(close - open)
candleRange = high - low
// Avoid divide-by-zero
validCandle = candleRange > 0
// Body as % of full candle
bodyPercent = validCandle ? (bodySize / candleRange) * 100 : 0
// Wick sizes
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
// Ensure both wicks are present (non-zero)
bothWicksPresent = (upperWick > 0) and (lowerWick > 0)
// Wick asymmetry condition (either wick must be ≥ wickRatio × the other)
wickAsymmetry = (upperWick >= lowerWick * wickRatio) or (lowerWick >= upperWick * wickRatio)
// Final condition: all must be true
signal = validCandle and bothWicksPresent and wickAsymmetry and (bodyPercent >= bodyMin and bodyPercent <= bodyMax)
// === Plotting ===
plotshape(signal, title="Candle Signal", location=location.belowbar, style=shape.labelup, color=color.orange, size=size.small, text="⚡")
barcolor(signal ? color.orange : na)
Skrypt open-source
W duchu TradingView twórca tego skryptu udostępnił go jako open-source, aby traderzy mogli analizować i weryfikować jego funkcjonalność. Brawo dla autora! Możesz korzystać z niego za darmo, ale pamiętaj, że ponowna publikacja kodu podlega naszym Zasadom Społeczności.
Wyłączenie odpowiedzialności
Informacje i publikacje przygotowane przez TradingView lub jego użytkowników, prezentowane na tej stronie, nie stanowią rekomendacji ani porad handlowych, inwestycyjnych i finansowych i nie powinny być w ten sposób traktowane ani wykorzystywane. Więcej informacji na ten temat znajdziesz w naszym Regulaminie.
Skrypt open-source
W duchu TradingView twórca tego skryptu udostępnił go jako open-source, aby traderzy mogli analizować i weryfikować jego funkcjonalność. Brawo dla autora! Możesz korzystać z niego za darmo, ale pamiętaj, że ponowna publikacja kodu podlega naszym Zasadom Społeczności.
Wyłączenie odpowiedzialności
Informacje i publikacje przygotowane przez TradingView lub jego użytkowników, prezentowane na tej stronie, nie stanowią rekomendacji ani porad handlowych, inwestycyjnych i finansowych i nie powinny być w ten sposób traktowane ani wykorzystywane. Więcej informacji na ten temat znajdziesz w naszym Regulaminie.