创意来源: Iurii Tokman。
MQL5代码提供者: Vladimir Karputov。
这个交易系统(通常称为EA)主要基于两条指标:移动平均线(MA)和相对强弱指标(RSI)。交易信号的决策是在新K线出现时才会做出,并且在每个行情波动时进行追踪和平仓(获利时)。
该系统采用了一个独特的解决方案:慢速指标的平均周期是快速指标平均周期的两倍,而RSI的平均周期始终等于快速指标的平均周期。这种设计减少了优化过程中的参数数量。
你还可以优化所有的信号识别公式中的符号“<”和“>”。为此,引入了自己的变量(InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3)。使用这些变量,公式被修改如下:
bool signal_buy=(!InpMoreLessBuy_1 ? ArrayFast[1]<ArraySlow[1]: ArrayFast[1]>ArraySlow[1]) && (InpMoreLessBuy_2 ? ArrayFast[0]>ArraySlow[0]: ArrayFast[0]<ArraySlow[0]) && (InpMoreLessBuy_3 ? RSI>InpRSI_level_UP : RSI<InpRSI_level_UP); bool signal_sell=(InpMoreLessSell_1 ? ArrayFast[1]>ArraySlow[1]: ArrayFast[1]<ArraySlow[1]) && (!InpMoreLessSell_2? ArrayFast[0]<ArraySlow[0]: ArrayFast[0]>ArraySlow[0]) && (!InpMoreLessSell_3? RSI<InpRSI_level_DOWN : RSI>InpRSI_level_DOWN);
输入参数
-
移动平均线指标参数:
- 快速: 平均周期 - 快速移动平均线的平均周期;
- 快速: 水平偏移 - 快速移动平均线的水平偏移;
- 快速: 价格类型 - 快速移动平均线的价格类型;
- 慢速: 水平偏移 - 慢速移动平均线的水平偏移;
- 慢速: 价格类型 - 慢速移动平均线的价格类型;
- 快速与慢速: 平滑类型 - 平滑类型(适用于“快速”和“慢速”的共同参数)。
-
RSI指标及其信号参数:
- RSI: 价格类型 - RSI指标的价格类型;
- RSI: 上限水平 - RSI指标的上限水平;
- RSI: 下限水平 - RSI指标的下限水平。
-
交易参数:
- 止损 - 止损(设置为零时,该参数将被禁用);
- 止盈 - 止盈(设置为零时,该参数将被禁用);
- 追踪止损 - 追踪止损(设置为零时,该参数将被禁用);
- 追踪步长 - 追踪步长;
- 手数 - 以固定手数交易(参数手数大于零且参数风险为零);
- 风险 - 动态计算手数(参数风险大于零且参数手数为零);
- 单向最大持仓数 - 单向最大持仓数(设置为零时,该参数将被禁用);
- 盈利时平仓所有持仓 - 达到盈利时平仓(设置为零时,该参数将被禁用);
- 平仓相反持仓 - 平仓相反持仓(设置为“假”时,该参数将被禁用);
- 魔术数字 - EA的唯一标识符。
如你所见,除了设置指标参数外,这个EA还允许灵活设置(和禁用)止损、止盈、追踪、单向最大持仓数、盈利时平仓和相反持仓的平仓。你也可以管理持仓量的计算:可以以固定手数交易(手数大于零且风险为零),或者手数可以动态计算(风险大于零且手数为零)。
优化建议
在“OHLC na M1”模式下,选择交易品种和M15时间框架。禁用(设置为零)止损、止盈和追踪,并将每个方向的最大持仓数设置为“1”。或者将已经包含M15初始优化参数的Two MA one RSI M15 Start.set文件复制到MQL5\Profiles\Tester\文件夹中。
选择优化类型为“快速(遗传算法)”,并优化参数“最大余额”。
我建议利用MQL5云网络进行优化:在2017年对USDJPY进行优化时,在云端加上我的四核笔记本

花费了
2018.05.28 08:03:19.923 优化完成,耗时7分钟58秒
花费$0.08。