通达信公式是我们探索股市的有力工具,有志于在股市中有所成就,并且愿意付出艰苦劳动的人,不能不学。其中,函数构成了基本公式,基本公式构成了更丰富、更强大、更实用的组合公式。再结合自己的交易体系,找到称手的实战公式。正如同,原子构成了分子,分子构成了我们丰富多彩的世界。又如同,一生二,二生三,三生万物。 本文列举的常用函数,是我从通达信公式系统中挑选的,当然也参考了最近在研究的通达信公式。汇成一篇,方便查阅。我原来有一种思想是函数的数量越少越好,采用最基础的函数去替代其它函数。在应用中发现,采用某些函数可以使公式简单,而且,某个函数也不是想替代就能被替代的。 目录 一、序列行情函数 二、时间函数 三、引用函数 四、板块字符函数 五、逻辑函数 六、选择函数 七、数学函数 八、统计函数 九、形态函数 十、指数标的函数 十一、资金流向函数 十二、绘图函数 十三、关联财务函数 十四、专业财务函数 十五、即时行情函数 十六、线形和资源等 十七、操作符 十八、交易信号函数 十九、账户函数 一、序列行情函数 函数: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 类型:操作符 用途:并且 用法: 说明:用法同&& 十八、交易信号函数 十九、账户函数 迈奥岛 |
|
来自: 学习海洋626 > 《文件tn6加入通达信》