如何无需多空开仓触发Tradingview警报?收盘平仓警报未触发求助
无需开仓即可触发TradingView平仓警报的解决方案
问题核心
strategy.close() 指令必须对应已存在的仓位才能执行,没有开仓记录时,这个指令不会生效,自然无法触发附带的警报。要实现无仓位状态下到点触发警报,需要调整逻辑。
解决方案:使用独立alert()函数
直接用alert()替代strategy.close(),不依赖仓位状态,只要时间条件满足就触发警报。修改后的代码如下:
// 平仓时间设置 days_close_trade = input.session("1545-1600", "平仓时间", group="选择交易时段") time_is_close = time("1", days_close_trade) // 警报消息设置(修正原变量名更贴合用途) alertCloseMsg = input.string("平仓触发 {{ticker}}!", "平仓警报消息:", group = "警报设置") // 时间窗口内且K线确认时触发警报 if time_is_close and barstate.isconfirmed alert(alertCloseMsg, alert.freq_once_per_bar_close)
代码说明
alert()是独立的警报触发函数,不需要任何仓位前提条件alert.freq_once_per_bar_close确保每个满足条件的K线仅触发一次警报,避免重复推送- 保留原有的
time.session和barstate.isconfirmed逻辑,确保在指定时段的已确认K线上触发(避免盘中波动误触发)
原代码英文部分翻译
input.session("1545-1600", "平仓时间", group="选择交易时段"):设置平仓时段为15:45-16:00,归属于“选择交易时段”分组- 原
alertLongEntry = input.string("Entry Close {{ticker}}!", "平仓入场警报消息:", group = "警报设置"):变量名建议改为alertCloseMsg更准确,对应中文为“平仓警报消息:”,默认内容为“平仓触发 {{ticker}}!”({{ticker}}会自动替换为当前交易标的代码)
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

