#### 技术分析

##### 内容

- 选股函数
- 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 && C1<C2 && vR_>vC_ &&RMin=R2 && CMin=C1；

type=1，判断是否顶背离；

RMax=R_All中RSI的最大值，CMax=C_All中Ma的最大值；

    V=R1<R2 && C1>C2 && vR_<vC_ &&RMax=R2 && CMax=C1。范例

```tsl
// 计算白云机场截止2011年9月13日的RSI翻转情况。
oV := BackUpSystemParameters();
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), inttodate(20110913));
setsysparam(pn_cycle(), cy_day());
N1 := 6;
N2 := 10;
M := 10;
v := RSIFZ(N1, N2, M, 0);
RestoreSystemParameters(oV);
return v;
```

结果：0

###### 形态特征选股

####### 内容

- IsDtpl
- IsKtpl
- IsMaGd
- IsMaHjjc
- IsMaSwjc
- IsMaAstringent
- IsMaAstringent2

####### IsDtpl

用途：判断条件是否成立。
参数：

返回：布尔值。

算法

（1）P1 =N1日的平均收盘价；

（2）P2 =N2日的平均收盘价；

（3）P3 =N3日的平均收盘价；

（4）P4 =N4日的平均收盘价；

（5）统计P1>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<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 := IsKtpl(N1, N2, N3, N4);
RestoreSystemParameters(oV);
return v;
```

结果：0（非均线空头排列）

####### IsMaGd

用途：判断条件是否成立。
参数：

返回：布尔值。

算法

（1）m1=N日的平均收盘价；

（2）m2=（m1\*N-收盘价+前N日的收盘价）/N；

（3）m3=（m2\*N-昨收盘价+前N+1日收盘价）/N；

（4）v1=m2-m3；

（5）v2=m2=m1；

（6）若v<0.00001，则v=0.00001,否则v取设定值；

（7）r1=v1<0 && v2<0 && |v1|>=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=X\*成交量；

若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天前收盘价；

若收盘价>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 <Y，则Z1=0，Z2 =X\*成交量；

若X=Y，则Z1=Z2=0；

（4）MFI =N日Z1累计和 / N日Z2累计和。范例

```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_v(N);
return v;
```

结果：66.36

####### KDJ_K_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（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。范例

```tsl
// 计算白云机场2011年9月8日的随机指标K值。
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_K_v(9, 3, 3);
return v;
```

结果：59.38

####### KDJ_D_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（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。范例

```tsl
// 计算白云机场2011年9月8日的随机指标D值。
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_D_v(9, 3, 3);
return v;
```

结果：42.25

####### KDJ_J_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（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）与系统证券pn_stock()、系统时间pn_date()相关。范例

```tsl
// 计算白云机场2011年9月8日的随机指标J值。
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_J_v(9, 3, 3);
```

结果：93.64

####### MTMMa_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（1）MTM =收盘价-N日前的收盘价；

（2）MTMMa = M日MTM的简单平均。范例

```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 := MTMMa_v(N, M);
return v;
```

结果：0.05

####### MTM_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

MTM =收盘价-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 := 10;
v := MTM_v(N);
return v;
```

结果：0.28

####### ATR_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

TR=最高价-最低价，|昨收盘价-最高价|，|昨收盘价-最低价|，取当前日期三个数据的最大值。范例

```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 := ATR_v(N);
return v;
```

结果：0.39

####### ATR_a

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（1）TR=最高价-最低价，|昨收盘价-最高价|，|昨收盘价-最低价|，取三者的最大值；

（2）ATR=TR的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 := 14;
v := ATR_a(N);
return v;
```

结果：0.13

####### BIAS_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

BIAS =（收盘价-收盘价的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 := BIAS_v(N);
return v;
```

结果：5.07

####### SRMI_v

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

（1）若收盘价<N日前收盘价，则MI修正指标=（收盘价-N日前收盘价）/N日前收盘价；

（2）若收盘价>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<SBM，ADTM=(STM-SBM)/SBM；

如果STM=SBM，ADTM=0。范例

```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 := ADTM_v(N);
return v;
```

结果：0.51

####### ACCER_V

范例

```tsl
// SH603803在20241219的开盘集合竞价涨幅(%)
SetSysParam(pn_stock(), "SH603803");
SetSysParam(PN_Cycle(), cy_day());
SetSysParam(pn_date(), 20241219T);
return ACCER_v(10);
// 结果：0.034122
```

####### SKD_D_V

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

LOWV:N日内最低价的最低值

HIGHV:N日内最高价的最高值

RSV:(收盘价-LOWV)/(HIGHV-LOWV)\*100的M日指数移动平均

K:RSV的M日指数移动平均

D:K的M日移动平均范例

```tsl
// SZ000001在20241115的慢速随机指标(D)
setsysparam(pn_stock(), "SZ000001");
setsysparam(pn_cycle(), cy_day());
setsysparam(pn_date(), 20241115T);
return SKD_D_V(9, 3);
// 结果：44.5380086095907
```

####### SKD_K_V

用途：动量指标相关函数。
参数：

返回：处理后的结果值。

算法

LOWV:N日内最低价的最低值

HIGHV:N日内最高价的最高值

RSV:(收盘价-LOWV)/(HIGHV-LOWV)\*100的M日指数移动平均

K:RSV的M日指数移动平均

D:K的M日移动平均范例

```tsl
// SZ000001在20241115的慢速随机指标(K)
setsysparam(pn_stock(), "SZ000001");
setsysparam(pn_cycle(), cy_day());
setsysparam(pn_date(), 20241115T);
return SKD_K_V(9, 3);
// 结果：35.960153127544
```

##### 均线指标

###### 内容

