TradingView策略WebHook警报配置问题:无法触发正确多空开仓通知
TradingView策略WebHook警报解决方案
问题原因
strategy.entry函数没有alert_message参数,直接调用会触发编译错误,你遇到的报错就是参数不匹配导致的。- 使用
comment参数时,{{strategy.order.alert_message}}默认返回订单ID,而非自定义警报内容,这是TradingView的内置行为。
解决方案:用strategy.alert()实现自定义消息+逐根K线收盘触发
通过strategy.alert()单独控制警报逻辑,配合strategy.entry执行下单操作,既能自定义警报内容,又能精准控制触发频率。
修改示例代码
假设你的策略已定义longCondition(做多条件)和shortCondition(做空条件),代码调整如下:
//@version=5 strategy("Custom Alert Strategy", overlay=true, default_qty_type=strategy.cash, default_qty_value=1000) // 替换为你原策略的多空条件判断逻辑 longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) // 做多逻辑:下单+触发警报 if (longCondition) strategy.entry("Long", strategy.long) // 定义做多警报内容,限制每根K线收盘仅触发一次 strategy.alert("Open Long", message="Open Long", freq=strategy.alert.freq_once_per_bar_close) // 做空逻辑:下单+触发警报 if (shortCondition) strategy.entry("Short", strategy.short) // 定义做空警报内容,限制每根K线收盘仅触发一次 strategy.alert("Open Short", message="Open Short", freq=strategy.alert.freq_once_per_bar_close)
警报设置步骤
- 在TradingView图表右键→Add alert
- 警报配置界面:
- Condition选择你的策略名称,再选Alert() function calls
- Frequency选择Once per bar close(和代码设置呼应,双重确保触发逻辑)
- Webhook URL填入目标地址
- Message填写
{{alert_message}},即可收到自定义的"Open Long"/"Open Short"内容
- 保存配置完成设置
注意事项
- 确保策略为v5版本(头部声明
//@version=5),strategy.alert()在v5中功能更稳定。 - 代码中的
freq参数已限制每根K线仅触发一次,无需额外调整策略其他触发选项。
内容的提问来源于stack exchange,提问作者Danny Walker
相关产品推荐
相关产品推荐

