量化交易软件:使用比尔威廉姆系统的交易信号模块
简介
赫兹量化比尔威廉姆的交易系统在他的书中有所描述,书名为"交易新维度(New trading dimensions)",它是任何交易者都应该学习熟悉的。这个系统包含了清晰和对大多数初学者都易于理解的规则,但是,规则的简单性只是表面 - 交易系统是由许多交易模式构成的。
很多人已经尝试在此系统基础之上创建自己的EA交易,但是对于赫兹量化模式的形态,正确搜索以及解释工作经常被证明是困难的。为了与自动交易一样地进行模式的识别和标记,我为在MQL5向导中创建交易机器人而开发了一个交易信号模块。
我的目标是为赫兹量化终端的潜在用户,想独立学习交易系统的人创造最大的便利,与其他已经发布的MQL5向导使用的60个模块的区别是,它包含了一个用于配置选项的可视化界面。

编辑切换为居中
所以,这些就是交易模块的主要特性:
使用图形面板调整交易系统的设置;
允许禁止所选模式的识别和标记;
允许禁止所选模式的交易;
允许优化交易系统的参数。
结构 (本文附件中的 billwilliamsts.zip 档案就是源代码):
MQL5 CBillWilliamsTS 类. 包含了所有识别系统交易模式的逻辑以及使用找到的模式进行交易的逻辑,也可以使用该类(可选)在交易品种图表上标记找到的模式。此类包含于BillWilliamsTS.mqh文件中。
MQL5 CBillWilliamsDialog 图形面板类。它是用于显示设置面板的,用于CBillWilliamsTS类对象的交互式管理。这个类包含于BillWilliamsPanel.mqh文件中。
MQL5 SignalBillWilliams 类。在MQL5向导中用于自动创建EA交易的交易信号模块。
MQL5 BillWilliamsEA EA交易, 一个基于交易类和图形面板的EA交易。它是用于根据比尔威廉姆交易系统的模式进行自动交易的,它包含于BillWilliamsEA.mq5文件中。
资料是按以下顺序提供的:
比尔威廉姆交易策略的概要描述,使用的交易模式,另外使用所开发的EA交易进行标记。
图形面板的描述。
在不同交易品种上交易的测试结果。
1. 比尔威廉姆交易系统概览
1.1. 一般信息 在他名为"交易新维度(New trading dimensions)"的书中, 比尔威廉姆声明,从金融市场的交易中获利,有必要了解市场的结构。根据作者的观点,市场有五个维度,通过逐步学习,您可以得到市场的真实景象以及80%以上的市场波动:
分形 (阶段间隙)
动量 (阶段能量)
加速/减速 (阶段动力)
区域 (阶段能量/动力的组合)
平衡线
除了五个维度之外,比尔威廉姆还介绍了为人熟知的市场条件 - 趋势和平缓。为了识别它们,系统的作者建议使用他所开发的鳄鱼指标,只在有趋势的市场区域中运行。 交易系统的元素,交易模式就是基于它们,在本文中,还会进一步使用所开发的交易信号模块特别标记出找到的信号。 1.2. 鳄鱼指标
鳄鱼指标是三个移动平均的组合(图1):
鄂线, 慢速线(蓝色), 通常是一条13个周期数的移动平均线;
齿线, 平均线(红色), 通常是一条8个周期数的移动平均线;
唇线, 快速线 (绿色), 通常是一条5个周期数的移动平均;

编辑切换为居中
图 1. 鳄鱼指标 根据系统,交易操作只能在这种情况下执行:鳄鱼指标线与趋势方向一致,并且自上而下的顺序是:价格,唇线,齿线,颚线。本图显示了向下趋势的起始和终止。 很明显,鳄鱼指标是一个严重延迟的指标,这与其他基于移动平均的指标是一样的。然而,移动平均的交叉不是作为进入市场的信号,而只是作为执行交易的过滤器。 1.3. 分形 - 第一市场维度的信号 分形是一个由5个烛形组成的形态,卖出分形是中间烛形为最低价的一种分形,而买入分形,与它相反,是中间烛形为最高价的一种分形。分形也被称为第一市场维度(维度 1):

编辑切换为居中
图 2. 分形 对于上升趋势,如果一个分形形成于鳄鱼指标平均线(齿线)之上时,就认为是有效的,而对于下跌趋势,要求分形在平均线下方。 所开发的EA交易按照以下方式标记分形(FrB — FractalBuy — 有效买入分形, FrS — FractalSell — 有效卖出分形):

图 3. 有效的买入分形

图 4. 有效的卖出分形 在买入分形形成的地方,在比柱的最大值高一个点的地方设置止损买入订单。在卖出分形形成的地方,在比柱的最小值低一个点的地方设置止损卖出定单。只有当鳄鱼指标改变了趋势的时候并且超过了第一个分形以后,才允许建立额外的仓位(通过分形及其他指标)。 1.4. 动量震荡指标 - AO - 第二市场维度的信号 1.4.1. 一般信息 动量震荡指标(AO)确定了市场的动量,它是34个周期数的SMA与5个周期数的SMA之间的差,SMA(简单移动平均)是根据柱的中值计算的。在图表上,该指标表现为柱形图:

编辑切换为居中
图5. 动量震荡指标 在交易策略中基于此震荡指标的有6种模式,它们的描述以及通过EA的标记将在下面介绍。 1.4.2. "杯托"买入模式

图 6. "杯托"买入模式 该模式包含三列,第一列必须比中间列高,颜色可以是任意的,中间列必须是红色的,第三列(信号)必须是绿色的。EA交易在AO指标中显示信号时,引用方式为DiB(Dish Buy, 杯托买入)。 1.4.3. "杯托"卖出模式

图 7. "杯托"卖出模式 该模式包含三列,第一列必须比中间列要低,可以使任意颜色,中间列必须是绿色,第三列(信号)必须为红色,在EA交易中,信号在AO指标中显示为DiS(Dish Sell, 杯托卖出)。 1.4.4. "零线交叉"买入模式

图 8. "零线交叉"买入模式 当柱形穿过上方的零线时生成买入信号,穿过零线的一列就是信号列,EA交易在AO指标中将信号显示为CrB(Cross Buy, 交叉买入)。 1.4.5. "零线交叉"卖出模式

图 9. "零线交叉"卖出模式 当柱形向下穿过零线时生成信号,穿过零线的一列就是信号列,EA交易在AO指标中把该信号显示为CrS(Cross Sell, 交叉卖出)。 1.4.6. "双顶"买入模式

编辑
图 10. "双顶"买入模式 当柱形低于零线,并且最后一个顶的底部高于前一个顶时声称买入信号,同时,在两个有极值的柱之间没有高于零线的状况,EA交易中在AO指标中把此信号显示为2pB(2 peak Buy,双顶买入)。 1.4.7. "双顶"卖出模式

图 11. "双顶"卖出模式 当柱形高于零线,并且指标的最后一个顶低于之前一个顶时生成卖出信号,同时,柱形图的两个极值点之间没有低于零线,EA交易中在AO指标中把本信号显示为2pS(2 peak Sell, 双顶卖出)。 1.4.7. 设置订单 当买入信号出现时,就设置一个比信号柱最大值高一个点的止损买入挂单,当卖出信号出现时,就设置一个比信号柱最小值低一个点的止损卖出挂单。 1.5. 加速/减速震荡指标 — AC — 第三市场维度的信号 加速/减速柱形图(AC)是动量震荡指标柱形图与5个周期数动量震荡指标移动平均之间的差。

编辑切换为居中
