收集:中国股票市场经济分析网

 SUMBARS(X,N)
  
  函数的用法如下:
  
  向前累加到指定值到现在的周期数。
  
  用法:
  
  SUMBARS(X,A)
  
  将X向前累加直到大于等于A,返回这个区间的周期数
  
  例如:
  
  SUMBARS(VOL,CAPITAL)
  
  1、设计一个指标,计算当日成交量是几天内的最高成交量
  
  2、设计一个指标,计算当日最高价是几天内的最高价?
  
  提示:直接用HHV()函数无法得到正确结果。
  
  例一:
  
  B:=HHV(H,0);
  A:=IF(BARPOS=1,B[DATACOUNT]*1.2,H);
  价:SUMBARS(REF(A,1)-A,0);
  
  U:=HHV(V,0);
  S:=IF(BARPOS=1,U[DATACOUNT]*1.2,V);
  量:SUMBARS(REF(S,1)-S,0);
  
  或:
  
  VH:=HHV(VOL,0);
  FV:=IF(BARPOS=1,VH[DATACOUNT]*1.2,VOL); //VH[DATACOUNT]是历史最高成交量
  量创新高周期数:SUMBARS(REF(FV,1)-FV,0);
  {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?}
  
  另一种写法:
  
  VH:=HHV(VOL,0);
  FV:=VOL;
  FV[1]:=VH[DATACOUNT]*1.2; //VH[DATACOUNT]是历史最高成交量
  量创新高周期数:SUMBARS(REF(FV,1)-FV,0);
  {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?}
  
  代码已经成功了,原理是什么呢?
  
  假设某日成交量是3日内的最大成交量,则必有:
  
  REF(VOL,3)-VOL>=0
  
  等价于:
  
  (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL) >=0
  
  意思就是说,“昨成交量与今成交量之差”逐日累加,直到某日累加和大于等于0,则这之间的天数,就是所要求的日数。
  
  我们再来看看SUMBARS()函数的含义:
  
  SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。
  
  显然上面的式子:
  
  (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL)>=0
  
  可以写成:
  
  SUMBARS(REF(VOL,1)-VOL, 0);
  
  为何第1周期的成交量要替换成比所有成交量都大的数值?最后,再来思考一个问题,把题目中的求“最大”,改成求“最小”,即多少天内是最小的?
  
  例二:
  
  B:=HHV(H,0);
  A:=IF(BARPOS=1,9999,H);
  Z:SUMBARS(REF(A,1)-A,0);
  DRAWNUMBER(BARPOS=SYSPARAM(1),1,Z,0)ALIGN4,COLORWHITE;
  
  U:=HHV(V,0);
  S:=IF(BARPOS=1,999999999999,V)
  Y:SUMBARS(REF(S,1)-S,0);
  DRAWNUMBER(BARPOS=SYSPARAM(1),1,Y,0)ALIGN3,COLORYELLOW;
  
  例三:
  
  HH:=IF(BARSCOUNT(C)=1,9999,H);
  ZH:SUMBARS(REF(HH,1)-HH,0);//价创了N周期新高
  
  VH:=IF(BARSCOUNT(C)=1,99999999,V);
  HV:SUMBARS(REF(VH,1)-VH,0);//量创了N周期新高
  
  LL:=IF(BARSCOUNT(C)=1,0,L);
  ZL:SUMBARS(LL-REF(LL,1),0);//价创了N周期新低
  
  VL:=IF(BARSCOUNT(C)=1,0,V);
  LV:SUMBARS(VL-REF(VL,1),0);//量创了N周期新低
  
  附注:
  
  用99999999等具体数值,最好是尽可能大的数值(比如单精数的上限),否则仍有可能无法全部完成计算,比如上证指数的年线,成交量最大时,仍然超过了99999999。
  
  倒数第6天的最高价格怎么表示?
  
  FH:=HIGH;
  FH[DATACOUNT-5]; //倒数第6天的最高价格。
  
  [DATACOUNT]
  
  返回K线的数量,即总共有多少根K线。



发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口


相关内容


  • 上一篇教程:
  • 下一篇教程: