4.6. 最佳实践

4.6.1. 订单 ID 的介绍

订单 ID 有两种,一种是系统生成的 order_id,一种是用户自定义的 order_id。系统生成的 order_id 由系统自动分配,用户自定义的 order_id 由用户自己指定。 OrderIdType 可以通过 order_id_type 来指定订单 ID 的类型, 来操作APP的订单。

下单/撤单时需要使用 order_id 作为本次操作的唯一标识,order_id 是一个数字字母组合,长度为 1-20 位。对于一个账户来说,order_id 是唯一的,即不同的订单具有不同的 order_id。

对于有高并发/分布式需求的用户,建议使用如 snowflake 等算法生成 order_id,以避免重复。

备注

如果有重置订单 ID 的需求,可以通过 APP 联系在线客服进行申请。

这里是一种简单的 orderId 生成方法 一种简单的 orderId 生成策略

4.6.2. 订单管理

需要在本地建立订单数据库,用于存储订单信息。订单数据库的设计可以参考下面的表结构:

字段

类型

备注

id

string

订单 ID

snb_order_id

string

雪盈 APP 订单 ID

order_id_type

string

订单 ID 类型

symbol

string

证券

price

double

下单价格

quantity

double

下单数量

avg_price

double

平均成交价格

cum_quantity

double

累计成交数量

side

string

买卖方向

order_type

string

订单类型

time_in_force

string

有效期

rth

boolean

是否只在常规交易时间有效

status

string

订单状态

created_at

datetime

下单时间

updated_at

datetime

更新时间

下单前写入DB,然后根据下单结果更新DB,推荐使用 订单查询(单条) 接口来更新订单状态。