OPEN-SOURCE SCRIPT
Atualizado 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)
Notas de Lançamento
//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)
Script de código aberto
No verdadeiro espirito do TradingView, o autor desse script o publicou como código aberto, para que os traders possam entendê-lo e verificá-lo. Parabéns ao autor Você pode usá-lo gratuitamente, mas a reutilização desse código em publicações e regida pelas Regras da Casa.
Aviso legal
As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.
Script de código aberto
No verdadeiro espirito do TradingView, o autor desse script o publicou como código aberto, para que os traders possam entendê-lo e verificá-lo. Parabéns ao autor Você pode usá-lo gratuitamente, mas a reutilização desse código em publicações e regida pelas Regras da Casa.
Aviso legal
As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.