#### 技术分析 ##### 内容 - 选股函数 - K线分析 - 成交量指标 - 大势指标 - 动量指标 - 均线指标 - 离散指标 - 能量指标 - 技术指标选股 - 趋势指标 - 天软指标 - 主图指标 - Alpha101_Test ##### 选股函数 ###### 内容 - 走势形态选股 - 技术指标选股 - 形态特征选股 ###### 走势形态选股 ####### 内容 - FundCommision - DownDayPercent - Divergence - IsJdfl - IsJdsl - DownDayPercent2 - DownDayPercent3 - DownDayPercent4 - UpDayPercent - UpDayPercent2 - UpDayPercent3 - UpDayPercent4 - IsHighOfHist - IsLowOfHist - IsHighOfNDay - IsLowOfNDay - IsHighVolOfHist - IsLowVolOfHist - IsHighVolOfNDay - IsLowVolOfNDay - XDZF - MiniDifference ####### FundCommision 返回: //返回封闭基金的交易佣金 ```text SetSysParam(pn_stock(),'SH500003'); return FundCommision(20081231);//7326997 ``` ####### DownDayPercent ```text oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); N:=60; v:= DownDayPercent(N); RestoreSystemParameters(oV); return v; ``` 结果:55 ####### Divergence 范例 ```text //单只股票日线DIF(顶背离) //使用单个股票在指定截止日endt最近N个交易日的日线最高价及平滑异同平均DIF线,计算在指定的截止日endt是否存在顶背离 oV:=BackUpSystemParameters(); Endt:=20140227T; DayNum:=60; setsysparam(pn_stock(),'SZ300016'); setsysparam(pn_date(),endt); Setsysparam(pn_cycle(),cy_day()); Setsysparam(pn_rate(),1); Setsysparam(pn_rateday(),endt); Data:=nday(DayNum,"日期",datetostr(sp_time()),"价格",high(), "指标",MACD_dif_v(12,26,9)); TR:=Divergence(Data,0,0,0,0,0); RestoreSystemParameters(oV); return TR; ``` //结果: ####### IsJdfl 算法 (1)v1=成交量的N日累计之和 / 最新流通股本; (2)判断v1是否大于M/100。范例 ```text //计算白云机场截止2011年9月13日的阶段放量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); N:=9; M:=25; v:= IsJdfl(N,M); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsJdsl 算法 (1)v1=N日成交量的累计之和 / 最新流通股本; (2)判断v1是否小于M/100。范例 ```text //计算白云机场截止2011年9月13日的阶段缩量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); N:=9; M:=25; v:=IsJdsl(N,M); RestoreSystemParameters(oV); return v; ``` //结果:1 ####### DownDayPercent2 算法 (1)M=N日内收盘价<开盘价的天数; (2)N日阴线比例(%) =M/N\*100。范例 ```text //计算白云机场截止2011年9月13日的60日阴线比例(%)。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=DownDayPercent2(N); RestoreSystemParameters(oV); return v; ``` //结果:51.67 ####### DownDayPercent3 范例 ```text //计算白云机场截止2011年9月13日是否连续N日收阴线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=DownDayPercent3(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### DownDayPercent4 范例 ```text //计算白云机场截止2011年9月13日是否连跌N日。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=DownDayPercent4(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### UpDayPercent 算法 (1)M=N日内收盘价>=昨收盘价的天数; (2)N日上涨比例(%) =M/N\*100。范例 ```text //计算白云机场截止2011年9月13日的60日上涨比例(%)。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=UpDayPercent(N); RestoreSystemParameters(oV); return v; ``` //结果:45 ####### UpDayPercent2 算法 (1)M=N日内收盘价>=开盘价的天数; (2)N日上涨比例(%) =M/N\*100。范例 ```text //计算白云机场截止2011年9月13日的60日阳线比例(%)。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=UpDayPercent2(N); RestoreSystemParameters(oV); return v; ``` //结果:48.33 ####### UpDayPercent3 范例 ```text //计算白云机场截止2011年9月13日是否连续N日收阳线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=UpDayPercent3(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### UpDayPercent4 范例 ```text //计算白云机场截止2011年9月13日是否连涨N日。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=60; v:=UpDayPercent4(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsHighOfHist 算法 vH=上市日开始,截止昨日的最高的最高价; 判断今日最高价是否大于等于vH。范例 ```text //计算白云机场截止2011年9月13日是否创历史新高。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); v:=IsHighOfHist(); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsLowOfHist 算法 (1)vL=上市日开始,截止昨日的最低的最低价; (2)判断今日最低是否小于等于vL。范例 ```text //计算白云机场截止2011年9月13日是否创历史新低。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); v:=IsLowOfHist(); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsHighOfNDay 算法 (1)vH=截止昨日,N日最高的最高价; (2)判断今日最高价是否大于等于vH。范例 ```text //计算白云机场截止2011年9月13日是否创N日新高。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); N:=10; v:=IsHighOfNDay(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsLowOfNDay 算法 (1)vL=截止昨日,N日最低的最低价; (2)判断今日最低价是否小于等于vL。范例 ```text //计算白云机场截止2011年9月13日是否创N日新低。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); N:=10; v:=IsLowOfNDay(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsHighVolOfHist 算法 (1)v=(成交量/上市日到现在的最高的成交量-1)\*100; (2)判断v的绝对值是否小于等于0.5。范例 ```text //计算白云机场截止2011年9月13日是否创历史天量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); v:=IsHighVolOfHist(); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsLowVolOfHist 算法 (1)v=(成交量/上市日到现在的最低的成交量-1)\*100; (2)判断v的绝对值是否小于等于0.5。范例 ```text //计算白云机场截止2011年9月13日是否创历史地量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); v:=IsLowVolOfHist(); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsHighVolOfNDay 算法 (1)v=(成交量/ N日最高的成交量-1)\*100; (2)判断v的绝对值是否小于等于0.5。范例 ```text //计算白云机场截止2011年9月13日是否创30日天量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); N:=30; v:=IsHighVolOfNDay(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsLowVolOfNDay 算法 (1)v=(成交量/N日最低的成交量-1)\*100; (2)判断v的绝对值是否小于等于0.5。范例 ```text //计算白云机场截止2011年9月13日是否创30日地量。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); N:=30; v:=IsLowVolOfNDay(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### XDZF 算法 (1)v1=个股的N日涨幅(%); (2)v2=上证指数的N日涨幅(%); (3)v=v1 - v2。范例 ```text //计算白云机场截止2011年9月13日的10日相对强弱。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); Setsysparam(pn_cycle(),cy_day()); N:=10; v:=XDZF(N); RestoreSystemParameters(oV); return v; ``` //结果:5.9 ####### MiniDifference 范例 ```text v:=MiniDifference(); return v; ``` //结果:0.5 ###### 技术指标选股 ####### 内容 - SsByMA - BsByMA - SsByKDJ - BsByKDJ - SsByKD - BsByKD - SsByWR - BsByWR - SsByMACD - BsByMACD - SsByBias - BsByBias - SsByBoll - BsByBoll - SsByMTM - BsByMTM - SSByRSI - BsByRSI - RSIFZ ####### SsByMA 范例 ```text //计算白云机场截止2011年9月13日的MA卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; v:= SsByMA(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByMA 范例 ```text //计算白云机场截止2011年9月13日的MA买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; v:= BsByMA(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:1 ####### SsByKDJ 算法 (1)X = 收盘价-N日最低的最低价; (2)Y = N日最高的最高价-N日最低的最低价; (3)若Y非0,则A =X/Y\*100;若Y为0,则A =100; (4)K =A的M1日平滑移动平均; (5)D =K的M2日平滑移动平均; (6)J =3*K-2*D。范例 ```text //计算白云机场截止2011年9月13日的KDJ卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; M1:=3; M2:=3; v:=SsByKDJ(N,M1,M2); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByKDJ 算法 (1)X = 收盘价-N日最低的最低价; (2)Y = N日最高的最高价-N日最低的最低价; (3)若Y非0,则A =X/Y\*100;若Y为0,则A =100; (4)K =A的M1日平滑移动平均; (5)D =K的M2日平滑移动平均; (6)J =3*K-2*D。范例 ```text //计算白云机场截止2011年9月13日的KDJ买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; M1:=3; M2:=3; v:=BsByKDJ(N,M1,M2); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### SsByKD 算法 (1)X = 收盘价-N日最低的最低价; (2)Y = N日最高的最高价-N日最低的最低价; (3)若Y非0,则A =X/Y\*100;若Y为0,则A =100; (4)K =A的M1日平滑移动平均; (5)D =K的M2日平滑移动平均。范例 ```text //计算白云机场截止2011年9月13日的KD卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; M1:=3; M2:=3; v:=SsByKD(N,M1,M2); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByKD 算法 (1)X = 收盘价-N日最低的最低价; (2)Y = N日最高的最高价-N日最低的最低价; (3)若Y非0,则A =X/Y\*100;若Y为0,则A =100; (4)K =A的M1日平滑移动平均; (5)D =K的M2日平滑移动平均。范例 ```text //计算白云机场截止2011年9月13日的KD买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; M1:=3; M2:=3; v:=BsByKD(N,M1,M2); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### SsByWR 算法 WR = (N日最高的最高价-收盘价)/(最高的最高价-最低的最低价)\*100。范例 ```text //计算白云机场截止2011年9月13日的WR卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=20; a:=SsByWR(N,v); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### BsByWR 算法 WR = (N日最高的最高价-收盘价)/(最高的最高价-最低的最低价)\*100。范例 ```text //计算白云机场截止2011年9月13日的WR买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=20; a:=BsByWR(N,v); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### SsByMACD 算法 (1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均; (2)DEA =DIF的M日移动平均。 (3)type=3,判断DIF是否下穿(即跌破)DEA; (4)type=5,判断DIF是否下穿(即跌破)DEA且DEA>=0; (5)type=7,判断DIF是否下穿(即跌破)DEA且DEA<=0。范例 ```text //计算白云机场截止2011年9月13日的MACD卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); Short:=12; Long:=26; M:=9; Type:=3; v:= SsByMACD(Short,Long,M,type); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByMACD 算法 (1)DIF =收盘价的Short日移动平均 -收盘价的 Long日移动平均; (2)DEA =DIF的M日移动平均。 (3)type=2,判断DIF是否下穿(即跌破)DEA; (4)type=4,判断DIF是否下穿(即跌破)DEA且DEA>=0; (5)type=6,判断DIF是否下穿(即跌破)DEA且DEA<=0。范例 ```text //计算白云机场截止2011年9月13日的MACD卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); Short:=12; Long:=26; M:=9; Type:=2; v:= SsByMACD(Short,Long,M,type); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### SsByBias 算法 BIAS =(收盘价-N日的收盘简单平均)/N日的收盘简单平均\*100。范例 ```text //计算白云机场截止2011年9月13日的BIAS卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=12; a:=SsByBias(N,v); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### BsByBias 算法 BIAS =(收盘价-N日的收盘简单平均)/N日的收盘简单平均\*100。范例 ```text //计算白云机场截止2011年9月13日的BIAS卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=12; a:=BsByBias(N,v); RestoreSystemParameters(oV); return a; ``` //结果:1 ####### SsByBoll 算法 (1)Z1=收盘价的N日简单平均; (2)Z2=Z1+2\*收盘价的N日标准差。范例 ```text //计算白云机场截止2011年9月13日的BOLL卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; v:=SsByBoll(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByBoll 算法 (1)Z1=收盘价的N日简单平均; (2)Z2=Z1+2\*收盘价的N日标准差; (3)Z3=Z1-2\*收盘价的N日标准差。范例 ```text //计算白云机场截止2011年9月13日的BOLL买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=9; v:=BsByBoll(N); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### SsByMTM 算法 (1)MTM =收盘价-N日前的收盘价; (2)MAMTM= MTMM日的简单平均。范例 ```text //计算白云机场截止2011年9月13日的MTM卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=12; M:=6; v:=SsByMTM(N,M); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### BsByMTM 算法 (1)MTM =收盘价-N日前的收盘价; (2)MAMTM= MTM的M日简单平均。范例 ```text //计算白云机场截止2011年9月13日的MTM买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=12; M:=6; v:=BsByMTM(N,M); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### SSByRSI 算法 (1)Ex =收盘价-昨收盘价; (2)若Ex>=0,则P=Ex;否则P=0; (3)若Ex<0,则Q=-Ex,否则Q=0; (4)z1=P的N日简单平均; (5)z2=Q的N日简单平均; (6)z=z1/(z1+z2)\*100。范例 ```text //计算白云机场截止2011年9月13日的RSI卖出条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=20; a:=SsByRSI(N); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### BsByRSI 算法 (1)Ex =收盘价-昨收盘价; (2)若Ex>=0,则P=Ex;否则P=0; (3)若Ex<0,则Q=-Ex,否则Q=0; (4)z1=N日P的简单平均; (5)z2=N日Q的简单平均; (6)z=z1/(z1+z2)\*100。范例 ```text //计算白云机场截止2011年9月13日的RSI买入条件选股情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=6; v:=20; a:=BsByRSI(N); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### RSIFZ 算法 (1)R_All=截止日往前推M个的N1日相对强弱指标序列; (2)C_All=截止日往前推M个的N1日收盘价简单平均序列; (3)R1=截止日的N1日相对强弱指标; (4)C1=收盘价的N2日简单平均; (5)R2=前M-1日的R1; (6)C2=前M-1日的C1; (7)vR=R2到R1的增长率的绝对值; (8)vC=C2到C1的增长率的绝对值; (9)type=0,判断是否底背离; RMin=R_All中RSI的最小值,CMin=C_All中Ma的最小值; V=R1>R2 && C1vC_ &&RMin=R2 && CMin=C1; type=1,判断是否顶背离; RMax=R_All中RSI的最大值,CMax=C_All中Ma的最大值; V=R1C2 && vR_P2,P2>P3,P3>P4这三个表达式中为真的个数,若有三个为真,则v=1,否则v=0; (6)若v=1且收盘价>开盘价,返回1,否则返回0。范例 ```text //计算白云机场截止2011年9月13日的均线多头排列情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=5; N2:=10; N3:=20; N4:=30; v:= IsDtpl(N1,N2,N3,N4); RestoreSystemParameters(oV); return v; ``` //结果:0(非均线多头排列) ####### IsKtpl 算法 (1)P1 =N1日的平均收盘价; (2)P2 =N2日的平均收盘价; (3)P3 =N3日的平均收盘价; (4)P4 =N4日的平均收盘价; (5)统计P1=v && |v2|>=v; (8)r2=v1>0 && v2>0 && |v1|>=v && |v2|>=v; (9)type=0,返回下拐点r1; (10)type=1,返回上拐点r2; (11)type=2,若r1=r2=0,则返回0;否则返回1。范例 ```text //计算白云机场截止2011年9月13日的均线下拐点。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N:=5; v:=0.00001; a:= IsMaGd(N,v,0); RestoreSystemParameters(oV); return a; ``` //结果:0 ####### IsMaHjjc 算法 (1)收盘价在N1日均线之上; (2)N1日均线上穿N2日均线。范例 ```text //计算白云机场截止2011年9月13日的是否有均线金叉。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; v:= IsMaHjjc(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:1(均线金叉) ####### IsMaSwjc 算法 (1)收盘价在N1日均线之下; (2)N1日均线下穿N2日均线。范例 ```text //计算白云机场截止2011年9月13日的是否是均线死叉。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; v:= IsMaSwjc(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:0(非均线死叉) ####### IsMaAstringent 算法 (1)若PermitCross为假则执行(2)(3)(4),若为真则执行(5)(6); (2)a =N1日均线-N2日均线; (3)b =前N-1日的a; (4)若有a>0&&b<0或a<0&&b>0成立,则返回假,否则执行(5)(6); (5)若b>0,表达式c为: a<=前一日的a\*(1+error/100),若有连续N日的c为真,则返回1,否则返回0; (6)若b<=0,表达式c为: a>=前一日的a\*(1+error/100),若有连续N日的c为真,则返回1,否则返回0。范例 ```text //计算白云机场截止2011年9月13日的是否是均线收敛情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; N:=5; Error:=5; PermitCross:=true; v:= IsMaAstringent(N1,N2,Error,PermitCross); RestoreSystemParameters(oV); return v; ``` //结果:0 ####### IsMaAstringent2 算法 (1)若第一个交易日>=截止日则返回0; (2)否则,取得当前股票在两个日期之间的交易日数N; (3)若N<2则返回0; (4)否则,返回截止日的均线收敛情况。范例 ```text //计算白云机场截止2011年9月13日的是否是均线收敛情况。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); N1:=10; N2:=20; Begt:=inttodate(20110908); Endt:=inttodate(20110913); Error:=5; PermitCross:=true; v:= IsMaAstringent2(N1,N2,Error,begt,endt,PermitCross); RestoreSystemParameters(oV); return v; ``` //结果:1 ##### K线分析 ###### 内容 - K_MidBar - K_DownShadow - K_UpShadow - K_crossstar ###### K_MidBar 算法 VT=0,返回实体线比例 =(收盘价-开盘价)/开盘价\*100; VT=1,返回实体线值 = 收盘价-开盘价; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```text //计算白云机场截止日2011年9月8日的实体线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_rate(),0); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); v:=K_MidBar(1,0); return v; //结果:0.28 ``` ###### K_DownShadow 算法 VT=0,返回下影线比例 =(开盘价和收盘价的较小值–最低价)/开盘价和收盘价的较小值\*100; VT=1,返回下影线值 = 开盘价和收盘价的较小值; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```text //计算白云机场截止日2011年9月8日的下影线值和比例。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); v1:=K_DownShadow(0); //值 v2:=K_DownShadow(1); //比例 return array('值':v1,'比例':v2); ``` //结果: ###### K_UpShadow 算法 VT=0,返回上影线比例 =(最高价-开盘价和收盘价的较大值)/开盘价与收盘价的较大值\*100; VT=1,返回上影线值 = 最高价-开盘价和收盘价的较大值; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```text //计算白云机场截止日2011年9月8日的上影线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_rate(),0); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); v:= K_UpShadow (1); return v; //结果:0.07 ``` ###### K_crossstar 范例 ```text // "CSI930875"在2021-06-09十字星形态 SetSysParam(pn_stock(),"CSI930875"); SetSysParam(PN_Date(),20210609T); return K_CrossStar(0.5); //结果:1 ``` ##### 成交量指标 ###### 内容 - 计算公式 - 图形 - 当前值 ###### 计算公式 ####### 内容 - AmountMa_f - Amount_f - OBVMa_f - OBV_f - VOL_f - VRSI_f - VolMa_f - VOSC_f - SOBV_v - SOBV_f - QHLSR_f ####### AmountMa_f 算法 Type=0,返回当前时间的N日成交金额均值; Type=1,返回当前时间往前推共nDay个N日成交金额均值序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 ```text //计算白云机场截止日2011年9月8日的6日成交金额均值。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_rate(),0); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=AmountMa_f(N,0); return v; //结果:26436040.33 ``` ```text //计算白云机场截止2011年9月8日向前推共5天的6日成交金额均值序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=AmountMa_f(N,1); return v; ``` //结果 ####### Amount_f 算法 Type=0,返回当前时间的成交金额; Type=1,返回当前时间往前推共nDay个的成交金额序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 ```text //计算白云机场截止日2011年9月8日的成交金额 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); v:=Amount_f(0); return v; //结果:76991864 ``` ```text //计算白云机场截止2011年9月8日向前推共5天的成交金额序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); setsysparam(pn_date(),inttodate(20110908)); v:=Amount_f(1); return v; ``` //结果: ####### OBVMa_f 算法 若收盘价>昨收盘价,则V=当天成交量; 若收盘价<昨收盘价,则V= -当天成交量; 若收盘价=昨收盘价,则V=0; 能量潮 = 前N日的V之和/100; Type=0,返回当前时间的M日能量潮简单平均; Type=1,返回当前时间往前推共nDay个M日能量潮简单平均序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 ```text //计算白云机场截止日2011年9月8日的30日能量潮移动平均(N=10) oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=30; v:=OBVMa_f(N,M,0); return v; //结果:-68994.395 ``` ```text //计算白云机场截止2011年9月8日向前推总共5天的30日能量潮移动平均序列(N=10) oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=30; v:=OBVMa_f(N,M,1); return v; ``` //结果: ####### OBV_f 算法 若收盘价>昨收盘价,则V=当天成交量; 若收盘价<昨收盘价,则V= -当天成交量; 若收盘价=昨收盘价,则V=0; 累积能量=前N日的V之和/100; Type=0,返回当前时间的累积能量; Type=1,返回当前时间往前推共nDay个能量累积序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 ```text //计算白云机场截止日2011年9月8日的10日累积能量。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=OBV_f(N,0); return v; //结果:79938.87 ``` ```text //计算白云机场截止2011年9月8日向前推共5天的10日累积能量 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:=OBV_f(N,1); return v; ``` //结果: ####### VOL_f 算法 Type=0,返回当前时间的成交量; Type=1,返回当前时间往前推共nDay个成交量序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 ```text //计算白云机场截止日2011年9月8日的成交量 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); v:=VOL_f(0); return v; //结果:10466260 ``` ```text //计算白云机场截止2011年9月8日向前推共5天的成交量序列 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); v:=VOL_f(1); return v; ``` //结果: ####### VRSI_f 算法 EX=成交量–昨成交量; 若EX<0,则EX1=0,EX2= -EX; 若EX>=0,则EX1=EX2=EX z1 = N日的EX1平滑移动平均,权重为1; z2 = N日的EX2平滑移动平均,权重为2; 相对强弱=z1/z2\*100; Type=0,返回当前时间的相对强弱; Type=1,返回当前时间往前推共nDay个相对强弱的序列 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 范例一: ```text //计算白云机场截止日2011年9月8日的6日相对强弱。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=VRSI_f(N,0); return v; //结果:88.41 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的6日相对强弱序列。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=6; v:=VRSI_f(N,1); return v; ``` //结果: 范例三: ```text //计算白云机场截止2011年9月8日向前推共5天的6日相对强弱图形。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=6; v:=VRSI_f(N,2); return v; ``` //结果: ####### VolMa_f 算法 Type=0,返回当前时间的N日成交量均值; Type=1,返回当前时间往前推共nDay个N日成交量均值序列 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 范例一: ```text //计算白云机场截止日2011年9月8日的6日成交量移动均值 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=VolMa_f(N,0); return v; //结果: 3666001 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的6日成交量移动均值序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=6; v:=VolMa_f(N,1); return v; ``` //结果: ####### VOSC_f 算法 成交量震荡 = (短期成交量移动均值 - 长期成交量移动均值)/短期成交量移动均值 \* 100 Type=0,返回当前时间的成交量震荡; Type=1,返回当前时间往前推共nDay个成交量震荡序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关。范例 范例一: ```text //计算白云机场截止日2011年9月8日的成交震荡 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); SHORT:=6; LONG:=14; v:=VOSC_f(SHORT,LONG,0); return v; //结果:21.66193782 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的成交震荡序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); SHORT:=6; LONG:=14; v:=VOSC_f(SHORT,LONG,1); return v; ``` //结果 范例三: ```text //计算白云机场截止2011年9月8日向前推共5天的成交震荡图。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); SHORT:=6; LONG:=14; v:=VOSC_f(SHORT,LONG,2); return v; ``` //结果 ####### SOBV_v 算法 若当天上涨,则V =成交量; 若当天下跌,则V = -成交量; 若当天平盘,则V =0; N日能量潮= N日的V之和; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()。范例 ```text //计算白云机场截止日2011年9月8日的30日能量潮 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=30; v:= SOBV_v (N); return v; ``` //结果:13102022 ####### SOBV_f 算法 若当天上涨,则V =成交量; 若当天下跌,则V = -成交量; 若当天平盘,则V =0; N日能量潮=N日的V之和; Type=0,返回当前时间的N日能量潮; Type=1,返回当前时间往前推共nDay个N日能量潮序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的30日能量潮 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=30; v:=SOBV_f(N,0); return v; //结果:13102022 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的30日能量潮序列 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=30; v:=SOBV_f(N,1); return v; ``` //结果 ####### QHLSR_f 算法 qh =(收盘价-昨收盘价)-(成交量-昨成交量)\*(昨最高价-昨最低价)/昨成交量; 若qh>0,则tA=qh,否则tA=0; 若qh<0,则tB=qh的绝对值,否则tB=0; A= N日的tA之和; B= N日的tB之和; 阻力指标=A/(A+B); Type=0,返回当前时间的阻力指标; Type=1,返回当前时间往前推共nDay个N日阻力指标序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的10日阻力指标 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:= QHLSR_f(N,0); return v; //结果:0.45019064 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的10日阻力指标序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:= QHLSR_f(N,1); return v; ``` //结果: ###### 图形 ####### 内容 - VOL\_ - OBV - Amount\_ ####### VOL\_ 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return VOL_(5,10,30); ``` //结果: ####### OBV 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return OBV(30,10); ``` //结果: ####### Amount\_ 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return Amount_(5,10,30); ``` //结果: ###### 当前值 ####### 内容 - OBV_v - AmountMa_v - VolMa_v - OBVMa_v - VOSC_v - VRSI_v - QHLSR_v ####### OBV_v 算法 (1)若收盘价>昨收盘价,则V=当天成交量; (2)若收盘价<昨收盘价,则V= -当天成交量; (3)若收盘价=昨收盘价,则V=0; (4)能量潮(OBV)=N日的V之和/100。范例 ```text //计算白云机场截止2011年9月8日的10日能量潮(不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=OBV_v(N); return v; ``` //结果:79938.87 ####### AmountMa_v 算法 返回截止当前时间的N日成交金额均值; N为0时,返回当天的成交金额值;N<0时无效。范例 ```text //计算白云机场截止2011年9月8日的10日成交金额均值。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=AmountMa_v(N); return v; ``` //结果:21899130.2 ####### VolMa_v 算法 (1)返回截止当前时间的N日成交量均值; (2)N为0时,返回当天的成交量值;N<0时无效。范例 ```text //计算白云机场截止2011年9月8日的6日成交量均值(不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=VolMa_v(N); return v; ``` //结果:3666001 ####### OBVMa_v 算法 (1)若收盘价>昨收盘价,则V=当天成交量; (2)若收盘价<昨收盘价,则V= -当天成交量; (3)若收盘价=昨收盘价,则V=0; (4)能量潮(OBV)=N日V的累计之和/100; (5)Z =M日能量潮的移动平均,M为0时,Z =当日能量潮。范例 ```text //计算白云机场截止2011年9月8日的30日能量潮移动平均(N=10、不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=30; v:=OBVMa_v(N,M); return v; ``` //结果:-68994.39 ####### VOSC_v 算法 成交量震荡 =(短期成交量移动均值 - 长期成交量移动均值)/短期成交量移动均值 \* 100。范例 ```text //计算白云机场截止日2011年9月8日的成交量震荡(不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); SHORT:=6; LONG:=14; v:=VOSC_v(SHORT,LONG); return v; ``` //结果:21.66 ####### VRSI_v 算法 (1)EX=成交量 - 昨成交量; (2)若EX<0,则EX1=0,EX2= -EX; 若EX>=0,则EX1=EX2=EX; z1 =EX1的N日平滑移动平均,权重为1, z1=SMa(EX1,N,1)=[EX1+(N-1)*z1’]/N,其中z1’表示上一周期z1值; z2 =EX2的N日平滑移动平均,权重为1, z2=SMa(EX2,N,1)=[EX2+(N-1)*z2’]/N,其中z2’表示上一周期z2值; 相对强弱= z1/ z2\*100。范例 ```text //计算白云机场截止2011年9月8日的6日相对强弱(不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=VRSI_v(N); return v; ``` //结果:88.41 ####### QHLSR_v 算法 (1)QHL =(收盘价-昨收盘价)-(成交量-昨成交量)\*(昨最高价-昨最低价)/昨成交量; (2)若QHL >0,则tA=QHL,tB=0;否则,tA=0,tB= -QHL; (3)A= N日的tA之和; (4)B= N日的tB之和; (5)阻力指标=A/(A+B)。范例 ```text //计算白云机场截止2011年9月8日的10日6阻力指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=QHLSR_v(N); return v; ``` //结果:0.45 ##### 大势指标 ###### 内容 - 计算公式 - 图形 - 当前值 ###### 计算公式 ####### 内容 - ABI_f - ADL_f - ADR_f - ARMS_f - BTI_f - MCL_f - OBOS_f - STIX_f ####### ABI_f ####### ADL_f ####### ADR_f ####### ARMS_f ####### BTI_f ####### MCL_f ####### OBOS_f ####### STIX_f ###### 图形 ####### 内容 - ADR - ABI - ARMS - ADL - BTI - MCL - OBOS - STIX ####### ADR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ADR(10,6); ``` ; //结果: ####### ABI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ABI(6); ``` //结果: ####### ARMS 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ARMS(21,6); ``` //结果 ####### ADL 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ADL(6); ``` //结果: ####### BTI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return BTI(10,5); ``` //结果: ####### MCL 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MCL(19,35); ``` //结果 ####### OBOS 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return OBOS(10,6); ``` //结果: ####### STIX 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return STIX(6); ``` //结果: ###### 当前值 ####### 内容 - ARMS_v - OBOS_v - MCL_v - ABI_v - STIX_v - BTI_v - ADR_v - ADL_v ####### ARMS_v 算法 (1)非指数不计算; (2)R =上涨家数/下跌家数; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数; (3)阿姆氏指标ARMS=N日R的移动平均值。范例 ```text //计算上证指数2011年9月8日的21日阿姆氏指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=21; M:=6; v:=ARMS_v(N,M); return v; ``` //结果:6.44 ####### OBOS_v 算法 (1)非指数不计算; (2)Z =上涨家数 - 下跌家数; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数; (3)超买超卖指标=N日Z的移动平均值。范例 ```text //计算上证指数截止日2011年9月8日的超买超卖指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=OBOS_v(N,M); return v; ``` //结果:-183.82 ####### MCL_v 算法 非指数不计算; DIF =上涨家数 - 下跌家数; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数; Z1 =N1日DIF的指数平滑移动平均; Z2 =N2日DIF的指数平滑移动平均; 麦克连指标MCL = Z1-Z2。范例 ```text //计算上证指数2011年9月8日的麦克连指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N1:=21; N2:=36; v:=MCL_v(N1,N2); return v; ``` //结果:-42.67 ####### ABI_v 算法 (1)非指数不计算; (2)绝对广量指标ABI =((上涨家数-下跌家数)/(上涨家数+下跌家数))的绝对值\*100; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数。范例 ```text //计算上证指数2011年9月8日的绝对广量指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); M:=6; v:=ABI_v(M); return v; ``` //结果:66.08 ####### STIX_v 算法 (1)非指数不计算; (2)指数平滑广量STIX =上涨家数/(上涨家数+下跌家数)\*100; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数。范例 ```text //计算上证指数截止日2011年9月8日的指数平滑广量指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); M:=6; v:=STIX_v(M); return v; ``` //结果:16.96 ####### BTI_v 算法 (1)非指数不计算; (2)指数平滑广量STIX =上涨家数/(上涨家数+下跌家数)\*100; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数; (3)广量冲力指标BTI =N日STIX的平均值。范例 ```text //计算上证指数2011年9月8日的广量冲力指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=21; M:=6; v:=BTI_v(N,M); return v; ``` //结果:45.49 ####### ADR_v 算法 (1)非指数不计算; (2)涨跌比率 = N日的累计上涨家数/N日的累计下跌家数; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数。范例 ```text //计算上证指数2011年9月8日的10日涨跌比率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=ADR_v(N,M); return v; ``` //结果:0.53 ####### ADL_v 算法 (1)非指数不计算; (2)腾落指标ADL = 上市以来的累计上涨家数与累计下跌家数之差; 若当前的股票设置为上证指数,则统计上证A股板块的上涨家数和下跌家数; 若当前的股票设置为深证指数,则统计深证A股板块的上涨家数和下跌家数。范例 ```text //计算上证指数2011年9月8日的10日涨跌比率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH000001'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); M:=6; v:=ADL_v(M); return v; ``` //结果:-45512 ##### 动量指标 ###### 内容 - 计算公式 - 图形 - 当前值 ###### 计算公式 ####### 内容 - ADTM_f - ATR_f - BIAS_f - DKX_f - LWR_f - MFI_f - MTM_f - OSC_f - PVT_f - ROCMa_f - ROC_f - RSI_f - UDLma_f - UDL_f - WR_f - MI_f - RC_f - SRMI_f - KDJ_f - RCCD_f - MICD_f - ACCER_f - SKD_f ####### ADTM_f ####### ATR_f ####### BIAS_f 算法 BIAS = (收盘价-N日的收盘简单平均)/N日的收盘简单平均\*100 Type=0,返回当前时间的BIAS; Type=1,返回当前时间往前推共nDay个BIAS序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的乖离量 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=BIAS_f(N,0); return v; //结果:4.31 ``` 范例二: ```text //计算白云机场截止2011年9月8日往前推共5天的乖离量序列 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=BIAS_f(N,1); return v; ``` //结果: ####### DKX_f ####### LWR_f 算法 LWR = (收盘价-N日最低价)/(N日最高价-N日最低价)\*100; Type=0,返回当前时间的LWR; Type=1,返回当前时间往前推共nDay个LWR序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的威廉指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=LWR_f(N,0); return v; //结果:81.69 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推总共5天,对每一天计算上述例子中的指标得到的结果序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=LWR_f(N,1); return v; ``` //结果: ####### MFI_f 算法 X=(最高价+最低价+收盘价)/3; Y=(昨最高价+昨最低价+昨收盘价)/3; 若X>Y,则Z1=X\*成交量; 若X<=Y,则Z1=0; 若X=Y,则Z2=0; Z=N日累计Z1之和/N日累计Z2之和 Type=0,返回当前时间的资金流向; Type=1,返回当前时间往前推共nDay个资金流向序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的资金流向。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MFI_f(N,0); return v; //结果:1.97 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的资金流向序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:=MFI_f(N,1); return v; ``` //结果: ####### MTM_f 算法 MTM =收盘价-N日前的收盘价; MAMTM= M日的MTM简单平均; Type=0,返回当前时间的MTM、MAMTM; Type=1,返回当前时间往前推共nDay个MTM、MAMTM序列。 nDay由系统参数PN_nDay()设置,默认值为180。 Type=2,返回MTM是否上穿0; Type=3,返回MTM是否下穿0; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的动力指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=MTM_f(N,M,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的动力指标序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; M:=6; v:=MTM_f(N,M,1); return v; ``` //结果: 范例三: ```text //计算白云机场截止日2011年9月8日的MTM线是否上穿0。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=MTM_f(N,M,2); return v; //结果:1 ``` ####### OSC_f ####### PVT_f 算法 价量趋势=N日的涨幅之和; Type=0,返回当前时间的价量趋势; Type=1,返回当时时间往前推共nDay个价量趋势序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的价量趋势。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=PVT_f(N,0); return v; //结果:534683.6 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的价量趋势序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:=PVT_f(N,1); return v; ``` //结果: ####### ROCMa_f 算法 EX=(收盘价-N天前的收盘价)/N天前的收盘价\*100; 变动率移动平均=M日的EX的简单平均; Type=0,返回当前时间的变动率移动平均; Type=1,返回当时时间往前推共nDay个变动率移动平均序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日10天内的变动率移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=ROCMa_f(N,M,0); return v; //结果:0.74 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的变动率移动平均序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; M:=6; v:=ROCMa_f(N,M,1); return v; ``` //结果: ####### ROC_f 算法 变动速率=(收盘价-N天前的收盘价)/N天前的收盘价\*100; Type=0,返回当前时间的变动速率; Type=1,返回当时时间往前推共nDay个变动速率序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日10天内的变动速率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=ROC_f(N,0); return v; //结果:3.87 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的变动速率序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:=ROC_f(N,1); return v; ``` //结果: 参考NDay2 ####### RSI_f 算法 系统自动获取当前的时间sp_time为dates: 若dates=证券首日,则Ex=0; 若dates<>证券首日,则Ex=收盘价-昨收盘价 Z1= N日的Ex的平滑移动平均,权重为1。(若Ex<0,则取0)。 Z2= N日的Ex的平滑移动平均,权重为1。(若Ex<0,则取相反数)。 若dates=证券首日,则Z=0; 若dates<>证券首日,Z=Z1/Z2\*100; Type=0,返回dates截止日的Z值。 Type=1,返回dates截止日往前推共nDay个Z序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日6天内的相对强弱指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_rate(),0); N:=6; v:=RSI_f(N,0); return v; //结果:76.4 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的相对强弱序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=6; v:=RSI_f(N,1); return v; ``` //结果: ####### UDLma_f 算法 引力线=(N1日的收盘价简单平均+ N2日的收盘价简单平均+ N3日的收盘价简单平均+ N4日的收盘价简单平均)/4; 引力线移动平均=M日的引力线的简单平均; Type=0,返回当前时间的引力线移动平均; Type=1,返回当前时间往前推共nDay个引力线移动平均序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的引力线移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=3; N2:=5; N3:=10; N4:=20; M:=6; v:=UDLma_f(N1,N2,N3,N4,M,0); return v; //结果:7.13 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的引力线移动平均序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N1:=3; N2:=5; N3:=10; N4:=20; M:=6; v:=UDLma_f(N1,N2,N3,N4,M,1); return v; ``` //结果: ####### UDL_f 算法 引力线=(N1日的收盘价简单平均+ N2日的收盘价简单平均+ N3日的收盘价简单平均+ N4日的收盘价简单平均)/4 Type=0,返回当前时间的引力线; Type=1,返回当前时间往前推共nDay个引力线序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的引力线指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=3; N2:=5; N3:=10; N4:=20;v:=UDL_f(N1,N2,N3,N4,0); return v; //结果:7.18 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的引力线序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N1:=3; N2:=5; N3:=10; N4:=20; v:=UDL_f(N1,N2,N3,N4,1); return v; ``` //结果: ####### WR_f 算法 威廉指标=(N日最高价-收盘价)/(N日最高价-N日最低价)\*100; Type=0,返回当前时间的威廉指标。 Type=1,返回当前时间往前推共nDay个威廉指标序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日10天内威廉指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=WR_f(N,0); return v; //结果:10.77 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推总共5天,对每一天计算上述例子中的指标得到的结果序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=10; v:=WR_f(N,1); return v; ``` //结果: ####### MI_f 算法 A=当天的收盘价-N天前的收盘价; 动量指标=A的N日平滑移动平均; Type=0,返回当前时间的动量指标; Type=1,返回当前时间往前推共nDay个动量指标序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的动量指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=MI_f(N,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的动量指标序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=MI_f(N,1); return v; ``` //结果: ####### RC_f 算法 RC=昨收盘价/N+1天前的收盘价; 变化率指数=RC的N日平滑移动平均; Type=0,返回当前时间的变化率指数; Type=1,返回当前时间往前推共nDay个变化率指数序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的变化率指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=RC_f(N,0); return v; //结果: ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的变化率指数序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=RC_f(N,1); return v; ``` //结果: ####### SRMI_f 算法 若收盘价N天前收盘价,则MI修正指标=(收盘价-N天前收盘价)/收盘价; 若收盘价=N天前收盘价,则MI修正指标=0; Type=0,返回当前时间的MI修正指标; Type=1,返回当前时间往前推共nDay个MI修正指标序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的MI修正指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=SRMI_f(N,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的MI修正指标序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=SRMI_f(N,1); return v; ``` //结果: ####### KDJ_f 算法 (1)X =收盘价-N日最低的最低价; (2)Y = N日最高的最高价-N日最低的最低价; (3)若Y非0,则RSV =X/Y\*100;若Y为0,则RSV =100; (4)K =M1日RSV的平滑移动平均,权重为1; 即K=SMa(RSV,M1,1)=[RSV+(M1-1)*K’]/M1,其中K’为上一周期K值; (5)D =M2日K的平滑移动平均,权重为1; 即D=SMa(K,M2,1)=[K+(M2-1)*D’]/M2,其中D’为上一周期D值; (6)J =3*K-2*D; (7)Type=0,返回当前时间的随机指标K、D、J值; (8)Type=1,返回当前时间往前推共nDay个随机指标K、D、J的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。 Type=2,返回K线是否上穿D线,且K<20; Type=3,返回K线是否下穿D线,且D>80; Type=4,返回J线是否上穿0; Type=5,返回J线是否下穿100。范例 范例一: ```text //计算白云机场2011年9月8日的随机指标。 SetSysParam(pn_stock(),'SH600004'); SetSysParam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); //不复权 //setsysparam(pn_rate(),1); //比例复权 //setsysparam(pn_rateday(),-1); V:=KDJ_f(9,3,3,0); Return v; ``` //结果: 范例二: ```text //计算白云机场2011年9月8日的向前推共5日随机指标序列(不复权)。 SetSysParam(pn_stock(),'SH600004'); SetSysParam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); //不复权 //setsysparam(pn_rate(),1); //比例复权 //setsysparam(pn_rateday(),-1); SetSysParam(pn_nday(),5); V:=KDJ_f(9,3,3,1); Return v; ``` //结果: 范例三: ```text //计算白云机场2011年9月8日的K线是否上穿D线,且K<20。 SetSysParam(pn_stock(),'SH600004'); SetSysParam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); v:=KDJ_f(9,3,3,2); Return v; ``` //结果:0,即此时K线未突破D线 ####### RCCD_f 算法 (1)RC=收盘价/N日前的收盘价; (2)ARC=昨日RC的N日平滑移动平均; (3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均; (4)RCCD=DIF的N日平滑移动平均; (5)Type=0,返回当前时间的DIF、RCCD; (6)Type=1,返回当前时间往前推共nDay个DIF、RCCD序列; nDay由系统参数PN_nDay()设置,默认值为180。范例 ```text //计算白云机场截止日2011年9月8日的异同离差变化率指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=RCCD_f(N,N1,N2,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止日2011年9月8日向前推总共5天的异同离差变化率指数序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Setsysparam(pn_nDay(),5); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=RCCD_f(N,N1,N2,1); return v; ``` //结果: ####### MICD_f 算法 (1)MI =收盘价 - 昨收盘价; (2)AMI =MI的N日平滑移动平均,权重为1; (3)DIF=昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均; (4)MICD=DIF的10日平滑移动平均,权重为1; (5)Type=0,返回当前时间的DIF、MICD; (6)Type=1,返回当前时间往前推共nDay个DIF、RCCD序列; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止日2011年9月8日的异同离差动力指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=MICD_f(N,N1,N2,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止日2011年9月8日向前推总共5天的异同离差动力指数序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Setsysparam(pn_nDay(),5); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=MICD_f(N,N1,N2,1); return v; ``` ####### ACCER_f 范例 ```text //SH603803在20241219的开盘集合竞价涨幅(%) SetSysParam(pn_stock(),"SH603803"); SetSysParam(PN_Cycle(),cy_day()); SetSysParam(pn_date(),20241219T); return ACCER_f(10,0); //结果:0.034122 ``` ####### SKD_f 算法 LOWV:N日内最低价的最低值 HIGHV:N日内最高价的最高值 RSV:(收盘价-LOWV)/(HIGHV-LOWV)\*100的M日指数移动平均 K:RSV的M日指数移动平均 D:K的M日移动平均范例 ```text // SZ000001在20241115的慢速随机指标 setsysparam(pn_stock(),"SZ000001"); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),20241115T); return SKD_f(9,3,0); //结果:array(35.960153127544,44.5380086095907) ``` ###### 图形 ####### 内容 - DKX - HYG - BIAS - LWR - KDJ - ATR - ADTM - OSC - PVT - RSI - MTM - UDL - MFI - ROC - WR - SAR ####### DKX 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return DKX(10,6); ``` //结果: ####### HYG 范例 ```text SetSysParam(PN_Stock(),'sz000001'); SetSysParam(pn_date(),inttodate(20130101)); Return HYG(5); ``` //结果: ####### BIAS 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return BIAS(6,12,24); ``` //结果: ####### LWR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return LWR(14,26); ``` //结果: ####### KDJ 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return KDJ(9,3,3); ``` //结果: ####### ATR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ATR(14); ``` //结果: ####### ADTM 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ADTM(23,6); ``` //结果: ####### OSC 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return OSC(20,6); ``` //结果: ####### PVT 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return PVT(5); ``` //结果: ####### RSI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return RSI(6,12); ``` //结果: ####### MTM 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MTM(12,6); ``` //结果: ####### UDL 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return UDL(3,5,10,20,6); ``` //结果: ####### MFI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MFI(14); ``` //结果: ####### ROC 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ROC(12,6); ``` //结果: ####### WR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return WR(14,6); ``` //结果: ####### SAR 范例 ```text SetSysParam(PN_Stock(),'SZ000001'); SetSysParam(pn_date(),20130101T); return SAR(2,2,2,20); ``` 结果: ###### 当前值 ####### 内容 - ROCMa_v - MFI_v - KDJ_K_v - KDJ_D_v - KDJ_J_v - MTMMa_v - MTM_v - ATR_v - ATR_a - BIAS_v - SRMI_v - WR_v - LWR_v - MICD_DIF_v - MICD_MICD_v - RCCD_RCCD_v - RCCD_DIF_v - RC_v - OSC_v - MI_v - DKX_v - PVT_v - UDL_v - UDLMa_v - ROC_v - RSI_v - ADTM_v - ACCER_V - SKD_D_V - SKD_K_V ####### ROCMa_v 算法 (1)EX =(收盘价-N天前的收盘价)/N天前的收盘价 \*100; (2)变动率移动平均=M日EX的简单平均。范例 ```text //计算白云机场2011年9月8日的10日变动率移动平均(不复权)。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=ROCMa_v(N,M); return v; ``` //结果:0.74 ####### MFI_v 算法 (1)X =(最高价+最低价+收盘价)/3; (2)Y =(昨最高价+昨最低价+昨收盘价)/3; (3)若X >Y,则Z1 =X\*成交量,Z2=0; 若X N日前收盘价,则MI修正指标=(收盘价-N日前收盘价)/收盘价; (3)若收盘价=N日前收盘价,则MI修正指标=0。范例 ```text //计算白云机场截止日2011年9月8日的MI修正指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=SRMI_v(N); return v; ``` //结果:0.04 ####### WR_v 算法 WR = (N日最高价-收盘价)/(N日最高价-N日最低价)\*100。范例 ```text //计算白云机场截止日2011年9月8日的威廉指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=14; v:=WR_v(N); return v; ``` //结果:10.77 ####### LWR_v 算法 LWR = (收盘价-N日最低价)/(N日最高价-N日最低价)\*100。范例 ```text //计算白云机场截止日2011年9月8日的威廉指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=14; v:=LWR_v(N); return v; ``` //结果:89.23 ####### MICD_DIF_v 算法 MI =收盘价-昨收盘价; AMI =MI的N日平滑移动平均,权重为1; DIF =昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的异同离差动力指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=3; N1:=10; N2:=20; v:=MICD_DIF_v(N,N1,N2); return v; ``` //结果:0.01 ####### MICD_MICD_v 算法 (1)MI =收盘价-昨收盘价; (2)AMI =MI的N日平滑移动平均,权重为1; (3)DIF =昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均; (4)MICD =DIF的10日平滑移动平均,权重为1。范例 ```text //计算白云机场截止日2011年9月8日的异同离差动力指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=3; N1:=10; N2:=20; v:=MICD_MICD_v(N,N1,N2); return v; ``` //结果:0.0056 ####### RCCD_RCCD_v 算法 (1)RC=收盘价/N日前的收盘价; (2)ARC=昨日RC的N日平滑移动平均; (3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均; (4)RCCD=DIF的N日平滑移动平均。 范例 ```text //计算白云机场截止日2011年9月8日的异同离差变化率指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=RCCD_RCCD_v(N,N1,N2); return v; ``` //结果:-0.0016 ####### RCCD_DIF_v 算法 (1)RC=收盘价/N日前的收盘价; (2)ARC=昨日RC的N日平滑移动平均; (3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的异同离差变化率指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=59; N1:=21; N2:=28; v:=RCCD_DIF_v(N,N1,N2); return v; ``` //结果:-0.0031 ####### RC_v 算法 (1)RC=昨收盘价/N+1天前的收盘价; (2)变化率指数=RC的N日平滑移动平均,权重为1。范例 ```text //计算白云机场截止日2011年9月8日的变化率指数。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=RC_v(N); return v; ``` //结果:0.94 ####### OSC_v 算法 OSC =(收盘价-收盘价的N日简单平均)\*100。范例 ```text //计算白云机场截止日2011年9月8日的变动率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; M:=6; v:=OSC_v(N); return v; ``` //结果:36.3 ####### MI_v 算法 (1)A=当天的收盘价-N天前的收盘价; (2)动量指标MI =A的N日平滑移动平均,权重为1。范例 ```text //计算白云机场截止日2011年9月8日的动量指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=MI_v(N); return v; ``` //结果:-0.48 ####### DKX_v 算法 (1)MID=(3\*收盘价+最低价+开盘价+最高价)/6; (2)DKX=(20*MID+19*昨日MID+18\*2日前的MID +17*3日前的MID+16*4日前的MID+15\*5日前的MID +14*6日前的MID+13*7日前的MID+12\*8日前的MID +11*9日前的MID+10*10日前的MID+9\*11日前的MID +8*12日前的MID+7*13日前的MID+6\*14日前的MID +5*15日前的MID+4*16日前的MID+3\*17日前的MID +2*18日前的MID+1*20日前的MID)/210。范例 ```text //计算白云机场截止日2011年9月8日的多空线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=DKX_v(N); return v; ``` //结果:7.14 ####### PVT_v 算法 X =(收盘价-昨收盘价)/昨收盘价; PVT = N日的X\*成交量之和。范例 ```text //计算白云机场截止日2011年9月8日的价量趋势。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=PVT_v(N); return v; ``` //结果:534683.1 ####### UDL_v 算法 引力线=(收盘价的N1日简单平均+收盘价的N2日简单平均+收盘价的N3日简单平均+ 收盘价的N4日简单平均)/4。范例 ```text //计算白云机场截止日2011年9月8日的引力线指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=3; N2:=5; N3:=10; N4:=20; v:=UDL_v(N1,N2,N3,N4); return v; ``` //结果:7.18 ####### UDLMa_v 算法 引力线=(N1日的收盘价简单平均+ N2日的收盘价简单平均+ N3日的收盘价简单平均+ N4日的收盘价简单平均)/4; 引力线移动平均 =引力线的M日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的引力线移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=3; N2:=5; N3:=10; N4:=20; M:=6; v:=UDLMa_v(N1,N2,N3,N4,M); return v; ``` //结果:7.13 ####### ROC_v 算法 变动速率ROC=(收盘价-N天前的收盘价)/N天前的收盘价 \*100。范例 ```text //计算白云机场截止日2011年9月8日的变动速率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=ROC_v(N); return v; ``` //结果:3.87 ####### RSI_v 算法 系统自动获取当前的时间sp_time为dates: 若dates=证券上市首日,则RSI =0; 若dates<>证券上市首日,则Ex=收盘价-昨收盘价; Z1=Ex的N日平滑移动平均,权重为1(若Ex<0,则Ex取0); Z2=Ex的N日平滑移动平均,权重为1(若Ex<0,则Ex取绝对值); RSI=Z1/Z2\*100。范例 ```text //计算白云机场截止日2011年9月8日的相对强弱指数RSI。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:=RSI_v(N); return v; ``` //结果:76.4 ####### ADTM_v 算法 如果开盘价<=昨开盘价,DTM=0; 否则,DTM=(最高价-开盘价)和(开盘价-昨开盘价)的较大值; 如果开盘价>=昨开盘价,DBM=0; 否则,DBM=(开盘价-最低价)和(开盘价-昨开盘价)的较大值; STM=DTM的N日累计和; SBM=DBM的N日累计和; 如果STM>SBM,ADTM=(STM-SBM)/STM; 如果STM date dma1 dma2 2018-08-01 69.73085 70.41399 2018-08-02 68.82668 69.69519 2018-08-03 67.66334 68.73215 2018-08-06 65.70867 67.44372 2018-08-07 64.40494 65.59498 2018-08-08 62.69995 64.13598 2018-08-09 61.83796 62.49279 2018-08-10 61.42637 61.67623 2018-08-13 61.30910 61.06298 2018-08-14 61.19128 60.99039 2018-08-15 61.16902 60.94831 2018-08-16 61.23522 60.65865 2018-08-17 60.49017 60.88292 2018-08-20 60.04814 60.10433 2018-08-21 59.83651 59.71947 2018-08-22 59.56921 59.55757 2018-08-23 59.56937 59.28006 2018-08-24 59.37549 59.30005 2018-08-27 59.50639 59.23004 范例03: ```text setsysparam(pn_stock(),'SZ002926'); setsysparam(pn_date(),20200113T); setsysparam(pn_rate(),1); setsysparam(pn_rateday(),20200113T); a:=0.02; AA:=@(2*CLOSE()+LOW()+HIGH())/4; BB:=@stockzf3(); //第四个参数:只向历史推导100次->对于表达式算法较为复杂的可考虑此用法 t1:= DSMA_I(AA,a,'aa',100); t2:= DSMA_I(AA,a,'aa2'); t3:=DSMA_I(BB,a,'bb'); return array(t1,t2,t3); //返回:array(9.9581996332979,10.0810464635677); ``` ####### DSMA_II 算法 Y=a*X+(1-a)*Y' 注:其中Y'表示上一周期Y值,a值在[0,1] X为函数中的Exp表达式,a为函数中的Expa衰减因子表达式。范例 范例01: ```text //计算SH603260在20180827日收盘价的按当日换手率加权的动态移动平均。 endt:=20180827T; Setsysparam(pn_stock(),'SH603260'); setsysparam(pn_cycle(),cy_day()); Setsysparam(pn_date(),endt); setsysparam(pn_rate(),1); setsysparam(pn_rateday(),endt); return DSMA_II(@close(),@stockhsl3()/100); //不做缓存 ``` //结果:64.7879157815069 范例02: ```text //取股票在一段时间内收盘价的动态移动平均。 begt:=20180801T; endt:=20180827T; Setsysparam(pn_stock(),'SH603260'); setsysparam(pn_cycle(),cy_day()); Setsysparam(pn_date(),endt); setsysparam(pn_rate(),1); setsysparam(pn_rateday(),endt); n:=tradedays(begt,endt); return nday(n,'date',sp_time(),'dma',DSMA_II(@close(),@stockhsl3()/100,'close&stockhsl3')); //缓存 ``` //结果:
date dma
2018-08-01 71.389605
2018-08-02 71.036233
2018-08-03 70.791032
2018-08-06 69.995466
2018-08-07 69.286921
2018-08-08 68.635414
2018-08-09 68.112177
2018-08-10 67.714617
2018-08-13 67.430301
2018-08-14 67.222879
2018-08-15 66.991303
2018-08-16 66.754820
2018-08-17 66.086628
2018-08-20 65.782006
2018-08-21 65.530975
2018-08-22 65.322343
2018-08-23 65.124006
2018-08-24 64.955957
2018-08-27 64.787916
范例03: ```text setsysparam(pn_stock(),'SZ002926');//SZ002926 setsysparam(pn_date(),20200113T); //20180312T setsysparam(pn_rate(),1); setsysparam(pn_rateday(),20200113T); N:=30; AA:=@(2*CLOSE()+LOW()+HIGH())/4; BB:=@MA(CLOSE(),N); CC:=@(ABS(eval(AA)-eval(BB))/eval(BB)); DD:=@stockzf3()/100; //第三个参数:若需要缓存,请注意,缓存标志是用户自己定义的串,不同表达式(表达式一,表达式二有任何不一致时)缓存字符串必须不一样,否则会计算错误 //第四个参数:只向历史推导100次->对于表达式算法较为复杂的可考虑此用法 t1:= DSMA_II(AA,CC,'aa'); t2:= DSMA_II(AA,CC,'cc',100); t3:= DSMA_II(AA,DD,'dd',100); return array(t1,t2,t3); //结果:array(10.65002510798311,10.6416859095779,9.390332085877599) ``` ####### Weightedma 算法WMA=(1*EXP1+2*EXP2+...N\*EXPN)/(1+2+...+N) N需要大于等1,否则返回0, 若N大于上市日至当前时间的交易天数T,则N等于T。范例 ```text setsysparam(pn_stock(),'SZ000002'); setsysparam(pn_date(),20210629T); setsysparam(pn_rate(),1); setsysparam(pn_rateday(),20210629T); return WeightedMA(@close(),180); //28.3411325966851 ``` ####### Hullma 算法HMA = WMA((2\*WMA(EXP, int(N/2)) – WMA(EXP, N)), int(sqrt(N)))。范例 ```text setsysparam(pn_stock(),'SZ000002'); setsysparam(pn_date(),20210629T); setsysparam(pn_rate(),1); setsysparam(pn_rateday(),20210629T); return HullMA(@close(),180); //26.5981426744856 ``` ###### 图形 ####### 内容 - ACD - AMV - CMA - EXPMA - HMA - BBIBOLL - BBI - LMa - VMa ####### ACD 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ACD(20,5); ``` //结果: ####### AMV 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return AMV(5,10,30); ``` //结果: ####### CMA 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return CMA(5,10,30); ``` //结果: ####### EXPMA 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return EXPMA(5,10,30,60); ``` //结果: ####### HMA 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return HMA(5,10,30); ``` //结果: ####### BBIBOLL 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return BBIBOLL(11,6); ``` //结果: ####### BBI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return BBI(3,6,12,24); ``` //结果: ####### LMa 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return LMa(5,10,30); ``` //结果: ####### VMa 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return VMa(5,10,30); ``` //结果: ###### 当前值 ####### 内容 - VMa_v - BBI_v - CMa_v - Ema_v - AMVMa_v - HMa_v - LMa_v - BBIBOLL_v - BBIUPR_v - BBIDWN_v - ACD_v - ACDMa_v ####### VMa_v 算法 (1)HF=(最高价+开盘价+最低价+收盘价)/4; (2)变异移动平均VMA =HF的M日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的变异移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); M:=12; v:=VMa_v(M); return v; ``` //结果:7.14 ####### BBI_v 算法 多空指标=(收盘价的N1日简单平均+收盘价的N2日简单平均+ 收盘价的N3日简单平均+ 收盘价的N4日简单平均)/4。范例 ```text //计算白云机场截止日2011年9月8日的多空指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=3; N2:=6; N3:=12; N4:=24; v:=BBI_v(N1,N2,N3,N4); return v; ``` //结果:7.18 ####### CMa_v 算法 MA =(P1+P2+...+PN) / N; 其中,P为N日收盘价。范例 ```text //计算白云机场截止日2011年9月8日的23日平均收盘价。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=CMa_v(N); return v; ``` //结果:7.2 ####### Ema_v 算法 EMA =P*K+EMA’ *(1-K); 其中,P为当日收盘价,EMA’为前一日指数移动平均值,K=2/(N+1)。范例 ```text //计算白云机场截止日2011年9月8日的23日收盘价移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=Ema_v(N); return v; ``` //结果:7.26 ####### AMVMa_v 算法 (1)AMOV =成交量\*(开盘价+收盘价)/2; (2)AMVMA=AMOV的N日累计之和/成交量的N日累计之和。范例 ```text //计算白云机场截止日2011年9月8日的5日成本价均线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=5; v:=AMVMa_v(N); return v; ``` //结果:7.22 ####### HMa_v 范例 ```text //计算白云机场截止日2011年9月8日的最高价简单平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=HMa_v(N); return v; ``` //结果:7.25 ####### LMa_v 范例 ```text //计算白云机场截止日2011年9月8日的23日最低价移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=LMa_v(N); return v; ``` //结果:7.12 ####### BBIBOLL_v 算法 BBIBOLL=(收盘价的3日简单平均+收盘价的6日简单平均+收盘价的12日简单平均+收盘价的24日简单平均)/4。范例 ```text //计算白云机场截止日2011年9月8日的BBIBOLL线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=11; M:=6; v:=BBIBOLL_v(N,M); return v; ``` //结果:7.18 ####### BBIUPR_v 算法 (1)BBIBOLL=(3日收盘价简单平均+6日收盘价简单平均+12日收盘价简单平均+24日收盘价简单平均)/4; (2)UPR=BBIBOLL+M\*BBIBOLL的N日标准差。范例 ```text //计算白云机场截止日2011年9月8日的BBIBOLL上轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=11; M:=6; v:=BBIUPR_v(N,M); return v; ``` //结果:7.50 ####### BBIDWN_v 算法 (1)BBIBOLL=(3日收盘价简单平均+6日收盘价简单平均+12日收盘价简单平均+24日收盘价简单平均)/4; (2)DWN=BBIBOLL- M\*BBIBOLL的N日标准差。范例 ```text //计算白云机场截止日2011年9月8日的BBIBOLL下轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=11; M:=6; v:=BBIDWN_v(N,M); return v; ``` //结果:6.87 ####### ACD_v 算法 (1)若收盘价>昨日收盘价,DIF=收盘价-最低价和昨日收盘价的较小值; (2)若收盘价=昨日收盘价,DIF=0; (3)若收盘价<=昨日收盘价,DIF=收盘价-最高价和昨日收盘价的较大值; (4)ACD=DIF的N日累计之和;范例 ```text //计算白云机场截止日2011年9月8日的升降线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=ACD_v(N); return v; ``` //结果:0.31 ####### ACDMa_v 算法 (1)若收盘价>昨日收盘价,DIF=收盘价-最低价和昨日收盘价的较小值; (2)若收盘价=昨日收盘价,DIF=0; (3)若收盘价<=昨日收盘价,DIF=收盘价-最高价和昨日收盘价的较大值; (4)ACD=DIF的N日累计之和; (5)ACDMA=ACD的M日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的升降线移动平均。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; M:=20; v:=ACDMa_v(N,M); return v; ``` //结果:-0.72 ##### 离散指标 ###### 内容 - 计算公式 - 图形 - 当前值 ###### 计算公式 ####### 内容 - BOLL_f - ENE_f - MIKE_f - BOLL_f_Ex ####### BOLL_f ####### ENE_f ####### MIKE_f 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均(Ma); (3)HH =3日(N日最高的最高价)的指数移动平均(EMa); (4)LL =3日(N日最低的最低价)的指数移动平均; (5)STOR =3日(2\*HH-LL)的指数移动平均; (6)STOS =3日(2\*LL-HH)的指数移动平均; (7)WEKR =3日(2\*MID-LL)的指数移动平均; (8)WEKS =3日(2\*MID-HH)的指数移动平均; (9)MIDS =3日(MID-HH+LL)的指数移动平均; (10)MIDR =3日(MID+HH-LL)的指数移动平均; (11)Type=0,返回当前时间的STOR、MIDR、WEKR、WEKS、MIDS、STOS; (12)Type=1,返回当前时间往前推共nDay个STOR、MIDR、WEKR、WEKS、MIDS、STOS序列;nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止日2011年9月8日的麦克支撑压力。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_rate(),0); //不复权 N:=10; v:=MIKE_f(N,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止日2011年9月8日向前推总共5天的麦克支撑压力。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); Setsysparam(pn_nDay(),5); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_rate(),0); //不复权 N:=10; v:=MIKE_f(N,1); return v; ``` //结果: ####### BOLL_f_Ex 算法 (1)BOLL=N日的收盘价简单平均; (2)UPR=BOLL+P\*N天收盘价的标准差; (3)DWN=BOLL-P\*N天收盘价的标准差; (4)Type=0,返回当前时间的BOLL、UPR、DWN; (5)Type=1,返回当前时间往前推共nDay个BOLL、UPR、DWN序列; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止日2011年9月8日的布林线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; P:=2 v:=BOLL_f_Ex(N,0,P); return v; ``` //结果: 范例二: ```text //计算白云机场截止日2011年9月8日向前推总共5天的布林线序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); Setsysparam(pn_nDay(),5); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; P:=2; v:=BOLL_f_Ex(N,1,P); return v; ``` //结果: 范例三: ```text //计算白云机场2011年9月8日的收盘价是否上穿DWN。 SetSysParam(pn_stock(),'SH600004'); SetSysParam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=20; P:=2; v:=BOLL_f_Ex(N,2,P); Return v; ``` //结果:0,即当日收盘价未突破DWN ###### 图形 ####### 内容 - BOLL - ENE - MIKE ####### BOLL 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return BOLL(20); ``` //结果: ####### ENE 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ENE(10,6,6); ``` //结果: ####### MIKE 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MIKE(10); ``` //结果: ###### 当前值 ####### 内容 - MIKEWEKR_v - MIKEWEKS_v - MIKEMIDR_v - MIKEMIDS_v - MIKESTOR_v - MIKESTOS_v - ENEUPR_v - ENEDWN_v - ENE_v - BOLL_v - BOLLUPR_v - BOLLDWN_v - BOLL_v_Ex - BOLLUPR_v_Ex - BOLLDWN_v_Ex ####### MIKEWEKR_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)WEKR =(2\*MID-LL)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-初级压力线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKEWEKR_v(N); return v; ``` //结果:7.29 ####### MIKEWEKS_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)WEKS =(2\*MID-HH)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-初级支撑线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKEWEKS_v(N); return v; ``` //结果:6.87 ####### MIKEMIDR_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)MIDR =(MID+HH-LL)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-中级压力线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKEMIDR_v(N); return v; ``` //结果:7.54 ####### MIKEMIDS_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)MIDS =(MID-HH+LL)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-中级支撑线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKEMIDS_v(N); return v; ``` //结果:6.7 ####### MIKESTOR_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)STOR =(2\*HH-LL)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-强力压力线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKESTOR_v(N); return v; ``` //结果:7.78 ####### MIKESTOS_v 算法 (1)M =(昨最高价+昨最低价+昨收盘价 )/3; (2)MID =M的N日简单平均; (3)HH =N日最高的最高价的3日指数移动平均; (4)LL =N日最低的最低价的3日指数移动平均; (5)STOS=(2\*LL-HH)的3日指数移动平均。范例 ```text //计算白云机场截止日2011年9月8日的麦克支撑压力-强力支撑线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=MIKESTOS_v(N); return v; ``` //结果:6.52 ####### ENEUPR_v 算法 UPPER =(1+M1/100)\*收盘价的N日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的轨道线上轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=25; M1:=6 M2:=6; v:=ENEUPR_v(N,M1,M2); return v; ``` //结果:7.22 ####### ENEDWN_v 算法 LOWER =(1-M2/100)\*收盘价的N日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的轨道线下轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=25; M1:=6 M2:=6; v:=ENEDWN_v(N,M1,M2); return v; ``` //结果:6.78 ####### ENE_v 算法 (1)UPPER =(1+M1/100)\*收盘价的N日简单平均; (2)LOWER =(1-M2/100)\*收盘价的N日简单平均; (3)ENE =(UPPER+LOWER)/2。范例 ```text //计算白云机场截止日2011年9月8日的轨道线中轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=25; M1:=6 M2:=6; v:=ENE_v(N,M1,M2); return v; ``` //结果:7.22 ####### BOLL_v 算法 BOLL=收盘价的N日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的布林线中轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; v:=BOLL_v(N); return v; ``` //结果:7.19 ####### BOLLUPR_v 算法 (1)BOLL=收盘价的N日简单平均; (2)UPR=BOLL+2\*收盘价的N日标准差。范例 ```text //计算白云机场截止日2011年9月8日的布林线上轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; v:=BOLLUPR_v(N); return v; ``` //结果:7.58 ####### BOLLDWN_v 算法 BOLL=收盘价的N日简单平均; DWN=BOLL-2\*N天收盘价的标准差。范例 ```text //计算白云机场截止日2011年9月8日的布林线下轨。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; v:=BOLLDWN_v(N); return v; ``` //结果:6.80 ####### BOLL_v_Ex 算法 BOLL=收盘价的N日简单平均。范例 ```text //计算白云机场截止日2011年9月8日的布林线中轨2。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; P:=2; v:=BOLL_v_Ex(N,P); return v; ``` //结果:7.19 ####### BOLLUPR_v_Ex 算法 (1)BOLL=收盘价的N日简单平均; (2)UPR=BOLL+P\*收盘价的N日标准差。范例 ```text //计算白云机场截止日2011年9月8日的布林线上轨2。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; P:=2; v:=BOLLUPR_v_Ex(N,P); return v; ``` //结果:7.58 ####### BOLLDWN_v_Ex 算法 (1)BOLL=收盘价的N日简单平均; (2)DWN=Z1-BOLL\*收盘价的N日标准差。范例 ```text //计算白云机场截止日2011年9月8日的布林线下轨2。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=20; P:=2; v:=BOLLDWN_v_Ex(N,P); return v; ``` //结果:6.80 ##### 能量指标 ###### 内容 - 计算公式 - 图形 - 当前值 ###### 计算公式 ####### 内容 - AR_f - BR_f - CR_f - CYR_f - Mass_f - PCNT_f - PSY_f - VR_f - WAD_f ####### AR_f 算法 X1=N日最高价累计之和– N日开盘价累计之和; X2=N日开盘价累计之和– N日最低价累计之和; AR=X1/X2\*100; Type=0,返回当前时间的人气意愿指标AR; Type=1,返回当前时间往前推共nDay个人气意愿指标AR序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的人气意愿指标AR。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=AR_f(N,0); return v; //结果:155.08 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的人气意愿指标AR序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=AR_f(N,1); return v; ``` //结果: ####### BR_f 算法 若最高价>昨收盘价,X1=最高价-最昨收盘价; 若最高价<=昨收盘价,X1=0; 若最低价<昨收盘价,X2=昨收盘价-最低价; 若最低价>=昨收盘价,X2=0; BR=(N日X1累计之和)/(N日X2累计之和)\*100; Type=0,返回当前时间的人气意愿指标BR; Type=1,返回当前时间往前推共nDay个人气意愿指标BR序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的人气意愿指标BR。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=BR_f(N,0); return v; //结果:113.5 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的人气意愿指标BR序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=BR_f(N,1); return v; ``` //结果: ####### CR_f 算法 EX=(昨最高价+昨最低价)/2; 若最高价>EX,V1=最高价-EX; 若最高价<=EX,V1=0; 若最低价=EX,V2=0; CR=(N日V1累计之和)/(N日V2累计之和)\*100; Type=0,返回当前时间的带状能量线; Type=1,返回当前时间往前推共nDay个带状能量线序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的带状能量线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=CR_f(N,0); return v; //结果:118.47 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的带状能量线序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=CR_f(N,1); return v; ``` //结果: ####### CYR_f ####### Mass_f ####### PCNT_f ####### PSY_f 算法 Z=N日上涨天数/N\*100; Type=0,返回当前时间的Z; Type=1,返回当前时间往前推共nDay个Z序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的心理线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=PSY_f(N,0); return v; //结果:43.48 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的心理线序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=PSY_f(N,1); return v; ``` //结果: ####### VR_f ####### WAD_f 算法 MIDA=收盘价-昨收盘价与最低价的较小值; 若收盘价<昨收盘价,MIDB=收盘价-昨收盘价与最高价的较大值; 若收盘价>=昨收盘价,MIDB=0; 若收盘价>昨收盘价,X=MIDA; 若收盘价<=昨收盘价,X=MIDB; 若N<>0,Z=N日的X累计之和; 若N=0,Z=上市以来的X累计之和; Type=0,返回当前时间的Z; Type=1,返回当前时间往前推共nDay个Z序列。 nDay由系统参数PN_nDay()设置,默认值为180。 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()、执行点数PN_nDay()相关范例 范例一: ```text //计算白云机场截止日2011年9月8日的威廉多空力度。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=WAD_f(N,0); return v; //结果:0.31 ``` 范例二: ```text //计算白云机场截止2011年9月8日向前推共5天的威廉多空力度序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_nday(),5); N:=23; v:=WAD_f(N,1); return v; ``` //结果: ###### 图形 ####### 内容 - MaSS - ARBR - CR - VOSC - AD - CYR - PCNT - VR - PSY - WAD - VRSI - VROC - CDP ####### MaSS 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MaSS(9,25,6); ``` //结果: ####### ARBR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ARBR(24,6); ``` //结果: ####### CR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return CR(26); ``` //结果: ####### VOSC 范例 ```text Return VOSC('SH000001',inttodate(20140101), inttodate(20140123),12,26); ``` //结果: ####### AD 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return AD(10); ``` //结果: ####### CYR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return CYR(13,6); ``` //结果: ####### PCNT 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return PCNT(5,6); ``` //结果: ####### VR 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return VR(26,6); ``` //结果: ####### PSY 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return PSY(12); ``` //结果: mcd ####### WAD 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return WAD(24,6); ``` //结果: ####### VRSI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return VRSI(6); ``` //结果: ####### VROC 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return VROC(12,6); ``` //结果: ####### CDP 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return CDP(); ``` //结果: ###### 当前值 ####### 内容 - MaSS_v - AR_v - BR_v - CR_v - PSY_v - PCNT_v - VR_v - CYR_v - WAD_v ####### MaSS_v 算法 (1)DIF =最高价-最低价; (2)AHL =DIF的N1日简单平均; (3)BHL =AHL的N1日简单平均; (4)MASS =AHL/BHL的N2日累计之和。范例 ```text //计算白云机场截止日2011年9月8日的梅斯线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N1:=9; N2:=25; v:=MaSS_v(N1,N2); return v; ``` //结果:23.33 ####### AR_v 算法 X1=(最高价-开盘价)的N日累计之和; X2=(开盘价-最低价)的N日累计之和; AR=X1/X2\*100。范例 ```text //计算白云机场截止日2011年9月8日的人气指标AR。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=26; v:=AR_v(N); return v; ``` //结果:117.86 ####### BR_v 算法 若最高价>昨收盘价,X1=最高价-最昨收盘价; 若最高价<=昨收盘价,X1=0; 若最低价<昨收盘价,X2=昨收盘价-最低价; 若最低价>=昨收盘价,X2=0; BR=(X1的N日累计之和)/(X2的N日累计之和)\*100。范例 ```text //计算白云机场截止日2011年9月8日的意愿指标BR值。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=26; v:=BR_v(N); return v; ``` //结果:84.35 ####### CR_v 算法 (1)EX=(昨最高价+昨最低价)/2; (2)若最高价>EX,X1=最高价-EX; 若最高价<=EX,X1=0; (3)若最低价=EX,X2=0; (4)CR=(X1的N日累计之和)/(X2的N日累计之和)\*100。范例 ```text //计算白云机场截止日2011年9月8日的带状能量线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=26; v:=CR_v(N); return v; ``` //结果:91.81 ####### PSY_v 算法 心理线PSY =N日上涨天数/N\*100。范例 ```text //计算白云机场截止日2011年9月8日的心理线。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=12; v:=PSY_v(N); return v; ``` //结果:41.67 ####### PCNT_v 算法 幅度比 =(收盘价-昨收盘价)/收盘价\*100。范例 ```text //计算白云机场截止日2011年9月8日的幅度比。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=10; v:=PCNT_v(N); return v; ``` //结果:3.6 ####### VR_v 算法 (1)若收盘价>昨收盘价,B=成交量,L=E=0; (2)若收盘价<昨收盘价,B=0,L=成交量,E=0; (3)若收盘价=昨收盘价,B=0,L=0,E=成交量; (4)EXB=B的N日累计之和; (5)EXL=L的N日累计之和; (6)EXE=E的N日累计之和; (7)成交量变异率VR=(EXB*2+EXE)/(EXL*2+EXE)\*100。范例 ```text //计算白云机场截止日2011年9月8日的成交量变异率。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=24; v:=VR_v(N); return v; ``` //结果:110.56 ####### CYR_v 算法 (1)EX =成交金额的N日指数移动平均(ema)/N日的成交量指数移动平均值(ema); (2)市场强弱CYR =(当日EX/昨日EX-1)-1。范例 ```text //计算白云机场截止日2011年9月8日的市场强弱。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=13; v:=CYR_v(N); return v; ``` //结果:1.12 ####### WAD_v 算法 (1)若收盘价>昨收盘价,X=收盘价-昨收盘价与最低价的较小值; 若收盘价<昨收盘价,X=收盘价-昨收盘价与最高价的较大值; 若收盘价=昨收盘价,X=0; (2)若N<>0,WAD=X的N日累计之和; 若N=0,WAD=上市以来的X累计之和。范例 ```text //计算白云机场截止日2011年9月8日的威廉多空力度。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=23; v:=WAD_v(N); return v; ``` //结果:0.8 ##### 技术指标选股 ###### 内容 - MaGd_SS - 中间函数 ###### MaGd_SS 范例 ```text SetSysParam(pn_date(),inttodate(20140123)); Return MaGd_SS("深证A股;上证A股",5,0.01,2); ``` //结果: ###### 中间函数 ####### 内容 - Xg_Model2_Call - Xg_Model2_Call2 ####### Xg_Model2_Call 范例 ```text Return Xg_Model2_Call("深证A股;上证A股", inttodate(20140123),5,10,1); ``` //结果: ####### Xg_Model2_Call2 范例 ```text Return Xg_Model2_Call2("深证A股;上证A股",inttodate(20140101), inttodate(20140123),5,10,1,1); ``` //结果: ##### 趋势指标 ###### 内容 - 图形 - 当前值 - 计算公式 ###### 图形 ####### 内容 - ASI - CHO - DMI - DMA - EMV - MACD - DPO - UOS - WVAD - TRIX - VPT - XUECH ####### ASI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return ASI(20); ``` //结果: ####### CHO 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return CHO(10,20,6); ``` //结果: ####### DMI 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return DMI(14); ``` //结果: ####### DMA 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return DMA(10,50,6); ``` //结果: ####### EMV 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return EMV(14,6); ``` //结果: ####### MACD 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return MACD(12,26,6); ``` //结果: ####### DPO 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20130123)); Return DPO(14,6); ``` //结果: ####### UOS 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20130123)); Return UOS(7,14,28,6); ``` //结果: ####### WVAD 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20130123)); Return WVAD(24,6); ``` //结果: ####### TRIX 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20130123)); Return TRIX(12,6); ``` //结果: ####### VPT 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20130123)); Return VPT(51,6); ``` //结果: ####### XUECH 范例 ```text SetSysParam(PN_Stock(),'SZ000001'); SetSysParam(pn_date(),20130101T); return XUECH(107,6); ``` 结果: ###### 当前值 ####### 内容 - WVAD_v - CCI_v - UOS_v - UOS_MA_v - DMI_MDI_v - DMI_PDI_v - DBCD_v - VPT_v - CHO_v - DMA_v - DPO_v - TRIX_v - EMV_v - ASI_v - XDQR_XDQR_v - MACD_DIF_v - MACD_DEA_v - MACD_MACD_v - SAR_v ####### WVAD_v 算法 (1)X =(收盘价-开盘价)/(最高价-最低价)\*成交量; (2)WVAD= X的N日累计之和/10000。范例 ```text //计算白云机场截止2011年9月8日的威廉变异离散量。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=24; V:=WVAD_v(N); return v; ``` //结果:1097.05 ####### CCI_v 算法 (1)P =(最高价+最低价+收盘价)/3; (2)V = P的N日简单平均; (3)Q =|P-V|; (4)AVE = Q的N日累计之和; (5)CCI =(P-V)*100 /(1.5*AVE)。范例 ```text //计算白云机场截止2011年9月8日的顺势指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:= CCI_v(N); return v; ``` //结果:176.81 ####### UOS_v 算法 (1)TH =最高价和昨收盘价中的较大值; (2)TL =最低价和昨收盘价中的较小值; (3)P =收盘价-TL; (4)Q =TH-TL; (5)ACC1 =P的N1日累计之和 / Q的N1日累计之和; (6)ACC2 =P的N2日累计之和 / Q的N2日累计之和; (7)ACC3 =P的N3日累计之和 / Q的N3日累计之和; (8)UOS =(ACC1*N2*N3+ACC2*N1*N3+ACC3*N1*N2)*100 /(N1*N2+N1*N3+N2*N3)。范例 ```text //计算白云机场截止2011年9月8日的终极指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=7; N2:=14; N3:=28; v:=UOS_v(N1,N2,N3); RestoreSystemParameters(oV); return v; ``` //结果:63.61 ####### UOS_MA_v 算法 (1)TH =最高价和昨收盘价中的较大值; (2)TL =最低价和昨收盘价中的较小值; (3)P =收盘价-TL; (4)Q =TH-TL; (5)ACC1 =P的N1日累计之和 / Q的N1日累计之和; (6)ACC2 =P的N2日累计之和 / Q的N2日累计之和; (7)ACC3 =P的N3日累计之和 / Q的N3日累计之和; (8)UOS =(ACC1*N2*N3+ACC2*N1*N3+ACC3*N1*N2)*100 /(N1*N2+N1*N3+N2*N3); (9)MAUOS =M日UOS的简单平均。范例 ```text //计算白云机场截止2011年9月8日的终极指标的简单平均。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=7; N2:=14; N3:=28; M:=6; v:=UOS_MA_v(N1,N2,N3,M); RestoreSystemParameters(oV); return v; ``` //结果:43.54 ####### DMI_MDI_v 算法 (1)P =(最高价-最低价)和 |最高价-昨收盘价)中的较大值 (2)TR =P和 |最低价-昨收盘价)中的较大值的N日累计之和; (3)HD =最高价-昨日最高价; (4)LD =昨日最低价-最低价; (5)若LD>0且LD>HD,则MM =LD,否则MM =0; (6)DMM =N日MM累计之和; (7)MDI =DMM\*100 / TR。范例 ```text //计算白云机场截止2011年9月8日的趋向指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=12; v:= DMI_MDI_v(N); RestoreSystemParameters(oV); return v; ``` //结果:18.67 ####### DMI_PDI_v 算法 (1)P =(最高价-最低价)和 |最高价-昨收盘价)中的较大值 (2)TR =P和 |最低价-昨收盘价)中的较大值的N日累计之和; (3)HD =最高价-昨日最高价; (4)LD =昨日最低价-最低价; (5)若HD>0且HD>LD,则MP =HD,否则MD =0; (6)DMP =N日MD累计之和; (7)PDI =DMP\*100 / TR。范例 ```text //计算白云机场截止2011年9月8日的趋向指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=12; v:= DMI_PDI_v(N); RestoreSystemParameters(oV); return v; ``` //结果:45.78 ####### DBCD_v 算法 BIAS =(收盘价-收盘价的NI日简单平均)/ 收盘价的N1日简单平均\*100; DIF =BIAS - 前N2日BIAS; DBCD=DIF的M日平滑移动平均,权重为1。范例 ```text //计算白云机场截止2011年9月8日的异同离差乖离率。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=5; N2:=16; M:=17; v:=DBCD_v(N1,N2,M); RestoreSystemParameters(oV); return v; ``` //结果:0.37 ####### VPT_v 算法 (1)P =成交量\*(收盘价-昨收盘价)/昨收盘价; (2)Z =P的N日累计之和; (3)若N=0,则N=上市日到当前时间的交易日数,否则N以实际赋值为准。范例 ```text //计算白云机场截止2011年9月8日的量价曲线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=51; v:=VPT_v(N); RestoreSystemParameters(oV); return v; ``` //结果:449829.01 ####### CHO_v 算法 (1)N =上市日到当前时间的交易日数; (2)P =成交量*(2*收盘价-最高价-最低价)/(最高价+最低价); (3)Ex =P的N日累计之和; (4)CHO=Ex的N1日简单平均 - Ex的N2日简单平均。范例 ```text //计算白云机场截止2011年9月13日的佳庆指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=10; N2:=20; v:=CHO_v(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:16787.25 ####### DMA_v 算法 DMA =N1日收盘价的简单平均-N2日收盘价的简单平均。范例 ```text //计算白云机场截止2011年9月13日的收盘价平均差。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=10; N2:=20; v:=DMA_v(N1,N2); RestoreSystemParameters(oV); return v; ``` //结果:0.01 ####### DPO_v 算法 DPO =收盘价 - 前N/2+1日的收盘价的N日均值。范例 ```text //计算白云机场截止2011年9月13日的区间震荡线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=20; v:=DPO_v(N); RestoreSystemParameters(oV); return v; ``` //结果:-0.08 ####### TRIX_v 算法 Ex1 =收盘价的N日指数移动平均(ema); Ex2 =Ex1的N日指数移动平均(ema); Ex =Ex2的N日指数移动平均(ema); Z =(Ex - 昨日Ex)/ 昨日Ex\*100。范例 ```text //计算白云机场截止2011年9月13日的三重指数平均线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=12; v:=TRIX_v(N); RestoreSystemParameters(oV); return v; ``` //结果:-0.19 ####### EMV_v 算法 (1)Z1 =成交量的N日简单平均 / 成交量; (2)Z2 =(最高价+最低价-昨日最高价-昨日最低价)/(最高价+最低价)\*100; (3)Z3 =Z2*Z1*(最高价-最低价)/最高价-最低价的N日简单平均; (4)EMV =Z3的N日简单平均。范例 ```text //计算白云机场截止2011年9月13日的波动指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=14; v:=EMV_v(N); RestoreSystemParameters(oV); return v; ``` //结果:0.18 ####### ASI_v 算法 (1)ZF =(收盘价-昨日收盘价)/昨日收盘价; (2)ASI =ZF\*VOL的N日累计之和。范例 ```text //计算白云机场截止2011年9月13日的价量趋势。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=10; v:= ASI_v(N); RestoreSystemParameters(oV); return v; ``` //结果:198368.63 ####### XDQR_XDQR_v 算法 (1)P =收盘价的N1日简单平均; (2)zf1 =(P /前N2日的(P - 1))\*100; (3)zf2 =当前股票的zf1; (4)v1 = zf1的M日简单平均; (5)v2 = zf2的M日简单平均; (6)相对强弱v3 =v1-v2,v3>0,则强于大盘,v3<0,则弱于大盘。范例 ```text //计算白云机场截止2011年9月13日的相对强弱。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=13; N2:=7; M:=5; v:=XDQR_XDQR_v(N1,N2,M); RestoreSystemParameters(oV); return v; ``` //结果:0.32 ####### MACD_DIF_v 算法 DIF =Short日收盘价的移动平均 - Long日收盘价的移动平均。范例 ```text //计算白云机场截止2011年9月8日的平滑移动平均DIF线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Short:=12; Long:=26; M:=9; v:=MACD_DIF_v(Short,Long,M); RestoreSystemParameters(oV); return v; ``` //结果:-0.1 ####### MACD_DEA_v 算法 (1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均; (2)DEA =DIF的M日移动平均。范例 ```text //计算白云机场截止2011年9月8日的平滑移动平均DEA线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Short:=12; Long:=26; M:=9; v:=MACD_DEA_v(Short,Long,M); RestoreSystemParameters(oV); return v; ``` //结果:-0.15 ####### MACD_MACD_v 算法 (1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均; (2)DEA =DIF的M日移动平均; (3)MACD =2\*(DIF - DEA)。范例 ```text //计算白云机场截止2011年9月8日的平滑移动平均MACD线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Short:=12; Long:=26; M:=9; v:=MACD_MACD_v(Short,Long,M); RestoreSystemParameters(oV); return v; ``` //结果:0.1 ####### SAR_v 范例 ```text //计算白云机场截止2011年9月13日的抛物线指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_nday(),5); v:=SAR_v(4,2,2,20,0); RestoreSystemParameters(oV); return v; ``` //结果:7.01 ###### 计算公式 ####### 内容 - WVAD_f - CCI_f - UOS_f - DMI_f - DBCD_f - VPT_f - CHO_f - DMA_f - DPO_f - TRIX_f - EMV_f - ASI_f - XDQR_f - MACD_f - MACD_Ex - SAR_f - Xuech1_f - Tower_f - Gettower - XUECH_f ####### WVAD_f 算法 (1)X =(收盘价-开盘价)/(最高价-最低价)\*成交量; (2)Z = N日X累计之和/10000; (3)ZMA =M日Z的简单平均; (4)Type=0,返回当前时间的威廉变异离散量Z、ZMA值; (5)Type=1,返回当前时间往前推共nDay个威廉变异离散量Z、ZMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月8日的威廉变异离散量。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=24; M:=6; V:=WVAD_f(N,M,0); return v; ``` //结果: 范例二: ```text //计算白云机场截止2011年9月8日的向前推共5日威廉变异离散量序列。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); SetSysParam(pn_nday(),5); N:=24; M:=6; V:=WVAD_f(N,M,1); Return v; ``` //结果: ####### CCI_f 算法 (1)P =(最高价+最低价+收盘价)/3; (2)V = N日P的简单平均; (3)Q =|P-V|; (4)AVE = Q的N日累计之和; (5)顺势指标 =(P-V)*100 /(1.5*AVE); (6)Type=0,返回当前时间的顺势指标值(一维数组); (7)Type=1,返回当前时间的顺势指标值。范例 ```text //计算白云机场截止2011年9月8日的顺势指标。 oV:=BackUpSystemParameters2(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_date(),inttodate(20110908)); N:=6; v:= CCI_f (N,1); RestoreSystemParameters(oV); return v; ``` //结果:176.81 ####### UOS_f 算法 (1)TH =最高价和昨收盘价中的较大值; (2)TL =最低价和昨收盘价中的较小值; (3)P =收盘价-TL; (4)Q =TH-TL; (5)ACC1 =N1日P的累计之和 / N1日Q的累计之和; (6)ACC2 =N2日P的累计之和 / N2日Q的累计之和; (7)ACC3 =N3日P的累计之和 / N3日Q的累计之和; (8)UOS =(ACC1*N2*N3+ACC2*N1*N3+ACC3*N1*N2)*100 /(N1*N2+N1*N3+N2*N3); (9)MAUOS =M日UOS的简单平均; (10)Type=0,返回当前时间的终极指标UOS、MAUOS; (11)Type=1,返回当前时间往前推共nDay个终极指标UOS、MAUOS的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 返回结果(部分结果截图): ```text //计算白云机场截止2011年9月8日的终极指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=7; N2:=14; N3:=28; M:=6; v:=UOS_f(N1,N2,N3,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text //计算白云机场截止2011年9月8日的向前推共5日的终极指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N1:=7; N2:=14; N3:=28; M:=6; v:=UOS_f(N1,N2,N3,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### DMI_f 算法 (1)P =(最高价-最低价)和 |最高价-昨收盘价)中的较大值 (2)TR =P和 |最低价-昨收盘价)中的较大值的N日累计之和; (3)HD =最高价-昨日最高价; (4)LD =昨日最低价-最低价; (5)若HD>0且HD>LD,则MP =HD,否则MD =0; (6)若LD>0且LD>HD,则MM =LD,否则MM =0; (7)DMP =N日MD累计之和; (8)DMM =N日MM累计之和; (9)PDI =DMP\*100 / TR; (10)MDI =DMM\*100 / TR; (11)ADX =|MDI-PDI| / (MDI+PDI)\*100 的M日简单平均; (12)ADXR =(ADX+前M日ADX)/2; (13)Type=0,返回当前时间的PDI、MDI、ADX、ADXR; (14)Type=1,返回当前时间往前推共nDay个PDI、MDI、ADX、ADXR的区间序列值;nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月8日的趋向指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=14; M:=6; v:= DMI_f(N,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月8日向前推共5日的趋向指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=14; M:=6; v:= DMI_f(N,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### DBCD_f 算法 (1)BIAS =(收盘价-NI日收盘价的简单平均)/N1日收盘价的简单平均\*100; (2)DIF =BIAS - 前N2日BIAS; (3)DBCD=DIF的M日平滑移动平均; (4)Type=0,返回当前时间的DBCD; (5)Type=1,返回当前时间往前推共nDay个DBCD的区间序列值;nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月8日的异同离差乖离率。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=5; N2:=16; M:=17; v:=DBCD_f(N1,N2,M,0); RestoreSystemParameters(oV); return v; ``` //结果:0.37 范例二: ```text ///计算白云机场截止2011年9月8日向前推共5日的异同离差乖离率。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N1:=5; N2:=16; M:=17; v:=DBCD_f(N1,N2,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### VPT_f 算法 (1)P =成交量\*(收盘价-昨收盘价)/昨收盘价; (2)Z =N日P的累计之和; (3)ZMA=Z的M日简单平均; (4)若N=0,则N=上市日到当前时间的交易日数,否则N以实际赋值为准; (5)Type=0,返回当前时间的Z、ZMA; (6)Type=1,返回当前时间往前推共nDay个Z、ZMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月8日的量价曲线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=51; M:=6; v:=VPT_f(N,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月8日向前推共5日的量价曲线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=51; M:=6; v:=VPT_f(N,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### CHO_f 算法 (1)N =上市日到当前时间的交易日数; (2)P =成交量*(2*收盘价-最高价-最低价)/(最高价+最低价); (3)Ex =N日P的累计之和; (4)CHO=N1日Ex的简单平均 - N2日Ex的简单平均; (5)CHOMa =M日CHO的简单平均; (6)Type=0,返回当前时间的CHO、CHOMa; (7)Type=1,返回当前时间往前推共nDay个Z、ZMACHO、CHOMa的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的佳庆指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=10; N2:=20; M:=3; v:=CHO_f(N1,N2,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的佳庆指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N1:=10; N2:=20; M:=3; v:=CHO_f(N1,N2,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### DMA_f 算法 (1)Z =N1日收盘价的简单平均-N2日收盘价的简单平均; (2)ZMA =M日Z的简单平均; (3)Type=0,返回当前时间的Z、ZMA; (4)Type=1,返回当前时间往前推共nDay个Z、ZMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的收盘价平均差。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=10; N2:=20; M:=3; v:=DMA_f(N1,N2,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的收盘价平均差。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N1:=10; N2:=20; M:=3; v:=DMA_f(N1,N2,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### DPO_f 算法 (1)DPO =收盘价 - 前N/2+1日的收盘价N日均值; (2)DPOMA =DPO的M日简单平均; (3)Type=0,返回当前时间的DPO、DPOMA; (4)Type=1,返回当前时间往前推共nDay个DPO、DPOMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的区间震荡线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=20; M:=6; v:=DPO_f(N,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的区间震荡线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_nday(),5); setsysparam(pn_rate(),0); N:=20; M:=6; v:=DPO_f(N,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### TRIX_f 算法 (1)Ex1 =N日收盘价的移动平均; (2)Ex2 =N日Ex1的移动平均; (3)Ex =N日Ex2的移动平均; (4)TRIX =(Ex-昨日Ex)/昨日Ex\*100; (5)TRIXMA =TRIX的M日简单平均; (6)Type=0,返回当前时间的TRIX、TRIXMA; (7)Type=1,返回当前时间往前推共nDay个TRIX、TRIXMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的三重指数平均线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=12; M:=20; v:=TRIX_f(N,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的三重指数平均线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=12; M:=20; v:=TRIX_f(N,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### EMV_f 算法 (1)Z1 =N日成交量的简单平均 / 成交量; (2)Z2 =(最高价+最低价-昨日最高价-昨日最低价)/(最高价+最低价)\*100; (3)Z3 =Z2*Z1*(最高价-最低价)最高价-最低价的/N日简单平均; (4)EMV =Z3的N日简单平均; (5)EMVMA =EMV的M日简单平均; (6)Type=0,返回当前时间的EMV、EMVMA; (7)Type=1,返回当前时间往前推共nDay个EMV、EMVMA的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的波动指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=14; M:=9; v:=EMV_f(N,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的波动指标。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=14; M:=9; v:=EMV_f(N,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### ASI_f 算法 (1)AA = |最高价-昨日收盘价|; (2)BB = |最低价-昨日收盘价|; (3)CC = |最高价-昨日最低价|; (4)DD = |昨日收盘价-昨日开盘价|; (5)若AA>BB且AA>CC,则R=AA+BB/2+DD/4; (6)若BB>CC且BB>AA,则R=BB+AA/2+DD/4; (7)若CC>AA且CC>BB,则R=CC+DD/4; (8)X =(收盘价-昨收盘价)+(收盘价-开盘价)/2+(昨日收盘价-昨日开盘价); (9)Y =16X / R\*(AA和BB中的较大值); (10)Z =N日Y的累计之和; (11)Type=0,返回当前时间的价量趋势Z; (12)Type=1,返回当前时间往前推共nDay个Z的区间序列值; nDay由系统参数PN_nDay()设置,默认值为180。范例 范例一: ```text //计算白云机场截止2011年9月13日的价量趋势。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N:=10; v:=ASI_f(N,0); RestoreSystemParameters(oV); return v; ``` //结果:3.03 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的价量趋势。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N:=10; v:=EMV_f(N,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### XDQR_f 算法 (1)P =N1日收盘价的简单平均; (2)zf1 =(P /前N2日的P - 1)\*100; (3)zf2 =当前股票的zf1; (4)v1 = M日zf1的简单平均; (5)v2 = M日zf2的简单平均; (6)v3 =v1-v2,即相对强弱,v3>0,则强于大盘,v3<0,则弱于大盘; (7)Type=0,返回当前时间的个股强度v1、大盘强度v2、相对强度v3; (8)Type=1,返回当前时间往前推共nDay个个股强度v1、大盘强度v2、相对强度v3序列;nDay由系统参数PN_nDay()设置,默认值为180。 (9)Type=2,返回个股强度v1是否向上穿越大盘强度v2; (10)Type=3,返回个股强度v1是否向下穿越大盘强度v2。范例 范例一: ```text //计算白云机场截止2011年9月13日的相对强弱。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); N1:=13; N2:=7; M:=5; v:=XDQR_f(N1,N2,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月13日向前推共5日的相对强弱。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); N1:=13; N2:=7; M:=5; v:=XDQR_f(N1,N2,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### MACD_f 算法 (1)DIF =Short日收盘价的移动平均 - Long日收盘价的移动平均; (2)DEA =M日DIF的移动平均; (3)MACD =2\*(DIF - DEA); (4)Type=0,返回当前时间的DIF、DEA、MACD; (5)Type=1,返回当前时间往前推共nDay个DIF、DEA、MACD区间序列;nDay由系统参数PN_nDay()设置,默认值为180; (6)Type=2,返回DIF是否上穿DEA; (7)Type=3,返回DIF是否下穿DEA; (8)Type=4,返回是否DIF上穿DEA且DIF>=0,DEA>=0 ; (9)Type=5,返回是否DIF下穿DEA且DIF>=0,DEA>=0; (10)Type=6,返回是否DIF上穿DEA且DIF<=0,DEA<=0; (11)Type=7,返回是否DIF下穿DEA且DIF<=0,DEA<=0。范例 ```text //计算白云机场截止2011年9月8日的平滑异同平均DIF线、EDA线和MACD线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110908)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); Short:=12; Long:=26; M:=9; v:=MACD_f(Short,Long,M,0); RestoreSystemParameters(oV); return v; ``` //结果: 范例二: ```text ///计算白云机场截止2011年9月8日向前推共5日的平滑异同平均DIF线、EDA线和MACD线。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_rate(),0); setsysparam(pn_nday(),5); Short:=12; Long:=26; M:=9; v:=MACD_f(Short,Long,M,1); RestoreSystemParameters(oV); return v; ``` //结果: ####### MACD_Ex 算法 (1)根据每个close数据,计算每个时间点的短期移动平均数据和长期移动平均数据; 其中,短期移动平均数据放在字段['short']中,['short']=前一时间点的['short']_(shortN-1)/(shortN+1)+当前时间点的收盘close _ 2 / (shortN+1) 长期移动平均数据放在字段['long']中,['long']= 前一时间点的['long']_(longN-1)/(longN+1)+当前时间点的收盘close _ 2 / (longN+1) (2)DIF =['short'] - ['long']; (3)DEA =前一时间点的DEA*(M-1)/(M+1)+当前时间点的DIF*2/(m+1); (4)MACD =2\*(DIF-DEA)。范例 ```text //利用数据表arrData中的数据计算MACD值。 Short:=12; Long:=26; M:=9; arrData:=array(("date":inttodate(20180904),"close":12.10), ("date":inttodate(20180903),"close":12.31), ("date":inttodate(20180831),"close":12.21)); Return MACD_Ex(Short,Long,M,arrData); ``` //结果: ####### SAR_f 范例 ```text //计算白云机场截止2011年9月13日的抛物线指标和行情状态。 oV:=BackUpSystemParameters(); setsysparam(pn_stock(),'SH600004'); setsysparam(pn_date(),inttodate(20110913)); setsysparam(pn_cycle(),cy_day()); setsysparam(pn_nday(),5); v:=SAR_f(4,2,2,20); RestoreSystemParameters(oV); return v; ``` //结果: ####### Xuech1_f 算法VAR2 = 收盘价\*成交量(手) VAR3 = (VAR2的3日指数移动平均/成交量(手)的3日指数移动平均+VAR2的6日指数移动平均/成交量(手)的6日指数移动平均+VAR2的12日指数移动平均/成交量(手)的12日指数移动平均+VAR2的24日指数移动平均/成交量(手)的24日指数移动平均)/4的N日指数移动平均 SUP = 1.06\*VAR3 SDN = VAR3\*0.94 VAR4 = 收盘价的9日指数移动平均 LUP = VAR4\*1.14的5日指数移动平均 LDN = VAR4\*0.86的5日指数移动平均范例 ```text // "SZ000002"在2020-09-24的通道值 SetSysParam(pn_stock(),"SZ000002"); SetSysParam(PN_Date(),20200924T); return XUECH1_f(2,0); ``` 返回: ####### Tower_f 范例 ```text // "SZ000002"在20140619日的宝塔线数据 setsysparam(pn_stock(),"SZ000002"); setsysparam(pn_date(),20140619T); setsysparam(pn_cycle(),cy_day()); return Tower_f(0); ``` 返回: ####### Gettower 范例 ```text //取万科A最近1000个交易日的守塔线数据 setsysparam(pn_stock(),'SZ000002'); setsysparam(pn_date(),20211220T); r:= Nday(1000,'time',datetostr(sp_time()),'close',close()); return getTower(r); ``` 返回结果(部分结果截图): ####### XUECH_f 算法 AA = (2\*收盘价+最高价+最低价)/4的5日简单移动平均 通道1 = AA\*N/100 通道2 = AA\*(200-N)/100 CC = abs(2\*收盘价+最高价+最低价)/4-ma(收盘价,20))/ma(收盘价,20日) DD = ma(收盘价,CC) 通道3 = (1+M/100)\*DD 通道4 = (1-M/100)\*DD范例 ```text // "SZ000002"在2020-09-24的通道值 SetSysParam(pn_stock(),"SZ000002"); SetSysParam(PN_Date(),20200924T); return XUECH_f(102,7,0); ``` 结果: ##### 天软指标 ###### 内容 - CloseMorethanMa - RegressLine - BuyVsSellVolDiff - BARSLAST ###### CloseMorethanMa 范例 ```text SetSysParam(pn_stock(),'SH000001'); Return CloseMorethanMa(inttodate(20130501),inttodate(20130706),20,0); ``` //结果: ###### RegressLine 范例 ```text SetSysParam(pn_stock(),'SH000001'); SetSysParam(pn_date(),inttodate(20140123)); Return RegressLine(60); ``` //结果: ###### BuyVsSellVolDiff 范例 ```text SetSysParam(pn_stock(),'SH000001'); Return BuyVsSellVolDiff(inttodate(20130501),inttodate(20130706)); ``` //结果: ###### BARSLAST 范例 ```text SetSysParam(PN_Stock(),'SZ000001'); SetSysParam(pn_date(),20130101T); return BARSLAST(@close()