# 金融 / 技术分析 / 选股函数 / 形态特征选股

## `isDtpl(n_1, n_2, n_3, n_4)`

声明：function

返回均线多头排列，与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n_1` | integer | 整数，统计天数 |
| `n_2` | integer | 整数，统计天数 |
| `n_3` | integer | 整数，统计天数 |
| `n_4` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的均线多头排列情况

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

## `isKtpl(n_1, n_2, n_3, n_4)`

声明：function

返回均线空头排列，与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 -->

| 参数  | 类型    | 说明           |
| ----- | ------- | -------------- |
| `n_1` | integer | 整数，统计天数 |
| `n_2` | integer | 整数，统计天数 |
| `n_3` | integer | 整数，统计天数 |
| `n_4` | integer | 整数，统计天数 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的均线空头排列情况

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

## `isMaAstringent(n_1, n_2, n, error, permit_cross)`

声明：function

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

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 -->

| 参数           | 类型    | 说明                  |
| -------------- | ------- | --------------------- |
| `n_1`          | integer | 整数，均线天数        |
| `n_2`          | integer | 整数，均线天数        |
| `n`            | integer | 整数，收敛天数        |
| `error`        | resl    | 实数，收敛允许误差(%) |
| `permit_cross` | bool    | 真假，允许收敛后穿越  |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的是否是均线收敛情况

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

## `isMaAstringent2(n_1, n_2, error, begt, endt, permit_cross)`

声明：function

返回均线收敛（区间），与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 -->

| 参数           | 类型        | 说明                  |
| -------------- | ----------- | --------------------- |
| `n_1`          | integer     | 整数，均线天数        |
| `n_2`          | integer     | 整数，均线天数        |
| `error`        | resl        | 实数，收敛允许误差(%) |
| `begt`         | t_date_time | 日期，开始日          |
| `endt`         | t_date_time | 日期，截止日          |
| `permit_cross` | bool        | 真假，允许收敛后穿越  |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的是否是均线收敛情况

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

## `isMaGd(n, v, type)`

声明：function

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

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 -->

| 参数   | 类型    | 说明                                                      |
| ------ | ------- | --------------------------------------------------------- |
| `n`    | integer | 整数，均线天数                                            |
| `v`    | numeric | 实数，拐点标准（元）                                      |
| `type` | integer | 整型，结果类型 显示名 取值 下拐点 0 上拐点 1 上、下拐点 2 |

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的均线下拐点

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

## `isMaHjjc(n_1, n_2)`

声明：function

返回均线金叉，收盘价大于N1日均线，且N1日均线上穿（即突破）N2日均线。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 N1 N2 -->

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

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的是否有均线金叉

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

## `isMaSwjc(n_1, n_2)`

声明：function

返回均线死叉，收盘小于N1日均线，且N1日均线下穿（即跌破）N2日均线。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数

<!-- tags: 金融 技术分析 选股函数 形态特征选股 返回 获取 N1 N2 -->

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

返回：bool

### 示例

范例01：计算白云机场截止2011年9月13日的是否是均线死叉

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