#### 技术分析 ##### 内容 - 选股函数 - 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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 返回封闭基金的交易佣金 ```tsl SetSysParam(pn_stock(), 'SH500003'); return FundCommision(20081231); // 7326997 ``` ####### DownDayPercent 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 ```tsl oV := BackUpSystemParameters(); setsysparam(pn_stock(), 'SH600004'); setsysparam(pn_date(), inttodate(20110913)); N := 60; v := DownDayPercent(N); RestoreSystemParameters(oV); return v; ``` 结果:55 ####### Divergence 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 单只股票日线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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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 用途:进行数值统计计算。 参数:无。 返回:处理后的结果值。 范例 ```tsl 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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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 用途:选股函数相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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日平滑移动平均。范例 ```tsl // 计算白云机场截止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日平滑移动平均。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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日标准差。范例 ```tsl // 计算白云机场截止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日标准差。范例 ```tsl // 计算白云机场截止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日的简单平均。范例 ```tsl // 计算白云机场截止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日简单平均。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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日均线。范例 ```tsl // 计算白云机场截止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日均线。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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)否则,返回截止日的均线收敛情况。范例 ```tsl // 计算白云机场截止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 用途:K线分析相关函数。 参数: 返回:处理后的结果值。 算法 VT=0,返回实体线比例 =(收盘价-开盘价)/开盘价\*100; VT=1,返回实体线值 = 收盘价-开盘价; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```tsl // 计算白云机场截止日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 用途:K线分析相关函数。 参数: 返回:处理后的结果值。 算法 VT=0,返回下影线比例 =(开盘价和收盘价的较小值–最低价)/开盘价和收盘价的较小值\*100; VT=1,返回下影线值 = 开盘价和收盘价的较小值; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```tsl // 计算白云机场截止日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 用途:K线分析相关函数。 参数: 返回:处理后的结果值。 算法 VT=0,返回上影线比例 =(最高价-开盘价和收盘价的较大值)/开盘价与收盘价的较大值\*100; VT=1,返回上影线值 = 最高价-开盘价和收盘价的较大值; 与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()相关。范例 ```tsl // 计算白云机场截止日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 用途:K线分析相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // "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()相关。范例 ```tsl // 计算白云机场截止日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 // 计算白云机场截止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()相关。范例 ```tsl // 计算白云机场截止日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 // 计算白云机场截止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()相关。范例 ```tsl // 计算白云机场截止日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 // 计算白云机场截止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()相关。范例 ```tsl // 计算白云机场截止日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 // 计算白云机场截止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()相关。范例 ```tsl // 计算白云机场截止日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 // 计算白云机场截止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()相关。范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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; ``` 范例三: ```tsl // 计算白云机场截止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()相关。范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关。范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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; ``` 结果 范例三: ```tsl // 计算白云机场截止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()。范例 ```tsl // 计算白云机场截止日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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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\_ 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return VOL_(5, 10, 30); ``` ####### OBV 用途:成交量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return OBV(30, 10); ``` ####### Amount\_ 范例 ```tsl 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。范例 ```tsl // 计算白云机场截止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时无效。范例 ```tsl // 计算白云机场截止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时无效。范例 ```tsl // 计算白云机场截止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 =当日能量潮。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止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)。范例 ```tsl // 计算白云机场截止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 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ADR(10, 6); ``` ; ####### ABI 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ABI(6); ``` ####### ARMS 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ARMS(21, 6); ``` 结果 ####### ADL 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ADL(6); ``` ####### BTI 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return BTI(10, 5); ``` ####### MCL 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return MCL(19, 35); ``` 结果 ####### OBOS 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return OBOS(10, 6); ``` ####### STIX 用途:大势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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的移动平均值。范例 ```tsl // 计算上证指数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的移动平均值。范例 ```tsl // 计算上证指数截止日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。范例 ```tsl // 计算上证指数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股板块的上涨家数和下跌家数。范例 ```tsl // 计算上证指数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股板块的上涨家数和下跌家数。范例 ```tsl // 计算上证指数截止日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的平均值。范例 ```tsl // 计算上证指数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股板块的上涨家数和下跌家数。范例 ```tsl // 计算上证指数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股板块的上涨家数和下跌家数。范例 ```tsl // 计算上证指数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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止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; ``` 范例三: ```tsl // 计算白云机场截止日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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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; // 结果: ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场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; ``` 范例二: ```tsl // 计算白云机场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; ``` 范例三: ```tsl // 计算白云机场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。范例 ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止日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。范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止日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 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 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日移动平均范例 ```tsl // 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 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return DKX(10, 6); ``` ####### HYG 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(PN_Stock(), 'sz000001'); SetSysParam(pn_date(), inttodate(20130101)); return HYG(5); ``` ####### BIAS 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return BIAS(6, 12, 24); ``` ####### LWR 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return LWR(14, 26); ``` ####### KDJ 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return KDJ(9, 3, 3); ``` ####### ATR 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ATR(14); ``` ####### ADTM 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ADTM(23, 6); ``` ####### OSC 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return OSC(20, 6); ``` ####### PVT 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return PVT(5); ``` ####### RSI 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return RSI(6, 12); ``` ####### MTM 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return MTM(12, 6); ``` ####### UDL 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return UDL(3, 5, 10, 20, 6); ``` ####### MFI 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return MFI(14); ``` ####### ROC 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ROC(12, 6); ``` ####### WR 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return WR(14, 6); ``` ####### SAR 用途:动量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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的简单平均。范例 ```tsl // 计算白云机场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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日平滑移动平均。 范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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\*成交量之和。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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对于表达式算法较为复杂的可考虑此用法 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: ```tsl // 计算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: ```tsl // 取股票在一段时间内收盘价的动态移动平均。 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: ```tsl 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。范例 ```tsl 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)))。范例 ```tsl 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 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ACD(20, 5); ``` ####### AMV 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return AMV(5, 10, 30); ``` ####### CMA 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return CMA(5, 10, 30); ``` ####### EXPMA 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return EXPMA(5, 10, 30, 60); ``` ####### HMA 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return HMA(5, 10, 30); ``` ####### BBIBOLL 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return BBIBOLL(11, 6); ``` ####### BBI 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return BBI(3, 6, 12, 24); ``` ####### LMa 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return LMa(5, 10, 30); ``` ####### VMa 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日收盘价。范例 ```tsl // 计算白云机场截止日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)。范例 ```tsl // 计算白云机场截止日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日累计之和。范例 ```tsl // 计算白云机场截止日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 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止日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 用途:均线指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日标准差。范例 ```tsl // 计算白云机场截止日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日标准差。范例 ```tsl // 计算白云机场截止日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日累计之和;范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止日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。范例 范例一: ```tsl // 计算白云机场截止日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; ``` 范例二: ```tsl // 计算白云机场截止日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; ``` 范例三: ```tsl // 计算白云机场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 用途:离散指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return BOLL(20); ``` ####### ENE 用途:离散指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ENE(10, 6, 6); ``` ####### MIKE 用途:离散指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日指数移动平均。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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日标准差。范例 ```tsl // 计算白云机场截止日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天收盘价的标准差。范例 ```tsl // 计算白云机场截止日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日简单平均。范例 ```tsl // 计算白云机场截止日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日标准差。范例 ```tsl // 计算白云机场截止日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日标准差。范例 ```tsl // 计算白云机场截止日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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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()相关范例 范例一: ```tsl // 计算白云机场截止日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 ``` 范例二: ```tsl // 计算白云机场截止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 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return MaSS(9, 25, 6); ``` ####### ARBR 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ARBR(24, 6); ``` ####### CR 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return CR(26); ``` ####### VOSC 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl return VOSC('SH000001', inttodate(20140101), inttodate(20140123), 12, 26); ``` ####### AD 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return AD(10); ``` ####### CYR 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return CYR(13, 6); ``` ####### PCNT 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return PCNT(5, 6); ``` ####### VR 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return VR(26, 6); ``` ####### PSY 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return PSY(12); ``` mcd ####### WAD 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return WAD(24, 6); ``` ####### VRSI 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return VRSI(6); ``` ####### VROC 用途:能量指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return VROC(12, 6); ``` ####### CDP 用途:能量指标相关函数。 参数:无。 返回:处理后的结果值。 范例 ```tsl 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日累计之和。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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。范例 ```tsl // 计算白云机场截止日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累计之和。范例 ```tsl // 计算白云机场截止日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 用途:技术指标选股相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_date(), inttodate(20140123)); return MaGd_SS("深证A股;上证A股", 5, 0.01, 2); ``` ###### 中间函数 ####### 内容 - Xg_Model2_Call - Xg_Model2_Call2 ####### Xg_Model2_Call 用途:技术指标选股相关函数。 参数:无。 返回:处理后的结果值。 范例 ```tsl return Xg_Model2_Call("深证A股;上证A股", inttodate(20140123), 5, 10, 1); ``` ####### Xg_Model2_Call2 用途:技术指标选股相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return ASI(20); ``` ####### CHO 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return CHO(10, 20, 6); ``` ####### DMI 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return DMI(14); ``` ####### DMA 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return DMA(10, 50, 6); ``` ####### EMV 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return EMV(14, 6); ``` ####### MACD 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return MACD(12, 26, 6); ``` ####### DPO 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20130123)); return DPO(14, 6); ``` ####### UOS 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20130123)); return UOS(7, 14, 28, 6); ``` ####### WVAD 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20130123)); return WVAD(24, 6); ``` ####### TRIX 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20130123)); return TRIX(12, 6); ``` ####### VPT 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20130123)); return VPT(51, 6); ``` ####### XUECH 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl 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。范例 ```tsl // 计算白云机场截止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)。范例 ```tsl // 计算白云机场截止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)。范例 ```tsl // 计算白云机场截止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的简单平均。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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以实际赋值为准。范例 ```tsl // 计算白云机场截止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日简单平均。范例 ```tsl // 计算白云机场截止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日收盘价的简单平均。范例 ```tsl // 计算白云机场截止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日均值。范例 ```tsl // 计算白云机场截止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。范例 ```tsl // 计算白云机场截止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日简单平均。范例 ```tsl // 计算白云机场截止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日累计之和。范例 ```tsl // 计算白云机场截止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,则弱于大盘。范例 ```tsl // 计算白云机场截止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日收盘价的移动平均。范例 ```tsl // 计算白云机场截止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日移动平均。范例 ```tsl // 计算白云机场截止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)。范例 ```tsl // 计算白云机场截止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 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // 计算白云机场截止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,返回当前时间的顺势指标值。范例 ```tsl // 计算白云机场截止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。范例 返回结果(部分结果截图): ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // 计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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 范例二: ```tsl // /计算白云机场截止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。范例 范例一: ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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。范例 ```tsl // 计算白云机场截止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; ``` 范例二: ```tsl // /计算白云机场截止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)。范例 ```tsl // 利用数据表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 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // 计算白云机场截止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日指数移动平均范例 ```tsl // "SZ000002"在2020-09-24的通道值 SetSysParam(pn_stock(), "SZ000002"); SetSysParam(PN_Date(), 20200924T); return XUECH1_f(2, 0); ``` 返回: ####### Tower_f 用途:趋势指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl // "SZ000002"在20140619日的宝塔线数据 setsysparam(pn_stock(), "SZ000002"); setsysparam(pn_date(), 20140619T); setsysparam(pn_cycle(), cy_day()); return Tower_f(0); ``` 返回: ####### Gettower 范例 ```tsl // 取万科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范例 ```tsl // "SZ000002"在2020-09-24的通道值 SetSysParam(pn_stock(), "SZ000002"); SetSysParam(PN_Date(), 20200924T); return XUECH_f(102, 7, 0); ``` ##### 天软指标 ###### 内容 - CloseMorethanMa - RegressLine - BuyVsSellVolDiff - BARSLAST ###### CloseMorethanMa 用途:天软指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); return CloseMorethanMa(inttodate(20130501), inttodate(20130706), 20, 0); ``` ###### RegressLine 用途:天软指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return RegressLine(60); ``` ###### BuyVsSellVolDiff 用途:天软指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); return BuyVsSellVolDiff(inttodate(20130501), inttodate(20130706)); ``` ###### BARSLAST 用途:天软指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(PN_Stock(), 'SZ000001'); SetSysParam(pn_date(), 20130101T); return BARSLAST(@close() < ma(close(), 5)); // 结果:5 ``` ##### 主图指标 ###### 内容 - KLineAndBoll2 - KLineAndMA - KLineBetweenDay - KLineData - KLine - KLineWithBoll - KLineWithBidAsk ###### KLineAndBoll2 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl setsysparam(pn_stock(), 'SH600000'); setsysparam(pn_date(), inttodate(20140123)); return KLineAndBoll2(KLine(5, 10, 20, 60), BOLL(5)); ``` ###### KLineAndMA 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl setsysparam(pn_stock(), 'SH600000'); setsysparam(pn_date(), inttodate(20140123)); return KLineAndMA(KLine(5, 10, 20, 60), BOLL(5)); ``` ###### KLineBetweenDay 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); return KLineBetweenDay(inttodate(20130501), inttodate(20130706), 5, 10, 20, 60); ``` ###### KLineData 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl return KLineData("SH600206", inttodate(20130501), inttodate(20130706)); ``` ###### KLine 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return KLine(5, 10, 20, 60); ``` ###### KLineWithBoll 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return KLineWithBoll(5, 10, 20, 60, 26); ``` ###### KLineWithBidAsk 用途:主图指标相关函数。 参数: 返回:处理后的结果值。 范例 ```tsl SetSysParam(pn_stock(), 'SH000001'); SetSysParam(pn_date(), inttodate(20140123)); return KLineWithBidAsk(5, 10, 20, 60); ``` ##### Alpha101_Test 范例 ```tsl return Alpha101_Test('申万非银金融', 20201231T); ```