首页
学习
活动
专区
圈层
工具
发布

自动多重波浪指标源码

量化团队将不定期的公布一些经典技术指标改版或者源码公式

自动多重波浪指标

对波浪理论有研究的可以做一个参考,可以有效区分主升浪,次级浪

源码获取方式:

加入我们的知识星球获取

部分源码展示

int start() {  int i, m;  bool calculate;

 if (Bars-currentBars+1>2)    {     for (i=0;i<3;i++)       {        saveBars[i]=0;       }    }

 currentBars=Bars;

 for (i=0;i<3;i++)    {     // 镳钼屦觇 潆 觐痧尻蝽钽?疣聍蛤?桧滂赅蝾疣     if ((iBars(NULL,GrossPeriod_[i])-1<ExtDepth_[i]) || (ExtDepth_[i]<=0)) continue;

    calculate=false;

    limit=iBars(NULL,GrossPeriod_[i])-saveBars[i]+1;

    if (limit>2)       {        calculate=true;        Grosstf_DT[i]=false;        ZZ_tf[i]=false;

       if (ExtDepth_[i]>=ExtBackstep_[i]) m=ExtDepth_[i]; else m=ExtBackstep_[i];        if ((ExtMaxBar_[i]>iBars(NULL,GrossPeriod_[i])-m) || (ExtMaxBar_[i]==0)) limit=iBars(NULL,GrossPeriod_[i])- m; else limit=ExtMaxBar_[i];

       if (i==0)          {           arr_resize(LowestBufferGross1, HighestBufferGross1, limit+m, i);

          ArrayInitialize(LowestBuffer1,0); ArrayInitialize(HighestBuffer1,0);          }        else if (i==1)          {           arr_resize(LowestBufferGross2, HighestBufferGross2, limit+m, i);

          ArrayInitialize(LowestBuffer2,0); ArrayInitialize(HighestBuffer2,0);          }        else if (i==2)          {           arr_resize(LowestBufferGross3, HighestBufferGross3, limit+m, i);

          ArrayInitialize(LowestBuffer3,0); ArrayInitialize(HighestBuffer3,0);         }

      }     else       {        if (lBar[i]>iLow(NULL,GrossPeriod_[i],0) || hBar[i]<iHigh(NULL,GrossPeriod_[i],0) || tiZZ[i]!=iTime(NULL,GrossPeriod_[i],0))          {           calculate=true;          }       }

    if (calculate)       {        switch (i)          {           case 0:             {              if (GrossPeriod_[i]==0)                {                 ZigZag_(LowestBuffer1, HighestBuffer1, i);                }              else                {                 if (limit==2) Shift_elements(LowestBufferGross1,HighestBufferGross1);

                if (ZigZag_(LowestBufferGross1, HighestBufferGross1, i)==0)                   {                    ZigZagDT (LowestBuffer1, HighestBuffer1, LowestBufferGross1, HighestBufferGross1, i);                   }                }

             break;             }           case 1:             {              if (GrossPeriod_[i]==0)                {                 ZigZag_(LowestBuffer2, HighestBuffer2, i);                }              else                {                 if (limit==2) Shift_elements(LowestBufferGross2,HighestBufferGross2);

                if (ZigZag_(LowestBufferGross2, HighestBufferGross2, i)==0)                   {                    ZigZagDT (LowestBuffer2, HighestBuffer2, LowestBufferGross2, HighestBufferGross2, i);                   }                }

             break;             }           case 2:             {              if (GrossPeriod_[i]==0)

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Orp9mWN87mSr-L75DLBb7ACw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券