久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Volume-成交量指標

     qilong 2019-02-20

    //+------------------------------------------------------------------+

    //|                            Volume with Custom Moving Average.mq4 |

    //|                      Copyright ?2004, MetaQuotes Software Corp. |

    //|                                       http://www./ |

    //+------------------------------------------------------------------+

    #property copyright "Copyright ?2004, MetaQuotes Software Corp. Modified RonT"

    #property link      "http://www./"

    #property indicator_separate_window

    #property indicator_buffers 3

    #property indicator_color1 Red

    #property indicator_color2 Green

    #property indicator_color3 White

    // User input

    extern int MA_Period=13;

    extern int MA_Shift=0;

    extern int MA_Method=0;

    // Buffers

    double VolBuffer1[];  // value down

    double VolBuffer2[];  // value up

    double VolBuffer3[];  // moving average

    //----

    int ExtCountedBars=0;

    int lastcolor=0;

    //+------------------------------------------------------------------+

    //| Custom indicator initialization function                         |

    //+------------------------------------------------------------------+

    int init()

      {

       int    draw_begin;

       string short_name;

       // indicator buffers mapping, drawing settings and Shift

       // Histogram downArrow Red

       SetIndexBuffer(0,VolBuffer1);

       SetIndexStyle(0,DRAW_HISTOGRAM);

       SetIndexShift(0,MA_Shift);

       // Histogram upArrow Green

       SetIndexBuffer(1,VolBuffer2); 

       SetIndexStyle(1,DRAW_HISTOGRAM);

       SetIndexShift(1,MA_Shift);

       // Moving average line white

       SetIndexBuffer(2,VolBuffer3);

       SetIndexStyle(2,DRAW_LINE);

       SetIndexShift(2,MA_Shift);

       IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

       if(MA_Period<2) MA_Period=2;

       draw_begin=MA_Period-1;

       switch(MA_Method)

         {

          case 1  : short_name="EMA(" ;  draw_begin=0; break;

          case 2  : short_name="SMMA(";                break;

          case 3  : short_name="LWMA(";                break;

          default : short_name="SMA(" ;  MA_Method=0;

         }

       IndicatorShortName(short_name+MA_Period+")");

       SetIndexDrawBegin(0,draw_begin);

       return(0);

      }

    //+------------------------------------------------------------------+

    //| Main                                                             |

    //+------------------------------------------------------------------+

    int start()

      {

       if(Bars<=MA_Period) return(0);

       ExtCountedBars=IndicatorCounted();

    // check for possible errors

       if (ExtCountedBars<0) return(-1);

    // last counted bar will be recounted

       if (ExtCountedBars>0) ExtCountedBars--;

       switch(MA_Method)

         {

          case 0 : sma();  break;

          case 1 : ema();  break;

          case 2 : smma(); break;

          case 3 : lwma();

         }

       return(0);

      }

    //+------------------------------------------------------------------+

    //| Simple Moving Average                                            |

    //+------------------------------------------------------------------+

    void sma()

      {

       double sum=0;

       int    i,pos=Bars-ExtCountedBars-1;

       // initial accumulation

       if(pos<MA_Period) pos=MA_Period;

       for(i=1;i<MA_Period;i++,pos--)

          sum+=Volume[pos];

       while(pos>=0)

         {

          sum+=Volume[pos];

          VolBuffer3[pos]=sum/MA_Period;

      sum-=Volume[pos+MA_Period-1];

      Vcolor(pos);

        pos--;

         }

       // zero initial bars

       if(ExtCountedBars<1)

          for(i=1;i<MA_Period;i++) VolBuffer1[Bars-i]=0;

      }

    //+------------------------------------------------------------------+

    //| Exponential Moving Average                                       |

    //+------------------------------------------------------------------+

    void ema()

      {

       double pr=2.0/(MA_Period+1);

       int    pos=Bars-2;

       if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1;

       while(pos>=0)

         {

          if(pos==Bars-2) VolBuffer3[pos+1]=Volume[pos+1];

          VolBuffer3[pos]=Volume[pos]*pr+VolBuffer3[pos+1]*(1-pr);

          Vcolor(pos);

        pos--;

         }

      }

    //+------------------------------------------------------------------+

    //| Smoothed Moving Average                                          |

    //+------------------------------------------------------------------+

    void smma()

      {

       double sum=0;

       int    i,k,pos=Bars-ExtCountedBars+1;

       pos=Bars-MA_Period;

       if(pos>Bars-ExtCountedBars) pos=Bars-ExtCountedBars;

       while(pos>=0)

         {

          if(pos==Bars-MA_Period)

            {

             // initial accumulation

             for(i=0,k=pos;i<MA_Period;i++,k++)

               {

                sum+=Volume[k];

                // zero initial bars

                VolBuffer3[k]=0;

               }

            }

          else sum=VolBuffer3[pos+1]*(MA_Period-1)+Volume[pos];

          VolBuffer3[pos]=sum/MA_Period;

        pos--;

         }

      }

    //+------------------------------------------------------------------+

    //| Linear Weighted Moving Average                                   |

    //+------------------------------------------------------------------+

    void lwma()

      {

       double sum=0.0,lsum=0.0;

       double price;

       int    i,weight=0,pos=Bars-ExtCountedBars-1;

    //---- initial accumulation

       if(pos<MA_Period) pos=MA_Period;

       for(i=1;i<=MA_Period;i++,pos--)

         {

          price=Volume[pos];

          sum+=price*i;

          lsum+=price;

          weight+=i;

         }

    //---- main calculation loop

       pos++;

       i=pos+MA_Period;

       while(pos>=0)

         {

          VolBuffer3[pos]=sum/weight;

          if(pos==0) break;

          pos--;

          i--;

          price=Volume[pos];

          sum=sum-lsum+price*MA_Period;

          lsum-=Volume[i];

          lsum+=price;

         }

    //---- zero initial bars

       if(ExtCountedBars<1)

          for(i=1;i<MA_Period;i++) VolBuffer3[Bars-i]=0;

      }

    //+------------------------------------------------------------------+

    //| Color depends on gain or loss and previous volume                |

    //+------------------------------------------------------------------+

    // 1 - histo down red

    // 2 - histo up green

    // 3 - line white

    void Vcolor(int p)

      {

       if (Volume[p+1]>Volume[p])

         {

          VolBuffer1[p]=Volume[p];

          VolBuffer2[p]=0;

          lastcolor=Red;

         }

       if (Volume[p+1]<Volume[p])

         {

          VolBuffer1[p]=0;

          VolBuffer2[p]=Volume[p];

          lastcolor=Green;

         }        

       if (Volume[p+1]==Volume[p])

         {

          if ( lastcolor==Red )

            {

             VolBuffer1[p]=Volume[p];

             VolBuffer2[p]=0;

            }

          if ( lastcolor==Green )

            {

             VolBuffer1[p]=0;

             VolBuffer2[p]=Volume[p];

            }

         }

      }

    //+------------------------------------------------------------------+

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲中文字幕一区二区| 欧美交a欧美精品喷水| 四虎国产精品永久入口| 人人人澡人人肉久久精品| 日本一高清二区视频久二区| 国产农村妇女高潮大叫| 日本高清视频网站www| 成人国产片视频在线观看| 99久久久精品免费观看国产| 亚洲欧美自偷自拍视频图片| 国产成人精品久久| 高清无码爆乳潮喷在线观看| 久久久久99精品国产片| 久热综合在线亚洲精品| 亚洲成AV人片不卡无码手机版| 麻豆国产成人AV在线播放| 亚洲AV中文无码乱人伦在线观看| 玩弄漂亮少妇高潮白浆| 久久久久亚洲AV成人网人人网站 | 精品国产午夜肉伦伦影院 | 成人国产精品日本在线观看| 特级毛片A级毛片免费观看网站 | 少妇高潮水多太爽了动态图| 特黄A又粗又大又黄又爽A片| 亚洲精品成人福利网站| 五月天婷婷激情无码专区| 国产欧美在线一区二区三| 亚洲av午夜成人片| 中文字幕无码中文字幕有码A| 人人澡人摸人人添| 精品乱人伦一区二区三区| 国产初高中生在线视频| 免费无码成人AV片在线| 成人H视频在线观看| 亚洲AV成人噜噜无码网站| 野外做受三级视频| 亚洲精品日韩在线丰满| 成人H视频在线观看| 日韩精品久久久久久久电影蜜臀 | 狠狠躁夜夜躁人人爽天天天天| 老司机午夜精品视频资源|