- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
海龟汤和海龟汤升级版的改进
Alexander Puzanov | 15 十二月, 2016
1. 简介
2. ‘海龟汤’交易系统与‘海龟汤升级版’的改进
3. 定义通道参数
4. 信号生成函数
5. 用于测试交易策略的基础EA交易
6. 策略回测
7. 结论
简介
《华尔街智慧:高胜算短线交易策略》一书的作者,劳伦斯.康纳斯和琳达.瑞斯克是有着34年交易经验的成功交易者,他们的经验
包括股票交易,以及在银行、对冲基金、经济公司和咨询公司的职位。他们相信,您只需要一个交易策略就能够做到稳定获利地
交易。但是,书中还是包含了20种左右不同的交易策略,分成四组,每组针对不同的市场周期,并且运用于一种稳定的价格行为
模式。
在书中描述的策略非常流行,但是有必要知道的是,作者是基于15年到20年的市场行为来开发它们的。所以,本文有两个目标 —
我们将使用 MQL5 实现书中描述的第一个交易策略,然后我们将尝试使用 MetaTrader 5策略测试器来评估它的效能,我们将使用
MetaQuotes 模拟服务器上近些年的价格历史。
当写代码时,我将假定MQL5的用户有基本的语言知识,也就是稍微高级些的初学者。所以,本文不包括对标准函数如何工作的解
释,为什么使用这些类型的变量,这些细节应该是用户在编写EA交易之前在学习和练习中做的。另一方面,我也将不会考虑很有
经验的EA交易开发人员,因为在实现新的交易策略时,他们已经有了测试好的,他们自己方案的开发库。
本文所面向的大多数编程人员都会对学习面向对象编程感兴趣,所以我将尝试使EA的开发过程对上述的目标有作用。为了使从过
程到面向对象方法的迁移更加简单,我们不会使用面向对象编程中的最复杂部分 - 类,我们将会使用它们的简单类比 - 结构来替
代。结构可以从逻辑上把不同类型的数据和用于操作它们的函数综合到一起,它们几乎拥有所有类的特性,包括继承。但是您可
以在不知道类代码格式规则的基础上使用它们,您可以像您在过程式编程中一样做一些细小改动。
‘海龟汤’交易系统与‘海龟汤升级版’的改进
海龟汤是在称为‘测试(Tests)’的系列交易策略中的第一个。说得更清楚一些,选择这个系列的基础是,它是根据‘使用价格来测试
范围的边界或者支撑/阻力水平’。海龟汤是假定价格是不会不经一次反弹就突破20天的范围这一原则的,我们的任务就是从临时
的反弹或者假突破中获利。 交易仓位的方向总是朝向通道内部,所以这交易策略可以称为一种“反弹策略”。
另外,海龟汤这个名称与著名的海龟策略类似,这不是偶然的 - 这两种策略都监视着20天范围内的价格行为。该书的作者已经尝
试使用多种突破策略,包含了“海龟”,但是这样的交易还是不够有效,因为有许多假信号和深度的回撤。但是他们发现了一些模
式,在它们的帮助下可以创建一系列原则来从与突破反方向的价格运动中获利。
在“海龟汤”交易策略中,一套完整的买入交易进场原则可以分析如下:
1. 确认距离前一个20天低点至少过去了3天
2. 等待资产价格跌破20天低点
3. 在向下突破的价格低点上方5到10个点设置买入挂单
4. 当挂单触发时,把止损设于当日最低价下方一个点的位置
5. 当仓位有利润后使用跟踪止损
6. 如果仓位在第一天或者第二天由止损关闭,您可以在初始水平重复进场
卖出交易规则是类似的,它们应用于范围的上方边界,也就是基于20天高点。
在代码库中有一个指标可以在历史柱上根据适当的设置显示通道的边界,在人工交易中您可以使用这个指标用于显示通道。
交易策略的描述没有回答这样的问题:挂单应该保持多久,所以让我们使用一个简单的逻辑。当测试范围边界时,价格将会创建
出新的极值点,所以后面一天上面的第一个条件就将不可能达到。因为那一天将不会有信号,我们将必须取消前一天的挂单。
这个交易策略的修改版,称为‘海龟汤升级版’的有两点差别:
1. 不是在突破20天范围后立即设置挂单,而是等待一个确认信号 - 当天的柱收盘于范围之外,当日收盘在分析所得的水平通道
边界之外也是可以的。
2. 为了确定初始止损水平,我们使用两天的极值(最高或者最低价)水平。
定义通道参数
为了检验条件,我们需要知道范围的最高价和最低价,在定义了时间限制后就可以得到,在任意指定时间的通道中都是有四个变
量决定了通道,所以它们可以组成一个结构。让我们在其中再加入交易策略中使用的两个变量,就是距离范围中最高价和最低价
过去的天数(柱数):
struct CHANNEL {
double d_High; // 范围上方边界的价格
double d_Low; // 范围下方边界的价格
datetime t_From; // 通道中第一个(最早的)柱的日期/时间
datetime t_To; // 通道中最后一个柱的日期/
文档评论(0)