通达信波段主图指标公式的核心语句也就4句,后面的语句都是为了画图的。公式看起来比较简单,原理也比较巧妙,但是理解起来有些困难。
直接上源码:
HH:=HHV(H,5);
LL:=LLV(L,5);
TH:=BARSLAST(H>REF(HH,1));
TL:=BARSLAST(L<REF(LL,1));
IF(TH<TL,LL,DRAWNULL),DOTLINE,COLORMAGENTA;
IF(TH>TL,HH,DRAWNULL),DOTLINE,COLORGREEN;
STICKLINE(C>O AND TH<TL,H,L,0,1),COLORRED;
STICKLINE(C>O AND TH<TL,C,O,3,1),COLORRED;
STICKLINE(C<O AND TH<TL,H,L,0,0),COLORRED;
STICKLINE(C<O AND TH<TL,C,O,3,0),COLORRED;
STICKLINE(C<O AND TH>TL,H,L,0,0),COLORCYAN;
STICKLINE(C<O AND TH>TL,C,O,3,0),COLORCYAN;
STICKLINE(C>O AND TH>TL,H,L,0,1),COLORCYAN;
STICKLINE(C>O AND TH>TL,C,O,3,1),COLORCYAN;
一、波段指标公式核心语句
HH:=HHV(H,5);表示5日高点,下图中的绿色虚线就是5日高点连成的线;
LL:=LLV(L,5);表示5日低点,下图中的洋红色虚线就是5日低点连成的线。
H>REF(HH,1)表示最高价大于前一天对应的5日最高点,TH:=BARSLAST(H>REF(HH,1));就表示满足这个条件距离当天的周期数。BARSLAST(X)函数之前介绍过,当X条件成立时,得到的结果是0。
单纯看代码有点绕脑,可以把下面的公式加载到副图看一下
HH:=HHV(H,5);
TH:BARSLAST(H>REF(HH,1));
如上图所示,第一个圆圈是前一天对应的5日最高点,第二个圆圈是当天最高价,当天最高价大于前一天对应的5日最高点,条件成立,所以TH就等于0,后面的K线如果继续创新高,TH还是等于0,如果不创新高了,TH就开始统计距离上次5日最高点的周期数。
L<REF(LL,1)表示最低价小于前一天对应的5日最低价,TL:=BARSLAST(L<REF(LL,1));就表示满足这个条件距离当天的周期数。如果不能理解,把下面的公式加载到副图看一下。
LL:=LLV(L,5);
TL:BARSLAST(L<REF(LL,1));
这样通过比较TH、TL的大小就可以找到波段转折点。(如下图)
二、画虚线
IF(TH<TL,LL,DRAWNULL),DOTLINE,COLORMAGENTA;表示如果TH<TL,画洋红色虚线,否则不画线;
IF(TH>TL,HH,DRAWNULL),DOTLINE,COLORGREEN;表示如果TH>TL,画绿色虚线,否则不画线。
三、画K线
STICKLINE(C>O AND TH<TL,H,L,0,1),COLORRED;
STICKLINE(C>O AND TH<TL,C,O,3,1),COLORRED;
这两句表示收盘价大于开盘价并且TH<TL,画红色空心K线。
STICKLINE(C<O AND TH<TL,H,L,0,0),COLORRED;
STICKLINE(C<O AND TH<TL,C,O,3,0),COLORRED;
这两句表示收盘价小于开盘价并且TH<TL,画红色实心K线。
STICKLINE(C<O AND TH>TL,H,L,0,0),COLORCYAN;
STICKLINE(C<O AND TH>TL,C,O,3,0),COLORCYAN;
这两句表示收盘价小于开盘价并且TH>TL,画青色实心K线。
STICKLINE(C>O AND TH>TL,H,L,0,1),COLORCYAN;
STICKLINE(C>O AND TH>TL,C,O,3,1),COLORCYAN;
这两句表示收盘价大于开盘价并且TH>TL,画青色空心K线。
简单说一下,就是阳线都画空心的,阴线画实心的。(如下图圆圈处)
关注技术Pie,学习更多通达信指标公式编写知识。
友情提醒:本文仅供学习交流技术指标公式,不构成任何投资建议。投资有风险,入市需谨慎!