通达信公式是我们探索股市的有力工具,有志于在股市中有所成就,并且愿意付出艰苦劳动的人,不能不学。其中,函数构成了基本公式,基本公式构成了更丰富、更强大、更实用的组合公式。再结合自己的交易体系,找到称手的实战公式。正如同,原子构成了分子,分子构成了我们丰富多彩的世界。又如同,一生二,二生三,三生万物。
本文列举的常用函数,是我从通达信公式系统中挑选的,当然也参考了最近在研究的通达信公式。汇成一篇,方便查阅。我原来有一种思想是函数的数量越少越好,采用最基础的函数去替代其它函数。在应用中发现,采用某些函数可以使公式简单,而且,某个函数也不是想替代就能被替代的。
目录
一、序列行情函数
二、时间函数
三、引用函数
四、板块字符函数
五、逻辑函数
六、选择函数
七、数学函数
八、统计函数
九、形态函数
十、指数标的函数
十一、资金流向函数
十二、绘图函数
十三、关联财务函数
十四、专业财务函数
十五、即时行情函数
十六、线形和资源等
十七、操作符
十八、交易信号函数
十九、账户函数
一、序列行情函数
函数:ADVANCE
类型:序列行情函数
用途:上涨家数
用法:ADVANCE
说明:返回该周期上涨家数;本函数仅对沪深指数有效
举例:
说明:
函数:AMOUNT
类型:序列行情函数
用途:成交额(元)
用法:AMOUNT
说明:返回该周期成交额。期货和期权无成交金额,返回持仓量
函数:CLOSE
类型:序列行情函数
用途:收盘价
说明:若复权时需要当时的真实均价,可以用AMO/(VOL*100)来替代
函数:DECLINE
类型:序列行情函数
用途:下跌家数
用法:DECLINE
说明:返回该周期下跌家数;本函数仅对沪深指数有效
函数:HIGH
类型:序列行情函数
用途:最高价
函数:LOW
类型:序列行情函数
用途:最低价
函数:OPEN
类型:序列行情函数
用途:开盘价
函数:VOL
类型:序列行情函数
用途:返回该周期成交量(手)
二、时间函数
函数:DATE
类型:时间函数
用途:取得该周期从1900以来的年月日
用法:DATE
说明:
举例:返回1000101
说明:表示2000年1月1日
函数:DAYSTOTODAY
类型:时间函数
用途:离今天的天数
用法:DAYSTOTODAY
说明:取得该周期的日期离今天的天数
函数:TIME
类型:时间函数
用途:时间(时分)
用法:TIME
说明:取得该周期的时分,适用于日线以下周期;函数返回有效值范围0000-2359
三、引用函数
函数:BARSCOUNT
类型:引用函数
用途:统计有效数据周期数
用法:BARSCOUNT(X)
说明:第一个有效数据到当前的间隔周期数,第一个有效数据到当前的天数
举例:BARSCOUNT(CLOSE)
说明:对于日线数据取得上市以来总交易日数
函数:BARSLAST
类型:引用函数
用途:上一次条件成立到当前的周期数
用法:BARSLAST(X)
说明:上一次X不为0到现在的周期数
举例:BARSLAST(CLOSE/REF(CLOSE,1)>=1.095)
说明:上一个涨停板到当前的周期数
函数:BARSLASTCOUNT
类型:引用函数
用途:条件连续成立次数
用法:BARSLASTCOUNT(X)
说明:统计连续满足X条件的周期数
举例:BARSLASTCOUNT(CLOSE>OPEN)
说明:表示统计连续收阳的周期数
函数:BARSSINCE
类型:引用函数
用途:首个条件成立位置
用法:BARSSINCE(X)
说明:第一次X不为0到现在的周期数
举例:BARSSINCE(HIGH>10)
说明:股价超过10元时到当前的周期数
函数:BARSSINCEN
类型:引用函数
用途:N周期内首个条件成立位置
用法:BARSSINCEN(X,N)
说明:N周期内第一次X不为0到现在的周期数,N为常量
举例:BARSSINCEN(HIGH>10,10)
说明:表示10个周期内股价超过10元时到当前的周期数
函数:COUNT
类型:引用函数
用途:统计满足条件的周期数
用法:COUNT(X,N)
说明:统计N周期中满足X条件的周期数,若N≤0则从第一个有效值开始
举例:COUNT(CLOSE>OPEN,20)
说明:统计20周期内收阳的周期数
函数:DRAWNULL
类型:引用函数
用途:返回无效数
举例:IF(CLOSE > REF(CLOSE, 1), CLOSE, DRAWNULL)
说明:下跌时不画线
函数:EMA
类型:引用函数
用途:返回指数移动平均
用法:EMA(X,N)
说明:算法Y = (X * 2 + Y’ * (N - 1)) / (N + 1),表示X的N日指数移动平均,相当于SMA(X , N+1 , 2)
函数:EXTDATA_USER
类型:引用函数
用途:引用扩展数据,使用扩展数据管理器来设置和刷新数据
用法:EXTDATA_USER(N,TYPE)
说明:N取1-100,表示读当前品种的N号扩展序列数据。TYPE:1表示做平滑处理,没有数据的周期返回上一周期的值;0表示不做平滑处理;2表示没有数据则为0。
函数:FILTER
类型:引用函数
用途:过滤连续出现的信号
用法:FILTER(X,N)
说明:X满足条件后,将其后N周期内的数据置为0,N为常量
举例:FILTER(CLOSR>OPEN,5)
说明:查找阳线,5天内再次出现的阳线不被记录在内
函数:FINDHIGH
类型:引用函数
用途:N周期前的M周期内的第T个最大值
用法:FINDHIGH(VAR,N,M,T)
说明:VAR在N日前的M天内第T个最高价
函数:FINDHIGHBARS
类型:引用函数
用途:N周期前的M周期内的第T个最大值到当前周期的周期数
用法:FINDHIGHBARS(VAR,N,M,T)
说明:VAR在N日前的M天内第T个最高价到当前周期的周期数
函数:HHV
类型:引用函数
用途:求最高值
用法:HHV(X,N)
说明:求N 周期内X最高值,N=0则从第一个有效值开始
举例:HHV(HIGH,30)
说明:求30日最高价
函数:HHVBARS
类型:引用函数
用途:上一高点位置
用法:HHVBARS(X,N)
说明:求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计
举例:HHVBARS(HIGH,0)
说明:求得历史新高到当前的周期数
函数:HOD
类型:引用函数
用途:求高值名次
用法:HOD(X,N)
说明:求当前X数据是N周期内的第几个高值,N=0则从第一个有效值开始
举例:HOD(HIGH,20)
说明:返回是20日的第几个高价
函数:LLV
类型:引用函数
用途:求最低值
函数:MA
类型:引用函数
用途:返回简单移动平均
用法:MA(X,N)
说明:X的N日简单移动平均
函数:REF
类型:引用函数
用途:引用若干周期前的数据(引用不到时作平滑处理,即使用上一周期)
用法:REF(X,A)
说明:引用A周期前的X值,A可以是变量
举例:REF(CLOSE,BARSCOUNT(C)-1)
说明:(上市以来)第二根K线的收盘价
函数:REFDATE
类型:引用函数
用途:引用自1900年以来指定日期的数据
用法:REFDATE(X,A)
说明:引用A日期的X值
举例:REFDATE(CLOSE,1011208)
说明:2001年12月08日的收盘价
函数:SIGNALS_USER
类型:引用函数
用途:引用自定义序列数据
用法:
说明:读取个人目录下的signals目录下面的[signals_user_?]目录,用自定义数据管理器来维护
举例:SIGNALS_USER(11,TYPE)
说明:读当前品种的11数据号的序列数据(自定义数据按日期从小到大排序)。TYPE:1表示做平滑处理,没有自定义数据的周期返回上一周期的值;0表示不做平滑处理;2表示没有数据则为0
函数:SMA
类型:引用函数
用途:返回移动平均
用法:SMA(X,N,M)
说明:算法Y = (X * M + Y’ * (N - M)) / N,表示X的N日移动平均值,M为权重
函数:SPLITBARS
类型:引用函数
用途:除权除息到现在的周期数
用法:SPLITBARS(N,TYPE)
说明:取得之前第N次除权除息到当前的周期数,参数0表示送转股,1表示分红,2表示送转股或分红
举例:SPLITBARS(0,0)=0
说明:当天发生除权
函数:SUM
类型:引用函数
用途:求总和
用法:SUM(X,N)
说明:统计N周期中X的总和,N=0则从第一个有效值开始
举例:SUM(VOL,0)
说明:统计从上市第一天以来的成交量总和
函数:TMA
类型:引用函数
用途:返回移动平均
用法:TMA(X,A,B)
说明:算法Y = (A * Y’ + B * X),Y’表示上一周期Y值,初值为X,A和B必须小于1
函数:TOTALBARSCOUNT
类型:引用函数
用途:总的周期数
用法:TOTALBARSCOUNT
说明:求总的周期数
函数:ZTPRICE
类型:引用函数
用途:计算涨停价
举例:ZTPRICE(REF(CLOSE,1),0.1)
说明:按10%计算得到在昨收盘基础上的涨停价。复权处理后可能不符
四、板块字符函数
五、逻辑函数
函数:CROSS
类型:逻辑函数
用途:两条线交叉,上穿
用法:CROSS(A,B)
说明:当A从下方向上穿过B时返回1,否则返回0
举例:CROSS(MA(CLOSE,5), MA(CLOSE,10))
说明:5日均线与10日均线金叉
函数:EVERY
类型:逻辑函数
用途:一直存在
举例:EVERY(CLOSE>OPEN,10)
说明:表示前10日内一直阳线
函数:EXIST
类型:逻辑函数
用途:是否存在
举例:EXIST(CLOSE>OPEN,10)
说明:前10日内存在着阳线
函数:LAST
类型:逻辑函数
用途:持续存在
用法:LAST(X,A,B)
说明:A>B,表示从前A日到前B日一直满足X条件。若A为0,表示从第一天开始,B为0,表示到最后日止
举例:LAST(CLOSE>OPEN,10,5)
说明:从前10日到前5日内一直阳线
函数:NOT
类型:逻辑函数
用途:取反,求逻辑非
用法:NOT(X)
说明:返回非X,即当X=0时返回1,否则返回0
举例:NOT(ISUP)
说明:表示平盘或收阴
函数:UPNDAY
类型:逻辑函数
用途:返回周期数内是否连涨
用法:UPNDAY(CLOSE,M)
说明:表示连涨M个周期
六、选择函数
函数:IF
用途:条件判断
类型:选择函数
用法:IF(X, A, B)
说明:若 X 不为0则返回A,否则返回B
举例:IF(CLOSE>OPEN,HIGH,LOW)
说明:表示该周期收阳则返回最高值,否则返回最低值
七、数学函数
函数:ABS
类型:数学函数
用途:求绝对值
用法:ABS(X)
说明:返回X的绝对值
举例:ABS(-34)
说明:返回34
函数:ATAN
类型:数学函数
用途:反正切值
用法:ATAN(X)
说明:返回X的反正切值
函数:MAX
类型:数学函数
用途:求最大值
用法:MAX(A,B)
说明:返回A和B中的较大值
举例:MAX(CLOSE-OPEN,0)
说明:若收盘价大于开盘价,返回它们的差值,否则返回0
函数:ROUND
类型:数学函数
用途:四舍五入
用法:ROUND(X)
说明:返回X四舍五入到个位的数值
函数:ROUND2
类型:数学函数
用途:四舍五入
用法:ROUND2(X,N)
说明:返回X四舍五入到N位小数的数值。由于精度,数据越大误差可能越大
函数:SIGN
类型:数学函数
用途:取符号
用法:SIGN(X)
说明:返回X的符号,当X>0,=0,<0分别返回1,0,-1
八、统计函数
函数:AVEDEV, DEVSQ, SLOPE, STD, STDDEV, VAR
类型:统计函数
用途:平均绝对偏差,数据偏差平方和,线性回归斜率,估算标准差,标准偏差,估算样本方差
用法:
说明:
举例:
说明:
九、形态函数
函数:COST
类型:形态函数
用途:成本分布
用法:
说明:仅对日线分析周期有效
举例:COST(10)
说明:10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。
函数:LWINNER
类型:形态函数
用途:近期获利盘比例
举例:LWINNER(5,CLOSE)
说明:表示最近5天的那部分成本以当前收市价卖出的获利盘比例。返回0.1表示10%获利盘
函数:WINNER
类型:形态函数
用途:获利盘比例,仅对日线分析周期有效。
用法:WINNER(价格)
说明:以当前价格卖出的获利盘比例,例如返回0.1表示10%获利盘。在当前价格以下筹码的比例,即有多少筹码在当前价格卖掉是能够获利的
举例:WINNER(10.5)
说明:10.5价格的获利盘比例
十、指数标的函数
函数:INDEXV
类型:指数标的函数
用途:返回对应的大盘成交量,分别是上证指数,深证成指,科创50,创业板指,港股为恒生指数,国内期货为对应的L9指数品种
用法:
说明:对应指数的数据必须要先下载到本地
举例:
说明:
十一、资金流向函数
十二、绘图函数
函数:DRAWBMP
类型:绘图函数
用途:画出图片
用法:DRAWBMP(COND,PRICE,’Bmp文件名’)
说明:当条件COND满足时,在PRICE位置画T0002目录下面的signals目录下面的“Bmp文件名”;
举例:DRAWBMP(O>C,CLOSE,’高开’)
说明:
函数:DRAWTEXT
类型:绘图函数
用途:显示文字,或在指标排序中显示字符串栏目
用法:DRAWTEXT(COND,PRICE,TEXT)
说明:当条件COND满足时,在PRICE位置书写文字TEXT
举例:DRAWTEXT(CLOSE/OPEN>1.08,LOW,’大阳线’)
说明:当日实体阳线大于8%时在最低价位置显示”大阳线”字样,若文字中含有&则进行折行
十三、关联财务函数
函数:CAPITAL
类型:关联财务函数
用途:当前流通股本(手)
用法:
说明:
举例:
说明:
函数:FINANCE(3)
类型:关联财务函数
用途:沪深品种类型
举例:FINANCE(3)=0,1,3,4,…
说明:指数,A股主板,创业板,科创板,……
函数:FINANCE(8)
类型:关联财务函数
用途:股东人数(户)
用法:
说明:上市公司的最新数据
函数:FINANCE(40)
类型:关联财务函数
用途:流通市值
函数:FINANCE(42)
类型:关联财务函数
用途:上市的天数
举例:FINANCE(42)>50
说明:
十四、专业财务函数
函数:FINVALUE
类型:专业财务函数
用途:引用专业财务数据。如指标支持云数据函数,则无需专业财务数据下载
用法:FINVALUE(ID)
说明:ID为数据编号
举例:FINVALUE(255),表示基金持股量
举例:FINVALUE(239),表示已上市流通A股
函数:GPJYVALUE
类型:专业财务函数
用途:引用股票交易量数据。如指标支持云数据函数,则无需专业财务数据下载
用法:GPJYVALUE(ID, N, TYPE)
说明:ID为数据编号,N表示第几个数据(1,2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0
举例:GPJYVALUE(6,1,1)
说明:陆股通持股量,做平滑处理,没有数据的周期返回上一周期的值
十五、即时行情函数
函数:DYNAINFO(3)
类型:即时行情函数
用途:前收盘价
用法:
说明:
举例:
说明:
函数:DYNAINFO(4)
类型:即时行情函数
用途:开盘价
用法:
说明:在开盘前,值为零。在使用时需要判断
函数:DYNAINFO(7)
类型:即时行情函数
用途:现价
用法:
说明:在开盘前,值为零。在使用时需要判断
函数:DYNAINFO(9)
类型:即时行情函数
用途:现量
函数:DYNAINFO(17)
类型:即时行情函数
用途:量比
函数:DYNAINFO(18)
类型:即时行情函数
用途:上涨家数
用法:
说明:对沪深指数和通达信板块指数有效
函数:DYNAINFO(19)
类型:即时行情函数
用途:下跌家数
用法:
说明:对沪深指数和通达信板块指数有效
函数:DYNAINFO(37)
类型:即时行情函数
用途:换手率
用法:
说明:转换成幅度需要乘以100
举例:DYNAINFO(37)>0.25
说明:换手率超过25%
函数:DYNAINFO(60)
类型:即时行情函数
用途:沪深总上涨家数
函数:DYNAINFO(61)
类型:即时行情函数
用途:沪深总下跌家数
函数:DYNAINFO(62)
类型:即时行情函数
用途:沪深总成交金额
十六、线形和资源等
函数:LINETHICK
类型:线型和资源等
用途:
用法:LINETHICK+(1-9)
说明:参数的取值范围在1-9之间
举例:LINETHICK1, LINETHICK9
说明:最细的线,最粗的线
函数:COLORGREEN
类型:线型和资源等
用途:画绿色
十七、操作符
函数: :
类型:操作符
用途:输出
函数: :=
类型:操作符
用途:赋值
函数: =
类型:操作符
用途:判断是否相等
用法:
说明:不一定相等,可按需处理精度,如:INTPART(X / MINDIFF) = INPART(Y / MINDIFF)
函数:AND
类型:操作符
用途:并且
用法:
说明:用法同&&
十八、交易信号函数
十九、账户函数
迈奥岛
联系客服