本帖最后由 q124063679 于 2017-9-22 15:45 编辑
这是一个据称是WallStreet Forex Robot 的克隆版,源码具有可读性,不过由于是俄罗斯人编写的,注解的俄文成为乱码,给理解带来不少难度。我还是下决心弄透它。这是一款对点差及其敏感的剥头皮EA,在以一个点差测试欧美2011年,全年获得了惊人的200倍收益。当点差扩大到2点时,收益降低到170倍左右;当点差上升到3点时,收益则剧降至22倍,且大起大落。不过,总的说来,还是一款表现出色的剥头皮EA。
入场条件:做多
第一种情况,要同时满足: (1)15分钟图的前一柱子的收盘价 与 15分钟图前一柱子第N期(默认为55期)SMMA(Price_Mode=High) 价的差值大于设定的的MA过滤值A(默认为18点); (2)15分钟图的前一柱子的收盘价 与 当前的Bid的差价大于系统默认的误差值(略低于1point) (3)15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值小于设定的做多过滤值A(默认值为1);
第二种情况,要同时满足:
(1)15分钟图的前一柱子的收盘价与 15分钟图前一柱子第N期(默认为55期)SMMA(Price_Mode=High) 价的差值大于设定的的MA过滤值B(默认为39点); (2)同以上第(2);
(3)15分钟图的前一柱子的第N期CCI值(默认为18期)小于设定CCI过滤值的负值(默认为170);
第三种情况,要同时满足:
(1) 同第二种情况(1); (2) 同第二种情况(2); (3) 15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值小于设定的过滤值B(默认值为5);
第四种情况,要同时满足: (1) 15分钟图的前一柱子的第1期MFI值大于第3期的MFI值; (2) 15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值小于设定的FilterWL过滤值(默认值为5); (3) FilterWL过滤值大于0;
第五种情况,要同时满足:
(1)15分钟图的前一柱子的第N期CCI值(默认为18期)小于设定的FilterCL过滤值的负值(默认为250);
(2)FilterCL过滤值大于0;
做空条件与上述条件相反,但要注意,有一些默认的设置,做空与做多的参数可能略有一点差别。纵观上述条件,可以观察到,该EA在入场时同时选择两方面的条件(1)价格处于顺势方向;(2)某一 指标处在低位,有较好的入场价格。
出场条件:
第一种情况: (1)订单入场价格与Bid的价差小于设定的亏损点数(默认为65); (2)设定时间框架内(默认15分钟)、设定期间(默认为15期)的Istoch主值大于设定的iWPR平仓过滤值(默认为90); (3)1分钟图的上一个柱子的收盘价格与Bid的价差小于设定的误差值; (4)订单为市价单;
第二种情况: (1)1分钟图的上一个柱子的开盘价大于收盘价;(价格回调了) (2)Bid 价与订单入场价格大于设定的价格过滤值(默认为14点);(也就是说,盈利目标实现了)。 (3)订单为市价单。
由此可以看出,该EA的盈亏比默认为65:14。但实际上,止损、止盈有可以对此进行调整和限制。默认TakeProfit 设为36点,Stoploss设为35点。
对资金管理,有以下几种方法: (1) 如果AutoMM>0 而RecoverMode==false时, 直接用一种计算公式求出LotSize来: LotSize = MathMax(MinLot, MathMin(MaxLot,MathCeil(MathMin(AutoMM_Max, AutoMM) / LotPrice / 100.0 * AccountFreeMargin() /LotStep / (LotValue / 100)) * LotStep)); (2) 如果AutoMM>0 而RecorverMode==true时, 则调用CalcLots()函数来计算。而CalcLots的计算方法十分复杂,也是该EA最出色的部分,
(3)当AutoMM=0时,不论RecoverMode如何设置,都按固定的Size入场,默认是0.01手
WSFR_D2HL_2.mq4
售价: 2 枚金币 (一共需要4个金币)
|