# 金融 / 技术分析 / 选股函数 / 技术指标选股

## `bsByBias(n, v)`

声明：function

返回BIAS买入条件选股，判断BIAS是否小于v。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 BIAS -->

| 参数 | 类型    | 说明                   |
| ---- | ------- | ---------------------- |
| `n`  | integer | 整数，统计天数         |
| `v`  | numeric | 实数，判断买入条件的值 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的BIAS卖出条件选股情况

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

## `bsByBoll(n)`

声明：function

返回BOLL买入条件选股，Z3下穿（即跌破）收盘价。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 BOLL Z3 -->

| 参数 | 类型    | 说明           |
| ---- | ------- | -------------- |
| `n`  | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的BOLL买入条件选股情况

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

## `bsByKD(n, m_1, m_2)`

声明：function

KD买入条件选股，K上穿（即突破）D 且K<20。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 KD -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n`   | integer | 整数，统计天数 |
| `m_1` | integer | 整数，统计天数 |
| `m_2` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的KD买入条件选股情况

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

## `bsByKDJ(n, m_1, m_2)`

声明：function

返回KDJ买入条件选股，J值上穿（即突破）100。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 KDJ -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n`   | integer | 整数，统计天数 |
| `m_1` | integer | 整数，统计天数 |
| `m_2` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的KDJ买入条件选股情况

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

## `bsByMA(n_1, n_2)`

声明：function

返回MA买入条件选股，收盘价的N1日简单移动平均上穿（即突破）收盘价的N2日简单移动平均。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 MA N1 N2 -->

| 参数  | 类型    | 说明                         |
| ----- | ------- | ---------------------------- |
| `n_1` | integer | 整数，计算移动平均的统计天数 |
| `n_2` | integer | 整数，计算移动平均的统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的MA买入条件选股情况

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

## `bsByMACD(short, long, m, type)`

声明：function

返回 MACD 买入条件选股结果，用于判断 DIF 是否上穿 DEA，并可限定交叉发生在零轴上方或下方，依赖系统证券 pn_stock()、系统时间 pn_date() 和系统周期 pn_cycle()，调用前需设置相应系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 MACD DIF DEA 买入 金叉 零轴 -->

| 参数    | 类型    | 说明                  |
| ------- | ------- | --------------------- |
| `short` | integer | MACD 快速移动平均周期 |
| `long`  | integer | MACD 慢速移动平均周期 |
| `m`     | integer | DEA 平滑移动平均周期  |
| `type`  | integer | 筛选条件，取值见下    |

type 取值

- `2` — DIF 上穿 DEA
- `4` — DIF 在零轴上方上穿 DEA
- `6` — DIF 在零轴下方上穿 DEA

返回：bool

### 示例

范例01：判断白云机场在 2011 年 9 月 13 日是否出现 MACD 金叉

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_date(), 20110913T);
setSysParam(pn_cycle(), cy_day());
return bsByMACD(12, 26, 9, 2);
// 输出：0
```

## `bsByMTM(n, m)`

声明：function

返回MTM买入条件选股，MTM的M日均线上穿（即突破）0。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 MTM -->

| 参数 | 类型    | 说明                          |
| ---- | ------- | ----------------------------- |
| `n`  | integer | 整数，统计天数                |
| `m`  | integer | 整数，计算MTM均线的交易日长度 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的MTM买入条件选股情况

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

## `bsByRSI(n, v)`

声明：function

返回RSI买入条件选股，计算RSI的值z，再判断z是否上穿（即突破）v值。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 RSI -->

| 参数 | 类型    | 说明                   |
| ---- | ------- | ---------------------- |
| `n`  | integer | 整数，统计天数         |
| `v`  | numeric | 实数，判断买入条件的值 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的RSI买入条件选股情况

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

## `bsByWR(n, v)`

声明：function

返回WR买入条件选股，WR上穿（即突破）v。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 WR -->

| 参数 | 类型    | 说明               |
| ---- | ------- | ------------------ |
| `n`  | integer | 整数，统计天数     |
| `v`  | integer | 常数，wr穿越的基线 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的WR买入条件选股情况

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

## `rsifz(n_1, n_2, m, type)`

声明：function

返回RSI翻转，与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 RSI -->

| 参数   | 类型    | 说明                                   |
| ------ | ------- | -------------------------------------- |
| `n_1`  | integer | 整数，交易日天数                       |
| `n_2`  | integer | 整数，交易日天数                       |
| `m`    | integer | 整数，交易日天数                       |
| `type` | integer | 结果类型 显示名 取值 底背离 0 顶背离 1 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的RSI翻转情况

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

## `ssByBias(n, v)`

声明：function

返回BIAS卖出条件选股，判断BIAS是否大于v。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 BIAS -->

| 参数 | 类型    | 说明                   |
| ---- | ------- | ---------------------- |
| `n`  | integer | 整数，统计天数         |
| `v`  | numeric | 实数，判断卖出条件的值 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的BIAS卖出条件选股情况

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

## `ssByBoll(n)`

声明：function

返回BOLL卖出条件选股，Z2上穿（即突破）收盘价。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 BOLL Z2 -->

| 参数 | 类型    | 说明           |
| ---- | ------- | -------------- |
| `n`  | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的BOLL卖出条件选股情况

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

## `ssByKD(n, m_1, m_2)`

声明：function

KD卖出条件选股，K下穿（即跌破）D 且 D>80。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 KD -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n`   | integer | 整数，统计天数 |
| `m_1` | integer | 整数，统计天数 |
| `m_2` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的KD卖出条件选股情况

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

