MetaTrader 5 / EA

DoubleZigZag - MetaTrader 5EA

MKaptsevich
2409
(35)

思路的作者 是 Maksim, 而 mq5 代码的作者 是 barabashkakvn

本EA交易使用了两个之字转向指标来进行分析: 小的之字转向指标参数是 (13.5,3) 而较大之字转向指标的参数则是乘以8: (13*8,5*8,3*8)

//--- 使用 iCustom 创建指标句柄    handle_iCustom=iCustom(Symbol(),Period(),"Examples\\ZigZag",13,5,3); //--- 如果句柄没有创建     if(handle_iCustom==INVALID_HANDLE)      {       //--- 报告失败并输出错误代码        PrintFormat("使用 iCustom 创建指标句柄失败,交易品种 %s/%s, 错误代码 %d",                   Symbol(),                   EnumToString(Period()),                   GetLastError());       //--- 指标早些停止运行        return(INIT_FAILED);      } //--- 使用 iCustom 创建指标句柄    handle_iCustomX8=iCustom(Symbol(),Period(),"Examples\\ZigZag",13*8,5*8,3*8); //--- 如果句柄没有创建     if(handle_iCustomX8==INVALID_HANDLE)      {       //--- 报告失败并输出错误代码        PrintFormat("创建 iCustomX8 指标句柄失败,交易品种 %s/%s, 错误代码 %d",                   Symbol(),                   EnumToString(Period()),                   GetLastError());       //--- 指标早些停止运行        return(INIT_FAILED);      } 

为了做出交易决定,要分析较大之字转向指标 (13*8,5*8,3*8) 最近峰值的两条腿, 而还要计算较小之字转向指标 (13,5,3) 在这两条腿之间的峰值数量。

如果收到了建立买入仓位的信号,所有的卖出仓位都要关闭。对应的是: 如果收到了建立卖出仓位的信号,所有的买入仓位都要关闭。

EA交易的参数:

  • k 是较大之字转向腿间小之字转向峰值的系数比例。
  • k2 是较大之字转向峰值之间的价格差距比例。

例子: 

DoubleZigZag

较大之字转向指标 (13*8,5*8,3*8) 以红色显示, 较小之字转向指标 (13,5,3) 是黄色的。

相应地, ABC 是较大之字转向指标 (13*8,5*8,3*8) 的峰值。

两腿 ABAC 包含了较小之字转向指标(13,5,3)的9个峰值。


在 EURUSD,M1 上的测试结果:

DoubleZigZag

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/18629