TradingView Pine Script V5:警报消息无法获取动态变量值求助
Pine Script V5 alertcondition 动态消息不生效的解决办法
问题原因
你在alertcondition的message参数里把变量名ALLalertsmessage用单引号括起来了,这会被程序当成普通字符串直接输出,而不是读取变量里存储的"long"或"SHORT"。TradingView完全支持动态警报消息,只是你的写法错了。另外代码里还有个小问题:alertcondition的第一个参数ALLalerts没定义,程序能运行但逻辑不对。
修正后的代码
//@version=5 indicator("CCI Alert Example") CCI = ta.cci(close, 14) // 补充原代码缺失的CCI指标定义 INalIDAMlong = input.string("long", title="long Alert", group="Alert Messages") INalIDAMshort = input.string("SHORT", title="SHORT Alert", group="Alert Messages") long = ta.rising(CCI, 100) short = ta.falling(CCI, -100) ALLalertsmessage = long ? INalIDAMlong : short ? INalIDAMshort : na // 修正两处:1. 触发条件改为实际的long/short判断;2. message直接传变量名(不要加引号) alertcondition(long or short, title='ALL X-Alerts L/S', message=ALLalertsmessage)
关键修正点
- 去掉
message参数里的单引号,直接写变量名ALLalertsmessage,这样程序才会读取变量的实际值。 - 补充了CCI指标的定义(原代码没写,否则无法正常运行)。
- 把触发条件从未定义的
ALLalerts改成long or short,让警报在多单或空单条件满足时触发。
内容的提问来源于stack exchange,提问作者Nils Wohlfarth




