## 提示

- `live-or-trading-module-only`
- `backtest-only`
- `broker-or-counter-dependent`


## 原型

```python
order(security, amount, limit_price=None)
```

## 释义

order 是 PTrade 中用于按数量买卖的接口。

研究：不支持；回测：支持；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `security` | 是 | security |
| `amount` | 是 | amount |
| `limit_price` | 否 | limit_price=None |

## 返回值

Order对象中的id或者None。如果创建订单成功，则返回Order对象的id(str)，失败则返回None(NoneType)。

## 示例

```python
def initialize(context):

g.security = ['600570.SS', '000001.SZ']

set_universe(g.security)

def handle_data(context, data):

#以系统最新价委托

order('600570.SS', 100)

# 逆回购1000元

order('131810.SZ', -10)

#以39块价格下一个限价单

order('600570.SS', 100, limit_price=39)
```

## 详细说明

order(security, amount, limit_price=None)

### 使用场景

该函数仅在回测、交易模块可用

### 接口说明

该接口用于买卖指定数量为amount的股票，同时支持国债逆回购

### 注意事项

支持交易场景的逆回购交易。委托方向为卖出(amount必须为负数)，逆回购最小申购金额为1000元(10张)，因此本接口amount入参应大于等于10(10张)，否则会导致委托失败。

回测场景，amount有最小下单数量校验，股票、ETF、LOF：100股，可转债：10张；交易场景接口不做amount校验，直接报柜台。

交易场景如果limit_price字段不入参，系统会默认用行情快照数据最新价报单，假如行情快照获取失败会导致委托失败，系统会在日志中增加提醒。

由于下述原因，回测中实际买入或者卖出的股票数量有时候可能与委托设置的不一样，针对上述内容调整，系统会在日志中增加警告信息：

根据委托买入数量与价格经计算后的资金数量，大于当前可用资金。

委托卖出数量大于当前可用持仓数量。

每次交易股票时取整100股，交易可转债时取整10张，但是卖出所有股票时不受此限制。

股票停牌、股票未上市或者退市、股票不存在。

回测中每天结束时会取消所有未完成交易。

### 参数详细说明

security: 股票代码(str)；

amount: 交易数量，正数表示买入，负数表示卖出(int)；

limit_price：买卖限价(float)；

### 返回值

Order对象中的id或者None。如果创建订单成功，则返回Order对象的id(str)，失败则返回None(NoneType)。
