一、行情函数
HIGH 最高价
返回该周期最高价。
用法: HIGH
H 最高价
返回该周期最高价。
用法: 同HIGH
LOW 最低价
返回该周期最低价。
用法: LOW
L 最低价
返回该周期最低价。
用法: 同LOW
CLOSE 收盘价
返回该周期收盘价。
用法: CLOSE
C 收盘价
返回该周期收盘价。
用法:同 CLOSE
VOL 成交量(手)
返回该周期成交量。
用法: VOL
V 成交量(手)
返回该周期成交量。
用法: 同VOL
OPEN 开盘价
返回该周期开盘价。
用法: OPEN
O : 开盘价
返回该周期开盘价。
用法: OPEN
ADVANCE 上涨家数
返回该周期上涨家数。
用法: ADVANCE ( 本函数仅对沪深指数有效 )
DECLINE 下跌家数
返回该周期下跌家数。
用法: DECLINE ( 本函数仅对沪深指数有效 )
AMOUNT 成交额(元)
返回该周期成交额.期货和期权无成交金额
用法: AMOUNT
AMO 成交额(元)
返回该周期成交额.期货和期权无成交金额
用法:AMOUNT
ZSTJJ 分时图均价
返回该周期的分时图均价线,对于分时图周期指标有效.
用法:ZSTJJ
VOLINSTK 持仓量
返回该周期持仓量,对于期货和期权有意义
用法: VOLINSTK
QHJSJ 结算价
返回该周期结算价 ,对于期货和期权有意义
用法: QHJSJ
HKSHORTVOL抛空量
返回该周期抛空量,对于港股有意义
用法:HKSHORTVOL
DHIGH 不定周期最高价
返回该不定周期最高价,属于未来函数
用法: DHIGH
DOPEN 不定周期开盘价
返回该不定周期开盘价 ,属于未来函数
用法: DOPEN
DLOW 不定周期最低价
返回该不定周期最低价 ,属于未来函数
用法: DLOW
DCLOSE 不定周期收盘价
返回该不定周期收盘价 ,属于未来函数
用法: DCLOSE
DVOL 不定周期成交量
返回该不定周期成交量 ,属于未来函数
用法: DVOL
二、时间函数
PERIOD 周期类型
取得周期类型
结果从0到13,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日/季/年,5秒线/多秒线,13以上为自定义周期
DATE 日期
取得该周期从 1900 以来的年月日。
用法: DATE
例如函数返回1000101,表示2000年1月1日,DATE+19000000后才是真正的日期值,公式内容中请不要直接写8位长的日期数字
TIME 时间 (时分)
取得该周期的时分,适用于日线以下周期
用法: TIME 函数返回有效值范围为 (0000-2359) 。
TIME 时间 (时分秒)
取得该周期的时分秒,适用于日线以下周期.
用法: TIME 函数返回有效值范围为 (000000-235959) 。
YEAR 年份
取得该周期的年份。
用法: YEAR
注:YEAR关键字也可用于跨周期年线引用
MONTH 月份
取得该周期的月份。
用法: MONTH 函数返回有效值范围为 (1-12) 。
注:MONTH关键字也可用于跨周期月线引用
WEEKOFYEAR 年内星期
取得该周是年内第几个周
用法: WEEKOFYEAR
WEEKDAY 星期
取得该周期的星期数。
函数返回有效值范围为(1,2,3,4,5,6,0)
DAYSTOTODAY
取得该周期的日期离今天的天数
用法:DAYSTOTODAY
DAY 日
取得该周期的日期。
用法: DAY 函数返回有效值范围为 (1-31) 。
注:DAY关键字也可用于跨周期日线引用
HOUR 小时
取得该周期的小时数。
用法: HOUR 函数返回有效值范围为 (0-23) ,对于日线及更长的分析周期值为 0 。
MINUTE 分钟
取得该周期的分钟数。
用法: MINUTE 函数返回有效值范围为 (0-59) ,对于日线及更长的分析周期值为 0 。
FROMOPEN 当前离开盘分钟数
求该品种当前时刻已开盘有多长时间。
用法: FROMOPEN 返回当前时刻距开盘有多长时间(开市期间的相对时间),单位为分钟。
TOTALFZNUM 总分钟数
求该品种的每天的总交易分钟数
用法: TOTALFZNUM 返回当前品种的每天的总交易分钟数,单位为分钟。
DATETODAY 转换天数
指定日期到 1990.12.19 的天数
用法: DATETODAY(date) 返回 date 到 1990.12.19 的天数,有效日期为(901219-1341231)
例如: DATETODAY(901219) 返回 0
DAYTODATE 转换日期
求 1990.12.19 后第若干天的日期
用法: DAYTODATE(N) 返回 1990.12.19 后第 N 天的日期,有效天数为( 0-20000 )
例如: DAYTODATE(0) 返回 901219 。
TIMETOSEC 当日秒数
求指定时该距 0 时有多长时间
用法: TIMETOSEC(time) 返回 time 时刻距 0 时有多长时间,单位为秒,有效时间为 ( 0-235959 )
例如: TIMETOSEC(93000) 返回 34200
SECTOTIME 转换时间
求0时后若干秒是什么时间
用法:SECTOTIME(N) 返回0时后N秒是什么时间.有效秒数为(0-86399)
例如:SECTOTIME(34200)返回93000
MACHINEDATE 当前系统的日期
取得当前客户端机器从1900以来的的年月日,比如2016年10月1日为:01161001,MACHINEDATE+19000000后才是真正的日期值,公式内容中请不要直接写8位长的日期数字
MACHINETIME 当前系统的时间
取得当前客户端机器的时间,比如11:01:15时为110115
MACHINEWEEK 当前系统的星期
取得当前客户端机器为星期几(1,2,3,4,5,6,0)
三、引用函数
DRAWNULL 无效数
返回无效数。
用法: DRAWNULL
例如: IF(CLOSE>REF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时不画线。
BACKSET 向前赋值
用法:
BACKSET(X,N),若X非0,则将当前位置到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 数据位置状态
返回数据位置信息, 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 到现在的天数。
例如: BARSNTXT(CLOSE/REF(CLOSE,1)>=1.1) 表示下一个涨停板到当前的周期数。
BARSSINCEN N 周期内首个条件成立位置
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©-1)表示第二根K线的收盘价.
REFV 日前的 (未作平滑处理)
引用若干周期前的数据(未作平滑处理).
用法:
REFV(X,A),引用A周期前的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作.
例如:
REFV(CLOSE,BARSCOUNT©-1)表示第二根K线的收盘价.
REFX 日后的
属于未来函数,引用若干周期后的数据(平滑处理).
用法:
REFX(X,A),引用A周期后的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作.此函数中,平滑时使用上一个周期的引用值.
例如:
TT:=IF(C>O,1,2);
REFX(CLOSE,TT);表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.
REFXV 日后的 (未作平滑处理)
属于未来函数,引用若干周期后的数据(未作平滑处理).
用法:
REFXV(X,A),引用A周期后的X值.A可以是变量.
平滑处理:当引用不到数据时进行的操作.
例如:
REFXV(CLOSE,1)表示下一周期的收盘价,在日线上就是明天收盘价
REFDATE 日
引用自 1900 年以来指定日期的数据。
用法: REFDATE(X ,A) 引用 A 日期的 X 值。
例如: REF(CLOSE, 1011208) 表示 2001 年 12 月 08 日的收盘价。
CALCSTOCKINDEX 指标引用
指标引用.
用法:CALCSTOCKINDEX(品种代码,指标名称,指标线),返回该指标相应输出的计算值.
例如:
CALCSTOCKINDEX(‘SH600000’,‘KDJ’,3)表示上证600000的KDJ指标第3个输出即J之值,第一个参数可在前面加SZ(深市),SH(沪市),或市场_,
CALCSTOCKINDEX(‘47_IFL0’,‘MACD’,2)表示IFL0品种的MACD指标第2个输出值.
注意:引用品种的对应周期的数据必须要先下载到本地
SUM 累和
求总和.
用法:
SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始.
SUM(VOL,0)表示统计从上市第一天以来的成交量总和
MULAE 累乘
求累乘
用法: MULAR(X,N) 统计 N 周期中 X 的乘积 ,N=0 则从第一个有效值开始
例如: MULAR(C/REF(C,1),0) 表示统计从上市第一天以来的复利
FILTER 过滤
过滤连续出现的信号。
用法: FILTER(X , N) :X 满足条件后,将其后N周期内的数据置为0,N为常量 。
例如: FILTER(CLOSE>OPEN ,5) 查找阳线, 5 天内再次出现的阳线不被记录在内。
FILTERX 反向过滤
反向过滤连续出现的信号.
用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0,N为常量.
例如:
FILTERX(CLOSE>OPEN,5)查找阳线,前5天内出现过的阳线不被记录在内
TFILT 区间过滤
对指定时间段的数据进行过滤,该时间段以外的数据无效.
用法:
TFILT(X,D1,M1,D2,M2)
例如:
TFILT(CLOSE,1040101,1025,1040101,1345)表示在2004年1月1日的10:25到2004年1月1日的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):X的N日简单移动平均,算法(X1+X2+X3+…+Xn)/N,N支持变量
SMA 移动平均
返回移动平均。
用法: SMA(X,N,M):X的N日移动平均,M为权重,如Y=(XM+Y’(N-M))/N
TMA 移动平均
返回移动平均
用法: TMA(X,A,B),A和B必须小于1,算法 Y=(AY’+BX),其中Y’表示上一周期Y值.初值为X
MEMA 平滑移动平均
返回平滑移动平均
用法:
MEMA(X,N):X的N日平滑移动平均,如Y=(X+Y’*(N-1))/N
MEMA(X,N)相当于SMA(X,N,1)
EMA 指数移动平均
返回指数移动平均。
用法: EMA(X ,N) X 的 N日指数移动平均。算法 :Y=(X2+Y’(N-1))/(N+1)
EMA(X,N)相当于SMA(X,N+1,2),N支持变量
EXPMA 指数移动平均
返回指数移动平均
用法: 与EMA的用法一致
EXPMEMA 指数平滑移动平均
返回指数平滑移动平均
用法:
EXPMEMA(X,N):X的N日指数平滑移动平均
EXPMEMA同EMA(EXPMA)的差别在于他的起始值为一平滑值
WMA 加权移动平均
返回加权移动平均
用法:WMA(X,N):X的N日加权移动平均.算法:Yn=(1X1+2X2+…+n*Xn)/(1+2+…+n)
DMA 动态移动平均
求动态移动平均.
用法:
DMA(X,A),求X的动态移动平均.
算法:Y=A*X+(1-A)*Y’,其中Y’表示上一周期Y值,A必须小于1.A支持变量
例如:
DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价
AMA 自适应均线
求自适应均线值.
用法:
AMA(X,A),A为自适应系数,必须小于1.
算法:
Y=Y’+A*(X-Y’).初值为X
XMA 偏移移动平均
属于未来函数,返回偏移移动平均
用法: XMA(X,N):X的N日偏移移动平均,用到了当日以后N/2日的数据,只供内部测试使用
RANGE 介于某个范围之间