-
Notifications
You must be signed in to change notification settings - Fork 1
MyOrder
MyOrder
表示由用户创建的订单。
Object
MyOrder
包含以下字段:
交易所名称
交易对 front
交易对 back
价格
数量
本地订单号
由于所有的订单操作都是异步进行,大部分订单操作,如订单查询等,都是使用 pid 作为订单号标识。
例如,当订单创建后会立即返回本地订单数据,但此时订单并未到达交易所,但我们仍可以让算法继续运行,使用本地订单数据作为后续分析的依据。此时 pid 字段用于关联本地订单和交易所订单。
订单 tick 的说明
绝大多数情况下,系统都需要异步创建订单,并且在下一个 tick 进行状态检查、计算、处理等操作。这里 tick 不只是字面上的时钟周期,在部分情况下,用户可以指定 tick 的触发规则来检测某些变化,比如订单状态变化,深度更新等等。
目前 tick 主要是固定的时钟周期。
远程订单号
本地创建时间(本地创建成功,未被服务器确认,订单状态为 pending
)
服务器创建时间(服务器确认创建成功,订单状态为 book
)
订单更新服务器时间
订单由远程交易所创建时间(非服务器时间)
订单由远程交易所更新时间(非服务器时间)
订单将要执行系统API取消订单操作,若取消失败,该字段恢复为false
可选字段
Boolean
类型
postOnly: true
表示只挂单(maker),否则取消该订单。
仅部分交易所支持。不支持的交易所 postOnly
设置不会生效。
可选字段
Boolean
类型
market: true
表示市价单(market order)。默认为限价单(limit order)
订单状态
订单状态为以下状态之一:
-
pending
本地创建成功,未被服务器确认 -
book
服务器确认创建成功 -
closed
订单结束,并且至少部分成交 -
error
订单出现错误,并且完全没有成交迹象 -
partial
订单部分成交 -
canceled
订单因为某种明确的原因被取消。取消原因符合用户期待(比如:postOnly 取消、用户主动取消操作)
Enum
类型,表示当前订单在cancel
、error
状态下的文字补充说明。
situation
包含以下枚举值:
-
Cancel
= "Cancel order initiative" 订单由系统调用API主动取消 -
CancelPassive
= "Cancel order passive" 订单由远程交易所被动取消 -
CancelPostOnly
= "Cancel order by postOnly" 订单由于是postOnly类型被自动取消 -
ErrorLimitExceed
= "Limit exceed error" 超出该交易所API调用限制错误 -
ErrorNotEnoughBalance
= "Balance not enough error" 由于该交易所余额不足导致创建订单失败 -
ErrorBanned
= "Banned error" 由于违规操作或操作频繁导致IP或账户被禁,如bitmex
交易所 -
ErrorForbidden
= "Forbidden error" 由于请求过于频繁导致IP被屏蔽,如okex
交易所 -
ErrorNetword
= "Network error" 网络错误,如socket hang up
-
ErrorInvalidParameter
= "Invalid parameter error" 参数错误,由系统判断 -
ErrorInvalidVolume
= "Invalid order price or amount or volume" 下单价格、数量、金额错误,由交易所给出 -
ErrorInvalidSignature
= "Invalid signature error" API签名错误,可能由用户API密钥或系统签名代码错误导致 -
ErrorUnknown
= "Unknown error" 未知错误 -
ErrorNotSupport
= "Action not supported" 不支持该操作
当前订单在cancel
、error
状态下的原因,以交易所为准,否则由系统给出
订单手续费
- 基本概念
- 交易所
- 核心数据
- 量化策略