四、引用函数
名称 ALL(X,N) ANY(X,N) BACKSET BARSCOUNT BARSLAST BARSSINCE COUNT DMA EMA FILTER HHV HHVBARS LAST(X) LLV LLVBARS 定义 一直满足条件 至少一次满足条件 向前赋值 有效值周期数 上一次条件成立位置 第一个条件成立位置 统计总数 动态移动平均 指数平滑移动平均 信号过滤 最高值 上一高点位置 用法解释 是否一直满足条件用法:ALL(X,N),统计N周期中是否一直都满足X条件,若N=0则从第一个有效值开始。例如:ALL(CLOSE>OPEN,20)表示是否20周期内全部都收阳线。 至少一次满足条件用法:ANY(X,N),统计N周期中是否至少有一次满足X条件,若N=0则从第一个有效值开始。例如:ANY(CLOSE>OPEN,20)表示是否20周期内是否存在一根阳线 将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0 求总的周期数。用法:BARSCOUNT(X)第一个有效数据到当前的天数。例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数 上一次条件成立到当前的周期数。用法:BARSLAST(X):上一次X不为0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数 第一个条件成立到当前的周期数。用法:BARSSINCE(X):第一次X不为0到现在的天数。例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数 统计满足条件的周期数。用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数 求动态移动平均。用法: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),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指数平滑均价 过滤连续出现的信号。用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0。例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内 求最高值。用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。例如:HHV(HIGH,30)表示求30日最高价 求上一高点到当前的周期数。用法:HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数 用法:LAST(X),统计连续满足X条件的周期数。例如:LAST(CLOSE>OPEN)表示到目前为止连续收阳的周期数。 连续满足条件的周期数 最低值 求最低值。用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW,0)表示求历史最低价 上一低点位置 求上一低点到当前的周期数。用法:LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效 16 / 50
MA(X,N) REF(X,A) SMA SUM SUMBARS 值开始统计。例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数 简单移动平均 求简单移动平均。用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+...+Xn)/N例如:MA(CLOSE,10)表示求10日均价 向前引用 引用若干周期前的数据。用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。 求移动平均。用法:SMA(X,N,M),求X的N日移动平均,M为权重。算法:若Y=SMA(X,N,M)则Y=[M*X+(N-移动平均 M)*Y')/N,其中Y'表示上一周期Y值,N必须大于M。例如:SMA(CLOSE,30,1)表示求30日移动平均价 求和 求总和。用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和 累加到指定周期向前累加到指定值到现在的周期数。用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数 数例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数 五、逻辑函数
名称 定义 BETWEEN 介于两个数之间 交叉函CROSS 数 IF 条件函数 维持-交LONGCROSS 叉函数 RANGE 范围
用法解释 用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间 CROSS(A,B)A:变量或常量,判断交叉的第一条线B:变量或常量,判断交叉的第二条线例CROSS(MA(CLOSE,5),MA(CLOSE,10)):5日均线与10日均线金叉CROSS(CLOSE,12):价格下好突破12元。 根据条件求不同的值。用法:IF(X,A,B)若X不为0则返回A,否则返回B例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值 两条线维持一定周期后交叉用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均线维持5周期后与10日均线交金叉 介于某个范围之间用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10日均线 17 / 50
六、数学函数
名称 ABS ACOS AND ASIN ATAN CEILING 用法解释 用法举例 求绝对值。用法:ABS(X)返回X的绝对值 例如:ABS(-34)返回34 用法:ACOS(X)返回X的反余弦值 用法:AANDB表示条件A与条件B同时成立 用法:ASIN(X)返回X的反正弦值 用法:ATAN(X)返回X的反正切值 向数值增大方向舍入.用法:CEILING(A)返回沿A数值增大方向例如:CEILING(12.3)求得13,CEILING(-3.5)求得-3 最接近的整数 COS 余弦值 用法:COS(X)返回X的余弦值 EXP 指数 用法:EXP(X)为e的X次幂 例如:EXP(CLOSE)返回e的CLOSE次幂 FLOOR 向下舍入 向数值减小方向舍入用法:FLOOR(A)返回沿A数值减小方向最例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-4 接近的整数 FRACPART 取得小数部分 用法:FRACPART(A)返回数值的小数部分 例如:FRACPART(12.3)求得0.3,FRACPART(-3.5)求得-0.5 INTPART 取整 绝对值减小取整,即取得数据的整数部分。用法:INTPART(A)例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3 返回沿A绝对值减小方向最接近的整数 LN 自然对数 求自然对数。用法:LN(X)以e为底的对数 例如:LN(CLOSE)求收盘价的对数 LOG 10为底的对数 求10为底的对数。用法:LOG(X)取得X的对数 例如:LOG(100)等于2 MAX 最大值 用法:MAX(A,B...)返回所有参数的中的最大值,参数数量可以例如:MAX(CLOSE,OPEN,REF(CLOSE,1))表示返回昨收、今有2-16个 开、收盘三个价格中最高的价格。 MIN 最小值 求最小值。用法:MIN(A,B...)返回所有参数的中的最小值,参例如:MIN(CLOSE,OPEN,REF(CLOSE,1))表示返回昨收、今数数量可以有2-16个 开、收盘三个价格中最低的价格。 MOD 求模运算 用法:MOD(A,B)返回A对B求模 例如:MOD(26,10)返回6 NOT 求逻辑非 用法:NOT(X)返回非X,即当X=0时返回1,否则返回0 例如:NOT(ISUP)表示平盘或收阴 OR 逻辑或运算 逻辑或运算用法:AORB表示条件A与条件B只要有一个成立 即可 POW 乘幂 用法:POW(A,B)返回A的B次幂 例如:POW(CLOSE,3)求得收盘价的3次方 REVERSE 求相反数 用法:REVERSE(X)返回-X 例如:REVERSE(CLOSE)返回-CLOSE SGN 求符号值 用法:SGN(X),当X>0,X=0,X<0分别返回1,0,-1 SIN 正弦值 用法:SIN(X)返回X的正弦值 SQRT 开平方 用法:SQRT(X)为X的平方根 例如:SQRT(CLOSE)收盘价的平方根 TAN 正切值 用法:TAN(X)返回X的正切值 18 / 50
定义 绝对值 反余弦值 逻辑与运算 反正弦值 反正切值 向上舍入 七、统计函数
名称 AVEDEV 定义 平均绝对偏差 用法解释 用法:AVEDEV(X,N)算法:对偏差,求X的N日平均绝对偏差 DEVSQ FORCAST SLOPE STD 数据偏差平方和 含义:平均绝 用法举例 用法:DEVSQ(X,N)算法如下:含义:数据偏差平方和,求X的N日数据偏差平方和 线性回归预测值 用法:FORCAST(X,N)为X的N周期线性回归预测值 例如:FORCAST(CLOSE,10)表示求10周期线性回归预测本周期收盘价 线性回归斜率 用法:FORCAST(X,N)为X的N周期线性回归预测值 例如:FORCAST(CLOSE,10)表示求10周期线性回归预测本周期收盘价 估算标准差 用法:STD(X,N)为X的N日估算标准差算法:例STD(CLOSE,10):求10周期收盘价的估算标准差。 STDP 总体标准差 用法:STDP(X,N)为X的N日总体标准差算法: VAR 估算样本方差 用法:VAR(X,N)为X的N日估算样本方差。算法: VARP 总体样本方差 用法:VARP(X,N)为X的N日总体样本方差算法:
19 / 50
八、指标函数
名称 COST 用法解释 用法举例 用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余 90%在该价格以上,为套牢盘。注:该函数仅对日线分析周期有效 FLATZIG 用法:FLATZIG(K,N,ABS),当价格变化量超过N%时转向,K表示0:开盘价,1:最高价,2:最低价,3:例如:FLATZIG(3,5)表示收盘价的收盘价,4:低点采用最低价、高点采用最高价。若ABS为0或省略,则表示相对FLATZIG5%的归一化ZIG转向 转向,否则为绝对FLATZIG转向。注:与ZIG函数不同的是本函数返回值在0-1之间。 LWINNER 近期获利用法:LWINNER(5,CLOSE),表示最近5天的那部分成本以当前收市价卖出的获利盘比例,例 盘比例 如返回0.1表示10%获利盘注:该函数仅对日线分析周期有效 PEAK 前M个波前M个ZIG转向波峰值用法:PEAK(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波峰的例如:PEAK(1,5,1)表示%5最高价峰值 数值,M必须大于等于1。若ABS为0或省略,则表示相对ZIG转向,否则为绝对ZIG转ZIG转向的上一个波峰的数值 向。 PEAKBARS 前M个波前M个ZIG转向波峰到当前距离用法:PEAKBARS(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的例如:PEAK(0,5,1)表示%5开盘价峰位置 前M个波峰到当前的周期数,M必须大于等于1。若ABS为0或省略,则表示相对ZIG转ZIG转向的上一个波峰到当前的向,否则为绝对ZIG转向。 周期数 PPART 远期成本远期成本分布比例用法:PPART(10),表示10天前的成本占总成本的比例,0.2表示20%比例 注:该函数仅对日线分析周期有效 PWINNER 远期获利用法:PWINNER(5,CLOSE),表示5天前的那部分成本以当前收市价卖出的获利盘比例,例如 盘比例 返回0.1表示10%获利盘注:该函数仅对日线分析周期有效 SAR 抛物转向 用法:SAR(N,S,M),N为计算周期,S为步长,M为极值 例如SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20% SARTURN 抛物转向用法:SARTURN(N,S,M),N为计算周期,S为步长,M为极值,若发生向上转向则返回1,若发 点 生向下转向则返回-1,否则为0注:其用法与SAR函数相同 TROUGH 前M个波前M个ZIG转向波谷值。用法:TROUGH(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个例如:TROUGH(2,5,2)表示%5最谷值 波谷的数值,M必须大于等于1。若ABS为0或省略,则表示相对ZIG转向,否则为绝对低价ZIG转向的前2个波谷的数ZIG转向。 值 TROUGHBARS 前M个波前M个ZIG转向波谷到当前距离。用法:TROUGHBARS(K,N,M,ABS)表示之字转向例如:TROUGH(2,5,2)表示%5最谷位置 ZIG(K,N,ABS)的前M个波谷到当前的周期数,M必须大于等于1。若ABS为0或省略,则低价ZIG转向的前2个波谷到当表示相对ZIG转向,否则为绝对ZIG转向。 前的周期数 WINNER 获利盘比用法:WINNER(CLOSE),表示以当前收市价卖出的获利盘比例,例如返回0.1表示10%获利 20 / 50
定义 成本分布情况 归一化之字转向