- 计算公式
- 图形
- 当前值

###### 计算公式

####### 内容

- ACD_f
- AMVMa_f
- BBIBOLL_f
- BBI_f
- CMA_f
- Ema_f
- Hma_f
- Lma_f
- Vma_f
- DSMA_I
- DSMA_II
- Weightedma
- Hullma

####### ACD_f

####### AMVMa_f

用途：均线指标相关函数。
参数：

返回：处理后的结果值。

算法

Z =成交量\*（开盘价+收盘价）/2；

AMVMA=N天的Z累计之和/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 := AMVMa_f(N, 0);
return v;
// 结果：7.24
```

范例二：

```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 := AMVMa_f(N, 1);
return v;
```

####### BBIBOLL_f

####### BBI_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 := 5;
N2 := 10;
N3 := 15;
N4 := 20;
v := BBI_f(N1, N2, N3, N4, 0);
return v;
// 结果：7.15
```

范例二：

```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 := 5;
N2 := 10;
N3 := 15;
N4 := 20;
v := BBI_f(N1, N2, N3, N4, 1);
return v;
```

####### CMA_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日的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_f(N, 0);
return v;
// 结果：7.2
```

范例二：

```tsl
// 计算白云机场截止2011年9月8日向前推共5天的23日收盘价移动平均序列。
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 := CMA_f(N, 1);
return v;
```

####### Ema_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日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_f(N, 0);
return v;
// 结果：7.26
```

范例二：

```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 := Ema_f(N, 1);
return v;
```

####### Hma_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日的最高价移动平均。
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_cycle(), cy_day());
setsysparam(pn_rate(), 0);
setsysparam(pn_date(), inttodate(20110908));
N := 23;
v := Hma_f(N, 0);
return v;
// 结果：7.25
```

范例二：

```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 := Hma_f(N, 1);
return v;
```

####### Lma_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日的最低价移动平均。
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_cycle(), cy_day());
setsysparam(pn_rate(), 0);
setsysparam(pn_date(), inttodate(20110908));
N := 23;
v := lma_f(N, 0);
return v;
// 结果：7.12
```

范例二：

```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 := lma_f(N, 1);
return v;
```

####### Vma_f

用途：均线指标相关函数。
参数：

返回：处理后的结果值。

算法

Ex=(最高价+开盘价+最低价+收盘价)/4；

变异移动平均=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日的变异移动平均。
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_cycle(), cy_day());
setsysparam(pn_rate(), 0);
setsysparam(pn_date(), inttodate(20110908));
N := 23;
v := Vma_f(N, 0);
return v;
// 结果：7.19
```

范例二：

```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 := Vma_f(N, 1);
return v;
```

####### DSMA_I

用途：均线指标相关函数。
参数：

返回：处理后的结果值。

算法

Y=a*X+(1-a)*Y'

注：其中Y'表示上一周期Y值，a值在[0,1]

X为函数中的Exp表达式，a为函数中的衰减因子。范例

范例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_I(@close(), 0.2); // 不做缓存
```

结果：59.5063949110518

范例02：

```tsl
// 取股票在一段时间内收盘价与开盘价的指数移动平均。
endt := 20180827T;
begt := 20180801T;
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(), 'dma1', DSMA_I(@close(), 0.2, 'close'), 'dma2', DSMA_I(@open(), 0.2, 'open'));
```

| date       | dma1     | dma2     |
| ---------- | -------- | -------- |
| 2018-08-01 | 69.73085 | 70.41399 |
| 2018-08-02 | 68.82668 | 69.69519 |
| 2018-08-03 | 67.66334 | 68.73215 |
| 2018-08-06 | 65.70867 | 67.44372 |
| 2018-08-07 | 64.40494 | 65.59498 |
| 2018-08-08 | 62.69995 | 64.13598 |
| 2018-08-09 | 61.83796 | 62.49279 |
| 2018-08-10 | 61.42637 | 61.67623 |
| 2018-08-13 | 61.30910 | 61.06298 |
| 2018-08-14 | 61.19128 | 60.99039 |
| 2018-08-15 | 61.16902 | 60.94831 |
| 2018-08-16 | 61.23522 | 60.65865 |
| 2018-08-17 | 60.49017 | 60.88292 |
| 2018-08-20 | 60.04814 | 60.10433 |
| 2018-08-21 | 59.83651 | 59.71947 |
| 2018-08-22 | 59.56921 | 59.55757 |
| 2018-08-23 | 59.56937 | 59.28006 |
| 2018-08-24 | 59.37549 | 59.30005 |
| 2018-08-27 | 59.50639 | 59.23004 |

范例03：

```tsl
setsysparam(pn_stock(), 'SZ002926');
setsysparam(pn_date(), 20200113T);
setsysparam(pn_rate(), 1);
setsysparam(pn_rateday(), 20200113T);
a := 0.02;
AA := @(2 * CLOSE() + LOW() + HIGH()) / 4;
BB := @stockzf3();
// 第四个参数：只向历史推导100次->对于表达式算法较为复杂的可考虑此用法
t1 := DSMA_I(AA, a, 'aa', 100);
t2 := DSMA_I(AA, a, 'aa2');
t3 := DSMA_I(BB, a, 'bb');
return array(t1, t2, t3);
// 返回：array(9.9581996332979,10.0810464635677);
```

####### DSMA_II

用途：均线指标相关函数。
参数：

返回：处理后的结果值。

算法

Y=a*X+(1-a)*Y'

注：其中Y'表示上一周期Y值，a值在[0,1]

X为函数中的Exp表达式，a为函数中的Expa衰减因子表达式。范例

范例01：

```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=EX-最低价；

若最低价>=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=EX-最低价；

若最低价>=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);
```