## `ssByKDJ(n, m_1, m_2)`

声明：function

返回KDJ卖出条件选股，J值下穿（即跌破）0。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 KDJ -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n`   | integer | 整数，统计天数 |
| `m_1` | integer | 整数，统计天数 |
| `m_2` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的KDJ卖出条件选股情况

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

## `ssByMA(n_1, n_2)`

声明：function

返回MA卖出条件选股，收盘价的N1日简单移动平均下穿（即跌破）收盘价的N2日简单移动平均。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 MA N1 N2 -->

| 参数  | 类型    | 说明                         |
| ----- | ------- | ---------------------------- |
| `n_1` | integer | 整数，计算移动平均的统计天数 |
| `n_2` | integer | 整数，计算移动平均的统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的MA卖出条件选股情况

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

## `ssByMACD(short, long, m, type)`

声明：function

返回 MACD 卖出条件选股结果，用于判断 DIF 是否下穿 DEA，并可限定交叉发生在零轴上方或下方，依赖系统证券 pn_stock()、系统时间 pn_date() 和系统周期 pn_cycle()，调用前需设置相应系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 MACD DIF DEA 卖出 死叉 零轴 -->

| 参数    | 类型    | 说明                  |
| ------- | ------- | --------------------- |
| `short` | integer | MACD 快速移动平均周期 |
| `long`  | integer | MACD 慢速移动平均周期 |
| `m`     | integer | DEA 平滑移动平均周期  |
| `type`  | integer | 筛选条件，取值见下    |

type 取值

- `3` — DIF 下穿 DEA
- `5` — DIF 在零轴上方下穿 DEA
- `7` — DIF 在零轴下方下穿 DEA

返回：bool

### 示例

范例01：判断白云机场在 2011 年 9 月 13 日是否出现 MACD 死叉

```tsl
setSysParam(pn_stock(), "SH600004");
setSysParam(pn_date(), 20110913T);
setSysParam(pn_cycle(), cy_day());
return ssByMACD(12, 26, 9, 3);
// 输出：0
```

## `ssByMTM(n, m)`

声明：function

返回MTM卖出条件选股，MTM的M日均线下穿（即跌破）0。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 MTM -->

| 参数 | 类型    | 说明                          |
| ---- | ------- | ----------------------------- |
| `n`  | integer | 整数，统计天数                |
| `m`  | integer | 整数，计算MTM均线的交易日长度 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的MTM卖出条件选股情况

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

## `ssByRSI(n, v)`

声明：function

返回RSI卖出条件选股，计算RSI的值z，再判断z是否下穿（即跌破）v值。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 RSI -->

| 参数 | 类型    | 说明                   |
| ---- | ------- | ---------------------- |
| `n`  | integer | 整数，统计天数         |
| `v`  | numeric | 实数，判断卖出条件的值 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的RSI卖出条件选股情况

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

## `ssByWR(n, v)`

声明：function

返回WR卖出条件选股，WR下穿（即跌破）v。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 技术指标选股 返回 获取 WR -->

| 参数 | 类型    | 说明               |
| ---- | ------- | ------------------ |
| `n`  | integer | 整数，统计天数     |
| `v`  | integer | 常数，wr穿越的基线 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的WR卖出条件选股情况

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