OPEN-SOURCE SCRIPT
已更新

Amritsingh Pinbar Candle GhostTrade Criteria

42
//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)
版本注释
//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)

免责声明

这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。