这款专家顾问(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工作图表
评论 0