通达信公式技巧.docx
《通达信公式技巧.docx》由会员分享,可在线阅读,更多相关《通达信公式技巧.docx(82页珍藏版)》请在冰豆网上搜索。
通达信公式技巧
编写指标公式技巧
复制内容到剪贴板
代码:
0001--主图显示代码及板块
一、显示板块
例一:
DRAWTEXT(BARPOS=SYSPARAM
(2),H,'\N所属板块:
'+BLKNAME),ALIGN4,COLORYELLOW;
例二:
DRAWTEXT(SYSPARAM
(2)=BARPOS,C,'所属板块:
'+BLKNAME),ALIGN4,COLORYELLOW;
例三:
DRAWTEXT(SYSPARAM
(2)=BARSCOUNT(C),H,'[所属版块]:
'+BLKNAME),ALIGN4,COLORYELLOW;
二、显示代码及板块
S:
=STKLABEL;
DRAWTEXT(SYSPARAM
(2)=BARPOS,C,S),ALIGN4,COLORYELLOW;
DRAWTEXT(BARPOS=SYSPARAM
(2),H,'\N所属板块:
'+BLKNAME),ALIGN4,COLORYELLOW;{N与所属板块之间空六格,以显示代码}
0031--均线多头排列
A1:
=MA(C,N1);
A2:
=MA(C,N2);
A3:
=MA(C,N3);
A4:
=MA(C,N4);
COUNT(A1>A2ANDA2>A3ANDA3>A4,3);
0032--均线空头排列
A1:
=MA(C,N1);
A2:
=MA(C,N2);
A3:
=MA(C,N3);
A4:
=MA(C,N4);
COUNT(A1 0033--N日均线向下
AA:
=MA(C,N);
BB:
=REF(AA,1);
AA 0034--N日均线向上
AA:
=MA(C,N);
BB:
=REF(AA,1);
AA>BB
0035--N日均线走平
AA:
=MA(C,N);
BB:
=REF(AA,1);
AA=BB
0036--向前N日至M日出现过均线死叉(P1 AA:
=MA(C,P1);
BB:
=MA(C,P2);
CC:
=REF(CROSS(BB,AA),N);
COUNT(CC,M);
0037--今日成交量大于N日以来的均量
VOL>MA(VOL,N);
0038--低位密集
A1:
=COST(85);
A2:
=COST(15);
A3:
=A1-A2;
A4:
=(A1+A2)/2;
A5:
=A3/A4*100<10;
B1:
=HHV(H,120);
B2:
=LLV(L,120);
B3:
=B1-B2;
B4:
=(A4-B2) A5ANDB4;
0039--换手率
VOL/CAPITAL*100;
0040--N日盈亏
V1:
=VOL/SUM(VOL,N);
V2:
=DMA(CLOSE,V1);
V3:
(CLOSE-V2)/V2*100;
0041--曲线叠加
指标线的叠加,是为了方便观看和比较,没什么其他的意义。
一、对指标曲线的变化幅度放大
此法,一线变形,另一线不变,但变形线的走势与原线完全相似。
举例:
C叠加V
BC:
=HHV(C,N)-LLV(C,N);.......;{.........为X曲线定义}
XH:
=HHV(X,N);
XL:
=LLV(X,N);
XDH:
=XH[SYSPARAM(3)];
XDL:
=XL[SYSPARAM(3)];
BX:
=100/(XDH-XDL);
曲线X:
(X-XDL)*BX;
Y:
=.........;{.........为Y曲线定义}
YH:
=HHV(Y,N);
YL:
=LLV(Y,N);
YDH:
=YH[SYSPARAM(3)];
YDL:
=YL[SYSPARAM(3)];
BY:
=100/(YDH-YDL);
曲线Y:
(Y-YDL)*BY;
三、固定位置叠加
此法应用不多,仅举例。
例一:
主图成交量(V叠加C)
{M:
960,1,2000}
R0:
=M/1000;R:
=(L-R0*SYSPARAM(5))/V;
R1:
=LLV(R,SYSPARAM(3)-SYSPARAM
(2));R2:
=R1[SYSPARAM(3)];
R3:
=LLV(L-R2*V,SYSPARAM(3)-SYSPARAM
(2));
R4:
=R3[SYSPARAM(3)];R5:
=(R2*V+R4)*;
STICKLINE(C>=REF(C,1),R5,R0*SYSPARAM(5),6,1)COLORRED;
STICKLINE(C PARTLINE(V>=0,R0*SYSPARAM(5))COLORWHITE;
PARTLINE(R5>0,MA(R5,5));
PARTLINE(R5>0,MA(R5,10));
PARTLINE(R5>0,MA(R5,20));
例二:
INPUT:
N(10,2,999);
M:
=SYSPARAM(3)-SYSPARAM
(2);
X:
=C;
Y:
=SUM(IF(CLOSE>REF(CLOSE,1),VOL/CAPITAL,IF(CLOSE XH:
=HHV(X,M);XL:
=LLV(X,M);XDH:
=XH[SYSPARAM(3)];XDL:
=XL[SYSPARAM(3)];
BX:
=100/(XDH-XDL);
收盘:
C,LINETHICK0,;
收盘↑:
PARTLINE(X>REF(X,1),(X-XDL)*BX),COLORRED;
收盘↓:
PARTLINE(X YH:
=HHV(Y,M);YL:
=LLV(Y,M);YDH:
=YH[SYSPARAM(3)];YDL:
=YL[SYSPARAM(3)];
BY:
=100/(YDH-YDL);
TY:
=(Y-YDL)*BY;
OBV值:
Y*1000,LINETHICK0,COLOR007BFF;
OBV线↑:
PARTLINE(Y>REF(Y,1),(Y-YDL)*BY),COLORYELLOW;
OBV线↓:
PARTLINE(Y A1:
=REF(TY,N)=HHV(TY,2*N+1);B1:
=FILTER(A1,N);C1:
=BACKSET(B1,N+1);HD:
=FILTER(C1,N);
A2:
=REF(TY,N)=LLV(TY,2*N+1);B2:
=FILTER(A2,N);C2:
=BACKSET(B2,N+1);LD:
=FILTER(C2,N);
AA:
=REF(TY,BARSLAST(HD));BB:
=REF(TY,BARSLAST(LD));A1:
=REF(Y,BARSLAST(HD))*1000;B1:
=REF(Y,BARSLAST(LD))*1000;
T1:
=BARSLAST(HD) T2:
=BARSLAST(HD)>BARSLAST(LD)ANDNOT(LD);
PARTLINE(T1,AA),COLORMAGENTA,LINETHICK2;
PARTLINE(T2,BB),COLORGREEN,LINETHICK2;
DRAWNUMBER(T1=0ANDREF(T1,1)>0,REF(AA,1)+,A1,2);
DRAWNUMBER(T2=0ANDREF(T2,1)>0,REF(BB,1)+,B1,2);
DRAWNUMBER(ISLASTBARANDT1>0,REF(AA,1)+,A1,2),COLORYELLOW;
DRAWNUMBER(ISLASTBARANDT2>0,REF(BB,1)+,B1,2),COLORMAGENTA;
0042--均线变色
MA05:
MA(CLOSE,5);
MA30:
MA(CLOSE,30);
IF(MA05 IF(MA05 IF(MA05>MA30,MA30,MA30),COLORBLUE;
DRAWICON(CROSS(MA05,MA30),L*,4);
DRAWICON(CROSS(MA30,MA05),H*,5);
5
帖子
826
精华
2
积分
673
查看详细资料
TOP
私摹基金带您操作股票
股道
大户室
贡献
1
红币
356
个人空间
发短消息
加为好友
当前离线
2#大中小发表于2007-3-316:
58 只看该作者
复制内容到剪贴板
代码:
0055--底背离
LLV(L,60)=L)ANDNOT(LLV(DEA,60)=DEA);
0056--顶背离
HHV(H,60)=H)ANDNOT(HHV(DEA,60)=DEA);
0057--N次金叉、死叉
0轴上二次金叉
COUNT(CROSS(DIF,DEA)ANDDEA>0,20)=2ANDCROSS(DIF,DEA)AND
DEA>0;
0轴上三次金叉
COUNT(CROSS(DIF,DEA)ANDDEA>0,20)=3ANDCROSS(DIF,DEA)AND
DEA>0;
0轴上四次金叉
COUNT(CROSS(DIF,DEA)ANDDEA>0,20)=4ANDCROSS(DIF,DEA)ANDDEA>0;
二次金叉
EXPLAIN(COUNT(CROSS(DIF,DEA),20)=2ANDCROSS(DIF,DEA);
二次死叉
COUNT(CROSS(DEA,DIF),20)=2ANDCROSS(DEA,DIF);
0058--5分钟副图显示15分钟K线
建公式:
0015
C15:
CLOSE;
O15:
OPEN;
H15:
HIGH;
L15:
LOW;
建公式:
十五K线
C15:
="#MIN15";
O15:
="#MIN15";
H15:
="#MIN15";
L15:
="#MIN15";
TI:
=OPENMINUTES(TIME)=10OROPENMINUTES(TIME)=25OROPENMINUTES(TIME)=40OROPENMINUTES(TIME)=55OROPENMINUTES(TIME)=70OROPENMINUTES(TIME)=85OROPENMINUTES(TIME)=100OROPENMINUTES(TIME)=115OROPENMINUTES(TIME)=130OROPENMINUTES(TIME)=145OROPENMINUTES(TIME)=160OROPENMINUTES(TIME)=175OROPENMINUTES(TIME)=190OROPENMINUTES(TIME)=205OROPENMINUTES(TIME)=220OROPENMINUTES(TIME)=235;
HH15:
=IF(TI,H15,C15);
LL15:
=IF(TI,L15,C15);
STICKLINE(C15>O15,C15,O15,10,0),COLORRED;
STICKLINE(C15>O15ANDH15>C15,HH15,C15,,0),COLORRED;
STICKLINE(C15>O15ANDO15>L15,O15,LL15,,0),COLORRED;
STICKLINE(C15<=O15,C15,O15,10,0),COLORGREEN;
STICKLINE(C15<=O15ANDC15>L15,C15,LL15,,0),COLORGREEN;
STICKLINE(C15<=O15ANDH15>O15,HH15,O15,,0),COLORGREEN;
注:
以大陆股市为例,四小时,其他市场如超过四小时,可在中间语句“TI:
=”中以15为系数顺序加足,如:
OR250OR265……等等。
0059--移动成本
不知道函数算法,计算误差在所难免。
调整参数“%”可看到不同的移动成本。
立一个专门被用来引用(QUOTE)的公式区。
公式名称:
QU
A1:
(OPEN+HIGH+LOW+CLOSE)/4;
说明:
上面公式的运算,是代入开、高、低、收(当前周期K线数据)运算的。
公式B.
公式名称:
AA
AA:
"#WEEK";
说明:
将下面公式的运算,代入开、高、低、收(周K线数据)运算。
(OPEN+HIGH+LOW+CLOSE)/4
公式C.
公式名称:
BB
BB:
"#MONTH";
说明:
将下面公式的运算,代入开、高、低、收(月K线数据)运算。
(OPEN+HIGH+LOW+CLOSE)/4
附注:
可供引用的周期类型有:
MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH
分别表示将1,5,15,30,60分钟K线数据,以及日,周,月K线数据,代入被引用的公式,进行运算。
意义:
可将大周期内跑的数据,引用到小周期内来跑。
将小周期内跑的数据,引用到大周期内来跑,就会有问题,因为时间横坐标不一样了。
公式
(1):
先建立即将被引用的表达式
将公式建立在:
技术指针(●主图叠加○主图)
公式名称:
NH
AA:
=HIGH BB:
=BARSLAST(AA=1);
CC:
REF(HIGH,BB);{输出的表达式,如果被引用还是会变成输出的表达式}
说明:
上面公式的运算,是以当周期时间数列数据运算的。
公式
(2):
将公式建立在:
技术指针(●主图叠加○主图)
公式名称:
NHH
AA:
"#WEEK";{不输出的表达式}
BB:
"#WEEK";
CC:
"#WEEK";{输出的表达式}
DRAWNUMBER(ISLASTBAR,CC,CC,2);
说明:
上面公式的运算,是以周周期时间数列数据运算的。
UID
5
帖子
826
精华
2
积分
673
查看详细资料
TOP
股票实时行情查询,电脑解股.
股道
大户室
贡献
1
红币
356
个人空间
发短消息
加为好友
当前离线
4#大中小发表于2007-3-316:
59 只看该作者
复制内容到剪贴板
代码:
0064--未来数据、未知数据
写公式,首先要对已知数据(过去式)、未知数据(未完成式、现在进行式)有通盘的认知。
可将"未来"分为两种情况:
1、实时行情中:
在一根K线。
以实时行情中的当前日K线为例。
除了O之外,其它H、L、C全有未来之嫌。
因为在收盘之前,拉高、打压是司空见惯的事,谁也不能保证H、L不会创出当天的新高和新低,更不用说C了。
又如日线周期公式"C>REF(C,1);",前一分钟信号成立,后一分钟可能信号就不成立了。
另外,如引用了周K和月K数据,因为当前周K和月K还在变动之中,所以也是未来资料。
2、盘后中:
在多根K线。
因为在盘后,日K中的四大要素O、H、L、C就没有未来之可能了。
在盘后,除了周五之外,引用的周K指针也是未来数据。
除了在月末,引用的月K指针也是未来数据。
总而言之,指针公式就分这两种:
线图信号的确定→全都用已知数据(过去式)来决定。
线图信号的确定→有用到未知数据(未完成式、现在进行式)来决定。
ZIG函数
ZX:
ZIG(CLOSE,8);
最近这次峰点、谷点的确定,也常处在未完成式的状态中。
打个比喻,线图信号的确定→有用到未知数据(未完成式、现在进行式),例如,在实时盘中一根日K线的收盘价变来变去,指针线图当然随之而起舞。
ZIG函数只是把格局放大,N的日K组合而成的一根多日K线,这一根多日K线的收盘价变来变去,指针线图当然随之而起舞。
0065--主图KD
在主图上,坐标是以K线的价格为主。
如何将在0与100中游走的KD指针附加上去,这是写作指针的基本逻辑观念的运用。
PARAM#1(N,9,2,100)
PARAM#2(M1,3,1,40)
PARAM#3(M2,3,1,40)
RSV:
=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100LINETHICK0;{:
=运算过程不显示值与图}
K:
SMA(RSV,3,1),LINETHICK0,COLORWHITE;{LINETHICK0只显值不显图}
D:
SMA(K,3,1),LINETHICK0,COLORYELLOW;
HH:
=SYSPARAM(4);{主图可见K线最高价}
LL:
=SYSPARAM(5);{主图可见K线最低价}
KK:
=K/100*(HH-LL)+LL;
DD:
=D/100*(HH-LL)+LL;
PARTLINE(1=1,KK),COLORWHITE;{条件成立时,则显示图线形}
PARTLINE(C>0,DD),COLORYELLOW;
C;{显示收盘价的值与图线形}
PARTLINE(C>=REF(C,1),C),COLORRED;{显示收盘价的图改成涨红跌绿联机图}
PARTLINE(C
0066--描绘K线
例一:
普通
将下列公式建立在:
技术指针(○主图叠加●主图)
公式名称:
KL
STICKLINE(ISUP,HIGH,LOW,,0),COLORRED;
STICKLINE(ISUP,CLOSE,OPEN,8,1),COLORRED;
STICKLINE(ISDOWN,HIGH,LOW,,0),COLORCYAN;
STICKLINE(ISDOWN,CLOSE,OPEN,8,0),COLORCYAN;
STICKLINE(ISEQUALANDC>REF(C,1),HIGH,LOW,,0),COLORRED;
STICKLINE(ISEQUALANDC>REF(C,1),CLOSE,OPEN,8,0),COLORRED;
STICKLINE(ISEQUALANDC<=REF(C,1),HIGH,LOW,,0),COLORCYAN;
STICKLINE(ISEQUALANDC<=REF(C,1),CLOSE,OPEN,8,0),COLORCYAN;
X:
=BARSCOUNT(CLOSE);
{以下是描绘第一个交易日的K线,以补前面含盖的不足}
STICKLINE(ISEQUALANDX=1,HIGH,LOW,,0),COLORRED;
STICKLINE(ISEQUALANDX=1,CLOSE,OPEN,8,0),COLORRED;
说明:
ISUP函数:
相当于IF(CLOSE>OPEN,1,0)。
ISEQUAL函数:
相当于IF(CLOSE=OPEN,1,0)。
ISDOWN函数:
相当于IF(CLOSE
STICKLINE函数,画出来的对象有重叠覆盖性:
→后画的对象可覆盖先画的对象。
例二:
配色
STICKLINE(ISUP,HIGH,LOW,,0),COLOR04FEFC;
STICKLINE(ISUP,CLOSE,OPEN,8,0),COLOR0466FC;
STICKLINE(ISUP,CLOSE,OPEN,3,0),COLOR04FEFC;
STICKLINE(ISDOWN,HIGH,LOW,,0),COLORFCFE04;
STICKLINE(ISDOWN,CLOSE,OPEN,8,0),COLORFC6604;
STICKLINE(ISDOWN,CLOSE,OPEN,3,0),COLORFCFE04;
STICKLINE(ISEQUALANDC>REF(C,1),HIGH,LOW,,0),COLOR04FEFC;
STICKLINE(ISEQUALANDC>REF(C,1),CLOSE,OPEN,8,0),COLOR0466FC;
STICKLINE(ISEQUALANDC>REF(C,1),CLOSE,OPE