分类 EA 下的文章

趋势交易,是各种讲师、培训机构的钟爱,而对于实战交易员而言,并不是每一个人都喜欢,因为趋势不常有,1年可能就那几波,趋势没有等来,已经被震荡搞死了。

今天我就给大家讲讲我是如何设计趋势EA的。

首先,你要对MT4里面的各种指标有一定的了解,比如那些指标是用来跟踪趋势的,那些指标是用来判断震荡的。对我来说,也不是每一个指标都会用。再有强调一下,指标都是滞后的,所以千万不能把他们作为判断行情的标准。如何理解这个滞后呢,我这里就打一个比方,比如你和朋友玩石头剪子布,你的朋友总会比你晚出手1秒钟,那么你可以想象会发生什么情况,而你的朋友时不时还让你赢两把,给你一定的错觉。大概就是这个意思吧。

好了,不多解释了,现在我们就来一步一步的弄一个趋势EA出来吧。

首先,我这里使用了2个指标,一个是SAR,另一个是RSI。

SAR是趋势跟踪的移动止损,也就是说,一个上涨的趋势,你猜对了行情,你的止损就可以沿着SAR获取的值来移动,这样可以最大程度的保证你的利润沿着趋势拿下去,而不会提前出局。

这里就举一个简单的比较成功的例子吧,当趋势向下的时候,价格是低于SAR值的,SAR所形成的小点点,会跟着价格向下方不断的移动,那么在选择了比较合适的入场点之后,一旦发生了反转,触碰到了SAR的小点点,那么久会被止损掉。我们的利润空间就是上面图形中,2个箭头之间的距离。

那么知道了进出场,我们就来具体的用代码实现一下吧。

这里还是拿SELL来举例子:

上面的代码,我简单的做一下解释,首先要定义一个sell,是一个是否的bool型变量,意思就是sell是否为真。
那么分为测试和实盘两种情况,在测试的时候,会按照指标来进入买卖,而实盘的时候,会进行挂单线的判断。

那么利用SAR进行大方向判断之后(价格低于SAR值,代表趋势是空头),就进行小周期上的RSI判断,如果小周期的RSI已经出现了卖的信号(小级别反弹进入了超买区域),而且还有一条件就是目前没有卖单。

1

满足了3条,那么就会开一个卖单出来。

一旦形成了趋势,那么止损就会一直沿着SAR,进行移动。直到反转后,触碰止损,才出局。

那么这样一套逻辑,你能不能想到,它跑出来的净值曲线是什么样子的呢?

是不是很完美呢?

2

我现在就给你画一下

3

怎么样是不是很牛逼?那么问题来了,你会一直这么严格的执行下去吗?你会不会怀疑它?当遇到连续的下挫,你的心态还能保持平静吗?

尤其是遇到了连续1-2年不盈利的情况,大概在561到633左右的这些单。你会如何面对呢?

所以趋势EA的优缺点也是非常明显的。你懂了吗?

可以看看这个图片,这个是两个账户,采用的是MQL5的官方跟单模式。

9c45ee85bfeb6aa0136ff931199d315

由图中,我们可以清晰的发现,两者的lot是3倍关系,所以的货币兑开关的时间也都是一模一样的,单盈利情况,却大相径庭,本来应该盈利94.2的Alpari账户,却只有盈利了58.13,这到底是为什么呢,我们的30美金去哪了?

所以,今后,我打算采用图表夹的方式,来同步两个账户了。采用一个账户挂单后,保存,然后运行CMD,复制profile到另一个账户中,启用图表夹的方式,来同步EA运行,今天在本地的2个MT4之间测试了一下,感觉还可以。

等我的订单几乎消灭的时候,我再来做这个同步的工作,代替掉目前的MQL5官方跟单方式。

还有一种解决方案就是采用完全相同的一个交易商的2个账户。不过也存在单量分配的问题,默认的mql5的跟单是95%的,还有就是我的单量比较小,一般都是4000才001,所以如果按今天的设想虽然操作麻烦了一点,对于日后账户同步,应该是绝对的有好处的。

新版本的NinjaLoveFishEA中,调整了PerLot的默认值,新版本增加了一点点风险,以往似乎过于保守。

新版本中,一些货币兑分别对应的是2000,3000,4000=0.01

今天正好有时间,测试了AUDUSD的扛单跨度。

1564156515721573161516152

