通达信函数详解讲解.docx
《通达信函数详解讲解.docx》由会员分享,可在线阅读,更多相关《通达信函数详解讲解.docx(14页珍藏版)》请在冰豆网上搜索。
通达信函数详解讲解
函数详解(2011-02-2414:
45:
57)
分类:
选股指标
K线数据,可以只写开头第一个字母。
开盘价:
OPEN;{O}
收盘价:
CLOSE;{C}
最高价:
HIGH;{H}
最低价:
LOW;{L}
大盘K线数据,必须下载完整盘后数据。
Drawkline——画K线,数据顺序——最高价、开盘价、最低价、收盘价。
DRAWKLINE(INDEXH,INDEXO,INDEXL,INDEXC);
{H、O、L、C}
上涨家数和下跌家数,第一组只在大盘窗口才有数据,第二组哪个窗口都有数据。
涨家1:
ADVANCE;
跌家1:
DECLINE;
涨家2:
INDEXADV;
跌家2:
INDEXDEC;
在一定周期内某项数据的最大值——hhv,在一定周期内某项数据的最小值——llv。
HH:
HHV(H,10);
LL:
LLV(L,10);
MA1:
MA(C,5);
HHMA:
HHV(MA1,10);
LLMA:
LLV(MA1,10);
创新高或者创新低。
创新高:
H=HHV(H,60);
创新低:
L=LLV(L,60);
当前位置取得以前位置数据——ref,取得指定日期数据——refdate,注意日期的格式。
以前数据:
REF(C,1);
{以前数据:
REF(H,2);}
指定日期数据:
REFDATE(C,1090508);
{1998年5月25日——980525、2011年12月8日——1111208}
成交量——vol,可写成V,单位是手。
成交金额——amount,单位是元。
Indexv——大盘成交量,indexa——大盘成交金额。
Buyvol——外盘
,sellvol——内盘,只能取得与最后一根K线相对应的数据。
成交量:
VOL;{V}
成交金额:
=AMOUNT;
大盘成交量:
=INDEXV;
大盘成交金额:
=INDEXA;
外盘:
BUYVOL;
内盘:
SELLVOL;
涨幅、振幅、均价,成交量复权:
工具——系统设置——设置1——勾选“分析图成交量复权”——按确定——再按确定——退出K线图——重
新进入K线图。
涨幅:
=(C-REF(C,1))/REF(C,1)*100;
振幅:
=(H-L)/L*100;
均价1:
(H+L+O+C)/4;
均价2:
AMOUNT/(V*100);
即时行情函数只取得与最后一根K线相对应的数据。
振幅1:
DYNAINFO(13)*100;
振幅2:
(H-L)/L*100;
finance(7)的单位是股,根据流通盘变化而变化。
capital的单位是手,只取得最新流通盘。
流通盘1:
FINANCE(7);
流通盘2:
CAPITAL;
换手率,finance(7)写的换手率更合理。
换手率1:
V*100/FINANCE(7)*100;
换手率2:
V/CAPITAL*100;
FINANCE(42)——上市日期,date——日期,date加19六个0,一号的日为0,year——年份,month——月份,day——日,weekday——星期。
上市日期:
FINANCE(42);
日期1:
DATE;
日期2:
DATE+19000000;
年:
YEAR;
月:
MONTH;
日:
DAY;
日期3:
YEAR*10000+MONTH*100+DAY;
星期:
WEEKDAY;
Time——时间,hour——小时,MINUTE——分钟,只在日线以下周期有效。
FROMOPEN——当前时刻距离开盘分钟数。
时间:
TIME;
小时:
HOUR;
分钟:
MINUTE;
距开盘分钟数:
FROMOPEN;
BARSCOUNT——某数据从第一个有效值到现在的周期数,TOTALBARSCOUNT——总周期数,下载完整盘后数据、不连接行情使用。
CURRBARSCOUNT
——当前K线到最后交易日周期数。
有效数据周期数:
BARSCOUNT(C);
总周期数:
TOTALBARSCOUNT;
到最后周期数:
CURRBARSCOUNT;
Cross——是否发生交叉,两条指标线不一定全是变化的曲线。
Barslast——上一次条件成立到当前的周期数,BARSSINCE——第一次条件成立
到当前的周期数,count——统计在一定周期内满足条件的周期数。
K1:
KDJ.K;
D1:
KDJ.D;
金叉:
CROSS(K1,D1)*10;
死叉:
CROSS(D1,K1)*-10;
{K1上穿60:
CROSS(K1,60);
K1下穿20:
CROSS(20,K1);}
上次到现周期数:
BARSLAST(金叉);
首次到现周期数:
BARSSINCE(金叉),NODRAW;
统计{N周期内满足条件}次数:
COUNT(金叉=10,20);
Hhvbars——某数据在一定周期内的最大值到当前的周期数,llvbars——某数据在一定周期内的最小值到当前的周期数。
上一高点{到现在}周期:
HHVBARS(H,20);
上一低点{到现在}周期:
LLVBARS(L,20);
某数据是近多少周期内的最大值——TOPRANGE,某数据是近多少周期内的最小值——LOWRANGE。
多少周期的最大:
TOPRANGE(H);
多少周期的最小:
LOWRANGE(L);
BARSLASTCOUNT——统计连续满足条件的周期数,sumbars——某数据向前累加到指定值到当前的周期数。
统计{连续满足条件}周期数:
BARSLASTCOUNT(C>REF(C,1));
加到指定值周期:
SUMBARS(V,CAPITAL);
PERIOD——当前窗口的周期类型。
窗口周期类型:
PERIOD;
在不同周期类型使用不同参数。
参数:
=IF(PERIOD=5,20,IF(PERIOD=6,10,0));
MA1:
MA(C,参数);
最基本的比较判断是用大于、小于、等于等等。
某数据是否在某个范围之内——RANGE,某数据是否在某个范围——BETWEEN。
宽幅震荡:
(H-L)/L*100>12;
是否在某个范围1:
RANGE(C,8,10);{X>AANDA
是否在某个范围2:
BETWEEN(C,10,13);{X>=AANDX<=B};
是否发生交叉——cross,LONGCROSS——是否维持一定周期后发生交叉。
上穿:
CROSS(MA(C,5),MA(C,10));
{持续}一段时间后上穿:
LONGCROSS(MA(C,5),MA(C,10),10)*2;
UPNDAY——某数据在一定周期内是否连涨,DOWNNDAY——某数据在一定周期内是否连跌,NDAY——是否在一定周期内前面的数据都大于后面的
数据,ISLASTBAR——当前周期是否是最后一个周期。
连涨:
UPNDAY(C,5);
连跌:
DOWNNDAY(C,5);
连大:
NDAY(C,O,5);
是否最后周期:
ISLASTBAR;
EXIST——是否在一定周期内存在符合某种条件的情况,EVERY——是否在一定周期内一直存在符合条件的情况,LAST——是否在某一段周期内
一直存在符合某种条件的情况,not——是否不符合条件。
存在:
EXIST(C>REF(C,1)*1.099,10);
一直存在:
EVERY(C>O,5);
持续存在:
LAST(C>O,10,5);
并非:
NOT(C>O);
If——是否符合条件,符合条件输出前面的数据,不符合条件输出后面的数据,max——哪个更大输出哪个,min——哪个更小输出哪个。
条件:
=CROSS(MA(C,5),MA(C,10));
如果:
IF(条件,5,-5);
较大者:
MAX(C,O);
较小者:
MIN(C,O);
FILTER——过滤连续出现的信号。
J大于80:
"KDJ.J">80;
过滤:
FILTER(J大于80,10)*2;
Abs——取得数据的绝对值,sum——求的数据在一定周期内的总和。
涨幅:
(C-REF(C,1))/REF(C,1)*100;
零轴:
0;
绝对值:
ABS(涨幅);
求和:
SUM(涨幅,5);
Ma——简单移动平均值,ema——指数移动平均值,sma——加权移动平均值(前面参数大于后面参数),dma——动态移动平均值(参数小于1
),后面三个函数降低本周期的权重、减少波动性而使输出变得相对平滑稳定,同时也降低了灵敏度。
简单移动平均:
MA(C,5);{(C0+C1+C2+…+C(N-1))/N}
指数移动平均:
EMA(C,5);{Y=2*X/(N+1)+(N-1)/(N+1)*Y',Y'上一周期Y}
加权移动平均:
SMA(C,5{N},1{M});{Y=(M*X+(N-M)*Y')/N,Y'上一周期Y,N必须大于M}
动态移动平均:
DMA(C,0.5);{Y=N*X+(1-N)*Y',Y'上一周期Y,N必须小于1};
LINETHICK——粗细,color——颜色,stick——柱状线,CROSSDOT——小交叉线,CIRCLEDOT——小圆圈线,POINTDOT——小圆点线。
MA1:
MA(C,5);
MA2:
MA(C,20),LINETHICK3,COLORRED;
均线差值1:
(MA1-MA2)*1,STICK;
均线差值2:
(MA1-MA2)*3,CROSSDOT;
均线差值3:
(MA1-MA2)*6,CIRCLEDOT;
均线差值4:
(MA1-MA2)*9,POINTDOT;
LINESTICK——指标线加柱状线。
MA1:
=MA(C,5);
MA2:
=MA(C,10);
均线差值:
MA1-MA2,LINESTICK;
COLORSTICK——彩色柱状线。
MA1:
=MA(C,5);
MA2:
=MA(C,10);
均线差值:
MA1-MA2,COLORSTICK;
VOLSTICK——成交量柱状线。
MA1:
=MA(C,5);
MA2:
=MA(C,10);
均线差值:
MA1-MA2,VOLSTICK;
DRAWTEXT——写文字(必须写在一对单引号内),DRAWICON——画图标。
MA1:
MA(C,5);
MA2:
MA(C,10);
金叉:
=CROSS(MA1,MA2);
写文字:
DRAWTEXT(金叉,MA1,'金叉');
画图标:
DRAWICON(金叉,MA2,1);
STICKLINE——画柱线,0实心柱,-1虚线空心柱,1实线空心柱。
后面的输出会遮挡住前面的输出。
MA5:
MA(C,5);
画柱线1:
STICKLINE(C>O,C,O,2,0);
画柱线2:
STICKLINE(C>O,H,L,0,0),COLORBLUE;
画柱线3:
STICKLINE(C画柱线4:
STICKLINE(CMA10:
MA(C,10),COLORGREEN;
DRAWLINE——绘制直线段,0不延长,1向右延长。
PLOYLINE——绘制折线。
画直线:
DRAWLINE(L=LLV(L,10),L,H=HHV(H,10),H,0);
画折线:
PLOYLINE(H=HHV(H,30),H);
均线变色,DRAWNULL——返回无效值。
nodraw——只输出数值、不输出线条,不影响公式坐标。
LINETHICK0——只输出数值、不输出线条,在
其它软件中不影响公式坐标,在通达信中影响公式坐标。
MA1:
MA(C,5);
MA2:
MA(C,10);
变色:
IF(MA1>REF(MA1,1),MA1,DRAWNULL),LINETHICK2,COLORRED;
成交量:
V,NODRAW;
MA1:
MA(C,5);
MA2:
MA(C,10);
变色:
IF(MA1>MA2,MA1,DRAWNULL),LINETHICK2,COLORRED;
成交量:
V,LINETHICK0;
Winner——获利盘,cost——成本分布情况。
获利盘:
WINNER(C)*100;
成本分布:
COST(80);
Zig——之字转向,1最高价、2最低价、3收盘价。
PEAK——波峰价格,1最高价、2最低价、3收盘价。
TROUGH——波谷价格,1最高价、2最低价
、3收盘价。
之字转向:
ZIG(3,10);
波峰:
PEAK(3,10,1);
波谷:
TROUGH(3,10,1);
波峰到现在的周期数——PEAKBARS,波谷到现在的周期数——TROUGHBARS。
波峰到现在周期:
PEAKBARS(3,10,1);
波谷到现在周期:
TROUGHBARS(3,10,1);
BACKSET——回设,马后炮。
MA10:
MA(C,10);
回设:
=BACKSET(C/REF(C,1)>1.09,2);
A:
=IF(REF(回设,1)=0AND回设=1,1,0);
DRAWICON(A,L*0.98,1);
跨周期引用的公式也具有未来性质。
周J:
"KDJ.J#WEEK";
周D:
"KDJ.D#WEEK";
金叉:
CROSS(周J,周D)*30;
还有一种作弊手法——将公式信号限制在有行情的时段发出。
另外一种作弊:
O建议暂时关闭本教程,把讲义中这一节的内容挨个复制到你自己的软件中,按照这一节开始时所讲的函数学习方法复习一遍。
要将自己的思路用公式去表达出来,首先是确定需要哪些数据,然后观察这些数据之间的关系,再按语句规则的要求用函数去定义观察到的关
系。
{K线形态}
阴线:
C阳线:
C>O;
上涨:
C>REF(C,1);
下跌:
C平盘:
C=REF(C,1);
大阳线:
C/REF(C,1)>1.05;
大阴线:
C/REF(C,1)<0.95;
高开:
O>REF(C,1);
低开:
O
高开高走:
O>REF(C,1)ANDC>O;
高开低走:
O>REF(C,1)ANDC
低开低走:
O低开高走:
O[O;]
上跳空:
L>REF(H,1);
下跳空:
H
长上影:
H/MAX(O,C)>1.03;
长下影:
MIN(O,C)/L>1.03;
十字星:
MAX(O,C)/MIN(O,C)<1.02ANDH/MAX(O,C)>1.01ANDMIN(O,C)/L>1.01;
正T字:
O=CANDC=HANDL倒T字:
O=CANDC=LANDH>L;
一字涨停:
O=CANDC=HANDL=HANDC>REF(C,1);
一字跌停:
O=CANDC=LANDL=HANDC横盘:
HHV(H,20)/LLV(L,20)<1.15;
均线状况——金叉和死叉。
MA1:
MA(C,5);
MA2:
MA(C,10);
金叉:
CROSS(MA1,MA2);
死叉:
CROSS(MA2,MA1);
均线上拐、下拐、将死未死。
MA1:
MA(C,5);
MA2:
MA(C,10);
上拐:
=REF(MA1,1)[REF(MA1,1);]
下拐:
=REF(MA1,1)>REF(MA1,2)ANDMA1将死未死:
=COUNT(MA1>MA2,5)=5AND上拐;
DRAWICON(上拐,MA1*0.98,1);
DRAWICON(下拐,MA1*1.01,2);
DRAWICON(将死未死,MA1*0.96,11);
多头排列、空头排列。
MA1:
MA(C,5);
MA2:
MA(C,10);
MA3:
MA(C,20);
多头排列:
=MA1>MA2ANDMA2>MA3;
空头排列:
=MA1STICKLINE(多头排列,MA1,MA3,0,0),COLORRED;
STICKLINE(空头排列,MA1,MA3,0,0),COLORGREEN;
均线粘合、粘合一段时间。
MA1:
MA(C,5);
MA2:
MA(C,10);
MA3:
MA(C,20);
粘合:
=MAX(MAX(MA1,MA2),MA3)/MIN(MIN(MA1,MA2),MA3)<1.02;
粘合一段时间:
=COUNT(粘合,10)=10;
STICKLINE(粘合,MAX(MAX(MA1,MA2),MIN(MIN(MA1,MA2),MA3)),MA3,1,0),COLORRED;
DRAWICON(粘合一段时间,MA3*0.98,1);
三金叉。
DIF2:
"MACD.DIF";
DEA2:
"MACD.DEA";
单金叉:
CROSS(DIF2,DEA2);
三金叉:
(单金叉ANDCOUNT(单金叉,10)>=3)*2;
成交量状况——主要观察成交量之间、成交量与均量线之间以及换手率之间的关系。
放量、历史天量。
放量1:
V>REF(V,1)*2;
放量2:
V>MA(V,60);
放量3:
V*100/FINANCE(7)*100>8;
历史天量:
V=HHV(V,0);
连续放量。
连续放量1:
COUNT(V>REF(V,1),5)=5;
连续放量2:
(COUNT(V>MA(V,60),5)=5)*2;
连续放量3:
(COUNT(V*100/FINANCE(7)*100>8,5)=5)*3;
缩量、历史地量。
缩量1:
V缩量2:
V缩量3:
V*100/FINANCE(7)*100<1;
历史地量:
V=LLV(V,0);
连续缩量。
连续缩量1:
COUNT(V连续缩量2:
(COUNT(V连续缩量3:
(COUNT(V*100/FINANCE(7)*100<1,5)=5)*3;
筹码低位密集。
筹码密集:
=(WINNER(C*1.1)-WINNER(C*0.9))*100>50;
相对低位:
=(C-COST(0.01))/(COST(99.99)-COST(0.01))*100<10;
低位密集:
筹码密集AND相对低位;