这款专家顾问(EA)可以根据ATR_Trailing所构建的通道,自动调整未平仓头寸的止损位置。止损的调整仅在新的K线生成时进行,确保止损不会被锁定在当前价格上。
该专家顾问还提供了一个便捷的功能,可以直接在当前图表上显示使用的指标,无需手动安装。这意味着在将专家顾问应用到图表后,指标会自动显示,非常方便。此外,这个指标的输入参数与专家顾问的参数完全一致。
下面是实现该功能的代码:
//+------------------------------------------------------------------+//| 引入CChart类到专家顾问中 |//+------------------------------------------------------------------+#include <Charts\Chart.mqh>//---- 声明一个全局变量,类型为CChart CChart cchart; //+------------------------------------------------------------------+//| 专家初始化函数 |//+------------------------------------------------------------------+intOnInit() { //---- 获取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指标添加到图表"); }
专家顾问的输入参数:
//+----------------------------------------------+//| 专家顾问输入参数 |//+----------------------------------------------+inputint Period_ATR=14; //ATR周期inputdouble Sell_Factor=2.0; inputdouble Buy_Factor=2.0; inputuint Deviation=10; //滑点
图像:

Exp_ATR_Trailing工作图表

评论 0