一、简介说明
价格通道突破是最著名和最有利可图的交易系统之一。让我们以 10 周期价格通道为例。通道的顶线就是最后 10 根bar线的最高点;通道的底线是最后 10 根bar线的最低点。在顶线上方收盘时买入,在底线下方收盘时卖空。价格通道可以以这种方式用作止损和反转系统,这意味着您将始终在市场上持有头寸,无论是多头还是空头。
当然,价格通道突破系统也有一个缺点。并非所有收盘价都高于 10周期高点或低于 10 周期低点,都朝着突破的方向前进。
通常,突破 10 根bar线的高点或低点与价格波动的幅度差不多,导致许多在短期顶部买入,许多在短期底部卖出。
我们的 Channel Breakout with Pullback System 试图通过在突破后等待回调(反趋势反应)以获得更有利的入场价来缓解这一劣势。例如,在看涨突破的情况下,我们会等待随后的下跌进入,而不是在收盘价高于之前的 10 周期高点后自动买入。等待回调的缺点是市场在突破后可能不会回调,导致我们错失交易机会。
二、交易规则
设置
a) 计算一个 10 周期的高低价格通道。
做多
a) 检查收盘价是否高于 10 周期价格通道的顶线。
b) 在突破 10 根bar线内检查新的 4 根bar线低点。
c) 在下根bar线开盘时买入做多。
做空
a) 检查收盘价是否低于 10 周期价格通道的底线。
b) 在突破 10 根bar线内检查新的 4 根bar线高点。
c) 在下一根bar线开盘时卖出做空。
退出规则
a) 我们将启用资金管理止损、盈亏平衡止损和 % 风险追踪止损。
b) 我们还将在反弹至新的 8 周期高点时退出多头头寸,并在下跌至新的 8 周期低点时退出空头头寸。
三、完整源码(仅限multicharts平台,其它平台自行移植!)
// 策略参数定义Input:Channel(10), // 通道计算周期,用于确定最高/最低价通道RetrBars(10), // 回撤确认周期,用于验证突破信号的有效性NewLo_Hi(4), // 新低/新高确认周期,用于入场信号过滤TrailStp(8); // 跟踪止损周期,用于动态退出位置计算// 变量声明Vars:HiChannel(0), // 存储通道上轨(最高价通道)LoChannel(0); // 存储通道下轨(最低价通道)// 通道计算模块{Assignment of Channel calculations}HiChannel = Highest(Close, Channel)[1]; // 计算前Channel周期收盘价最高值作为上轨LoChannel = Lowest(Close, Channel)[1]; // 计算前Channel周期收盘价最低值作为下轨// 多头入场条件{Long Entry}// 条件1:收盘价突破上轨且在RetrBars周期内首次出现// 条件2:当前最低价低于NewLo_Hi周期内最低价(确认回调)If MRO(Close > HiChannel, RetrBars, 1)>-1 AND Low < Lowest(Low, NewLo_Hi)[1]then Buy next bar at Market; // 满足条件后下一根K线市价买入// 空头入场条件{Short Entry}// 条件1:收盘价跌破下轨且在RetrBars周期内首次出现// 条件2:当前最高价高于NewLo_Hi周期内最高价(确认反弹)If MRO(Close < LoChannel, RetrBars, 1)>-1 AND High > Highest(High, NewLo_Hi)[1]then Sell next bar at Market; // 满足条件后下一根K线市价卖出// 退出机制{Exits}// 动态跟踪止损:当最高价突破TrailStp周期内最高价时平多仓If High > Highest(High,TrailStp)[1] then sell next bar at market;// 动态跟踪止损:当最低价跌破TrailStp周期内最低价时平空仓If Low < Lowest(Low,TrailStp)[1] then buytocover next bar at market;
四、运行效果
【本公众号所提供的源码(包括函数、指标、策略)属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法内容并调整参数。本公众号所有内容(包括文章、视频、历史记录、源码、教材)仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易。】
【风险提示:(1)、期货程序化交易基于计算机的强大功能为人类提供模式识别及其它基于人类逻辑与思维进行量化形成策略应用于交易,其本身并不能保证盈利性。(2)、无法避免期货高杠杆所导致的风险波动性。(3)、程序化交易为有经验的投资者设计的,并不适合所有人。(4)、回测业绩结果有许多固有的局限性。不代表任何账户将会或有可能实现与所示结果类似的盈利或亏损。事实上,回测业绩结果与任何特定交易程序随后实现的实际结果之间经常存在巨大差异。】

