MetaTrader 5中的ATR_Trailing系统交易专家顾问

Mike 2012.10.10 22:00 16 0 0
附件

这款专家顾问(EA)可以根据ATR_Trailing所构建的通道,自动调整未平仓头寸的止损位置。止损的调整仅在新的K线生成时进行,确保止损不会被锁定在当前价格上。

该专家顾问还提供了一个便捷的功能,可以直接在当前图表上显示使用的指标,无需手动安装。这意味着在将专家顾问应用到图表后,指标会自动显示,非常方便。此外,这个指标的输入参数与专家顾问的参数完全一致。

下面是实现该功能的代码:

//+------------------------------------------------------------------+
//| 引入CChart类到专家顾问中                              |
//+------------------------------------------------------------------+
#include <Charts\Chart.mqh>
//---- 声明一个全局变量,类型为CChart
CChart cchart;
//+------------------------------------------------------------------+
//| 专家初始化函数                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---- 获取ATR_Trailing指标的句柄
   InpInd_Handle=iCustom(Symbol(),PERIOD_CURRENT,"ATR_Trailing",Period_ATR,Sell_Factor,Buy_Factor);
   if(InpInd_Handle==INVALID_HANDLE) Print(" 获取ATR_Trailing指标句柄失败");

//--- 将错误代码重置为零
   ResetLastError();

//--- cchart对象与当前图表(ID=0)关联,该专家顾问附加于此
   cchart.Attach(0);

//---- 在图表上添加ATR_Trailing指标  
   if(!cchart.IndicatorAdd(0,InpInd_Handle)) Print(" 无法将ATR_Trailing指标添加到图表");
}

 

专家顾问的输入参数:

//+----------------------------------------------+
//| 专家顾问输入参数              |
//+----------------------------------------------+
input int Period_ATR=14;  //ATR周期
input double Sell_Factor=2.0;
input double Buy_Factor=2.0;
input uint Deviation=10;  //滑点

图像:

Exp_ATR_Trailing工作图表

Exp_ATR_Trailing工作图表 

列表
评论 0