分享

通达信函数——引用函数

 mastereye 2018-12-04

http://blog.sina.com.cn/s/blog_6e5f74c60101gdyp.html


​DRAWNULL
:无效数

返回无效数.

用法:

DRAWNULL

例如IF(CLOSE>REF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时分析图上不画线

 

BACKSET:向前赋值

属于未来函数,将当前位置到若干周期前的数据设为1.

用法:BACKSET(X,N),X0,则将当前位置到N周期前的数值设为1.

例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0

 

ALIGNRIGHT:有效数据右对齐

有效数据右对齐.

用法:ALIGNRIGHT(X)有效数据向右移动,左边空出来的周期填充无效值

例如:TC:=IF(CURRBARSCOUNT=2||CURRBARSCOUNT=5,DRAWNULL,C);XC:ALIGNRIGHT(TC);删除了两天的收盘价,并将剩余数据右移

 

BARSCOUNT:有效数据周期数

求总的周期数.

用法:BARSCOUNT(X)第一个有效数据到当前的天数

例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数

 

BARSTATUS:数据位置状态

BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置。例如:BARSTATUS=2表示当天是该股票数据的最后一个周期。

 

CURRBARSCOUNT:到最后交易的周期

求到最后交易日的周期数.

用法:CURRBARSCOUNT求到最后交易日的周期数

 

TOTALBARSCOUNT:总的周期数

求总的周期数.

用法:TOTALBARSCOUNT求总的周期数

 

ISLASTBAR:是否最后一个周期

判断是否为最后一个周期.

用法:ISLASTBAR判断是否为最后一个周期

 

BARSLAST:上一条件成立位置

上一次条件成立到当前的周期数.

用法:BARSLAST(X):上一次X不为0到现在的天数

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数

 

BARSNEXT:下一条件成立位置

属于未来函数,下一次条件成立到当前的周期数.

用法:BARSNEXT(X):下一次X不为0到现在的天数

例如:BARSNEXT(CLOSE/REF(CLOSE,1)>=1.1)表示下一个涨停板到当前的周期数

 

BARSSINCENN周期内首个条件成立位置

N周期内第一个条件成立到当前的周期数.

用法:BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数,N为常数

例如:BARSSINCEN(HIGH>10,10)表示10个周期内股价超过10元时到当前的周期数

 

BARSSINCE:首个条件成立位置

第一个条件成立到当前的周期数.

用法:BARSSINCE(X):第一次X不为0到现在的天数

例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数

 

COUNT:统计

统计满足条件的周期数.

用法:COUNT(X,N),统计N周期中满足X条件的周期数,N<0则从第一个有效值开始.

例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数

 

BARSLASTCOUNT:条件连续成立次数

统计连续满足条件的周期数.

用法:BARSLASTCOUNT(X),统计连续满足X条件的周期数.

例如:BARSLASTCOUNT(CLOSE>OPEN)表示统计连续收阳的周期数

 

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:最低值

求最低值.

用法:LLV(X,N),N周期内X最低值,N=0则从第一个有效值开始.

例如:LLV(LOW,0)表示求历史最低价

 

LLVBARS:上一低点位置

求上一低点到当前的周期数.

用法:LLVBARS(X,N):N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计

例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数

 

LOD:低值名次

求低值名次.

用法:LOD(X,N):求当前X数据是N周期内的第几个低值,N=0则从第一个有效值开始.

例如:LOD(LOW,20)返回是20日的第几个低价

 

REVERSE:求相反数

求相反数.

用法:REVERSE(X)返回-X.

例如REVERSE(CLOSE)返回-CLOSE

 

REF:日前的

引用若干周期前的数据(平滑处理).

用法:REF(X,A),引用A周期前的X.A可以是变量.

平滑处理:当引用不到数据时进行的操作。此函数中,平滑时使用上一个周期的引用值。

例如:REF(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.

 

REFV:日前的

引用若干周期前的数据(未作平滑处理).

用法:REFV(X,A),引用A周期前的X.A可以是变量.

平滑处理:当引用不到数据时进行的操作。

例如:REFV(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.

 

REFX:日后的

属于未来函数,引用若干周期后的数据(未作平滑处理).

用法:REFX(X,A),引用A周期后的X.A可以是变量.

平滑处理:当引用不到数据时进行的操作。

例如:REFX(CLOSE,1)表示下一周期的收盘价,在日线上就是明天收盘价

 

REFXV:日后的

属于未来函数,引用若干周期后的数据(平滑处理).

用法:REFXV(X,A),引用A周期后的X.A可以是变量.

平滑处理:当引用不到数据时进行的操作。此函数中,平滑时使用上一个周期的引用值。

例如:TT:=IF(C>O,1,2);

REFXV(CLOSE,TT);表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.

 

REFDATE:日

引用自1900年以来指定日期的数据.

用法:REFDATE(X,A),引用A日期的X.

例如:REFDATE(CLOSE,1011208)表示20011208日的收盘价

 

CALCSTOCKINDEX:指标引用

CALCSTOCKINDEX.

用法:CALCSTOCKINDEX(股票代码,指标名称,指标线),

返回股票该指标相应输出的计算值.

例如:

CALCSTOCKINDEX('600000SH','KDJ',3)表示上证600000股票的KDJ指标第3个输出即J之值

CALCSTOCKINDEX('IFL0','MACD',2)表示IFL0品种的MACD指标第2个输出值.

注意:引用品种的对应周期的数据必须要先下载到本地

 

SUM:累和

求总和.

用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始.

例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和

 

MULAR:累乘

求累乘.

用法:MULAR(X,N),统计N周期中X的乘积,N=0则从第一个有效值开始.

例如:MULAR(C/REF(C,1),0)表示统计从上市第一天以来的复利

 

FILTER:过滤

过滤连续出现的信号.

用法:FILTER(X,N):X满足条件后,将其后N周期内的数据置为0.

例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内

 

FILTERX:反向过滤

反向过滤连续出现的信号.

用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0.

例如:FILTERX(CLOSE>OPEN,5)查找阳线,前5天内出现过的阳线不被记录在内

 

TFILT:区间过滤

对指定时间段的数据进行过滤,该时间段以外的数据无效.

用法:TFILT(X,D1,M1,D2,M2)

例如TFILT(CLOSE,1040101,1025,1040101,1345)表示在200411日的10:25200411日的13:45的收盘价是有效的.

周期以日为基本单位的,分时为0有效.

 

TFILTER:信号过滤(多头)

过滤连续出现的信号.

用法:TFILTER(买入条件,卖出条件,N);过滤掉买入(卖出)信号发出后,下一个反向信号发出前的所有买入(卖出)信号.

N=1表示仅对买入信号过滤;

N=2表示仅对卖出信号过滤;

N=0表示对买入和卖出信号都过滤,返回1,2表示买入或卖出条件成立;

同一K线上只能有一个信号;

例如:

ENTERLONG:TFILTER(买入,卖出,1);

EXITLONG:TFILTER(买入,卖出,2);

 

TTFILTER:信号过滤(多空)

按照开平配对等原则过滤不合理的信号.

用法:TTFILTER(开仓买入,平仓卖出,开仓卖出,平仓买入,N);

 

主要规则有:

1.连续的同方向指令只有第一个有效,其他的将被过滤;

2.交易信号必须配对出现(比如前面已经有了买开指令,则后面只允许出现卖平指令,其他的指令都被过滤掉);

N=1表示仅对开仓买入信号过滤;

N=2表示仅对平仓卖出信号过滤;

N=3表示仅对开仓卖出信号过滤;

N=4表示仅对平仓买入信号过滤;

N=0表示都过滤,返回1,2,3,4分别表示对应的条件成立;

同一K线上只能有一个信号;

例如:

ENTERLONG:TTFILTER(开仓买入,平仓卖出,开仓卖出,平仓买入,1);

EXITLONG:TTFILTER(开仓买入,平仓卖出,开仓卖出,平仓买入,2);

ENTERSHORT:TTFILTER(开仓买入,平仓卖出,开仓卖出,平仓买入,3);

EXITSHORT:TTFILTER(开仓买入,平仓卖出,开仓卖出,平仓买入,4);

 

TR:真实波幅

求真实波幅.

用法:TR,求真实波幅.例如:ATR:=MA(TR,10);

表示求真实波幅的10周期均值

 

SUMBARS:累加到指定值的周期数

向前累加到指定值到现在的周期数.

用法:SUMBARS(X,A):X向前累加直到大于等于A,返回这个区间的周期数

例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数

 

MA:简单移动平均

返回简单移动平均

用法:MA(X,N):XN日简单移动平均,算法(X1+X2+X3+...+Xn)/N

 

SMA:移动平均

返回移动平均

用法:SMA(X,N,M):XN日移动平均,M为权重,Y=(X*M+Y'*(N-M))/N

 

TMA:移动平均

返回移动平均

用法:TMA(X,A,B),AB必须小于1,算法Y=(A*Y'+B*X),其中Y'表示上一周期Y.初值为X

 

MEMA:平滑移动平均

返回平滑移动平均

用法:MEMA(X,N):XN日平滑移动平均,Y=(X+Y'*(N-1))/N

MEMA(X,N)相当于SMA(X,N,1)

 

EMA:指数移动平均

返回指数移动平均

用法:EMA(X,N):XN日指数移动平均.算法:Y=(X*2+Y'*(N-1))/(N+1)

EMA(X,N)相当于SMA(X,N+1,2)

 

EXPMA:指数移动平均

EMA的用法一致

 

EXPMEMA:指数平滑移动平均

返回指数平滑移动平均

用法:EXPMEMA(X,N):XN日指数平滑移动平均

EXPMEMAEMA(EXPMA)的差别在于他的起始值为一平滑值

 

WMA:加权移动平均

返回加权移动平均

用法:WMA(X,N):XN日加权移动平均.算法:Yn=(1*X1+2*X2+...+n*Xn)/(1+2+...+n)

 

DMA:动态移动平均

求动态移动平均.

用法:DMA(X,A),X的动态移动平均.

算法:Y=A*X+(1-A)*Y',其中Y'表示上一周期Y,A必须小于1.

例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价

 

AMA:自适应均线

求自适应均线值.

用法:AMA(X,A),A为自适应系数,必须小于1.

算法:Y=Y'+A*(X-Y').初值为X

 

XMA:偏移移动平均

属于未来函数,返回偏移移动平均

用法:XMA(X,N):XN日偏移移动平均,用到了当日以后N/2日的数据,只供内部测试使用

 

RANGE:介于某个范围之间

RANGE(A,B,C):ABC范围之间.

用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0

 

CONST:取值设为常数

CONST(A):A最后的值为常量.

用法:CONST(INDEXC)表示取大盘现价

 

TOPRANGE:当前值是近多少周期内的最大值

当前值是近多少周期内的最大值.

用法:TOPRANGE(X):X是近多少周期内X的最大值

例如:TOPRANGE(HIGH)表示当前最高价是近多少周期内最高价的最大值

 

LOWRANGE:当前值是近多少周期内的最小值

当前值是近多少周期内的最小值.

用法:LOWRANGE(X):X是近多少周期内X的最小值

例如:LOWRANGE(LOW)表示当前最低价是近多少周期内最低价的最小值

 

FINDHIGH:寻找指定周期内的特定最大值

N周期前的M周期内的第T个最大值.

用法:FINDHIGH(VAR,N,M,T):VARN日前的M天内第T个最高价

 

FINDHIGHBARS:寻找指定周期内的特定最大值...

N周期前的M周期内的第T个最大值到当前周期的周期数.

用法:FINDHIGHBARS(VAR,N,M,T):VARN日前的M天内第T个最高价到当前周期的周期数

 

FINDLOW:寻找指定周期内的特定最大值

N周期前的M周期内的第T个最小值.

用法:FINDLOW(VAR,N,M,T):VARN日前的M天内第T个最低价

 

FINDLOWBARS:寻找指定周期内的特定最大值...

N周期前的M周期内的第T个最小值到当前周期的周期数.

用法:FINDLOWBARS(VAR,N,M,T):VARN日前的M天内第T个最低价到当前周期的周期数.

 

EXTERNSTR:引用自定义外部字符串数据

EXTERNSTR(TYPE,ID)

TYPE1表示是系统保留数据,

TYPE0表示是自定义外部数据,读取signals目录下面的的extern_user.txt,请用自定义数据管理器来维护

extern_user.txt为文本结构,如下1|600717|1|好股|0.33

市场(0:深圳,1:上海)|品种代码|数据号|文字串|数值

 

EXTERNVALUE:引用自定义外部数值数据

EXTERNVALUE(TYPE,ID),用法同EXTERNSTR类似

 

SIGNALS_SYS:引用自定义序列数据(系统)

引用自定义序列数据(系统)

 

SIGNALS_USER:引用自定义序列数据

引用自定义序列数据.

读取个人目录下的signals目录下面的[signals_user_?]目录,请用自定义数据管理器来维护.

SIGNALS_USER(11,TYPE):表示读当前品种的11数据号的序列数据,TYPE:1表示做平滑处理,没有自定义数据的周期返回上一周期的值;0表示不做平滑处理.

 

EXTDATA_USER:引用扩展数据

引用扩展数据.

请用扩展数据管理器来设置和刷新数据.

EXTDATA_USER(N,TYPE),N(1-100),表示读当前品种的N号扩展序列数据,TYPE:1表示做平滑处理,没有自定义数据的周期返回上一周期的值;0表示不做平滑处理.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多