通达信全部编写指标公式的函数及其用法文档格式.docx
《通达信全部编写指标公式的函数及其用法文档格式.docx》由会员分享,可在线阅读,更多相关《通达信全部编写指标公式的函数及其用法文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
沪深300'
(二)时间函数
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),对于日线及更长的分析周期值为0
9)MINUTE
分钟
取得该周期的分钟数.用法:
MINUTE函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0
10)FROMOPEN
求当前时刻距开盘有多长时间.用法:
FROMOPENFROMOPEN.返回当前时刻距开盘有多长时间,单位为分钟.例如:
当前时刻为早上十点,则返回31.
11)TFILT
对指定时间段的数据进行过滤,该时间段以外的数据无效.
TFILT(X,D1,M1,D2,M2)例如TFILT(CLOSE,1040101,1025,1040101,1345)表示在20XX年1月1日的10:
25到20XX年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,否则为0
3)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)BARSSINCENN周期内首个条件成立位置N周期内第一个条件成立到当前的周期数.
BARSSINCEN(X,N):
N周期内第一次X不为0到现在的天数
BARSSINCEN(HIGH>
10,10)表示10个周期内股价超过10元时到当前的周期数
10)BARSSINCE首个条件成立位置第一个条件成立到当前的周期数.
第一次X不为0到现在的天数
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)返回-CLOSE
21)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)表示20XX年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表示对合并多空开仓、平仓信号;
TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,1);
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))/N
34)TMA返回移动平均
TMA(X,N,M),如若Y=TMA(X,N,M)则Y=(N*Y'
+M*X),其中Y'
表示上一周期Y值。
初值为M*X
35)MA
简单移动平均
返回简单移动平均用法:
MA(X,M):
X的M日简单移动平均
36)EMA
指数移动平均
返回指数移动平均用法:
EMA(X,M):
X的M日指数移动平均
37)MEMA
平滑移动平均
返回平滑移动平均用法:
MEMA(X,M):
X的M日平滑移动平均
38)EXPMA
EXPMA(X,M):
39)EXPMEMA
指数平滑移动平均
返回指数平滑移动平均用法:
EXPMEMA(X,M):
X的M日指数平滑移动平均
40)XMA
偏移移动平均
返回偏移移动平均用法:
XMA(X,M):
X的M日偏移移动平均
41)RANGE
介于某一范围之间
RANGE(A,B,C):
A在B和C范围之间.用法:
RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0
42)CONST
取值设为常数
CONST(A):
取A最后的值为常量.用法:
CONST(INDEXC)表示取大盘现价
43)TOPRANGE当前值是近多少周期内的最大值.
TOPRANGE(X):
X是近多少周期内X的最大值
TOPRANGE(HIGH)表示当前最高价是近多少周期内的最高价
44)LOWRANGE当前值是近多少周期内的最小值.
LOWRANGE(X):
X是近多少周期内X的最小值
LOWRANGE(LOW)表示当前最高价是近多少周期内的最小价
45)FINDHIGH寻找指定周期内的特定最大值N周期前的M周期内的第T个最大值.
FINDHIGH(VAR,N,M,T):
VAR在N日前的M天内第T个最高价
46)FINDHIGHBARS寻找指定周期内的特定最大值N周期前的M周期内的第T个最大值到当前周期的周期数.
FINDHIGHBARS(VAR,N,M,T):
VAR在N日前的M天内第T个最高价到当前周期的周期数
47)FINDLOW寻找指定周期内的特定最小值N周期前的M周期内的第T个最小值.
FINDLOW(VAR,N,M,T):
VAR在N日前的M天内第T个最低价
48)FINDLOWBARS寻找指定周期内的特定最小值N周期前的M周期内的第T个最小值到当前周期的周期数.
FINDLOWBARS(VAR,N,M,T):
VAR在N日前的M天内第T个最低价到当前周期的周期数.
(四)逻辑函数
1)CROSS
上穿
两条线交叉.用法:
CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0例如:
CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉
2)LONGCROSS
持续周期后上穿
两条线维持一定周期后交叉.用法:
LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0
3)UPNDAY
连涨
返回是否连涨周期数.用法:
UPNDAY(CLOSE,M)表示连涨M个周期
4)DOWNNDAY
连跌
返回是否连跌周期.用法:
DOWNNDAY(CLOSE,M)表示连跌M个周期
5)NDAY
连大
返回是否持续存在X>
Y用法:
NDAY(CLOSE,OPEN,3)表示连续3日收阳线
6)EXIST
存在
是否存在.用法:
EXIST(CLOSE>
OPEN,10)
表示前10日内存在着阳线
7)EVERY
一直存在
一直存在.用法:
EVERY(CLOSE>
表示前10日内一直阳线
8)LAST
持续存在
LAST(X,A,B):
持续存在.用法:
LAST(CLOSE>
OPEN,10,5)
表示从前10日到前5日内一直阳线若A为0,表示从第一天开始,B为0,表示到最后日止
9)TESTSKIP
是否就此返回
TESTSKIP(A):
不满足A则直接返回.用法:
TESTSKIP(A)
表示如果不满足条件A则改公式直接返回,不再计算接下来的表达式
(五)算术函数
68)NOT
取反
求逻辑非.用法:
NOT(X)返回非X,即当X=0时返回1,否则返回0;
例如:
NOT(ISUP)表示平盘或收阴
69)IF
逻辑判断
根据条件求不同的值.用法:
IF(X,A,B)若X不为0则返回A,否则返回B;
IF(CLOSE>
OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值
70)IFF
IFF(X,A,B)若X不为0则返回A,否则返回B例如:
IFF(CLOSE>
71)IFN
IFN(X,A,B)若X不为0则返回B,否则返回A例如:
IFN(CLOSE>
OPEN,HIGH,LOW)表示该周期收阴则返回最高值,否则返回最低值
72)MAX
较大值
求最大值.用法:
MAX(A,B)返回A和B中的较大值例如:
MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0
73)MIN
较小值
求最小值.用法:
MIN(A,B)返回A和B中的较小值例如:
MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值
(六)数学函数
1)ACOS
反余弦
反余弦值.用法:
ACOS(X)返回X的反余弦值
2)ASIN
反正弦
反正弦值.用法:
ASIN(X)返回X的反正弦值
3)ATAN
反正切
反正切值.用法:
ATAN(X)返回X的反正切值
4)COS
余弦
余弦值.用法:
COS(X)返回X的余弦值
5)SIN
正弦
正弦值.用法:
SIN(X)返回X的正弦值
6)TAN
正切
正切值.用法:
TAN(X)返回X的正切值
7)EXP
指数
指数.用法:
EXP(X)为e的X次幂例如:
EXP(CLOSE)返回e的CLOSE次幂
8)LN
自然对数
求自然对数.用法:
LN(X)以e为底的对数例如:
LN(CLOSE)求收盘价的对数
9)LOG
对数
求10为底的对数.用法:
LOG(X)取得X的对数;
LOG(100)等于2
10)SQRT
开方
开平方.用法:
SQRT(X)为X的平方根;
SQRT(CLOSE)收盘价的平方根
11)ABS
绝对值
求绝对值.用法:
ABS(X)返回X的绝对值;
ABS(-34)返回34
12)POW
乘幂
乘幂.用法:
POW(A,B)返回A的B次幂;
POW(CLOSE,3)求得收盘价的3次方
13)CEILING
向上舍入
向上舍入.用法:
CEILING(A)返回沿A数值增大方向最接近的整数例如:
CEILING(12.3)求得13,CEILING(-3.5)求得-3
14)FLOOR
向下舍入
向下舍入.用法:
FLOOR(A)返回沿A数值减小方向最接近的整数例如:
FLOOR(12.3)求得12,FLOOR(-3.5)求得-4
15)INTPART
取整
取整.用法:
INTPART(A)返回沿A绝对值减小方向最接近的整数例如:
INTPART(12.3)求得12,INTPART(-3.5)求得-3
16)BETWEEN
介于
介于.用法:
BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0例如:
BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间
17)FRACPART小数部分.用法:
FRACPART(X),返回X的小数部分
18)ROUND四舍五入.用法:
ROUND(X),返回X四舍五入到个位的数值
19)SIGN取符号.用法:
SIGN(X),返回X的符号.当X>
0,X=0,X<
0分别返回1,0,-1
20)MOD取模.用法:
MOD(M,N),返回M关于N的模(M除以N的余数);
MOD(5,3)返回2
21)RAND取随机数.用法:
RAND(N),返回一个范围在1-N的随机整数
(七)统计函数
1)AVEDEV
平均绝对方差
AVEDEV(X,N)返回平均绝对方差
2)DEVSQ
数据偏差平方和
DEVSQ(X,N)返回数据偏差平方和
3)FORCAST
线性回归预测值
FORCAST(X,N)返