# 行情 / 成交明细数据

## `tdByIndex(id, n)`

第N个交易明细

| 参数 | 类型 | 说明                                                        |
| ---- | ---- | ----------------------------------------------------------- |
| `id` | int  | 整数，提取数据标识                                          |
| `n`  | int  | 整数，交易点位置，0表示第一个交易点，-1表示最后一个交易点。 |

返回：any

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_date(),inttodate(20110909));
tds := array(
datetimetostr(tdbyindex(0,100)),//日期时间
tdbyindex(1,100),//价格
tdbyindex(2,100),//成交金额
tdbyindex(3,100) //成交量
);
return tds;
```

## `tdCount()`

成交明细数据函数相关函数。

返回：int

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_date(),inttodate(20110909));
return nday(5,'date',datetostr(sp_time()),'系统记录交易点数量',tdcount());
```

## `tdCountEx(date, trade_flag, start_time, end_time, min_vol, min_amount, min_price, max_vol, max_amount, max_price, mmp_flag, vol_amount_or)`

返回满足条件的某日的交易点个数。

| 参数            | 类型     | 说明                                                                           |
| --------------- | -------- | ------------------------------------------------------------------------------ |
| `date`          | datetime | 日期，成交明细的所在日期。                                                     |
| `trade_flag`    | int      | 整数，交易主买/主卖条件(0，全部，1主买，2主卖，3中性,4主买+中性，5主卖+中性)。 |
| `start_time`    | datetime | 时间，开始时间                                                                 |
| `end_time`      | float    | 时间，截止时间                                                                 |
| `min_vol`       | int      | 整数，最低的交易量                                                             |
| `min_amount`    | bool     | 实数，最低的交易金额                                                           |
| `min_price`     | datetime | 实数，最低的价格                                                               |
| `max_vol`       | float    | 整数，最高的交易量                                                             |
| `max_amount`    | float    | 实数，最低的交易金额                                                           |
| `max_price`     | float    | 实数，最高的价格                                                               |
| `mmp_flag`      | float    | 整数，是否考虑买卖盘。0不考虑，1考虑买，2考虑卖，3考虑买盘和卖盘               |
| `vol_amount_or` | float    | object                                                                         |

返回：int

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
fields := 0;
d := inttodate(20140115);
trade_flag := 1;
beg_time := strtotime('13:00:00');
end_time := strtotime('15:00:00');
min_vol := 10000;
min_amount := 0;
min_price := 7.00;
max_vol := 90000;
max_amount := 9000000;
max_price := 8.00;
return tdcountex(d,trade_flag,beg_time,end_time,
```

## `tdInfo()`

成交明细数据函数相关函数。

返回：array

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_cycle(),cy_1m());
setsysparam(pn_date(),strtodatetime("2014-01-15 10:00:00"));
return TDInfo();
```

## `tdInfoByIndex(n)`

取得某一交易点的成交明细数据。返回的数据是一维字符串下标表。 数据如下： 字段名字段含义字段类型 time日期时间TDateTime price成交价格Real amount成交金额Real vol成交量Real glb量比Real buy1买一价Real buy2买二价Real buy3买三价Real buy4买四价Real buy5买五价Real sale1卖一价Real sale2卖二价Real sale3卖三价Real sale4卖四价Real sale5卖五价Real bc1买一量Integer bc2买二量Integer bc3买三量Integer bc4买四量Integer bc5买五量Integer sc1卖一量Integer sc2卖二量Integer sc3卖三量Integer sc4卖四量Integer sc5卖五量Integer syl1市盈率1Real syl2市盈率2Real tradecnt交易笔数Integer

| 参数 | 类型 | 说明                                                        |
| ---- | ---- | ----------------------------------------------------------- |
| `n`  | int  | 整数，交易点位置，0表示第一个交易点，-1表示最后一个交易点。 |

返回：array

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_date(),inttodate(20110909));
return TDInfoByIndex(-1);
```

## `tdSum(sum_vol, sum_amount, date, trade_flag, start_time, end_time, min_vol, min_amount, min_price, max_vol, max_amount, max_price, mmp_flag, vol_amount_or)`

成交明细数据统计。

| 参数            | 类型     | 说明                                                                           |
| --------------- | -------- | ------------------------------------------------------------------------------ |
| `sum_vol`       | float    | 整数，返回的成交量和                                                           |
| `sum_amount`    | float    | 实数，返回的成交金额和                                                         |
| `date`          | datetime | 日期，成交明细的所在日期。                                                     |
| `trade_flag`    | any      | 整数，交易主买/主卖条件(0，全部，1主买，2主卖，3中性,4主买+中性，5主卖+中性)。 |
| `start_time`    | datetime | 时间，开始时间                                                                 |
| `end_time`      | datetime | 时间，截止时间                                                                 |
| `min_vol`       | float    | 整数，最低的交易量                                                             |
| `min_amount`    | float    | 实数，最低的交易金额                                                           |
| `min_price`     | float    | 实数，最低的价格                                                               |
| `max_vol`       | float    | 整数，最高的交易量                                                             |
| `max_amount`    | float    | 实数，最低的交易金额                                                           |
| `max_price`     | float    | 实数，最高的价格                                                               |
| `mmp_flag`      | any      | 整数，是否考虑买卖盘。0不考虑，1考虑买，2考虑卖，3考虑买盘和卖盘               |
| `vol_amount_or` | bool     | object                                                                         |

返回：void

## `toverData(date)`

取得某日的成交明细数据。返回的数据是一张表。不给参数，则返回当前时间的交易明细数据。 数据如下： 字段名字段含义字段类型 time日期时间TDateTime price成交价格Real amount成交金额Real vol成交量Real glb量比Real buy1买一价Real buy2买二价Real buy3买三价Real buy4买四价Real buy5买五价Real sale1卖一价Real sale2卖二价Real sale3卖三价Real sale4卖四价Real sale5卖五价Real bc1买一量Integer bc2买二量Integer bc3买三量Integer bc4买四量Integer bc5买五量Integer sc1卖一量Integer sc2卖二量Integer sc3卖三量Integer sc4卖四量Integer sc5卖五量Integer syl1市盈率1Real syl2市盈率2Real tradecnt交易笔数Integer

| 参数   | 类型     | 说明           |
| ------ | -------- | -------------- |
| `date` | datetime | 日期，可省略。 |

返回：array

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
t:=toverdata(inttodate(20140115));
update t set ['time']=datetimetostr(['time']) end;
return t;
```

