本文深入解析一款结合移动平均布林带(MA Bollinger Bands)与相对强弱指数(RSI)的交易策略脚本。该策略通过价格波动与动量指标的双重确认,旨在捕捉市场趋势转换的关键节点,适用于多种交易市场与时间框架。
策略核心逻辑
策略基于两个关键技术指标的协同信号触发交易:
- 移动平均布林带(MA BB):以选定的移动平均线为核心,通过标准差计算生成上下轨道,识别价格波动区间与潜在突破点。
- 相对强弱指数(RSI):衡量价格动量,其中性线(通常为50)的穿越行为用于确认趋势方向。
多头入场条件
当以下两个条件同时满足时,触发多头信号:
- RSI自下而上穿越中性线。
- 价格自下而上突破布林带下轨。
空头入场条件
当以下两个条件同时满足时,触发空头信号:
- RSI自上而下穿越中性线。
- 价格自上而下突破布林带上轨。
策略功能增强与更新
止损与再入场机制
- 动态止损:用户可设置以入场价格最大不利波动幅度(MAE)的百分比作为止损触发点,止损位以红色方块标注于图表。
- 再入场允许:若止损被触发且启用再入场功能,策略将在同一方向寻找新的交易信号,避免错过趋势延续的机会。
- 止损可视化:红色方块标记于交易入场点的上方(空头)或下方(多头)。
信号可视化
- 多头信号:以蓝色上箭头标注。
- 空头信号:以红色下箭头标注。
- 无金字塔加码:同一方向交易仅存在单一持仓。
RSI信号回溯
- 新增“RSI交叉回溯”参数,允许回溯至多1000根K线以寻找有效的RSI穿越信号。
- 若设置极大回溯值(如1000),则几乎总能检测到信号,此情形下RSI条件相当于被忽略,仅依赖价格突破布林带轨道行动。
移动平均类型扩展
除简单移动平均(SMA)外,新增:
- 加权移动平均(WMA)
- 成交量加权移动平均(VWMA) 用户可在“MA类型”下拉菜单中自由选择。
策略交易方向与时间过滤
- 交易方向选择:可配置仅做多、仅做空或双向交易。
- 时间过滤器:允许排除特定时间段(如非活跃交易时段或特定市场趋势期)以优化回测表现,帮助识别策略最佳表现期。
高级止损与止盈
- ATR跟踪止损:基于平均真实波幅(ATR)与乘数设定动态跟踪止损。视觉上,止损线在未越过入场价前为红色,越过後转为绿色。
- 固定百分比止盈:可设置以入场价格固定百分比作为盈利目标,触发後可選擇同一方向再入场,有助于降低最大回撤。
- 止损优先规则:若启用ATR跟踪止损,它将覆盖其他所有止损设置。
波动率过滤参数
策略引入波动率极端区域识别机制:
- 布林带上轨与下轨之差定义为布林带波动率(BB Volatility)。
- 对BB波动率应用一长期SMA2000作为基线。
- 基于该长期SMA,通过“波动率因子”生成波动率上下带:波动率上带 = SMA + SMA × 因子;波动率下带 = SMA - SMA × 因子。
波动率状态与策略行为:
- 高波动率(红色):当BB波动率 > 波动率上带时:
- 若空仓:策略将暂停捕捉新信号,直至波动率脱离高位区。
- 若持仓且价格顺交易方向波动:持仓不受潜在假信号影响,力求捕捉完整走势。
- 若持仓且价格逆交易方向波动:交易将按止损设置被止损,且波动率回归正常前不再入场。
- 低波动率(绿色):当BB波动率 < 波动率下带时,可过滤信号(新增功能)。
趋势跟踪过滤器
- 启用後,策略仅当价格位于趋势EMA(最小长度1500)下方时做空,或位于其上时做多。
- 采用安全函数从更高时间框架获取数据,无需等待1500根K线(如1小时图EMA375相当于15分钟图EMA1500)即可开始回测。
警示功能
策略配有独立的Study脚本(名称:MA Bollinger Bands + RSI (Study)),提供6类警示:
- MABB+RSI 多/空信号:交易方向由空转多或由多转空时激活。
- MABB+RSI 多/空再入场信号:止损触发後,同一方向新信号出现时激活(需启用止损与再入场)。
- MABB+RSI 多/空信号(全部):所有多/空信号均激活。
技术实现更新
- 脚本升级至Pinescript V5。
- 使用策略函数参数
calc_on_order_fills = TRUE,确保止损/止盈警报可于盘中(K线未结束时)触发,而非仅于K线收盘时触发。 - 策略变量优化,以“LSF(多、空、空仓)”自定义标识符替代原
strategy.position_size,提升可读性与维护性。 - 用户界面布局优化,设置项分组达8类,参数超30个,兼顾灵活性与清晰度。
使用注意事项
- 回测理解:切勿盲目信任回测结果。请详细观察策略在图表上的具体行为,警惕过拟合风险。
- 参数配置:策略提供丰富参数,不同配置于不同品种、市场环境下表现差异显著。请根据自身风险偏好与交易风格调试。
- 小止损问题:若止损设置过于接近入场价,可能存在止损于入场後第二根K线未能及时触发的情况(仅极近设置下出现)。给予交易适当波动空间可避免此问题。
常见问题
问:该策略适用于哪些交易品种与时间框架? 答:该策略设计适用于具有趋势与均值回归特性的市场,如外汇、股票指数、加密货币等。建议在15分钟以上时间框架测试,以过滤市场噪音。
问:如何避免在震荡市中频繁止损? 答:可启用“低波动率过滤器”过滤信号,或调整布林带标准差倍数以拓宽通道,亦可结合趋势过滤器仅顺大势交易。
问:ATR跟踪止损与固定百分比止损同时设置时,哪个优先? 答:若启用ATR跟踪止损,它将覆盖其他所有止损设置。请根据交易风格选择一种止损方式。
问:策略回测起始需要大量数据吗? 答:趋势EMA过滤器采用跨周期数据调用,无需等待1500根K线即可开始回测,大大减少了数据预热要求。
问:如何接收交易信号提醒? 答:您可使用独立的Study脚本设置TradingView警报,并支持对接3Commas等自动化交易平台,复制/粘贴警报消息即可。
问:策略未来还会更新吗? 答:开发者持续优化该策略,并积极吸收用户反馈。若您有改进建议,欢迎通过正当渠道联系作者讨论。
免责声明:本文内容仅供学习交流之用,不构成任何投资建议。金融市场交易存在高风险,可能导致本金损失。请谨慎评估自身风险承受能力,并寻求独立专业意见。