BACKSET=向前赋值 将当前位置到若干周期前的数据设为1。 用法:BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。 例如: BACKSET(CLOSE>OPEN,2) 若收阳则将该周期及前一周期数值设为1,否则为0 BARSCOUNT=有效周期数 求有效周期数。 用法:BARSCOUNT(X)第一个有效数据到当前的天数 例如:BARSCOUNT(CLOSE)取得上市以来总交易日数 BARSLAST=上一次条件成立位置 上一次条件成立到当前的周期数。 用法: BARSLAST(X):上一次X不为0到现在的天数 例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数 如果没有符合条件的周期,函数将返回零 BARSSINCE=第一个条件成立位置 第一个条件成立到当前的周期数。 用法:BARSSINCE(X):第一次X不为0到现在的天数 例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数 如果没有符合条件的周期,函数将返回零 COUNT= 统计总数 统计满足条件的周期数。 用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。 例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数 DMA=动态移动平均 求动态移动平均。 用法:DMA(X,A),求X的动态移动平均。 算法: 若Y=DMA(X,A) 则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。 例如:DMA(CLOSE,VOL/CAPITAL())表示求以换手率作平滑因子的平均价 DRAWNULL=无效数 取得一个无效数字 例如:if(close>ref(close,1),close,drawnull)表示下跌时分析图上不画线 EMA=指数平滑移动平均 求指数平滑移动平均。 用法:EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。 例如:EMA(CLOSE,30)表示求30日指数平滑均价 FILTER=信号过滤 过滤连续出现的信号。 用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0 例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内 FILTERX=反向信号过滤 反向过滤连续出现的信号。 用法:FILTERX(X,N):X满足条件时,将其前N周期内的数据置为0 例如:FILTERX(CLOSE>OPEN,3) 查找阳线,前3天内出现过的阳线不被记录在内 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日的第几个低价 MA=简单移动平均 求简单移动平均。 用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+...+XN)/N 例如:MA(CLOSE,10)表示求10日均价 MD=自适均线 求自适均线(或称动向平均)。 用法:MD(X,N[,L1,L2]),求X的自适均线,N为计算周期, L1和L2为系数(可选参数),缺省L1=0.60215,L2=0.06452 例如:MD(CLOSE,10)表示求10周期动向平均 NEWHBARS=创新高跨度 在历史上所有比当前数值高的数值序列中,离当前第N个近的数字到当前的周期数。 用法:NEWHBARS(X,N):求高于当日X的第N个x的距离 例如:NEWHBARS(HIGH,1)求高于当日h的上一个h距离当前的周期数,即,今天的h ,创了多少天以来的新高 NEWLBARS=创新低跨度 在历史上所有比当前数值低的数值序列中,离当前第N个近的数字到当前的周期数。 用法:NEWLBARS(X,N):求低于当日X的第N个x的距离 例如:NEWLBARS(LOW,1)求低于当日l的上一个l距离当前的周期数,即,今天的l,创了多少天以来的新低 REF=向前引用 引用若干周期前的数据。 用法:REF(X,A),引用A周期前的X值。 例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收 REFX=向后引用 引用若干周期后的数据。 用法:REFX(X,A),引用A周期后的X值。 例如: REFX(CLOSE,1) 表示后一周期的收盘价,在日线上就是明收 RET=按时间向前引用 按时间引用若干周期前的数据。 用法: RET(X,A),引用A周期时间前的X值。 例如:RET(CLOSE,10)在日线上表示引用10天前的收盘价(注意不是10周期前的) SETVAL=周期设值 根据条件对前后N个周期设值。 用法: SETVAL(X,Q,N,V):X满足条件时,N=0将当前周期设为V值,N>0将后面N个周期设为V值,N<0将前面N个周期设为V值(不含当前周期),未设部分取Q值 例如:B:SETVAL(C>O,C,5,C-O) SFILTER=信号条件过滤 过滤连续出现的信号。 用法: SFILTER(X,COND):X满足条件后,将其后所有周期内的数据置为0,直到COND条件满足为止 例如:SFILTER(CLOSE>OPEN,CLOSE<OPEN)查找阳线,再次出现的阳线不被记录在内,直到出现阴线为止 SMA=移动平均 求移动平均。 用法: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日移动平均价 STKINDI=引用其他公式 引用任意品种任意周期的任意指标输出 用法: STKINDI(STKLABEL,INDINAME,CO,PERIOD[,N]) STKLABEL指定品种代码,如为空表示当前品种 INDINAME为指标公式调用 CO为坐标轴类型 0交易日坐标 1自然日 2交易交易时间 PERIOD为周期类型,有效值范围为(0-19),依次表示: 0:分笔成交、1:1分钟、2:5分钟、3:15分钟、4:30分钟、5:60分钟、 6:日、7:周、8:月、9:年、10:多日、11:多分钟、12:多秒、 13:多小时、14:季度线、15:半年线、16:节气线、17:3分钟、18:10分钟、19:多笔线 N为左右偏移周期个数(可选),0表示引用当前数据,<0为引用之前数据,>0为引用之后数据 例如:STKINDI('1A0001','MA.MA1(8,12,26,60)',0,DATAPERIOD); 计算1A0001的当前周期MA指标的MA1指标线 STKINDI('','RSI.RSI1',0,6); 计算当前品种的日线周期RSI指标的RST1指标线 STKINDI('SH600000','RSI',0,6,-1); 引用昨日SH市场600000品种的日线周期RSI指标最后—行输出并且使用公式的默认参数SUM=求和 求总和。 用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。 例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和 SUMBARS=累加到指定值周期数 向前累加到指定值到现在的周期数。 用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数 例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数 TMA=递归移动平均 求递归移动平均。 用法:TMA(X,N,M),求X的递归移动平均,N、M为权重。 算法: 若Y=TMA(X,N,M) 则 Y=(N*Y'+M*X), 其中Y'表示上一周期Y值。初值为M*X 例如: TMA(CLOSE,0.9,0.1) 表示求X的递归移动平均 TR=真实波幅 求真实波幅。 用法:TR,求真实波幅。 例如:ATR:=MA(TR,10) 表示求真实波幅的10周期均值 WMA=加权移动平均 求加权移动平均。 用法:WMA(X,N),求X的加权移动平均。 算法: 若Y=WMA(X,N) 则 Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值... 例如: WMA(CLOSE,20) 表示求20日加权均价 |
|