## `toverDataEx(fields, date, trade_flag, start_time, end_time, min_vol, min_amount, min_price, max_vol, max_amount, max_price, mmp_flag, vol_amount_or)`

返回满足条件的某日的成交明细数据。返回的数据是一张表。 数据如下： 字段名 字段含义 字段类型 time 日期时间 TDateTime price 成交价格 Real amount 成交金额 Real vol 成交量 Real Buy1 买一价 Real Buy2 买二价 Real Buy3 买三价 Real Buy4 买四价 Real Buy5 买五价 Real Sale1 卖一价 Real Sale2 卖二价 Real Sale3 卖三价 Real Sale4 卖四价 Real Sale5 卖五价 Real Bc1 买一量 Integer Bc2 买二量 Integer Bc3 买三量 Integer Bc4 买四量 Integer Bc5 买五量 Integer SC1 卖一量 Integer SC2 卖二量 Integer SC3 卖三量 Integer SC4 卖四量 Integer SC5 卖五量 Integer syl1 市盈率1 Real syl2 市盈率2 Real tradecnt 交易笔数 Integer

| 参数            | 类型     | 说明                                                                           |
| --------------- | -------- | ------------------------------------------------------------------------------ |
| `fields`        | int      | 一般用0，表示返回所有的字段。参见交易明细字段标识函数。                        |
| `date`          | datetime | 日期，成交明细的所在日期。                                                     |
| `trade_flag`    | int      | 整数，交易主买/主卖条件(0，全部，1主买，2主卖，3中性,4主买+中性，5主卖+中性)。 |
| `start_time`    | datetime | 时间，开始时间（不包含日期）                                                   |
| `end_time`      | float    | 时间，截止时间（不包含日期）                                                   |
| `min_vol`       | int      | 整数，最低的交易量                                                             |
| `min_amount`    | bool     | 实数，最低的交易金额                                                           |
| `min_price`     | datetime | 实数，最低的价格                                                               |
| `max_vol`       | int      | 整数，最高的交易量                                                             |
| `max_amount`    | float    | 实数，最低的交易金额                                                           |
| `max_price`     | float    | 实数，最高的价格                                                               |
| `mmp_flag`      | int      | 整数，是否考虑买卖盘。0不考虑，1考虑买，2考虑卖，3考虑买盘和卖盘               |
| `vol_amount_or` | float    | object                                                                         |

返回：array

### 示例

```tsl
setsysparam(pn_stock(),'SZ000002');
fields := 0;
d := inttodate(20140115);
trade_flag := 0;
beg_time := strtotime('13:00:00');
end_time := strtotime('15:00:00');
min_vol := 10000;
min_amount := 0;
min_price := 7.00;
max_vol := 90000;
max_amount := 9000000;
max_price := 8.00;
return toverdataex(fields,d,trade_flag,beg_time,end_time,
```
