大家好!今天我们来聊聊一个非常实用的趋势交易系统——Exp_FisherTransform_X2。这个系统是基于两个FisherTransform指标的信号来进行交易的。
系统概述
第一个指标用于判断慢趋势的方向,依据的是主线和信号线的位置。而第二个指标则用来确定开仓的时机,当两条线交叉或触碰时,会发出信号。当一个K线收盘时,如果满足以下两个条件,就会形成交易信号:
- 快速趋势和慢趋势的信号一致;
- 快速趋势的方向发生了变化。
EA的输入参数
以下是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_H6; //趋势的图表周期
input uint Length=10;//指标平滑比例
input uint SignalBar=1; //获取入场信号的K线索引
input bool BuyPosClose=true; //允许根据趋势平仓多单
input bool SellPosClose=true //允许根据趋势平仓空单
//+-------------------------------------------------+
//| 入场指标的输入参数 |
//+-------------------------------------------------+
input string Input="入场参数"; //+=============== 入场参数 ===============+
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //入场的图表周期
input uint Length_=10; //指标周期
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_H6; //趋势的图表周期
input uint Length=10;//指标平滑比例
input uint SignalBar=1; //获取入场信号的K线索引
input bool BuyPosClose=true; //允许根据趋势平仓多单
input bool SellPosClose=true //允许根据趋势平仓空单
//+-------------------------------------------------+
//| 入场指标的输入参数 |
//+-------------------------------------------------+
input string Input="入场参数"; //+=============== 入场参数 ===============+
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //入场的图表周期
input uint Length_=10; //指标周期
input uint SignalBar_=1;//获取入场信号的K线索引
input bool BuyPosClose_=false; //允许根据信号平仓多单
input bool SellPosClose_=false; //允许根据信号平仓空单
//+-------------------------------------------------+
代码中输入参数的字符串参数仅用于更好地可视化EA输入参数窗口。
注意:EA中的FisherTransform_HTF指标仅用于在策略测试器中更方便地可视化趋势,其他操作模式下不启用。
请将FisherTransform.ex5和FisherTransform_HTF.ex5编译文件放入<terminal_data_folder>\MQL5\Indicators目录下。
另外,TradeAlgorithms.mqh库文件允许在提供非零点差的经纪商中使用EA,并且可以在开仓时同时设置止损和止盈。你可以在以下链接下载更多库的变种:交易算法。
以下是测试中使用的默认EA输入参数。测试中未使用止损和止盈。

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

图2. 测试结果图表
评论 0