You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TradingView Pine Script颜色变化告警脚本报错求助

问题解决:Pine Script alertcondition 报错修复

错误原因分析

  1. alertcondition 参数类型错误:alertcondition() 的第一个参数必须是布尔值(true/false),但你传入了颜色值(lime/green/red/orange),导致类型不匹配,触发翻译错误。
  2. Study 函数语法错误:Study("Impulse MACD]", ...) 里的标题多了一个多余的 ],属于语法错误。
  3. 多余的语法符号:第一个 alertcondition 前的 * 号是无效符号,会干扰脚本解析。

修复后的完整代码

//@version=4
Study("Impulse MACD", shorttitle="IMACD_LB", overlay=false)
lengthMA = input(34)
lengthSignal = input(9)
calc_smma(src, len) =>
    smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

calc_zlema(src, length) =>
    ema1=ema(src, length)
    ema2=ema(ema1, length)
    d=ema1-ema2
    ema1+d

src=hlc3
hi=calc_smma(high, lengthMA)
lo=calc_smma(low, lengthMA)
mi=calc_zlema(src, lengthMA) 

md=(mi>hi)? (mi-hi) : (mi<lo)? (mi - lo) : 0
sb=sma(md, lengthSignal)
sh=md-sb
mdc=src>mi?src>hi?lime:green:src<lo?red:orange
plot(0, color=gray, linewidth=1, title="MidLine")
plot(md, color=mdc, linewidth=2, title="ImpulseMACD", style=histogram)
plot(sh, color=blue, linewidth=2, title="ImpulseHisto", style=histogram)
plot(sb, color=maroon, linewidth=2, title="ImpulseMACDCDSignal")

ebc=input(false, title="Enable bar colors")
barcolor(ebc?mdc:na)

// 修复后的告警条件:判断颜色值是否匹配
alertcondition(mdc == green or mdc == lime, title="Buy", message="green buy")
alertcondition(mdc == orange, title="Sell", message="red sell")

关键修改说明

  • 修正 Study 标题:移除了标题末尾多余的 ],确保函数语法正确。
  • 调整 alertcondition 条件:将颜色值判断改为布尔表达式,比如 mdc == green or mdc == lime,当指标颜色为绿色或 lime 时触发 Buy 告警;mdc == orange 时触发 Sell 告警,符合你的需求。
  • 移除无效符号:删掉了第一个 alertcondition 前的 * 号。

内容的提问来源于stack exchange,提问作者Dominic3180

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:27:47