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

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