分享

【通达信】怎样用公式表示N根K线重叠的区间?

 耀日131 2018-02-25
上次我没有表达清楚我的意思,下面发一张图说明一下,图中粉红框内N根K线重叠的区间用公式表示,并能调整重叠的区间大小,N也可以调整大小,还能在主图上显示记号!最好能与下面的K线合并公式配合使用:
{最近4K线合并}
XK:=4,NODRAW;
XR1:=1;
HH:=HHV(HIGH,XK);
LL:=LLV(LOW ,XK);
OO:=IF(XK<=1,OPEN,REF(OPEN,XK-1));
XH1:=CONST(IF(ISLASTBAR,IF(XR1<=1,HH,REF(HH,XR1-1)),DRAWNULL)),NODRAW;
XL1:=CONST(IF(ISLASTBAR,IF(XR1<=1,LL,REF(LL,XR1-1)),DRAWNULL)),NODRAW;
XO1:=CONST(IF(ISLASTBAR,IF(XR1<=1,OO,REF(OO,XR1-1)),DRAWNULL)),NODRAW;
XC1:=CONST(IF(ISLASTBAR,IF(XR1<=1,C,REF(C,XR1-1)),DRAWNULL)),NODRAW;
STICKLINE(CURRBARSCOUNT=XR1+FLOOR(XK/2) AND XC1>XO1,XH1,XL1,XK*1+0.5,0)
,COLOR73599D;{合并阳K线上下影线}
STICKLINE(CURRBARSCOUNT=XR1+FLOOR(XK/2) AND XC1<XO1,XH1,XL1,XK*1+0.5,0)
,COLOR808040;{合并阴K线上下影线}
STICKLINE(CURRBARSCOUNT=XR1+FLOOR(XK/2) AND XC1>XO1,XO1,XC1,XK*4+0.5,0)
,COLOR73599D;{合并阳K线实体部份}
STICKLINE(CURRBARSCOUNT=XR1+FLOOR(XK/2) AND XC1<XO1,XO1,XC1,XK*4+0.5,0)
,COLOR808040;{合并阴K线实体部份}
 可设N=K线个数;M=重叠区宽度,以基准价格MA(C,3)表示的百分比数.
重叠区:=LLV(H,N)-HHV(L,N);{N日内的最小的最高价与N日内的最大的最低价之差}
重叠区百分比:=重叠区/MA(C,3);

这里N和M可以自设,做比较基准参数.如果想在主图显示信号,就给定自设条件M値,当重叠区百分比大于或小于M时,让画面显示特殊标记.
用做选股同理.

为过滤跳空低开和高开情况,没有交叉空间的,可以使用:重叠区>0;做过滤条件.

因指标要求的目标并不明确.无法编写具体指定目的指标.

比如达到什么样的条件下,在主图显示记号?要求N如何来调整?重叠区大小调整的目的?什么与下面的合并K线图配合?要配合成什么样的目标图?等等

尚需明确,否无法编辑
  {  重叠区:=LLV(H,5)-HHV(L,5);
bigg:=HHV(bi,5);
bidd:=LLV(bi,5);
bizg:=HHV(bidd,5);
bizd:=LLV(bigg,5);
重叠区A:=LLV(bigg,5)-HHV(bidd,5);}


*重叠三K线:

{显示三K线}

三K线:=1;{如需三线,将0改为1}

DG:=MAX(MAX(REFX(L,1),REFX(L,2)),REFX(L,3));

GD:=MIN(MIN(REFX(H,1),REFX(H,2)),REFX(H,3));

AA1:=(DG+GD)/2;

A1:=AA1>REFX(L,3) AND REFX(L,2)< AA1 AND REFX(L,1) <AA1 ;

A2:=FILTER(A1,BARSLAST(A1)+2);

A4:=A1 AND A2;

A5:IF(REF(A4,1),H,0),NODRAW;

STICKLINE(三K线=1 && REF(A4,2),REF(GD,2),REF(DG,2),13,-1),COLORWHITE;

{重画K线}

DRAWKLINE(H,O,L,C);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多