求TradingView默认MACD指标代码(含强弱渐变柱状图)
TradingView 带柱状图强弱渐变的MACD指标代码
直接上可运行的Pine Script代码,解决你之前复刻MACD只有红绿两色的问题:
//@version=5 indicator("渐变MACD", overlay=false, shorttitle="Grad MACD") // 常规MACD计算 fastLength = input.int(12, title="Fast Length") slowLength = input.int(26, title="Slow Length") signalLength = input.int(9, title="Signal Length") fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) dif = fastMA - slowMA dea = ta.ema(dif, signalLength) macd = dif - dea // 计算柱状图的相对强度,用于生成渐变 maxMacd = ta.highest(abs(macd), 20) normalizedMacd = maxMacd != 0 ? abs(macd) / maxMacd : 0 // 设置渐变颜色 bullColor = color.new(color.green, 100 - math.round(normalizedMacd * 80)) // 多头:从浅绿到深绿渐变 bearColor = color.new(color.red, 100 - math.round(normalizedMacd * 80)) // 空头:从浅红到深红渐变 barColor = macd > 0 ? bullColor : bearColor // 绘制指标元素 plot(macd, title="MACD", style=plot.style_columns, color=barColor) plot(dea, title="Signal", color=color.blue, linewidth=2) plot(dif, title="DIF", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray)
核心逻辑说明:
- 通过
normalizedMacd将MACD柱状的绝对值转换为0-1的相对强度值,以此动态调整颜色透明度 - 多头柱状(MACD>0)越大,颜色越深绿;空头柱状(MACD<0)绝对值越大,颜色越深红,直观体现买卖压力的强弱渐变
- 参数保持和TradingView默认MACD一致,你可以直接修改input里的数值自定义参数
- 复制代码到TradingView指标编辑器,运行即可看到渐变效果
内容的提问来源于stack exchange,提问作者BATANG.X
相关产品推荐
相关产品推荐

