[MT4-EA]基于砖头趋势系统的炒汇机器人
周末闲着,聊聊EA。
多数人都不看好机器人(EA) 在炒汇中的应用。但是很多有志有识之人都在前仆后继地研究机器人。这不,机器人在围棋那么复杂的运动当中都把人类给收服了。
本人琢磨炒汇机器人有一段时日了。根据我自己的经验,要想机器人在炒汇的领域中存活还是有可能的。只要不是以赌博的理念来设计,选择适当的指标做判决的依据,充分合理地运用资金管理,机器人是完全可以用来炒汇的。
闲话少说,这里介绍一个基于砖头趋势系统的炒汇机器人。因为内容可能很多,咱们一步步来。
一 . 砖头系统
砖头系统,英语叫 “Renko System”,因为它的K线就好像是砖头垒起来一样。每一根K线都像砖头一样大小。老江湖们或者经常在国外网站游荡的应该很熟悉这个系统。我这里就不做多的介绍,大家自己去查找。附件中有一个现成的软件源码,大家可以下载来用。为了初学者方便,这里罗嗦几句安装方法:
1. 将 “Renko Mod.ex4" 文件拷贝到你的 ”/MQL4/Experts“ 文件夹;
2. MT4 平台选项中允许 ”允许DLL导入“;
3. 打开一个 M1 的图,将 ”Renko Mod.ex4“ 导入,里面的参数已设置好;
4. 很快在你的文件夹中就有一个 M2 的数据文件。MT4平台上,在 ”文件 - 打开历史数据“ 中你可以看到这个数据和它的大小;
5. 如果发现数据太小,譬如说小于100,那么你需要下载多一点的数据。具体办法是按”F2“键,下载你需要的历史数据。下载完成后,重复3-4的操作;
6. 打开 ”.M2“ 的数据文件,这时,你的砖头系统就会出现在一个新的图中;
7. 你原来的 M1 图和现在的 M2 图会同步到运行。注意不要关闭 M1 图。
下面要介绍趋势指标和机器人。且听下回分解。
GBPUSDM2.jpgRenko Mod.ex4
2楼
昨日将价格设置为零通宝,不知为什么还是要18通宝。看样子大狮子的腐败也是DuangDuang的。这我就没有办法了。
另外,现在的帖子不让修改了,只好另起一楼。
二 . 趋势滤波
大家知道,画出来的K线价格图毛刺特别多,信号的趋势被杂波给淹没了,不能直接用作于操作的判据。所以各种各样的滤波方式都出来了。当然最简单的是均线。
所有的滤波方式都是以时频概念中的低频滤波为主,因为杂波和毛刺的干扰往往都出现在高频段。均线滤波实际上就是一个FIR低通滤波器。好一点的算法有“Fisher”,“CCI”,“MACD” 。。。。这些都基于低通滤波的概念。我在以往的研究中试图将自适应技术用进来,但收效有限。
在传统的信号系统中,时频关系的处理有一个前提。大部分的理论都是针对所谓的“时不变系统”。也就是说,趋势也好,杂波也好,在所有的时段内其统计特征应该是一致的。
我们的汇率价格的信号变动并不是一个时不变系统。这就导致了我们设计好的处理方式有的时候有效,有的时候无效。我们可以清清楚楚地在普通K线图中看得出来,有的时候变得快,有的时候变得慢;有的时候杂波大,有的时候杂波小。你用一个方式捕获一段行情,但这个方式在其它时段就失效了。
砖头系统正是为了克服这一难题而产生的。严格上说,砖头系统也是一个滤波器。它滤波的概念不再基于时空关系,而是基于数据的变化关系。砖头系统中不再存在时间的概念,它是将幅度的变化作为参考基础。由于它的砖头大小是一致的,可以给它定义成一个“幅不变系统”。而砖头EA就是一个变换过程,将一个“时变系统”转变成一个“幅不变系统”。
有了这一个“幅不变系统”,我们传统的对待“时不变系统”的手段就可以拿来直接使用了。也就是说,我们可以将传统的滤波器加载在砖头K线图中。这是因为砖头图中也是存在着杂波和毛刺的。
大家可以在这个砖头系统中加入各种指标,各显神通吧。我这里给大家提供一个自己常用的指标(见附件)。将“LaoQin_Indi_201.ex4” 拷贝在你的 /MQ4/Indicators 就可以直接使用了。
好了,咖啡时间到了。今天就聊到这里。后面章节预报: 三. 操作方法和资金管理, 四. 机器人,。。。
LaoQin_Indi_201.ex4GBPUSDM2.jpg
韬客社区www.talkfx.co
3楼
三. 操作方法
有了一个稳定的系统,根据系统的运动模式,大家可以随意地加上各自钟爱的指标和判决,交由机器人去自动操作,不用老盯着盘。
砖头系统的最大好处就是它的运动步伐是等间距的,效果是可控的。只要你的策略实施得当,其结果不会出乎意外。砖头系统的还有一个最大好处就是对时间进行了伸缩处理。也就是说,它把普通K线变化快的部分拉宽,变化慢点部分压短。这个在人工操作上是非常困难的。有的时候它会几个小时一动不动,行情来的时候才进入操作。有的时候,小时图上的一根大毛刺,人工系统是双向扫损。而砖头系统可以吃了原告吃被告。所以砖头系统最适合于那种中小信息市,捕获快速变化的行情。
好,闲话少说。我这里先给大家介绍一个用上面给出的滤波指标(LaoQin_Indi_201)进行操作的策略。
在这个策略中,既然使用了趋势这个概念,就没有所谓的止损止盈之说。趋势来进,趋势变出,变化的同时进行反向操作,是为下一个趋势。这样做的目的是让机器人的判断逻辑变得非常简单。我们这里采用的是在趋势变化的第二点的头入场,第二点的头出场,前后连接总有一单在手。
以下面这张目前正在运行的 EURUSD 砖头K线图为例,砖头的大小为10个货币点。在图中,红圈为下降趋势,蓝圈为上升趋势,每一次的颜色变化点为趋势变化的起始点。
前后两段不算,整个运行区间形成了9个趋势段。在这里,哪怕是趋势变化只有一个颜色点,也要算成一个趋势。那么在这个区间内就有9X2次操作。首先看看A-B段的情况,趋势的起点为A,结束点为B。红线为机器人操作时的进出场位置。为了形成这一区段,砖头向上13块,向下1块,趋势头的形成要1-3块,而下一个趋势的形成也要1-3块。这就是说每一个趋势的捕捉至少要损失2块砖头,最多为6个转头。在A-B这一段操作中,损失是4块砖,盈利是8块砖减去买卖之间的点差。也就是说在A-B段中,盈利大概是七十几点(13-1-4-点差)。
根据上面分析,对于每一个趋势段,至少要有5块以上的砖头向一个方向净运动,这个趋势段才会有钱赚。图中的9个趋势段,只有两个趋势段满足赢钱的要求,其它都是亏钱的。这个策略的中标几率很低,必须配合其它手段来提高这个中标几率。譬如说,在趋势变化的第三点入场,第二点出场 。。。。
不管怎样,砖头系统是可控的。最大止损是6个砖头,没有止盈,来了大的趋势直管让它跑,直到数钞票数得手软。大家可以在非农时试试。
今天就谈到这里,明天外出,改天再谈。
EURUSDM2.jpg
韬客社区www.talkfx.co
4楼
谈到这里,老鸟们不耐烦了。小样的,这么差的策略也敢提出来。
确实,上面的第一个策略太简单了,中标几率只有20%。我在这里主要是讨论砖头系统和用这个系统制作的机器人。不要着急,目前还只是ABC。理论坚实了,后面的理解就要容易得多。
上面说到,这个砖头系统是一个等幅差的K线系统,加上一个滤波器就可以清楚地将汇率变化的趋势呈现出来。首先,我们有了一个趋势的新标准,用来对各种操作的策略进行验证。它不受时间和时段的限制。譬如说,本论坛有一个所谓的“OSM背离指标”,用箭头来指导进场和出场的时机。声称有90%的准确率。那么就把它在这个系统中试试。下图是将OSMA背离指标加载在砖头系统上的情况。不用我们多数,这个指标的漏判率超过70%,而判断的中标几率小于50%。很多大的趋势都被它错过了,有些地方错得简直是离谱。所以这不是一个好的指标。
机器人操作的砖头系统的漏判率应该是非常小的,甚至可以说是为零。它的中标几率就依赖各种指标和策略了。
上面我们提出的第一个策略的中标几率只有20%。如果稍加改进,就可以大大提高中标几率。譬如说,拿前一贴的图为例,将操作策略改在趋势变化的第三个K线的开始入场,下一个趋势的第二个K线的开始出场。这里不一个个地数K线了,大家下去作为home work。答案是,趋势的总数由9个减为4个,其中两个赢钱,两个输钱。这样你的策略的中标几率提高到50%。所花费的代价是什么呢?在第一个策略中要求一个趋势中的净变化为5个砖头,而这第二个策略要求净变化为6个砖头。盈利也会相应减少。
为了提高中标几率和盈利,我们还可以配合其它指标和策略。下图是配合MACD和FISHER所作出的系统,可以明显看出,入场的代价(砖头数)和出场的代价都可以相应减少。至于怎样将指标加入你的操作策略,机器人操作起来是非常简单和直接的。
今天就到这里。下面就趋势的量度展开。明天是芬兰的仲夏节,友人邀请去乡下的别墅钓鱼,还有二锅头。要下周才能继续聊了。祝大家仲夏节快活。
E3.jpgEURUSDM211.jpg
韬客社区www.talkfx.co
5楼
打字艰难,没一个鼓掌的,大狮子也不加个精什么的,也没有通宝奖励。往不往下继续我有些犹豫。有兴趣的可以跟踪我的163博客“幺爹家小相公”。
6e19282043b719e225e06cc11a30b419.jpg
韬客社区www.talkfx.co
发表于:2016-06-23 16:17只看该作者
6楼
受用了 寫得很好
韬客社区www.talkfx.co
7楼
脱欧消息第一次出来时的趋势。
TuoO.jpg
韬客社区www.talkfx.co
发表于:2016-06-25 13:01只看该作者
8楼
越看越有意思,不过要提出一点,到底多大的趋势周期和增幅,才能够弥补交易费用?
韬客社区www.talkfx.co
发表于:2016-06-25 14:26只看该作者
9楼
已经收听你了,期待你后续继续更新!很精彩很受用,尤其是这个砖头加载后,看来也是非常不错!觉得简洁了然!
楼楼要继续加油,!
韬客社区www.talkfx.co
10楼
有人问到了周期。先讲讲周期。
根据上面的分析,用砖头系统来捕获趋势时,最重要的是两个问题。第一个问题是进出场的选择问题。这是一个与策略有关的问题。根据统计分析,每一个趋势的进出场要损失大约5-10个砖头。那么这第二个问题就跟着来了:每一个趋势能有多少个砖头?砖头少了,成本高不赚钱。我们希望每一个趋势砖头的数目越多越好。这就是砖头系统中的周期问题。
普通K线系统中,横坐标是时间。我们通常说趋势,一定有一个前提,那就是以什么时段为依据。譬如,我们经常说,小时线(1H)趋势向上,而日线(1D)是向下的。砖头系统中的K线没有任何时段概念,它以砖头的大小来区分趋势的周期。用小砖头来砌墙可以表现小的棱角,大砖头可以用来指导大的趋势走向。
这样一说,大家应该很明白了。老鸟们都知道,要想赚钱,1D以上的趋势是必须要首先注意的,跟着趋势走,上下都赚钱。在砖头系统中,我们可以调节砖头的大小,使趋势符合市场的时间脉动。在这里,我们这里定义一个砖头系统特有的趋势指标:ZQxx,其中xx是砖头的大小。如果问我目前美日的砖头趋势,我可能会告诉你,ZQ10是向上的,而ZQ25是向下的。不要认为这两者是矛盾的,它们是根据不同大小砖头系统做出来的不同判决。
至于到底用多大的砖头来炒汇呢?这个问题涉及到一个优化过程。正如我在课堂上经常告诉大家的,一个产品,一个系统的好坏,很大程度决定于是否有优化过程。优化过程有点类似于共振点的选择。力(电压,频率,砖头大小等)的选择主要不在于它的大小,而在于它的方式。一个桥梁,可以载荷很多人甚至汽车;但是当一小队士兵齐步走时把它摧毁了。
我们这里讨论的系统原则上适合所有的炒作,股票,期货,汇率,...。但是在每一个具体的环境中,边界条件和自然环境不一样。在炒汇中,不同的货币对,参数也不一样。要赚钱,你就必须下功夫,将你的对手的统计特性搞清楚再下手,保证你百战百胜。
老鸟和嫩鸟的区别就在于老鸟对环境熟悉。它心目中的环境和经验是用时间换来的。虽然不懂什么叫优化,但是它的经验收敛于优化。真正的高手应该是:他即是老鸟,又会优化。
[/b]
好,今天就谈到这儿。有问题只管问,对下面的章节可能有帮助。上面这个周期问题非常好,谢谢!
[b]好,今天就谈到这儿。有问题只管问,对下面的章节可能有帮助。上面这个周期问题非常好,谢谢!
无标题.jpg
韬客社区www.talkfx.co
发表于:2016-06-28 08:22只看该作者
11楼
学习啦 非常好
韬客社区www.talkfx.co
12楼
上面贴的图包含了很多信息。你要注意观察才能知道其中的奥秘。
首先,趋势的算法有了改进。主要是用了窄带小相位延迟滤波。窄带的作用是可以过滤掉较小的波动。我们知道,小的波动意味着数量少的砖头数。最小相位延迟意味着时延小,尤其是对低频大趋势的时延。大家在选择指标时,一定要注意不要用有所谓‘未来函数’的指标。我的指标一般自己编写。对于每一个决策点只考虑历史的数据。从上面图可以看出,在整个过程中,大的趋势捕获得相当好,准确率在70%以上。
其次,我们可以看到所谓的周期问题。在图中,用三条黄线划分出2个区段。将黄线与实际的常规K线图的时间轴对应,第一段对应于6月7号至6月25号,有4次操作机会,平均大概5天一手。而第2段对应于6月25号至27号,有9次操作机会。这就是说操作的周期是随市场变化的。
另外,这种趋势操作的策略有很多很多,我这里主要介绍砖头系统。具体操作起来要你自己掌握。我的建议是一定要用机器人进行操作。因为趋势来的时候很快,手动操作来不及。在没有趋势的时候,坐在计算机前面是很枯燥的。
有很多传统的策略可以直接使用到这个系统中,例如:裸K,对冲,...。我自己编织了一些不同类型的机器人,利用不同的策略,目前正在互相比对竞争中。各有长处和短处。总的结论是,如果你严格的让机器人操作,克服人性的弱点,(不敢打包票)想输钱都困难。赶明儿我给大家提供一个免费限时试用的机器人。这个等我实验好了再说。
最后,想说几句关于资金管理操作。当你的趋势捕获的正确率在60%以上时,可以考虑加码的过程。譬如说,200刀以上的账户,首次操作用0.01手(或者用更小mico)。如果输了,第二次操作就加码。但是注意,不要用那种指数式加码(1,2,4,8,...),可以考虑菲波那契级数(1,1,2,3,5,8,...)。也可以按照你自己的想法加码。这个加码的逻辑在机器人手中是很简单的事。
至于为什么要60%以上才考虑加码,这是一个数理统计的问题,我这里有严格的数学分析。有时间另文再开辟扩展。
偷懒了,几句话就结尾。主要是因为人气不高。感兴趣的可以交流。
韬客社区www.talkfx.co
发表于:2016-06-29 17:18只看该作者
13楼
242424224
韬客社区www.talkfx.co
发表于:2016-09-09 07:11只看该作者
14楼
好复杂
韬客社区www.talkfx.co
发表于:2016-09-13 11:27只看该作者
15楼
怎么好像没用嘛。
韬客社区www.talkfx.co
发表于:2016-12-07 16:48只看该作者
16楼
谢谢楼主
韬客社区www.talkfx.co
发表于:2016-12-07 17:15只看该作者
17楼
难得的价值帖,辛苦了。
韬客社区www.talkfx.co
发表于:2016-12-08 03:55只看该作者
18楼
看了楼主的博客。楼主是研究通讯的专家啊!讲解得很通俗,连我都看懂了。感谢!
韬客社区www.talkfx.co
发表于:2016-12-08 04:30只看该作者
19楼
谢谢分享,先顶一下
韬客社区www.talkfx.co
发表于:2016-12-08 18:24只看该作者
20楼
不错,可以下来看看
韬客社区www.talkfx.co