笨蛋学经济-指标的概念(Concepts of Indicator)

楼主  收藏   举报   帖子创建时间:  2019-05-05 14:44 回复:0 关注量:81
转载自:macy01.blogcn.com  笨蛋学经济博客
  
  1.        指标的概念(Concepts of Indicator)
  指标最重要的几个概念:
  1、        主图显示/独立窗口
  2、        索引线(Index)
  3、        缓冲区(buffer)
  4、        K线柱子(bar)--下一篇文章介绍
  
  我们下面详细介绍这些重要的概念:
  1、主图显示/独立窗口
  有些指标在主图显示,例如MA均线;有些指标在独立窗口显示,例如成交量和MACD;这些是通过指标的属性来控制的:
          #property  indicator_chart_window     主图窗口显示
          #property  indicator_separate_window  独立窗口显示
  
  2、索引线(Index)
  索引线最终就是反映到指标图上的图形,例如线条、柱状图、符号(箭头等)、无图形等。而索引线和缓冲区是一一绑定的,缓冲区的最大值为8个,因此索引最多为8个。索引按照[0, N]的顺序依次排列。
  索引对应的概念包括:
          风格:通过SetIndexStyle函数来设置,例如SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);表示将索引0设置为实现的柱状图,例如ExplosionSA指标中的红色柱子;(请参考SetIndexStyle函数来详细了解)
          颜色:通过指标属性来设置,例如#property  indicator_color1  Red表示将索引1的颜色设置为红色
  
  3、缓冲区(buffer)
  每个缓冲区对应的其实就是一个double类型的数组,其被绑定到索引线上,和索引线的风格(Style)同时来决定其外观,举例说明:
  风格Style          缓冲区取值的影响
  DRAW_HISTOGRAM     数组的值决定了柱子的高低
  DRAW_ARROW         数组赋值大于0决定了箭头出现,为空或为0则箭头不出现
                 2008-7-22 00:02 上传
  下载附件 (9.62 KB)   
  
  
      
  
  下面以Explosion指标来说明:
                 2008-7-22 00:02 上传
  下载附件 (10.44 KB)   
  
  
      
  此指标使用了5个Index:
          Index0:图中的红色柱子,表示多头能量
          Index1:图中的绿色柱子,表示空头能量
          Index3:布林张口的爆发力
          Index4:条件阀值,用于剔除盘整行情中的伪信号
          Index5:交易信号:多单开仓、空单开仓、多单平仓、空单平仓
  此指标的简单原理是红色柱子(Index0)穿透黄线(Index3)做多、回落到黄线下方多单平仓;同理绿色柱子(Index2)穿透黄线做空,回落黄线下方空单平仓。如果黄色线在条件阀值(Index4)下方则不给出信号。
  //+------------------------------------------------------------------+
  //|                ExplosionSA_Linyi.mq4      |
  //|      Copyright?2008, 笨蛋学经济          |
  //|                   tianlinyi@gmail.com     |
  //+------------------------------------------------------------------+
  #property  copyright "Copyright?2008, 笨蛋学经济"
  #property  link      "tianlinyi@gmail.com"
  //----
  #property  indicator_separate_window  //独立窗口显示
  #property  indicator_buffers 5         //5个缓冲区
  #property  indicator_color1  Red      //设置索引线颜色
  #property  indicator_color2  Green
  #property  indicator_color3  Gold
  #property  indicator_color4  Aqua
  #property  indicator_minimum 0.0     //指标窗口底部为0,即Y轴从0开始
                                    //作用:MACD指标窗口中间为0,上下为正负数
  #property  indicator_width1 2         //设置索引线宽度
  #property  indicator_width2 2
  #property  indicator_width3 1
  #property  indicator_width4 1
  
  //----
  设置指标参数代码这里忽略。。。。。
  
  //----
  double   ind_buffer1[];   //对应Trend1,为多方的能量数值
  double   ind_buffer2[];   //对应Trend2,为空方的能量数值
  double   ind_buffer3[];   //当前柱子和前一个柱子的布林张口爆发力
  double   ind_buffer4[];   //条件阀值
  double   ind_buffer5[];   //交易信号:1-多单;2-空单;3-多单平仓;4-空单平仓
  
  //+------------------------------------------------------------------+
  //|                                                                  |
  //+------------------------------------------------------------------+
  int init()  //初始化函数,指标加载后仅执行一次
    {
     SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);  //设置索引线的风格
     SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID);
     SetIndexStyle(2, DRAW_LINE, STYLE_SOLID);
     SetIndexStyle(3, DRAW_LINE);
     SetIndexStyle(4, DRAW_NONE);
  //----   
     SetIndexBuffer(0, ind_buffer1);    //依次绑定缓冲区数组到索引线上
     SetIndexBuffer(1, ind_buffer2);
     SetIndexBuffer(2, ind_buffer3);
     SetIndexBuffer(3, ind_buffer4);
     SetIndexBuffer(4, ind_buffer5);
  //----   
     IndicatorShortName("Explosion-xxxxxx");   //在窗口左上角显示指标名称,最长64个字符,
     return(0);
    }
  //+------------------------------------------------------------------+
  //|                                                                  |
  //+------------------------------------------------------------------+
  int start()  //汇价每跳动一次就执行一次
  {
    这里撰写指标代码,通过给缓冲区数据循环赋值,从而达到控制Index显示,来完成设计的指标功能。
  }
打赏