策略解析:BollChannelStrategy (布林带通道突破)
源码文件:vnpy_ctastrategy.strategies.boll_channel_strategy 1. 策略概述 BollChannelStrategy 是一个基于 布林带 (Bollinger Bands) 的通道突破策略。 它不仅仅依赖价格突破布林带上下轨,还引入了 CCI (Commodity Channel Index) 作为趋势过滤器,并使用 ATR (Average True Range) 来计算动态的移动止损位。 基类:CtaTemplate 周期:15分钟 K 线 (通过 BarGenerator 合成) 核心指标:Bollinger Bands, CCI, ATR 风控机制:ATR 倍数移动止损 2. 核心参数与变量 参数名 默认值 含义 boll_window 18 布林带均线周期 boll_dev 3.4 布林带标准差倍数(较宽,意味着只抓大趋势) cci_window 10 CCI 计算周期 atr_window 30 ATR 计算周期 sl_multiplier 5.2 止损距离的 ATR 倍数(非常宽的止损) 3. 策略逻辑详解 3.1 K 线合成 策略在 on_init 中初始化了一个 15 分钟的 K 线生成器: 1 self.bg = BarGenerator(self.on_bar, 15, self.on_15min_bar) 这意味着 on_tick 更新 1 分钟 bar,1 分钟 bar 累积满 15 个后触发 on_15min_bar,核心逻辑都在 on_15min_bar 中执行。 ...