[转载]通达信全部函数及其用法

标签:
转载 |
分类: 数据源、指标和公式 |
(一)行情函数
1)HIGH(H)
2)LOW(L)
3)CLOSE(C)
4)VOL(V)
5)OPEN(O)
6)ADVANCE
7)DECLINE
8)AMOUNT
9)VOLINSTK
10) QHJSJ 期货结算价 返回期货该周期结算价.
11)BUYVOL
12)SELVOL
13)ISBUYORDER
14)DHIGH
15)DOPEN
16)DLOW
17)DCLOSE
18)DVOL
19)NAMELIKE
模糊股票名称返回股票名称是否以参数开头.
用法: if(NAMELIKE('ST'),x,y);
20)CODELIKE 模糊股票代码 返回股票代码是否以参数开头.
用法: if(CODELIKE('600'),x,y);
21)INBLOCK 属于某板块 返回股票是否属于某板块.
用法: if(INBLOCK('沪深300'),x,y);
(二)时间函数
1)PERIOD
周期 取得周期类型.
结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年.
2)DATE
3)TIME
4)YEAR
6)WEEKDAY
7)DAY
8)HOUR
9)MINUTE
10)FROMOPEN
11)TFILT
用法: TFILT(X,D1,M1,D2,M2)
例如TFILT(CLOSE,1040101,1025,1040101,1345)表示在2004年1月1日的10:25到2004年1月1日的13:45的收盘价是有效的.周期以日为基本单位的,分时为0有效.
12)DATETODAY 上指纪元 指定日期到1990.12.19的天数.
用法: DATETODAY(date)
DATETODAY(date).返回date到1990.12.19的天数.有效日期为(901219-1341231)
例如:DATETODAY(901219)返回0.
13)DAYTODATE 转换日期 求1990.12.19后第若干天的日期.
用法: DAYTODATE(N)
DAYTODATE(N).返回1990.12.19后第N天的日期.有效天数为(0-20000)
例如:DAYTODATE(0)返回901219.
14)TIMETOSEC 当日秒数 求指定时刻距0时有多长时间.
用法: TIMETOSEC(time)
TIMETOSEC(time).返回time时刻距0时有多长时间,单位为秒.有效时间为(0-235959)
例如:TIMETOSEC(93000)返回34200.
15)SECTOTIME 转换时间 求0时后若干秒是什么时间.
用法: SECTOTIME(N)
SECTOTIME(N).返回0时后N秒是什么时间.有效秒数为(0-86399)
例如:SECTOTIME(34200)返回93000.
引用函数HHVBARS和LLVBARS的运用 引用函数BACKSET等4个函数的运用
引用函数BACKSET等4个函数的运用
(2007-05-1 11:56:19)
1、函数:BACKSET
向前赋值将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2),若收阳则将该周期及前一周期数值设为1,否则为0。
请看下面指标:
CSAR:SAR(10,2,20),LINETHICK2;{表示计算10日抛物转向,步长为2%,极限值为20%。}
drawtext(CSAR>=H,CSAR,'°'),color00ff00;{当CSAR大于等于最高价,在CSAR上画。状线}
drawtext(CSAR<=L,CSAR,'°'),colorred;{当CSAR小于等于最低价,在CSAR上画。状线}
TJ1:=BACKSET(SARTURN(10,2,20)<>0,2);{若10日抛物转向,步长为2%,极限值为20%,则将该周期及前一周期数值设为1,否则为0。}
TJ2:=REF(TJ1,1);{引用上一周期TJ1}
drawtext(TJ2,CSAR,'°'),coloryellow;{TJ2条件满足在CSAR画。状线}
STICKLINE(C>O,O,C,4,0),COLORRED;
STICKLINE(C>O,H,C,1,1),COLORRED;
STICKLINE(C>O,O,L,1,1),COLORRED;
STICKLINE(C<=O,O,C,4,0),COLORffcc66;
STICKLINE(C<=O,H,O,1,1),COLORffcc66;
STICKLINE(C<=O,L,C,1,1),COLORffcc66;
{1.向下跌破转向点,卖出;向上突破转向点,买入
2.市道趋势明显时,转向点信号准确}
上面是一个抛物转向指标,在第二步句用到了BACKSET函数,与另一个抛物转向点函数SARTURN构成了一个指标语句
(三)引用函数
1)DRAWNULL
2)BACKSET
3)BARSCOUNT
4)CURRBARSCOUNT
5)TOTALBARSCOUNT
6)ISLASTBAR
7)BARSLAST
8)BARSSINCE
9)BARSSINCEN N周期内首个条件成立位置 N周期内第一个条件成立到当前的周期数.
用法: BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数
例如:BARSSINCEN(HIGH>10,10)表示10个周期内股价超过10元时到当前的周期数
10)BARSSINCE 首个条件成立位置 第一个条件成立到当前的周期数.
用法: BARSSINCE(X):第一次X不为0到现在的天数
例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数
11)COUNT
例如:2次回踩5日均线不破的选股公式
MA5:=MA(C,5);回踩:=CROSS(C,MA5) ;COUNT(回踩,4)=2 AND
C>MA(C,5);
12)BARSLASTCOUNT
14)HHV
15)HHVBARS
16)HOD 高值名次 求高值名次.
用法: HOD(X,N):求当前X数据是N周期内的第几个高值,N=0则从第一个有效值开始.
例如:HOD(HIGH,20)返回是20日的第几个高价
17)LLV
18)LLVBARS
19)LOD 低值名次 求低值名次.
用法: LOD(X,N):求当前X数据是N周期内的第几个低值,N=0则从第一个有效值开始.
例如:LOD(LOW,20)返回是20日的第几个低价
20)REVERSE
21)REF
22)REFV
用法: REFV(X,A),引用A周期前的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作。
例如:REFV(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.
23)REFX 日后的 引用若干周期后的数据(未作平滑处理).
用法: REFX(X,A),引用A周期后的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作。
例如:REFX(CLOSE,1)表示下一周期的收盘价,在日线上就是明天收盘价
24)REFXV 日后的 引用若干周期后的数据(平滑处理).
用法: REFXV(X,A),引用A周期后的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作。此函数中,平滑时使用上一个周期的引用值。
例如:TT:=IF(C>O,1,2);
REFXV(CLOSE,TT);表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.
25)REFDATE
26)SUM
27)FILTER
28)FILTERX 反向过滤 反向过滤连续出现的信号.
用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0.
例如:FILTERX(CLOSE>OPEN,5)查找阳线,前5天内出现过的阳线不被记录在内
29)TFILTER 交易信号过滤 过滤连续出现的交易信号.
用法:TFILTER(开仓,平仓,N);过滤掉开仓(平仓)信号发出后、下一个平仓(开仓)信号发出前的所有开仓(平仓)信号.
N=1表示仅对开仓信号过滤;
N=2表示仅对平仓信号过滤;
N=0表示对开仓、平仓信号都过滤;
例如:ENTERLONG:TFILTER(开仓,平仓,1);
EXITLONG:TFILTER(开仓,平仓,2);
通达信新函数应用一例:NAMELIKE (源码 交流)
NAMELIKE
CODELIKE 模糊股票代码
以此可应用于归类选择或分类过滤
例:
去除ST
S1:=IF(NAMELIKE('S'),0,1);{取得股票名称中的第一个字符为返回条件}
S2:=IF(NAMELIKE('*'),0,1);
ST:S1 AND S2;{最后一句NOT(ST)用取返就成专门选出ST股}
这里的ST条件就在选股中去除了股票名称以S开头及*开头的股票,XD及新股N可用同样方法,创业版可用CODELIKE函数,因为代码300。
例:过滤条件(留ST):=
NAMELIKE('ST') OR NAMELIKE('*') {OR CODELIKE('3')}{创业板}
去掉板块:=IF(NAMELIKE('*ST'),0,1)
AND IF(NAMELIKE('S'),0,1) AND IF(DYNAINFO(9)=0,0,1) AND IF(
CODELIKE('3'),0,1) AND IF(
CODELIKE('002'),0,1);
30)TTFILTER 交易信号过滤过滤多空交易信号.
用法:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,N);
1.过滤掉多(空)开仓信号发出后、下一个多(空)平仓信号发出前的所有多(空)开仓信号.
2.多(空)开仓信号发出且空(多)仓已建时,要发出一个平空(多)仓的信号.
3.过滤掉多(空)平仓信号发出后、下一个多(空)开仓信号发出前的所有多(空)平仓信号.
N=1表示仅对多头开仓信号过滤;
N=2表示仅对多头平仓信号过滤;
N=3表示仅对空头开仓信号过滤;
N=4表示仅对空头平仓信号过滤;
N=0表示对合并多空开仓、平仓信号;
例如:ENTERLONG:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,1);
EXITLONG:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,2);
ENTERSHORT:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,3);
EXITSHORT:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,4);
31)TR 真实波幅 求真实波幅.
用法: TR,求真实波幅.例如:ATR:=MA(TR,10);
表示求真实波幅的10周期均值
32)SUMBARS
33)SMA
34)TMA返回移动平均
用法:TMA(X,N,M),如若Y=TMA(X,N,M) 则 Y=(N*Y'+M*X),
其中Y'表示上一周期Y值。初值为M*X
35)MA
36)EMA
37)MEMA
38)EXPMA
39)EXPMEMA
40)XMA
41)RANGE
42)CONST
43)TOPRANGE 当前值是近多少周期内的最大值.
用法: TOPRANGE(X):X是近多少周期内X的最大值
例如:TOPRANGE(HIGH)表示当前最高价是近多少周期内的最高价
44)LOWRANGE 当前值是近多少周期内的最小值.
用法: LOWRANGE(X):X是近多少周期内X的最小值
例如:LOWRANGE(LOW)表示当前最高价是近多少周期内的最小价
45)FINDHIGH 寻找指定周期内的特定最大值 N周期前的M周期内的第T个最大值.
用法: FINDHIGH(VAR,N,M,T):VAR在N日前的M天内第T个最高价
46)FINDHIGHBARS 寻找指定周期内的特定最大值 N周期前的M周期内的第T个最大值到当前周期的周期数.
用法: FINDHIGHBARS (VAR,N,M,T):VAR在N日前的M天内第T个最高价到当前周期的周期数
47)FINDLOW 寻找指定周期内的特定最小值 N周期前的M周期内的第T个最小值.
用法: FINDLOW(VAR,N,M,T):VAR在N日前的M天内第T个最低价
48)FINDLOWBARS 寻找指定周期内的特定最小值 N周期前的M周期内的第T个最小值到当前周期的周期数.
用法: FINDLOWBARS(VAR,N,M,T):VAR在N日前的M天内第T个最低价到当前周期的周期数.
(四)逻辑函数
1)CROSS
2)LONGCROSS
3)UPNDAY
4)DOWNNDAY
5)NDAY
6)EXIST
7)EVERY
8)LAST
9)TESTSKIP
10)BETWEEN
(五)算术函数
68)NOT
69)IF
例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值
70)IFF
71)IFN
72)MAX
73)MIN
(六)数学函数
1)
ACOS
2)ASIN
3)ATAN
4)
COS
5)SIN
6)TAN
7)EXP
8)LN
9)LOG
10)SQRT
11)ABS
12)POW
13)CEILING
14)FLOOR
15)INTPART
16)BETWEEN
17)FRACPART 小数部分.用法:FRACPART(X),返回X的小数部分
18)ROUND四舍五入.用法:ROUND(X),返回X四舍五入到个位的数值
19)SIGN取符号.用法:SIGN(X),返回X的符号.当X>0,X=0,X<0分别返回1,0,-1
20)MOD取模.用法:MOD(M,N),返回M关于N的模(M除以N的余数);例如:MOD(5,3)返回2
21)RAND取随机数.用法:RAND(N),返回一个范围在1-N的随机整数
(七)统计函数
1)AVEDEV
2)DEVSQ
3)FORCAST
4)SLOPE
5)STD
6)STDP
7)VAR
8)VARP
9)COVAR协方差,COVAR(X,Y,N) 返回X和Y的N周期的协方差
10)RELATE相关系数,RELATE(X,Y,N) 返回X和Y的N周期的相关系数
11)BETA β(Beta)系数,BETA(N) 返回当前证券N周期收益与大盘收益相比的贝塔系数
12)BETAEX 相关放大系数,BETAEX(X,Y,N) 返回X与Y的N周期的相关放大系数
(八)横向统计
1)BLOCKSETNUM.
板块股票个数,用法:BLOCKSETNUM(板块名称),返回该板块股票个数
2)HORCALC.多股统计,用法:HORCALC(板块名称,数据项,计算方式,权重),
数据项:100-HIGH,101-OPEN,102-LOW,103-CLOSE,104-VOL,105-涨幅
计算方式:0-累加,1-排名次
权重:0-总股本,1-流通股本,2-等同权重,3-流通市值
3)INSORT.
板块排序选股,用法:INSORT(板块名称,指标名称,指标线,升降序),返回该股在板块中的排序序号,例如:INSORT('房地产','KDJ',3,0)表示该股的KDJ指标第三个输出即J之值在房地产板块中的排名,最后一个参数为0表示降序排名
4)INSUM.
板块指标统计,用法:INSUM(板块名称,指标名称,指标线,计算类型),返回板块各成分该指标相应输出安计算类型得到的计算值.计算类型:0-累加,1-平均数,2-最大值,3-最小值.
例如:INSUM('房地产','KDJ',3,0)表示房地产板块中所有股票的KDJ指标第三个输出即J之值的累加值
(九)形态函数
1)COST
2)PEAK
用法:PEAK(K,N,M)表示之字转向ZIG(K,N)的前M个波峰的数值,M必须大于等于1例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值
3)PEAKBARS
4)SAR
5)SARTURN
6)TROUGH
用法:TROUGH(K,N,M)表示之字转向ZIG(K,N)的前M个波谷的数值,M必须大于等于1例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值
7)TROUGHBARS
用法:TROUGHBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波谷到当前的周期数,M必须大于等于1例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷到当前的周期数
8)WINNER
9)LWINNER
10)PWINNER