结论:AUDUSD的跨度实测大约处于1500-1600point,这样的范围。

黄金这个货币兑比较特殊,点数计算和外汇货币兑是不一样的,那么经过优化测试,参数获取并内置到了EA中。

所有的测试都是基于风险的,众所周知,NinjaLoveFishEA用的是网格马丁,那么对于这个,风险就是可以容错的跨度。

本次测试,模拟了2017-2019年的这个跨度,截取了3次-10%触发止损的情况。

20190323_10010120190323_100518

如上图所示,这次发生的风险,没有触发-10%的止损,跨度达到了32000point。持有7单。

20190323_10021220190323_100707

第二次,是不幸的,触发了-10%的止损,跨度可以达到36741point,持有单数6单。

20190323_10030420190323_101018

第三次,也没有触发止损,持有7单,跨度在32000左右。

结论:

在默认4000/0.01的下单手数下,我们可以得到最大可以跨越的单边跨度为:32000point左右,最大持仓单数为:6-7单。

交易系统是一个非常复杂的,经过长时间的锤炼才能完美的一种交易体系。说起来容易做起来难,如果要我说打造这个需要多久,需要多少钱?我觉得至少应该经历过2年的完整交易,并且至少要有2次以上的爆仓经历。

首先,对于市面上的形形色色的交易手法,你都应该会看,并且对于一些危险的手法,至少要一眼就能分辨出来,尤其是马丁这种,还有就是扛单,然后经过时间的洗礼,你会逐步的认识到,仓位管理,账户回撤和心态调整。

其次,你也许产生了,自己打造一份属于自己的交易系统,不过岂是这么容易的,如果你懂一些编程的知识,利用2-3个月,钻研EA的开发,如果你能通透了,那么这个过程可以缩短2年,否则,你只能徘徊在不断的真仓实战测试摸索的阶段。

那么具体要做的就是:1、思考并构造自己的交易逻辑,2、编写EA实现自己的交易系统,3、测试优化该交易系统,4、人工修正与补救。5、在上面的1234过程中,时刻不要忘记风险和仓位管控。

其中上面谈到的3和4就是一个漫长的过程。

u=4251499094,2286103471&fm=26&gp=0

但大多数的交易者是没有这个知识储备的,所以要练就这样的乾坤大挪移,也需要机缘巧合,缘分吧。

你也许会有这样的疑问,到底是智能交易的机器厉害,还是手工交易的人脑厉害?我觉得是后者控制前者才厉害,他们都各有各自的优势,所以不要非把他们分开,因为本来就是一体的,交易系统不是交易方法。

好了,今天就写这么多。有空再聊。

修复可能存在相同订单产生的连续亏损情况。

20190307_124528

情况说明,如上图所示,如果已经存在数个CAD持仓,那么就同NinjaLoveFishEA一样,判断CAD的持仓数量,并且如果此数值大于MaxSymbolInPosition,就会停止已经存在的挂单,自动停止再次可能产生的CAD货币兑交易。

20190307_124005

image

从图片上,可以看到,这个货币兑是EURSGD,在前低的附近,我开始了多单的布局,并且走势没有顺从我的意愿,出现了一波震荡下跌,并且很纠结,持续了很长时间,估计有2-3天。

在第四弹和第五单的地方,出现了重合下单的问题。图中可能看不出来重叠的程度,单实际上是非常危险的。具体我就不解释了,看图片。

image

那么针对这个问题,我做了2个处理:

  1. 停止对EURSGD的交易,因为它的库存费实在是太高了。
  2. 网格间增加了时间间隔和时间过滤(2-22点之内可以交易,也就是零点的前后2小时都是暂停交易的,一方面可以防止午夜的滑点,可以防止周一的跳空。)

image

盈利的极少,巨亏的一堆,数据不能骗人,这个是统计FOLLOWME的5000多个账户,按亏损排序的。由于数据不完整,所以也不能充分的说明问题,所以仅仅显示了TOP20这些人的情况,如果你有什么怀疑的,你完全可以进去,手工统计这20个人的盈亏等情况。

外汇,想说爱你真的不容易哈。

image

THIS EA IS GRID AND MARTINGALE STRATEGY SO THE SLpercent PARAMETER IS MUST TO SET, IN OTHER WORDS ,HOW MUCH MONEY DO YOU LIKE TO LOSE.

Snipaste_2018-10-14_09-28-08.png