互联网业务平台指南第一章公式编写教程简介公式编写规则公式编写实例系统函数说明常用技术指标选股第4节系统函数说明TDX的公式编写系统用了多类的函数,以达到快速提取数据和提高运算能力,同时简化计算过程的要求。因此在不同类型的函数我们赋予了相当精确的含义。有的函数定义为行情数据提取函数,那么它的功能就是从静态历史上的行情数据或者动态及时盘中数据提取我们所需要的数据以方便以后的分析和计算。有的函数定义为运算函数,是考虑到一些复杂的数学计算过程过于冗长,从而设计的简化运算函数等等。在以下的几节当中,我们将会分别介绍一共10类的函数。一、行情函数(OPEN、CLOSE、HIGH、LOW、VOL等)二、大盘函数(INDEXA、INDEXC、INDEXH等)三、常数函数(包括财务函数和动态行情函数)四、时间函数(DATE、DAY、TIME等)五、引用函数(MA、HHV、COUNT、REF、SUM、SMA等)六、逻辑算术函数(IF、CROSS、NOT等)七、数学函数(MAX、MIN、LN、三角函数等)八、统计函数(STD、VAR、AVEDEV等)九、指标函数(PEAK、SAR、COSET、WINNER、ZIG等)十、绘图函数(DRAWLINE、DRAWTEXT等)十一、横向统计函数4.1行情函数互联网业务平台指南名称解释用法举例ADVANCE上涨家数本函数仅对大盘有效AMOUNT成交额取得该周期成交额。ASKPRICE委卖价ASKPRIC(N),N取1--3ASKVOL委卖量ASKVOL(N),N取1--3BIDPRICE委买价BIDPRICE(N),N取1--3BIDVOL委买量BIDVOL(N),N取1--3BUYVOL主动性买单BUYVOLCLOSE收盘价CLOSEDECLINE下跌家数DECLINEHIGH最高价HIGHISBUYORDER是否为主动性买单ISBUYORDERLOW最低价LOWOPEN开盘价OPENSELLVOL主动性卖单SELLVOLVOL成交量VOL4.2大盘函数名称解释1INDEXA表示同期大盘的成交额2INDEXADV表示同期大盘的上涨家数3INDEXC表示同期大盘的收盘价4INDEXDEC表示同期大盘的下跌家数5INDEXH表示同期大盘的最高价6INDEXL表示同期大盘的最低价7INDEXO表示同期大盘的开盘价8INDEXV表示同期大盘的成交量4.3常数函数4.3.1流通盘函数:CAPITAL说明:流通盘大小用法:CAPITAL,返回流通盘大小,单位为手。对于A股得到流通A股,B股得到B股总股本,指数为0.注意:该函数返回常数例如:换手率公式:100*VOL/(CAPITAL),VOLSTICK;4.3.2财务数据函教FINANCE(N)返回财务数据互联网业务平台指南N定义单位N定义单位N定义单位1总股本万股14长期投资千元27存货千元2国家股万股15流动负债千元28利润总额千元3发起人法人股万股16少数股东权益千元29税后利润千元4法人股万股17资本公积金千元30净利润千元5B股万股18每股公积金千元31未分配利润千元6H股万股19股东权益千元32每股未分配元7流通A股万股20主营收入千元38每股收益(最近一期季报)元8股东人数万股21营业成本千元34每股净资产元9资产负债率万股22应收帐款千元35调每股净资元10总资产千元23营业利润千元36股东权益比11流动资产千元24投资收益千元40流通市值元12固定资产千元25经营现金流量千元41总市值元13无形资产千元26总现金流量千元42上市的天数33每股收益(折算为全年收益)37第几季度报告(1为1季度2为中报3为3季度4为年报)43净利润增长率44主营收入同比增长率毛利率:(FINANCE(20)-FINANCE(21))/FINANCE(20)*100;每股经营现金流:=FINANCE(25)/FINANCE(1);4.3.3动态行情函数DYNAINFO(N)返回动态行情互联网业务平台指南N含义N含义N含义N含义3昨收16委差29买二价51内外比4今开17量比30买三价52多空平衡5最高18上涨家数59卖一量53多头获利6最低19下跌家数32卖二量54空头回补7最新20委买价33卖三量55多头止损8总手21委卖价34卖一价56空头止损9现价22内盘35卖二价57笔升跌10总额23外盘36卖三价11均价24涨速37换手率60沪深总上涨家数12涨跌58买一量385日均量61沪深总下跌家数13振幅26买二量39市盈率14涨幅27买三量40笔升跌15委比28买一价50采样点数4.4时间函数名称中文名说明DATE年月日函数返回有效值范围为(700101-1341231),取得该周期从1900以来的的年月日。DAY日期函数返回有效值范围为(1-31)取得该周期的日期。HOUR小时函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0取得该周期的小时数。MINUTE分钟函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0取得该周期的分钟数。MONTH月份函数返回有效值范围为(1-12)取得该周期的月份。TIME时分秒函数返回有效值范围为(000000-235959)取得该周期的时分秒。WEEK星期函数返回有效值范围为(0-6),0表示星期天取得该周期的星期数。YEAR年份函数返回有效值范围为(1970-2038)取得该周期的年份。FROMOPEN求距开盘有多长时间FROMOPEN返回当前时刻距开盘有多长时间,单位为分钟。注意:引用固定日期的函数为引用函数REFDATE(X,A)作用:引用指定日期的数据.用法:REFDATE(X,A),引用A日期的X值.例如:REF(CLOSE,20011208)表示2001年12月08日的收盘价4.5引用函数互联网业务平台指南函数:DRAWNULL说明:当前值不画线返回无效数。用法:DRAWNULL不画线。例如:IF(CLOSEREF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时分析图上不画线。-----------------------函数:BACKSET(X,N)说明:向前赋值将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSEOPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0-----------------------函数:BARSCOUNT(X)说明:有效值周期数求总的周期数。用法:BARSCOUNT(X)第一个有效数据到当前的天数。例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数----------------------函数:BARSLAST(X)说明:上一次条件成立位置上一次条件成立到当前的周期数。用法:BARSLAST(X):上一次X不为0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)=1.1)表示上一个涨停板到当前的周期数----------------------函数:BARSSINCE(X)说明:第一个条件成立位置到当前的周期数。用法:BARSSINCE(X):第一次X不为0到现在的天数。例如:BARSSINCE(HIGH10)表示股价超过10元时到当前的周期数----------------------函数:COUNT(X,N)说明:统计总数统计满足条件的周期数。用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSEOPEN,20)表示统计20周期内收阳的周期数----------------------函数:DMA(X,N)说明:动态移动平均求动态移动平均。用法:DMA(X,A),求X的动态移动平均。算法:若Y=DMA(X,A)则Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价-----------------------函数:EMA(X,N)说明:指数平滑移动平均卖一价求指数平滑移动平均。互联网业务平台指南用法:EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指数平滑均价----------------------函数:FILTER(X,N)说明:信号过滤过滤连续出现的信号。用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0。例如:FILTER(CLOSEOPEN,5)查找阳线,5天内再次出现的阳线不被记录在内----------------------函数:HHV(X,N)说明:求最高值用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。例如:HHV(HIGH,30)表示求30日最高价----------------------函数:HHVBARS(X,N)说明:上一高点位置求上一高点到当前的周期数。用法:HHVBARS(X,N):求N周期内X最高值到当前周期数N=0表示从第一个有效值开始统计例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数----------------------函数:LLV(X,N)说明:求最低值用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW,0)表示求历史最低价----------------------函数:LLVBARS(X,N)说明:上一低点位置求上一低点到当前的周期数。用法:LLVBARS(X,N):求N周期内X最低值到当前周期数N=0表示从第一个有效值开始统计例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数----------------------函数:MA(X,N)说明:简单移动平均求简单移动平均。用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+...+Xn)/N例如:MA(CLOSE,10)表示求10日均价----------------------函数:REF(X,A)说明:向前引用引用若干周期前的数据用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。----------------------函数:REFDATE(X,A)说明:向前引用引用指定日期的数据。互联网业务平台指南用法:REFDATE(X,A),引用A日期的X值。例如:REF(CLOSE,20011208)表示2001年12月08日的收盘价----------------------函数:SMA(X,N,M)说明:求移动平均用法:若Y=SMA(X,N,M)则Y=[M*X+(N-M)*Y')/N,其中Y'表示上一周期Y值,N必须大于M。算法:(X1+X2+X3+...+Xn)/N例如:SMA(CLOSE,30,1)表示求30日移动平均价----------------------函数:SUM(X,N)说明:求总和用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和----------------------函数:SUMBARS(X,A)说明:累加到指定周期数向前累加到指定值到现在的周期数用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数4.6逻辑算术函数函数:NOT(X)说明:求逻辑非用法:NOT(X)求逻辑非,返回非X,即当X=0时返回1,否则返回0。例如:NOT(ISUP):是否平盘或收阴----------------------