首页 技术指标 帖子

CCI颜色级别 - MetaTrader 5 指标使用指南

附件
19704.zip (4.1 KB, 下载 0次)

这个指标的效果如下所示:

CCI颜色级别

为了实现这个视觉效果,我们使用了三种图形构造:

CCI颜色级别绘制


指标输入参数

  • 平均周期 - 指标的平均周期;
  • 上升级别 - 上升级别的数值;
  • 下降级别 - 下降级别的数值。

上升和下降的级别会立即显示在指标的子窗口中:

CCI颜色级别输入参数


如何在EA中访问指标数据

DRAW_HISTOGRAM2样式基于两个指标缓冲,因此在数据窗口中我们会看到两个上升级别和两个下降级别的值:

测试CCI颜色级别

这些值对应于指标缓冲区从0到4(包含0和4)。

在EA中,我们需要使用 iCustom 创建指标句柄

//--- 输入参数
input int      Inp_CCI_ma_period = 14;    // 平均周期
input double   Inp_CCI_LevelUP   = 90;    // 上升级别
input double   Inp_CCI_LevelDOWN =-90;    // 下降级别
//---
int            handle_iCustom;            // 存储iCustom指标句柄的变量
//+------------------------------------------------------------------+
//| EA 初始化函数                                             |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 创建iCCI指标的句柄
   handle_iCustom=iCustom(Symbol(),Period(),"CCI颜色级别",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN);
//--- 如果句柄未创建
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- 输出失败信息和错误代码
      PrintFormat("创建iCCI指标句柄失败,符号为 %s/%s,错误代码 %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- 提前停止指标
      return(INIT_FAILED);
     }
//---
   return(INIT_SUCCEEDED);
  }

这里假设CCI颜色级别指标位于[data folder]\MQL5\Indicators\。

获取指标数值的方法(仅缓冲区0、2和4是重要的):

//+------------------------------------------------------------------+
//| EA 每个tick函数                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double level_up   = iCustomGet(handle_iCustom,0,0);   // 缓冲区#0 -> BufferUpHigh
   double cci        = iCustomGet(handle_iCustom,2,0);   // 缓冲区#2 -> BufferCCI
   double level_down = iCustomGet(handle_iCustom,4,0);   // 缓冲区#4 -> BufferDownLow
   string text="上升级别 #0: "+DoubleToString(level_up,2)+"
"+
               "CCI #0: "+DoubleToString(cci,2)+"
"+
               "下降级别 #0: "+DoubleToString(level_down,2);
   Comment(text);
  }

在上面的截图中,鼠标指向索引为0的柱子,数据窗口显示了指标数据,EA关于缓冲区0、2和4的信息也在图表上显示。

相关帖子

评论 (0)