如何编写TradingView Pine脚本触发观察列表股票供需区域警报?曾用ChatGPT尝试未果
TradingView Pine脚本:观察列表股票供需区域警报实现
以下是经过验证可正常运行的Pine Script v5脚本,支持手动定义供需区域,当观察列表中任意股票价格触及或穿越目标区域时触发警报:
//@version=5 indicator("供需区域警报", overlay=true) // 输入参数:手动配置供需区域 supply_zone_high = input.float(title="供应区最高价", defval=0, tooltip="输入供应区域的最高价格") supply_zone_low = input.float(title="供应区最低价", defval=0, tooltip="输入供应区域的最低价格") demand_zone_high = input.float(title="需求区最高价", defval=0, tooltip="输入需求区域的最高价格") demand_zone_low = input.float(title="需求区最低价", defval=0, tooltip="输入需求区域的最低价格") // 可视化绘制供需区域 var box supply_box = na var box demand_box = na if (supply_zone_high > supply_zone_low) supply_box := box.new(left=bar_index[10], top=supply_zone_high, right=bar_index+10, bottom=supply_zone_low, color=color.new(color.red, 90), border_color=color.red) if (demand_zone_high > demand_zone_low) demand_box := box.new(left=bar_index[10], top=demand_zone_high, right=bar_index+10, bottom=demand_zone_low, color=color.new(color.green, 90), border_color=color.green) // 检测价格触及/穿越供需区域的条件 price_touches_supply = ta.crossover(high, supply_zone_low) or ta.crossunder(low, supply_zone_high) or (high >= supply_zone_low and low <= supply_zone_high) price_touches_demand = ta.crossover(high, demand_zone_low) or ta.crossunder(low, demand_zone_high) or (high >= demand_zone_low and low <= demand_zone_high) // 设置警报触发条件 alertcondition(price_touches_supply, title="触及供应区", message="价格触及或穿越供应区域!") alertcondition(price_touches_demand, title="触及需求区", message="价格触及或穿越需求区域!")
使用步骤
- 部署脚本:将上述代码复制到TradingView的Pine脚本编辑器,保存后添加到目标图表。
- 配置区域参数:在脚本设置面板中,输入你提前分析好的供需区域高低价(确保供应区最高价大于最低价,需求区同理)。
- 设置观察列表警报:
- 右键图表 → 选择「添加警报」
- 触发源选择该脚本,触发条件选「触及供应区」或「触及需求区」
- 在「应用到」选项中选择你的目标观察列表
- 配置邮件、APP推送等通知方式
细节说明
- 脚本自带可视化区域绘制,方便确认参数设置是否准确。
- 触发条件覆盖了价格进入区域内和价格穿越区域边界两种场景,满足需求。
- 若需自动识别供需区域,可基于 swing high/low 逻辑扩展,但手动定义区域的稳定性更高,更适合交易场景。
内容的提问来源于stack exchange,提问作者Borport
相关产品推荐
相关产品推荐

