[转载]通达信全部函数及其用法
2016-12-07 09:08阅读:
(一)行情函数
1)HIGH(H)
最高价
返回该周期最高价.
2)LOW(L)
最低价
返回该周期最低价.
3)CLOSE(C)
收盘价
返回该周期收盘价.
4)VOL(V)
成交量(手)
返回该周期成交量.
5)OPEN(O)
开盘价
返回该周期开盘价.
6)ADVANCE
上涨家数
返回该周期上涨家数. (本函数仅对大盘有效)
7)DECLINE
下跌家数
返回该周期下跌家数. (本函数仅对大盘有效)
8)AMOUNT
成交额(元)
返回该周期成交额.
9)VOLINSTK
持仓量
返回期货该周期持仓量.
10) QHJSJ 期货结算价 返回期货该周期结算价.
11)BUYVOL
外盘(手) 返回外盘,即时行情数据
12)SELVOL 外盘(手)
返回外盘
13)ISBUYORDER 主动性买单
返回当前成交是否为主动性买单.用法:
ISBUYORDER,当本笔成交为主动性买盘时,返回1,否则为0
14)DHIGH 不定周期最高价
返回该不定周期最高价.
15)DOPEN 不定周期开盘价
返回该不定周期开盘价.
16)DLOW 不定周期最低价
返回该不定周期最低价.
17)DCLOSE 不定周期收盘价
返回该不定周期收盘价.
18)DVOL 不定周期成交量价
返回该不定周期成交量价.
19)NAMELIKE 模糊股票名称返回股票名称是否以参数开头.
用法: if(NAMELIKE('ST'),x,y);
20)CODELIKE 模糊股票代码 返回股票代码是否以参数开头.
用法: if(CODELIKE('600'),x,y);
21)INBLOCK 属于某板块 返回股票是否属于某板块.
用法: if(INBLOCK('沪深300'),x,y);
(二)时间函数
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 分钟
求当前时刻距开盘有多长时间.用法: FROMOPEN
FROMOPEN.返回当前时刻距开盘有多长时间,单位为分钟.例如:当前时刻为早上十点,则返回31.
11)TFILT 分钟
对指定时间段的数据进行过滤,该时间段以外的数据无效.
用法: TFILT(X,D1,M1,D2,M2)
例如TFILT(CLOSE,1040101,1025,1040101,1345)表示在2004年1月1日的10:25到2004年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.
引用函数HHVBARS和LLVBARS的运用 引用函数BACKSET等4个函数的运用
引用函数BACKSET等4个函数的运用
(2007-05-1 11:56:19)
1、函数:BACKSET
向前赋值将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2),若收阳则将该周期及前一周期数值设为1,否则为0。
请看下面指标:
CSAR:SAR(10,2,20),LINETHICK2;{表示计算10日抛物转向,步长为2%,极限值为20%。}
drawtext(CSAR>=H,CSAR,'°'),color00ff00;{当CSAR大于等于最高价,在CSAR上画。状线}
drawtext(CSAR<=L,CSAR,'°'),colorred;{当CSAR小于等于最低价,在CSAR上画。状线}
TJ1:=BACKSET(SARTURN(10,2,20)<>0,2);{若10日抛物转向,步长为2%,极限值为20%,则将该周期及前一周期数值设为1,否则为0。}
TJ2:=REF(TJ1,1);{引用上一周期TJ1}
drawtext(TJ2,CSAR,'°'),coloryellow;{TJ2条件满足在CSAR画。状线}
STICKLINE(C>O,O,C,4,0),COLORRED;
STICKLINE(C>O,H,C,1,1),COLORRED;
STICKLINE(C>O,O,L,1,1),COLORRED;
STICKLINE(C<=O,O,C,4,0),COLORffcc66;
STICKLINE(C<=O,H,O,1,1),COLORffcc66;
STICKLINE(C<=O,L,C,1,1),COLORffcc66;
{1.向下跌破转向点,卖出;向上突破转向点,买入
2.市道趋势明显时,转向点信号准确}
上面是一个抛物转向指标,在第二步句用到了BACKSET函数,与另一个抛物转向点函数SARTURN构成了一个指标语句
(三)引用函数
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 求到最后交易日的周期数.例如
DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
DRAWTEXT(CURRBARSCOUNT=20,L*0.98,'-20');
5)TOTALBARSCOUNT 总的周期数
求总的周期数.用法: TOTALBARSCOUNT
求总的周期数
6)ISLASTBAR 是否为最后一个周期
判断是否为最后一个周期.用法: ISLASTBAR
判断是否为最后一个周期
7)BARSLAST
上一条件成立位置
上一次条件成立到当前的周期数.用法:
BARSLAST(X):上一次X不为0到现在的天数例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数例BARSLAST(C/REF(C,1)>1.08);
另BARSLAST(REF(C,1)/L>1.05);一方面
BARSLAST(B<-0.04);另A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));上次昨日DIFF上穿DEA距今天数
8)BARSSINCE 第一个条件成立位置
第一个条件成立到当前的周期数.用法:
BARSSINCE(X):第一次X不为0到现在的天数例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数
9)BARSSINCEN N周期内首个条件成立位置 N周期内第一个条件成立到当前的周期数.
用法: BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数
例如:BARSSINCEN(HIGH>10,10)表示10个周期内股价超过10元时到当前的周期数
10)BARSSINCE 首个条件成立位置 第一个条件成立到当前的周期数.
用法: BARSSINCE(X):第一次X不为0到现在的天数
例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数
11)COUNT
统计
统计满足条件的周期数.用法:
COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始.例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数,
例如:2次回踩5日均线不破的选股公式
MA5:=MA(C,5);回踩:=CROSS(C,MA5) ;COUNT(回踩,4)=2 AND
C>MA(C,5);
12)BARSLASTCOUNT
统计条件连续成立次数
统计连续满足条件的周期数.用法:
BARSLASTCOUNT(X),统计连续满足X条件的周期数.例如:BARSLASTCOUNT(CLOSE>OPEN)表示统计连续收阳的周期数
A1:=MA(C,20);B60:=BARSLASTCOUNT(C>A1);D60:B60>60
收盘价在20日均线之上至少60天选股公式
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日最高价
另
HHV(REF(C,1),5)/C>1.05
表示5日内昨收的最高值/收盘价>1.05
15)HHVBARS
上一高点位置
求上一高点到当前的周期数.用法:
HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数
HHVBARS(V,阳线)
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)表示2001年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表示对开仓