大家好,今天我想跟大家聊聊一个非常实用的趋势跟随交易系统——Exp_X2MA_JJRSX。这个系统是基于ColorX2MA和ColorJJRSX指标信号构建的。ColorX2MA指标主要用来判断主要的慢趋势方向,而ColorJJRSX指标则帮助我们确定快速趋势转变时的入场点。当以下两个条件同时满足时,系统会在K线收盘时生成入场信号:
- 快速和慢速趋势信号一致;
- 快速趋势已改变方向。
EA 输入参数:
//+-------------------------------------------------+
//| EA 指标的输入参数 |
//+-------------------------------------------------+
input string Trade="交易管理"; //+============== 交易管理 ==============+
input double MM=0.1; //交易中占用的存款比例
input MarginMode MMMode=LOT; //手数值检测方法
input uint StopLoss_=1000; //止损点数
input uint TakeProfit_=2000; //止盈点数
input string MustTrade="交易权限"; //+============== 交易权限 ==============+
input int Deviation_=10; //最大价格偏差点数
input bool BuyPosOpen=true; //允许开多仓
input bool SellPosOpen=true; //允许开空仓
//+-------------------------------------------------+
//| 滤波器指标的输入参数 |
//+-------------------------------------------------+
input string Filter="慢趋势参数"; //+============== 趋势参数 ==============+
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H4; //1 图表周期用于趋势
input Smooth_Method MA_Method1=MODE_SMA_; //第一次平滑平均方法
input uint Length1=12; //第一次平滑深度
input int Phase1=15; //第一次平滑参数,影响过渡过程的质量
input Smooth_Method MA_Method2=MODE_JJMA; //第二次平滑平均方法
input uint Length2=5; //第二次平滑深度
input int Phase2=15; //第二次平滑参数,影响过渡过程的质量
input uint SignalBar=1; //获取入场信号的K线索引
input bool BuyPosClose=true; //根据趋势退出多仓的权限
input bool SellPosClose=true; //根据趋势退出空仓的权限
//+-------------------------------------------------+
//| 入场指标的输入参数 |
//+-------------------------------------------------+
input string Input="入场参数"; //+=============== 入场参数 ===============+
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //2 图表周期用于入场
input uint JurXPeriod=8; //JurX周期
input uint JMAPeriod=3; //JMA周期
input int JMAPhase=100; //JMA平均参数,影响过渡过程的质量
input uint SignalBar_=1; //获取入场信号的K线索引
input bool BuyPosClose_=false; //根据信号退出多仓的权限
input bool SellPosClose_=false; //根据信号退出空仓的权限
//+-------------------------------------------------+
//| EA 指标的输入参数 |
//+-------------------------------------------------+
input string Trade="交易管理"; //+============== 交易管理 ==============+
input double MM=0.1; //交易中占用的存款比例
input MarginMode MMMode=LOT; //手数值检测方法
input uint StopLoss_=1000; //止损点数
input uint TakeProfit_=2000; //止盈点数
input string MustTrade="交易权限"; //+============== 交易权限 ==============+
input int Deviation_=10; //最大价格偏差点数
input bool BuyPosOpen=true; //允许开多仓
input bool SellPosOpen=true; //允许开空仓
//+-------------------------------------------------+
//| 滤波器指标的输入参数 |
//+-------------------------------------------------+
input string Filter="慢趋势参数"; //+============== 趋势参数 ==============+
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H4; //1 图表周期用于趋势
input Smooth_Method MA_Method1=MODE_SMA_; //第一次平滑平均方法
input uint Length1=12; //第一次平滑深度
input int Phase1=15; //第一次平滑参数,影响过渡过程的质量
input Smooth_Method MA_Method2=MODE_JJMA; //第二次平滑平均方法
input uint Length2=5; //第二次平滑深度
input int Phase2=15; //第二次平滑参数,影响过渡过程的质量
input uint SignalBar=1; //获取入场信号的K线索引
input bool BuyPosClose=true; //根据趋势退出多仓的权限
input bool SellPosClose=true; //根据趋势退出空仓的权限
//+-------------------------------------------------+
//| 入场指标的输入参数 |
//+-------------------------------------------------+
input string Input="入场参数"; //+=============== 入场参数 ===============+
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //2 图表周期用于入场
input uint JurXPeriod=8; //JurX周期
input uint JMAPeriod=3; //JMA周期
input int JMAPhase=100; //JMA平均参数,影响过渡过程的质量
input uint SignalBar_=1; //获取入场信号的K线索引
input bool BuyPosClose_=false; //根据信号退出多仓的权限
input bool SellPosClose_=false; //根据信号退出空仓的权限
//+-------------------------------------------------+
以上输入参数中的字符串变量仅用于优化 EA 输入窗口的视觉展示。
ColorJJRSX_HTF 和 ColorX2MA_HTF 指标在 EA 中的存在主要是为了方便策略测试中的趋势可视化,并未在其他操作模式中使用。
请将 ColorX2MA.ex5、ColorX2MA_HTF.ex5、ColorJJRSX.ex5 和 ColorJJRSX_HTF.ex5 编译文件放入
请注意,TradeAlgorithms.mqh 库文件允许使用 非零点差 的经纪商的专家顾问,并且可以在开仓时设置止损和止盈。您可以在以下链接下载更多库的变体:交易算法。
在以下测试中使用了默认的专家顾问输入参数。测试中未使用止损和止盈。

图1. 交易实例图表
以下是2015年在GBPUSD上的测试结果,使用H4上的慢趋势,M30上的快速趋势入场:

图2. 测试结果图表