PTrade 股票交易常用函数包括 `order`、`order_target`、`order_value` 和 `order_target_value`。回测中的订单是模拟撮合，交易任务中的订单可能发送到柜台。

## 下单前检查

- 交易开关是否明确开启。
- 当前运行环境是否允许委托。
- 证券代码和业务类型是否匹配。
- 可用资金、持仓和可卖数量是否足够。
- 是否存在同证券、同方向的重复委托。

## 常用下单函数

| 目标 | 首选函数 | 数量含义 |
| --- | --- | --- |
| 买卖指定数量 | [`order`](/docs/ptrade/api-reference/order/) | 本次增减的证券数量 |
| 调整到目标数量 | [`order_target`](/docs/ptrade/api-reference/order-target/) | 调整后的目标持仓数量 |
| 按金额买卖 | [`order_value`](/docs/ptrade/api-reference/order-value/) | 本次增减的资金金额 |
| 调整到目标市值 | [`order_target_value`](/docs/ptrade/api-reference/order-target-value/) | 调整后的目标持仓市值 |
| 撤销未完成委托 | [`cancel_order`](/docs/ptrade/api-reference/cancel-order/) | 传入订单标识或订单对象 |

数量型、金额型、目标型接口的语义不同。调用目标型接口前，应读取当前持仓；调用后应再次读取实际持仓，不能把“已调用函数”当作“已经成交”。

## 查询委托与成交

| 要查看的状态 | 接口 |
| --- | --- |
| 当前未完成委托 | [`get_open_orders`](/docs/ptrade/api-reference/get-open-orders/) |
| 委托记录 | [`get_orders`](/docs/ptrade/api-reference/get-orders/) |
| 成交记录 | [`get_trades`](/docs/ptrade/api-reference/get-trades/) |
| 当前持仓 | [`get_positions`](/docs/ptrade/api-reference/get-positions/) |

订单可能经历提交、受理、部分成交、全部成交、撤单或拒绝等状态。策略的去重和风控应以订单状态、成交回报和实际持仓共同判断。

## 目标仓位订单

调用 `order_target` 或 `order_target_value` 后，应重新读取实际持仓并比较目标差额。返回订单编号或没有未完成订单，不等于目标仓位一定达到。

## 默认安全规则

可复用模板应默认关闭真实委托。只有明确确认账号、运行模式、风控和停止方案后，才允许打开交易开关。

## 完整交易函数

更多普通交易、ETF、两融、期货及专业业务接口见[交易、委托与订单函数目录](/docs/ptrade/api-reference/categories/trading-orders/)和[两融、期货与专业交易目录](/docs/ptrade/api-reference/categories/margin-futures/)。
