## 提示

- `live-or-trading-module-only`
- `backtest-only`


## 原型

```python
buy_close(contract, amount, limit_price=None, close_today=False)
```

## 释义

buy_close 是 PTrade 中用于空平的接口。

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

## 参数

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

## 返回值

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

## 示例

```python
def initialize(context):

g.security = ['IF2312.CCFX']

set_universe(g.security)

def handle_data(context, data):

#买入平仓

buy_close('IF2312.CCFX', 1)

期货查询类函数
```

## 详细说明

buy_close(contract, amount, limit_price=None, close_today=False)

### 使用场景

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

### 接口说明

买入平仓

### 注意事项

不同期货品种每一跳的价格变动都不一样，limit_price入参的时候要参考对应品种的价格变动规则，如limit_price不做入参则会以交易的行情快照最新价或者回测的分钟最新价进行报单；

根据交易所规则，每天结束时会取消所有未完成交易；

### 参数详细说明

contract：期货合约代码；

amount：交易数量，正数；

limit_price：买卖限价；

close_today：平仓方式。close_today=False为优先平昨仓，不足部分再平今仓；close_today=True为仅平今仓，委托数量若大于今仓系统会调整为今仓数量。close_today=True仅对上海期货交易所生效，其他交易所无需入参close_today字段，若设置为True系统会警告，并强行转换为close_today=False。

### 返回值

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