- 显示:
- 1453
- 等级:
- 已发布:
- 2018.03.16 13:34
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
这个EA交易是基于 Price_Extreme_Indicator 通道指标的,
策略很简单:
- 如果在设置中柱形的收盘价在相同的柱上高于通道边界指定的距离(默认为1),就建立一个买入仓位,
- 如果收盘价低于下方边界,就开启卖出仓位。
仓位是在符合以上条件时在每个新柱上建立的,如果有买入信号出现,而又有开启的卖出仓位,这样的仓位将会被关闭,而建立一个新的买入仓位。对于卖出情况就相反。
EA交易允许启用/禁止买入/卖出交易,以及反转指标信号,在卖的时候买入等等。您也可以设置止损和获利点数,如果设置了无效的止损和获利,EA会把这些数值设到交易品种所允许的最小 StopLevel。
If the lot value is invalid, the EA will adjust it to a proper value. 如果手数太大了,EA会调整它以能够开启一个仓位,如果没有资金来开启最小的手数,信号就将被跳过。
注意,如需正常工作,该EA需要编译好的 Price_Extreme_Indicator 指标文件。另外请注意,这个EA是设计用于练习和测试策略用的。
这个 EA 有 11 个可以配置的参数:
- Experts magic number - 用于EA识别其仓位的唯一编号;
- "Length of levels" of indicator - Price_Extreme_Indicator 指标的参数;
- Bar of signals - 指标信号使用的柱,默认为 1;
- Long positions enabled - 允许开启买入仓位;
- Short positions enabled - 允许开启卖出仓位;
- Reverse trade - 启用或者禁止信号的反转;
- Lots - 仓位交易量;
- Stop loss in points - 止损点数,默认为0,也就是不使用;
- Take profit in points - 获利点数,默认为0,也就是不使用;
- Slippage price - 允许的价格滑点点数;
- Multiplier spread for stops - 用于计算止损卦但正确距离的点差倍数. 对于止损和获利订单 (以及挂单), 有一个设置这类订单所最小允许的距离 - StopLevel. 也就是说,止损和获利 (以及挂单) 设置的与价格之间的距离不能小于这个值。如果f StopLevel 等于0,这并不表示它的缺失,而是指 StopLevel 是浮动的。在这种情况下,最小距离通常等于点差*, 但是有的时候就算是双倍点差也不够,所以,这个参数可以设置一个自定义的点差的倍数,用来计算设置止损单的最小距离。
为了检验这个策略,使用默认设置和2017年1月2日到2018年1月19日的数据进行了测试,不幸的是,在这种模式中 (通道突破时交易) 在测试刚开始就爆仓了,然后我们使用反转信号来测试,得到了下面的结果:
时段 M5, 测试时间段: 2017.01.02 - 2018.01.19
所有的参数都是默认的,除了 reverse 之外 (Reverse trade == "Yes")
测试图显示出,EA非常依赖于市场的状态(趋势/平盘),在这次测试中,EA在通道边界内部交易,可以清楚地看到稳定的获利/亏损。当在通道内交易时,在平盘区域EA会创造利润,但是一旦开始有趋势了,在通道内的交易就变得没那么赚钱了。所以策略可以进一步开发: EA 应当在平盘时在通道内进行交易,在有趋势时在通道被从趋势方向相同方突破交易。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/19818