# 金融 / 技术分析 / 动量指标 / 计算公式

## `accer_f(n, type)`

声明：function

返回幅度涨速，与系统参数（证券代码、周期、时间、复权方式、复权基准日、图形点个数）相关

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明                                                          |
| ------ | ------- | ------------------------------------------------------------- |
| `n`    | integer | 整数。N日                                                     |
| `type` | integer | 用户自定义。结果类型，取值如下: 显示名 取值 当前值 0 区间值 1 |

返回：real

### 示例

范例01：SH603803在20241219的开盘集合竞价涨幅(%)

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

## `adtm_f(n, m, type)`

声明：function

返回动态买卖气指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的动态买卖气指标

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

范例02：计算白云机场截止2011年9月8日向前推共5天的动态买卖气指标序列

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

## `atr_f(n, type)`

声明：function

返回真实波幅

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | intege  | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的真实波幅

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

范例02：计算白云机场截止2011年9月8日向前推共5天的真实波幅序列

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

## `bias_f(n, type)`

声明：function

返回乖离量，是测量股价偏离均线大小程度的指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：float

### 示例

范例01：计算白云机场截止日2011年9月8日的乖离量

```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
```

范例02：计算白云机场截止2011年9月8日往前推共5天的乖离量序列

```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(n, m, type)`

声明：function

返回多空线

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的多空线指标

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

范例02：计算白云机场截止2011年9月8日向前推共5天的多空线指标序列

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

## `kdj_f(n, m_1, m_2, type)`

声明：function

返回随机指标，通过当日或最近几日最高价、最低价及收盘价等价格波动的波幅，反映价格趋势的强弱，与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明                                                               |
| ------ | ------- | ------------------------------------------------------------------ |
| `n`    | integer | 整数，交易日天数                                                   |
| `m_1`  | integer | 整数，计算K值的交易日天数                                          |
| `m_2`  | integer | 整数，计算D值的交易日天数                                          |
| `type` | integer | 结果类型显示名取值当前值0区间值1买入条件2卖出条件3KDJ买入4KDJ卖出5 |

返回：table/boolean

### 示例

范例01：计算白云机场2011年9月8日的随机指标

```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;
```

范例02：计算白云机场2011年9月8日的向前推共5日随机指标序列（不复权）

```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;
```

范例03：计算白云机场2011年9月8日的K线是否上穿D线，且K<20

```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;
```

## `lwr_f(n, type)`

声明：function

计算指定周期的威廉指标或指标序列

<!-- tags: 金融 技术分析 动量指标 威廉指标 LWR 当前值 序列 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 计算周期 |
| `type` | integer | 返回类型 |

type 取值

- `0` — 返回当前值
- `1` — 返回由系统参数 `pn_nday()` 指定长度的序列

返回：real\|array

### 示例

范例01：计算指定日的威廉指标

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_cycle(), cy_day());
setSysParam(pn_rate(), 0);
setSysParam(pn_date(), 20110908T);
return lwr_f(23, 0);
// 输出：81.690141
```

## `mfi_f(n, type)`

声明：function

按典型价格和成交量计算资金流向指标或指标序列

<!-- tags: 金融 技术分析 动量指标 资金流向 MFI 成交量 当前值 序列 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 计算周期 |
| `type` | integer | 返回类型 |

type 取值

- `0` — 返回当前值
- `1` — 返回由系统参数 `pn_nday()` 指定长度的序列

返回：real\|array

### 示例

范例01：计算指定日的资金流向指标

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_cycle(), cy_day());
setSysParam(pn_rate(), 0);
setSysParam(pn_date(), 20110908T);
return mfi_f(10, 0);
```

## `mi_f(n, type)`

声明：function

计算收盘价动量的平滑指标或指标序列

<!-- tags: 金融 技术分析 动量指标 MI 动量 平滑 当前值 序列 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 计算周期 |
| `type` | integer | 返回类型 |

type 取值

- `0` — 返回当前值
- `1` — 返回由系统参数 `pn_nday()` 指定长度的序列

返回：array

### 示例

