订单操作
下单
功能说明
下单。
方法签名
func (c *TradeClient) PlaceOrder(order model.OrderRequest) (*model.PlaceOrderResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 由客户端账户写入 | 传入值会被客户端配置的交易账户覆盖 |
ID | int64 | 否 | 零值省略 | 下单不使用;PlaceOrder 不会覆盖该字段 |
OrderId | int64 | 否 | 空值省略 | 无;账户自增订单号 |
Action | string | 是 | 空值省略 | 买卖方向;可选值:BUY, SELL |
OrderType | string | 是 | 空值省略 | 订单类型;可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG |
TotalQuantity | int64 | 条件必填 | 零值省略 | 总数量;按数量下单时必填,按金额下单时使用 Amount |
LimitPrice | float64 | 条件必填 | 零值省略 | 限价类订单必填 |
AuxPrice | float64 | 条件必填 | 零值省略 | 止损类订单的辅助价格 |
TrailingPercent | float64 | 否 | 空值省略 | 无;跟踪止损百分比 |
TimeInForce | string | 否 | 空值省略 | 无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG |
OutsideRth | bool | 否 | 空值省略 | 无;是否允许盘前盘后 |
OrderLegs | []OrderLegRequest | 否 | 空值省略 | 无;附加订单(止盈/止损) |
AlgoParams | *AlgoParamsRequest | 否 | 空值省略 | 无;算法参数 |
Symbol | string | 条件必填 | 空值省略 | 标的代码;普通单必填,多腿单由 ContractLegs 提供各腿合约 |
SecType | string | 是 | 空值省略 | 合约类型;可选值:STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND |
Market | string | 否 | 空值省略 | 无;市场;可选值:ALL, US, HK, CN, SG |
Currency | string | 否 | 空值省略 | 无;货币;可选值:ALL, USD, HKD, CNH, SGD |
Expiry | string | 否 | 空值省略 | 无;到期日(期权/期货) |
Strike | string | 否 | 空值省略 | 无;行权价(期权) |
Right | string | 否 | 空值省略 | 无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment |
Identifier | string | 否 | 空值省略 | 无;合约标识符 |
Remark | string | 否 | 空值省略 | 无;备注 |
UserMark | string | 否 | 空值省略 | 无;用户标记 |
SecretKey | string | 否 | 空值省略 | 无;机构账户鉴权 Secret Key |
DisplaySize | int64 | 否 | 空值省略 | 无;冰山单:展示数量 |
MinDisplaySize | int64 | 否 | 空值省略 | 无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize |
CheckIntervals | int64 | 否 | 空值省略 | 无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒 |
PriceType | string | 否 | 空值省略 | 无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE |
StartTime | int64 | 否 | 空值省略 | 无;冰山单:生效开始时间(epoch ms,可选) |
EndTime | int64 | 否 | 空值省略 | 无;冰山单:生效结束时间(epoch ms,可选) |
ExpireTime | int64 | 否 | 零值省略 | GTD 到期时间,毫秒时间戳 |
AfterHoursPrice | float64 | 否 | 零值省略 | 盘后委托价格 |
BatchNo | int64 | 否 | 零值省略 | 批次号 |
SegType | string | 否 | 空值省略 | 资金类型 |
Amount | float64 | 否 | 零值省略 | 按金额下单的委托金额 |
IsQuantityByAmount | *bool | 否 | nil 时省略 | 已废弃;新代码直接设置 Amount |
AllocAccounts | []string | 否 | 空值省略 | 机构账户分配列表 |
AllocShares | []float64 | 否 | 空值省略 | 各账户分配份额,与 AllocAccounts 按索引对应 |
Source | string | 否 | 空值省略 | 下单来源 |
Channel | string | 否 | 空值省略 | 下单渠道 |
VirtualOrderType | string | 否 | 空值省略 | 虚拟订单类型 |
VirtualId | string | 否 | 空值省略 | 虚拟订单 ID |
ProfitTakerOrderId | int64 | 否 | 零值省略 | 止盈订单 ID |
StopLossOrderId | int64 | 否 | 零值省略 | 止损订单 ID |
LocalNo | string | 否 | 空值省略 | 本地流水号 |
OcaOrders | []*OrderRequest | 否 | 空值省略 | OCA 订单组 |
ContractLegs | []ContractLegRequest | 否 | 空值省略 | 多腿期权各腿 |
ComboType | string | 否 | 空值省略 | 组合类型 |
OrderLegRequest 字段 | 类型 | 说明 |
|---|---|---|
LegType | string | 附加订单类型(PROFIT/LOSS) |
Price | float64 | 附加订单价格 |
TimeInForce | string | 有效期 |
Quantity | int64 | 数量 |
AlgoParamsRequest 字段 | 类型 | 说明 |
|---|---|---|
AlgoStrategy | string | 算法策略(TWAP/VWAP) |
StartTime | string | 开始时间 |
EndTime | string | 结束时间 |
ParticipationRate | float64 | 参与率 |
ContractLegRequest 字段 | 类型 | 说明 |
|---|---|---|
Symbol | string | 标的代码 |
SecType | string | 证券类型 |
Expiry | string | 到期日 |
Strike | string | 行权价 |
Right | string | 期权方向 |
Action | string | 买卖方向 |
Ratio | *int | 可空的腿比例 |
返回
(*model.PlaceOrderResult, error)。关键字段来自 model.PlaceOrderResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 ID |
| OrderID | int64 | 订单号 |
| SubIDs | []int64 | 子订单 ID 列表 |
| Orders | []Order | 订单列表 |
Orders 中的 Order 字段 | 类型 | 说明 |
|---|---|---|
| Account | string | 账户 ID |
| ID | int64 | 全局订单 ID |
| OrderId | int64 | 账户订单号 |
| Action | string | 买卖方向 |
| OrderType | string | 订单类型 |
| TotalQuantity | int64 | 委托数量 |
| LimitPrice | float64 | 限价 |
| AuxPrice | float64 | 辅助价格 |
| TrailingPercent | float64 | 跟踪止损百分比 |
| Status | string | 订单状态 |
| FilledQuantity | int64 | 成交数量 |
| AvgFillPrice | float64 | 成交均价 |
| TimeInForce | string | 有效期 |
| OutsideRth | bool | 是否允许盘前盘后 |
| OrderLegs | []OrderLeg | 附加订单 |
| AlgoParams | *AlgoParams | 算法参数 |
| Symbol | string | 标的代码 |
| SecType | string | 证券类型 |
| Market | string | 市场 |
| Currency | string | 币种 |
| Expiry | string | 到期日 |
| Strike | string | 行权价 |
| Right | string | 期权方向 |
| Identifier | string | 合约标识符 |
| Name | string | 合约名称 |
| Commission | float64 | 佣金 |
| RealizedPnl | float64 | 已实现盈亏 |
| OpenTime | int64 | 开仓时间,毫秒时间戳 |
| UpdateTime | int64 | 更新时间,毫秒时间戳 |
| LatestTime | int64 | 最新时间,毫秒时间戳 |
| Remark | string | 备注 |
| Source | string | 订单来源 |
| UserMark | string | 用户标记 |
| ExternalId | string | 外部 ID |
| TotalQuantityScale | int | 委托数量精度 |
| FilledQuantityScale | int | 成交数量精度 |
| FilledCashAmount | float64 | 成交现金金额 |
| Gst | float64 | GST |
| Liquidation | bool | 是否为强平订单 |
| AttrDesc | string | 属性说明 |
| AttrList | []string | 属性列表 |
| AlgoStrategy | string | 算法策略 |
| Discount | float64 | 折扣 |
| ReplaceStatus | string | 改单状态 |
| CancelStatus | string | 撤单状态 |
| CanModify | bool | 是否可修改 |
| CanCancel | bool | 是否可撤销 |
| IsOpen | bool | 是否为未完成订单 |
| OrderDiscount | float64 | 订单折扣 |
| TradingSessionType | string | 交易时段类型 |
| LatestPrice | float64 | 最新价 |
| DisplaySize | int64 | 冰山单展示数量 |
| MinDisplaySize | int64 | 冰山单最小展示数量 |
| CheckIntervals | int64 | 冰山单价检间隔,秒 |
| PriceType | string | 冰山单价格类型 |
| StartTime | int64 | 生效开始时间,毫秒时间戳 |
| EndTime | int64 | 生效结束时间,毫秒时间戳 |
OrderLegs 中的 OrderLeg 字段 | 类型 | 说明 |
|---|---|---|
| LegType | string | 附加订单类型 |
| Price | float64 | 价格 |
| TimeInForce | string | 有效期 |
| Quantity | int64 | 数量 |
AlgoParams 字段 | 类型 | 说明 |
|---|---|---|
| AlgoStrategy | string | 算法策略 |
| StartTime | string | 开始时间 |
| EndTime | string | 结束时间 |
| ParticipationRate | float64 | 参与率 |
返回订单 ID 只表示下单请求已提交。请继续查询订单以确认最终状态。
示例
result, err := tc.PlaceOrder(model.OrderRequest{
Account: "U123456",
Symbol: "AAPL",
SecType: "STK",
Action: "BUY",
OrderType: "LMT",
TotalQuantity: 1,
LimitPrice: 310.00,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"id": 123456789,
"order_id": 100001,
"subIds": [123456790],
"orders": [
{
"id": 123456789,
"orderId": 100001,
"account": "U123456",
"symbol": "AAPL",
"secType": "STK",
"action": "BUY",
"orderType": "LMT",
"limitPrice": 310.00,
"totalQuantity": 1,
"filledQuantity": 0,
"status": "Initial"
}
]
}调用频率
基础限流为 120 次/分钟。
预览订单
功能说明
预览订单。
方法签名
func (c *TradeClient) PreviewOrder(order model.OrderRequest) (*model.PreviewResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 由客户端账户写入 | 传入值会被客户端配置的交易账户覆盖 |
ID | int64 | 否 | 零值省略 | 预览不使用 |
OrderId | int64 | 否 | 空值省略 | 无;账户自增订单号 |
Action | string | 是 | 空值省略 | 买卖方向;可选值:BUY, SELL |
OrderType | string | 是 | 空值省略 | 订单类型;可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG |
TotalQuantity | int64 | 条件必填 | 零值省略 | 总数量;按数量预览时必填,按金额预览时使用 Amount |
LimitPrice | float64 | 条件必填 | 零值省略 | 限价类订单必填 |
AuxPrice | float64 | 条件必填 | 零值省略 | 止损类订单的辅助价格 |
TrailingPercent | float64 | 否 | 空值省略 | 无;跟踪止损百分比 |
TimeInForce | string | 否 | 空值省略 | 无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG |
OutsideRth | bool | 否 | 空值省略 | 无;是否允许盘前盘后 |
OrderLegs | []OrderLegRequest | 否 | 空值省略 | 无;附加订单(止盈/止损) |
AlgoParams | *AlgoParamsRequest | 否 | 空值省略 | 无;算法参数 |
Symbol | string | 条件必填 | 空值省略 | 标的代码;普通单必填,多腿单由 ContractLegs 提供各腿合约 |
SecType | string | 是 | 空值省略 | 合约类型;可选值:STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND |
Market | string | 否 | 空值省略 | 无;市场;可选值:ALL, US, HK, CN, SG |
Currency | string | 否 | 空值省略 | 无;货币;可选值:ALL, USD, HKD, CNH, SGD |
Expiry | string | 否 | 空值省略 | 无;到期日(期权/期货) |
Strike | string | 否 | 空值省略 | 无;行权价(期权) |
Right | string | 否 | 空值省略 | 无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment |
Identifier | string | 否 | 空值省略 | 无;合约标识符 |
Remark | string | 否 | 空值省略 | 无;备注 |
UserMark | string | 否 | 空值省略 | 无;用户标记 |
SecretKey | string | 否 | 空值省略 | 无;机构账户鉴权 Secret Key |
DisplaySize | int64 | 否 | 空值省略 | 无;冰山单:展示数量 |
MinDisplaySize | int64 | 否 | 空值省略 | 无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize |
CheckIntervals | int64 | 否 | 空值省略 | 无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒 |
PriceType | string | 否 | 空值省略 | 无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE |
StartTime | int64 | 否 | 空值省略 | 无;冰山单:生效开始时间(epoch ms,可选) |
EndTime | int64 | 否 | 空值省略 | 无;冰山单:生效结束时间(epoch ms,可选) |
ExpireTime | int64 | 否 | 零值省略 | GTD 到期时间,毫秒时间戳 |
AfterHoursPrice | float64 | 否 | 零值省略 | 盘后委托价格 |
BatchNo | int64 | 否 | 零值省略 | 批次号 |
SegType | string | 否 | 空值省略 | 资金类型(CASH / MARGIN) |
Amount | float64 | 否 | 零值省略 | 按金额下单的委托金额 |
IsQuantityByAmount | *bool | 否 | nil 时省略 | 已废弃;新代码直接设置 Amount |
AllocAccounts | []string | 否 | 空值省略 | 机构账户分配列表 |
AllocShares | []float64 | 否 | 空值省略 | 各账户分配份额,与 AllocAccounts 按索引对应 |
Source | string | 否 | 空值省略 | 下单来源 |
Channel | string | 否 | 空值省略 | 下单渠道 |
VirtualOrderType | string | 否 | 空值省略 | 虚拟订单类型 |
VirtualId | string | 否 | 空值省略 | 虚拟订单 ID |
ProfitTakerOrderId | int64 | 否 | 零值省略 | 止盈订单 ID |
StopLossOrderId | int64 | 否 | 零值省略 | 止损订单 ID |
LocalNo | string | 否 | 空值省略 | 本地流水号 |
OcaOrders | []*OrderRequest | 否 | 空值省略 | OCA 订单组 |
ContractLegs | []ContractLegRequest | 否 | 空值省略 | 多腿期权各腿 |
ComboType | string | 否 | 空值省略 | 组合类型 |
OrderLegRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
LegType | string | 否 | 空值时省略 | 附加订单类型 |
Price | float64 | 否 | 零值时省略 | 附加订单价格 |
TimeInForce | string | 否 | 空值时省略 | 有效期 |
Quantity | int64 | 否 | 零值时省略 | 数量 |
AlgoParamsRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
AlgoStrategy | string | 否 | 空值时省略 | 算法策略 |
StartTime | string | 否 | 空值时省略 | 算法订单开始时间 |
EndTime | string | 否 | 空值时省略 | 算法订单结束时间 |
ParticipationRate | float64 | 否 | 零值时省略 | 参与率 |
ContractLegRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
Symbol | string | 否 | 空值时省略 | 标的代码 |
SecType | string | 否 | 空值时省略 | 证券类型 |
Expiry | string | 否 | 空值时省略 | 到期日 |
Strike | string | 否 | 空值时省略 | 行权价 |
Right | string | 否 | 空值时省略 | 期权方向 |
Action | string | 否 | 空值时省略 | 买卖方向 |
Ratio | *int | 否 | nil 时省略 | 多腿订单腿数比例 |
OcaOrders 中的每一项均使用上方 OrderRequest 模型,不重复展开同一组字段。
返回
(*model.PreviewResult, error)。关键字段来自 model.PreviewResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| Account | string | 账户 ID |
| IsPass | bool | 是否通过风控校验 |
| Commission | float64 | 预估佣金 |
| CommissionCurrency | string | 佣金币种 |
| MarginCurrency | string | 保证金币种 |
| InitMargin | float64 | 初始保证金(下单后) |
| InitMarginBefore | float64 | 初始保证金(下单前) |
| MaintMargin | float64 | 维持保证金(下单后) |
| MaintMarginBefore | float64 | 维持保证金(下单前) |
| EquityWithLoan | float64 | 含贷款权益(下单后) |
| EquityWithLoanBefore | float64 | 含贷款权益(下单前) |
| AvailableEE | float64 | 假设订单成交后的可用剩余资产,币种见 MarginCurrency |
| ExcessLiquidity | float64 | 假设订单成交后的剩余流动性,币种见 MarginCurrency |
| OvernightLiquidation | float64 | 假设订单成交后的隔夜剩余流动性,币种见 MarginCurrency |
| Gst | float64 | GST |
| Message | string | 预览结果消息 |
这些字段在不适用的账户或场景下可能不返回。Go 模型使用非指针 float64,因此缺失值与明确返回的 0 都表现为 0。
示例
result, err := tc.PreviewOrder(model.OrderRequest{
Account: "U123456",
Symbol: "AAPL",
SecType: "STK",
Action: "BUY",
OrderType: "LMT",
TotalQuantity: 1,
LimitPrice: 310.00,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"account": "U123456",
"isPass": true,
"commission": 0.99,
"commissionCurrency": "USD",
"marginCurrency": "USD",
"initMargin": 31000.00,
"initMarginBefore": 30000.00,
"maintMargin": 28000.00,
"maintMarginBefore": 27000.00,
"equityWithLoan": 100000.00,
"equityWithLoanBefore": 100500.00,
"availableEE": 69000.00,
"excessLiquidity": 72000.00,
"overnightLiquidation": 71000.00,
"gst": 0.00,
"message": ""
}改单
功能说明
修改订单。
方法签名
func (c *TradeClient) ModifyOrder(id int64, order model.OrderRequest) (*model.OrderIDResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 由客户端账户写入 | 传入值会被客户端配置的交易账户覆盖 |
ID | int64 | 否 | 由 id 参数写入 | 无需在 order 中重复设置;传入结构体中的值会被覆盖 |
OrderId | int64 | 否 | 空值省略 | 无;账户自增订单号 |
Action | string | 否 | 空值省略 | 无;买卖方向(BUY/SELL);可选值:BUY, SELL |
OrderType | string | 否 | 空值省略 | 无;订单类型(MKT/LMT/STP/STP_LMT/TRAIL 等);可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG |
TotalQuantity | int64 | 否 | 空值省略 | 无;总数量 |
LimitPrice | float64 | 否 | 空值省略 | 无;限价 |
AuxPrice | float64 | 否 | 空值省略 | 无;辅助价格(止损价) |
TrailingPercent | float64 | 否 | 空值省略 | 无;跟踪止损百分比 |
TimeInForce | string | 否 | 空值省略 | 无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG |
OutsideRth | bool | 否 | 空值省略 | 无;是否允许盘前盘后 |
OrderLegs | []OrderLegRequest | 否 | 空值省略 | 无;附加订单(止盈/止损) |
AlgoParams | *AlgoParamsRequest | 否 | 空值省略 | 无;算法参数 |
Symbol | string | 否 | 空值省略 | 无;股票代码 |
SecType | string | 否 | 空值省略 | 无;合约类型;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND |
Market | string | 否 | 空值省略 | 无;市场;可选值:ALL, US, HK, CN, SG |
Currency | string | 否 | 空值省略 | 无;货币;可选值:ALL, USD, HKD, CNH, SGD |
Expiry | string | 否 | 空值省略 | 无;到期日(期权/期货) |
Strike | string | 否 | 空值省略 | 无;行权价(期权) |
Right | string | 否 | 空值省略 | 无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment |
Identifier | string | 否 | 空值省略 | 无;合约标识符 |
Remark | string | 否 | 空值省略 | 无;备注 |
UserMark | string | 否 | 空值省略 | 无;用户标记 |
SecretKey | string | 否 | 空值省略 | 无;机构账户鉴权 Secret Key |
DisplaySize | int64 | 否 | 空值省略 | 无;冰山单:展示数量 |
MinDisplaySize | int64 | 否 | 空值省略 | 无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize |
CheckIntervals | int64 | 否 | 空值省略 | 无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒 |
PriceType | string | 否 | 空值省略 | 无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE |
StartTime | int64 | 否 | 空值省略 | 无;冰山单:生效开始时间(epoch ms,可选) |
EndTime | int64 | 否 | 空值省略 | 无;冰山单:生效结束时间(epoch ms,可选) |
ExpireTime | int64 | 否 | 零值省略 | GTD 到期时间,毫秒时间戳 |
AfterHoursPrice | float64 | 否 | 零值省略 | 盘后委托价格 |
BatchNo | int64 | 否 | 零值省略 | 批次号 |
SegType | string | 否 | 空值省略 | 资金类型(CASH / MARGIN) |
Amount | float64 | 否 | 零值省略 | 按金额下单的委托金额 |
IsQuantityByAmount | *bool | 否 | nil 时省略 | 已废弃;新代码直接设置 Amount |
AllocAccounts | []string | 否 | 空值省略 | 机构账户分配列表 |
AllocShares | []float64 | 否 | 空值省略 | 各账户分配份额,与 AllocAccounts 按索引对应 |
Source | string | 否 | 空值省略 | 下单来源 |
Channel | string | 否 | 空值省略 | 下单渠道 |
VirtualOrderType | string | 否 | 空值省略 | 虚拟订单类型 |
VirtualId | string | 否 | 空值省略 | 虚拟订单 ID |
ProfitTakerOrderId | int64 | 否 | 零值省略 | 止盈订单 ID |
StopLossOrderId | int64 | 否 | 零值省略 | 止损订单 ID |
LocalNo | string | 否 | 空值省略 | 本地流水号 |
OcaOrders | []*OrderRequest | 否 | 空值省略 | OCA 订单组 |
ContractLegs | []ContractLegRequest | 否 | 空值省略 | 多腿期权各腿 |
ComboType | string | 否 | 空值省略 | 组合类型 |
id | int64 | 是 | 无;零值仍会序列化 | id 字段值 |
OrderLegRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
LegType | string | 否 | 空值时省略 | 附加订单类型 |
Price | float64 | 否 | 零值时省略 | 附加订单价格 |
TimeInForce | string | 否 | 空值时省略 | 有效期 |
Quantity | int64 | 否 | 零值时省略 | 数量 |
AlgoParamsRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
AlgoStrategy | string | 否 | 空值时省略 | 算法策略 |
StartTime | string | 否 | 空值时省略 | 算法订单开始时间 |
EndTime | string | 否 | 空值时省略 | 算法订单结束时间 |
ParticipationRate | float64 | 否 | 零值时省略 | 参与率 |
ContractLegRequest 字段
| 字段 | 类型 | 必填 | 默认/省略行为 | 说明 |
|---|---|---|---|---|
Symbol | string | 否 | 空值时省略 | 标的代码 |
SecType | string | 否 | 空值时省略 | 证券类型 |
Expiry | string | 否 | 空值时省略 | 到期日 |
Strike | string | 否 | 空值时省略 | 行权价 |
Right | string | 否 | 空值时省略 | 期权方向 |
Action | string | 否 | 空值时省略 | 买卖方向 |
Ratio | *int | 否 | nil 时省略 | 多腿订单腿数比例 |
OcaOrders 中的每一项均使用上方 OrderRequest 模型,不重复展开同一组字段。
返回
(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 ID |
返回订单 ID 只表示改单请求已提交,不表示新参数已经生效。请继续查询订单;只有查询结果确认新参数已生效或订单进入最终状态,才可判定改单完成。
示例
result, err := tc.ModifyOrder(123456789, model.OrderRequest{
Account: "U123456",
ID: 1,
Action: "BUY",
OrderType: "LMT",
TotalQuantity: 1,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"id": 123456789
}调用频率
基础限流为 120 次/分钟。
撤单
功能说明
取消订单。
方法签名
func (c *TradeClient) CancelOrder(id int64) (*model.OrderIDResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
| 参数 | 类型 | 必填 | SDK 默认值 | 约束 |
|---|---|---|---|---|
id | int64 | 是 | 无 | 全局订单 ID |
返回
(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 ID |
返回订单 ID 只表示撤单请求已提交。请继续查询订单,直到 Status 为 Cancelled,或订单因抢先成交等原因进入其他最终状态;不要把请求受理当作撤单完成。
示例
result, err := tc.CancelOrder(123456789)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"id": 123456789
}调用频率
基础限流为 120 次/分钟。
预估可交易数量
功能说明
估算可交易数量。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) EstimateTradableQuantity(req model.EstimateTradableQuantityRequest) (*model.EstimateTradableQuantity, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.EstimateTradableQuantityRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户 ID |
SecretKey | string | 否 | 空值时使用客户端配置 | 机构账户鉴权密钥 |
Symbol | string | 是 | 空值省略 | 标的代码 |
SecType | string | 是 | 空值省略 | 证券类型;可选值:STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND |
Action | string | 是 | 空值省略 | 买卖方向;可选值:BUY, SELL |
OrderType | string | 否 | 空值省略 | 订单类型;可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG |
LimitPrice | float64 | 条件必填 | 零值省略 | 限价类订单使用的价格 |
StopPrice | float64 | 条件必填 | 零值省略 | 止损类订单使用的触发价 |
Expiry | string | 条件必填 | 空值省略 | 期权或期货到期日 |
Strike | string | 条件必填 | 空值省略 | 期权行权价 |
Right | string | 条件必填 | 空值省略 | 期权方向;可选值:PUT, CALL |
SegType | string | 否 | 空值省略 | 资金分段;可选值:ALL, SEC, FUT, FUND |
Lang | string | 否 | 空值省略 | 可选值:zh_CN, zh_TW, en_US |
返回
(*model.EstimateTradableQuantity, error)。关键字段来自 model.EstimateTradableQuantity:
| 字段 | 类型 | 说明 |
|---|---|---|
| TradableQuantity | float64 | 可交易数量 |
| MaxCashBuyQuantity | float64 | 最大现金买入数量 |
| MaxMarginBuyQuantity | float64 | 最大融资买入数量 |
| MaxShortSellQuantity | float64 | 最大融券卖出数量 |
| MaxPositionSellQuantity | float64 | 最大持仓卖出数量 |
| CashBuyingPower | float64 | 现金购买力 |
| Currency | string | 币种 |
示例
result, err := tc.EstimateTradableQuantity(model.EstimateTradableQuantityRequest{
Account: "U123456",
Symbol: "AAPL",
SecType: "STK",
Action: "BUY",
OrderType: "MKT",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"tradableQuantity": 320,
"maxCashBuyQuantity": 100,
"maxMarginBuyQuantity": 320,
"maxShortSellQuantity": 0,
"maxPositionSellQuantity": 0,
"cashBuyingPower": 31000.00,
"currency": "USD"
}调用频率
基础限流为 60 次/分钟。
Updated 5 days ago
