通达信全部函数及其用法:(一)行情函数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 主动性买单返回当前成交是否为主动性买单.用法:ISBUYORDER,当本笔成交为主动性买盘时,返回1,否则为014)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 日期取得该周期从1900以来的的年月日. 用法: DATE 例如函数返回1000101,表示2000年1月1日,DATE+19000000后才是真正的日期值3)TIME 时间取得该周期的时分秒.用法: TIME 函数返回有效值范围为(000000-235959)4)YEAR 年份取得该周期的年份.5)MONTH 月份取得该周期的月份.用法: 函数返回有效值范围为(1-12)6)WEEKDAY 星期取得该周期的星期数.用法: WEEKDAY 函数返回有效值范围为(1-7)7)DAY 日取得该周期的日期.用法: DAY 函数返回有效值范围为(1-31)8)HOUR 小时取得该周期的小时数.用法: HOUR 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为09)MINUTE 分钟取得该周期的分钟数.用法: MINUTE 函数返回有效值范围为(0-59),对于日线及更长的分析周期值为010)FROMOPEN 分钟求当前时刻距开盘有多长时间.用法: FROMOPEN FROMOPEN.返回当前时刻距开盘有多长时间,单位为分钟.例如:当前时刻为早上十点,则返回31.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.(三)引用函数1)DRAWNULL 无效数返回无效数.用法:DRAWNULL 例如IF(CLOSE>REF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时分析图上不画线2)BACKSET 向前赋值将当前位置到若干周期前的数据设为1.用法: BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1.例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为03)BARSCOUNT 有效数据周期数求总的周期数.用法: BARSCOUNT(X)第一个有效数据到当前的天数例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数4)CURRBARSCOUNT 到最后交易日的周期数求到最后交易日的周期数.用法: CURRBARSCOUNT 求到最后交易日的周期数5)TOTALBARSCOUNT 总的周期数求总的周期数.用法: TOTALBARSCOUNT 求总的周期数6)ISLASTBAR 是否为最后一个周期判断是否为最后一个周期.用法: ISLASTBAR 判断是否为最后一个周期7)BARSLAST 上一条件成立位置上一次条件成立到当前的周期数.用法:BARSLAST(X):上一次X不为0到现在的天数例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数8)BARSSINCE 第一个条件成立位置第一个条件成立到当前的周期数.用法: BARSSINCE(X):第一次X不为0到现在的天数例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数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 统计统计满足条件的周期数.用法: COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始.例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数12)BARSLASTCOUNT 统计条件连续成立次数统计连续满足条件的周期数.用法: BARSLASTCOUNT(X),统计连续满足X条件的周期数.例如:BARSLASTCOUNT(CLOSE>OPEN)表示统计连续收阳的周期数13)DMA 动态移动平均求动态移动平均.用法: DMA(X,A),求X的动态移动平均.算法: 若Y=DMA(X,A)则Y=A*X+(1-A)*Y',其中Y'表示上一周期Y 值,A必须小于1.例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价14)HHV 最高值求最高值.用法: HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始. 例如:HHV(HIGH,30)表示求30日最高价15)HHVBARS 上一高点位置求上一高点到当前的周期数.用法: HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数16)HOD 高值名次求高值名次.用法: HOD(X,N):求当前X数据是N周期内的第几个高值,N=0则从第一个有效值开始.例如:HOD(HIGH,20)返回是20日的第几个高价17)LLV 最低值求最低值.用法: LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始. 例如:LLV(LOW,0)表示求历史最低价18)LLVBARS 上一低点位置求上一低点到当前的周期数.用法: LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数19)LOD 低值名次求低值名次.用法: LOD(X,N):求当前X数据是N周期内的第几个低值,N=0则从第一个有效值开始.例如:LOD(LOW,20)返回是20日的第几个低价20)REVERSE 求相反数求相反数.用法:REVERSE(X)返回-X.例如REVERSE(CLOSE)返回-CLOSE21)REF 日前的引用若干周期前的数据.用法: REF(X,A),引用A周期前的X 值. 例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收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 日引用自1900年以来指定日期的数据.用法: REFDATE(X,A),引用A日期的X值. 例如:REFDATE(CLOSE,1011208)表示2001年12月08日的收盘价26)SUM 累和求总和.用法: SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始.例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和27)FILTER 过滤过滤连续出现的信号.用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0. 例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内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);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 累加到指定值的周期数向前累加到指定值到现在的周期数.用法: SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数33)SMA 移动平均返回移动平均用法:SMA(X,N,M):X的M日移动平均,M 为权重,如Y=(X*M+Y'*(N-M))/N34)TMA返回移动平均用法:TMA(X,N,M),如若Y=TMA(X,N,M) 则Y=(N*Y'+M*X), 其中Y'表示上一周期Y值。