范例01：计算指定日的动量指标

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_cycle(), cy_day());
setSysParam(pn_rate(), 0);
setSysParam(pn_date(), 20110908T);
return mi_f(23, 0);
// 输出：array(-0.478165)
```

## `micd_f(n, n_1, n_2, type)`

声明：function

返回异同离差动力指数，与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明                             |
| ------ | ------- | -------------------------------- |
| `n`    | integer | 整数，交易日天数                 |
| `n_1`  | integer | 整数，交易日天数                 |
| `n_2`  | integer | 整数，交易日天数                 |
| `type` | integer | 结果类型显示名取值当前值0区间值1 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的异同离差动力指数

```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;
```

范例02：计算白云机场截止日2011年9月8日向前推总共5天的异同离差动力指数序列

```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;
```

## `mtm_f(n, m, type)`

声明：function

返回动力指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table/integer

### 示例

范例01：计算白云机场截止日2011年9月8日的动力指标

```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;
```

范例02：计算白云机场截止2011年9月8日向前推共5天的动力指标序列

```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;
```

范例03：计算白云机场截止日2011年9月8日的MTM线是否上穿0

```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(n, m, type)`

声明：function

返回变动率

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的变动率

```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_f(N, M, 0);
return v;
```

范例02：计算白云机场截止2011年9月8日向前推共5天的变动率序列

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

## `pvt_f(n, type)`

声明：function

返回价量趋势

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日的价量趋势

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的价量趋势序列

```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;
```

## `rc_f(n, type)`

声明：function

返回变化率指数

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的变化率指数

```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;
```

范例02：计算白云机场截止2011年9月8日向前推共5天的变化率指数序列

```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;
```

## `rccd_f(n, n_1, n_2, type)`

声明：function

返回异同离差变化率指数，与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明                             |
| ------ | ------- | -------------------------------- |
| `n`    | integer | 整数，交易日天数                 |
| `n_1`  | integer | 整数，交易日天数                 |
| `n_2`  | integer | 整数，交易日天数                 |
| `type` | integer | 结果类型显示名取值当前值0区间值1 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的异同离差变化率指数

```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;
```

范例02：计算白云机场截止日2011年9月8日向前推总共5天的异同离差变化率指数序列

```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;
```

## `roc_f(n, type)`

声明：function

返回变动速率

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日10天内的变动速率

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的变动速率序列

```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;
```

## `rocMa_f(n, m, type)`

声明：function

返回变动率移动平均

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日10天内的变动率移动平均

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的变动率移动平均序列

```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;
```

## `rsi_f(n, type)`

声明：function

返回相对强弱指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日6天内的相对强弱指标

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的相对强弱序列

```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;
```

## `skd_f(n, m, type)`

声明：function

返回慢速随机指标，与系统参数（证券代码、时间、周期）相关

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明                                                    |
| ------ | ------- | ------------------------------------------------------- |
| `n`    | integer | 整数。N日                                               |
| `m`    | integer | 整数。M日                                               |
| `type` | integer | 用户自定义。结果类型，取值如下:显示名取值当前值0区间值1 |

返回：array

### 示例

范例01：SZ000001在20241115的慢速随机指标

```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)
```

## `srmi_f(n, type)`

声明：function

返回MI修正指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 MI -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：table

### 示例

范例01：计算白云机场截止日2011年9月8日的MI修正指标

```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;
```

范例02：计算白云机场截止2011年9月8日向前推共5天的MI修正指标序列

```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;
```

## `udl_f(n_1, n_2, n_3, n_4, type)`

声明：function

返回引力线

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n_1`  | integer | 天数     |
| `n_2`  | integer | 天数     |
| `n_3`  | integer | 天数     |
| `n_4`  | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日的引力线指标

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的引力线序列

```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;
```

## `udLma_f(n_1, n_2, n_3, n_4, m, type)`

声明：function

返回引力线移动平均

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n_1`  | integer | 天数     |
| `n_2`  | integer | 天数     |
| `n_3`  | integer | 天数     |
| `n_4`  | integer | 天数     |
| `m`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日的引力线移动平均

```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
```

范例02：计算白云机场截止2011年9月8日向前推共5天的引力线移动平均序列

```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;
```

## `wr_f(n, type)`

声明：function

返回威廉指标

<!-- tags: 金融 技术分析 动量指标 计算公式 返回 获取 -->

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `n`    | integer | 天数     |
| `type` | integer | 结果类型 |

返回：real/table

### 示例

范例01：计算白云机场截止日2011年9月8日10天内威廉指标

```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
```

范例02：计算白云机场截止2011年9月8日向前推总共5天，对每一天计算上述例子中的指标得到的结果序列

```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;
```
