# 金融 / 技术分析 / 离散指标 / 计算公式

## `boll_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 := 23;
v := BOLL_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_nday(), 5);
setsysparam(pn_date(), inttodate(20110908));
N := 23;
v := BOLL_f(N, 1);
return v;
```

## `boll_f_ex(n, type, p)`

声明：function

返回布林线2，通过计算股价的"标准差"，再求股价的"信赖区间"。当P取2时，与函数BOLL_f一致。与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数

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

| 参数   | 类型    | 说明                                               |
| ------ | ------- | -------------------------------------------------- |
| `n`    | integer | 整数，交易日天数                                   |
| `type` | integer | 结果类型显示名取值当前值0区间值1买入条件2卖出条件3 |
| `p`    | 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 := 20;
P := 2
v := BOLL_f_Ex(N, 0, P);
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_nDay(), 5);
setsysparam(pn_rate(), 0);
setsysparam(pn_date(), inttodate(20110908));
N := 20;
P := 2;
v := BOLL_f_Ex(N, 1, P);
return v;
```

范例03：计算白云机场2011年9月8日的收盘价是否上穿DWN

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

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

声明：function

返回轨道线

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

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

返回：table

### 示例

范例01：调用 ENE_f

```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_f(N, M1, M2, 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 := 25;
M1 := 6;
M2 := 6;
v := ENE_f(N, M1, M2, 1);
return v;
```

## `mike_f(n, type)`

声明：function

计算麦克支撑压力指标的六条压力和支撑线

<!-- tags: 金融 技术分析 离散指标 MIKE 支撑 压力 通道 当前值 序列 -->

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

type 取值

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

返回：array

返回数组依次包含 STOR、MIDR、WEKR、WEKS、MIDS、STOS

### 示例

范例01：计算指定日的麦克支撑压力指标

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_cycle(), cy_day());
setSysParam(pn_date(), 20110908T);
setSysParam(pn_rate(), 0);
return mike_f(10, 0);
// 输出：array(7.783487,7.53817,7.292853,6.871736,6.695936,6.520136)
```
