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

如何为TradingView筛选器中不绑定K线价格的plotshape方块创建警报

TradingView ABCD形态筛选器警报创建与回测报错解决方案

警报创建方法

你无法直接选择Square 1作为警报触发条件,是因为plotshape的返回值默认不会被纳入警报可选变量列表,需要单独把触发逻辑提取为显式变量。
操作步骤:

  • 在指标代码中提前定义Square 1的触发变量,原有绘图逻辑保留即可:
// 单独提取触发条件作为独立变量
square1_trigger = s00_bull or s00_bear
// 原有plotshape代码保持不变
plotshape(square1_trigger ? 0 : na , title='Square 1', style=shape.square, location=location.absolute, color=s00_color, size = size.tiny, offset=-2)
  • 保存修改后的指标并重新添加到图表,创建警报时条件选择该指标,下拉列表中就会出现square1_trigger变量,触发条件设置为「值大于0」即可完全匹配方块出现的时机。

回测报错解决方法

你回测时报错的核心原因通常是直接使用颜色类型变量、plotshape返回值作为入场判断,或是变量作用域、未来函数偏移导致的问题,按以下步骤修改即可:

  • 不要复用plotshape的颜色参数等非布尔变量作为入场判断条件,单独提取多空信号的布尔变量:
// 分别定义多空独立触发变量
sq1_bull_signal = s00_bull
sq1_bear_signal = s00_bear
  • 处理偏移带来的未来函数问题:你原有绘图逻辑使用了offset=-2,代表将方块绘制在当前K线往前数2根的位置,回测时如果直接用当前K线的s00_bull信号会产生偷价误差,需要调整为取对应偏移后的信号:sq1_bull_signal[2]作为入场条件。
  • 检查变量作用域:所有信号变量需要定义在全局作用域,不要放在条件判断、自定义函数内部,避免策略逻辑调用时找不到变量报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:15:03