订单操作
下单
功能说明
下单。
方法签名
func (c *TradeClient) PlaceOrder(order model.OrderRequest) (*model.PlaceOrderResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 空值省略 | 客户端默认账户;交易账户 |
ID | int64 | 否 | 空值省略 | 无;全局订单 ID(修改订单时必填) |
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,可选) |
返回
(*model.PlaceOrderResult, error)。关键字段来自 model.PlaceOrderResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 ID |
| OrderID | int64 | 订单号 |
| SubIDs | []int64 | 子订单 ID 列表 |
| Orders | []Order | 订单列表 |
示例
result, err := tc.PlaceOrder(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,
"orderId": 123456789,
"symbol": "AAPL",
"action": "BUY",
"orderType": "LMT",
"limitPrice": 310.00,
"totalQuantity": 100,
"filledQuantity": 0,
"status": "Initial",
"account": "12345678"
}预览订单
功能说明
预览订单。
方法签名
func (c *TradeClient) PreviewOrder(order model.OrderRequest) (*model.PreviewResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 空值省略 | 客户端默认账户;交易账户 |
ID | int64 | 否 | 空值省略 | 无;全局订单 ID(修改订单时必填) |
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,可选) |
返回
(*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 | 可用权益 |
| ExcessLiquidity | float64 | 超额流动性 |
| OvernightLiquidation | float64 | 隔夜清算值 |
示例
result, err := tc.PreviewOrder(model.OrderRequest{
Account: "U123456",
ID: 1,
Action: "BUY",
OrderType: "LMT",
TotalQuantity: 1,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"commission": 0.99,
"margin": 31000.00,
"buyingPower": 94000.00,
"estimatedPrice": 310.00,
"message": "",
"warning": ""
}改单
功能说明
修改订单。
方法签名
func (c *TradeClient) ModifyOrder(id int64, order model.OrderRequest) (*model.OrderIDResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OrderRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Account | string | 否 | 空值省略 | 客户端默认账户;交易账户 |
ID | int64 | 否 | 空值省略 | 无;全局订单 ID(修改订单时必填) |
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,可选) |
返回
(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 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,
"orderId": 123456789,
"symbol": "AAPL",
"action": "BUY",
"orderType": "LMT",
"limitPrice": 308.00,
"totalQuantity": 100,
"filledQuantity": 0,
"status": "Initial",
"account": "12345678"
}撤单
功能说明
取消订单。
方法签名
func (c *TradeClient) CancelOrder(id int64) (*model.OrderIDResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
| 参数 | 类型 | 必填 | SDK 默认值 | 约束 |
|---|---|---|---|---|
id | int64 | 是 | 无 | 全局订单 ID |
返回
(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int64 | 订单 ID |
示例
result, err := tc.CancelOrder(123456789)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"id": 123456789,
"orderId": 123456789,
"symbol": "AAPL",
"action": "BUY",
"orderType": "LMT",
"limitPrice": 310.00,
"totalQuantity": 100,
"filledQuantity": 0,
"status": "Cancelled",
"account": "12345678"
}预估可交易数量
功能说明
估算可交易数量。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) EstimateTradableQuantity(req model.EstimateTradableQuantityRequest) (*model.EstimateTradableQuantity, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.EstimateTradableQuantityRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Right | string | 否 | 空值省略 | 无;可选值:PUT, CALL (option side); br, nr when used as quote adjustment |
SecType | string | 否 | 空值省略 | 无;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND |
SegType | string | 否 | 空值省略 | 无;可选值:ALL, SEC, FUT, FUND |
Action | string | 否 | 空值省略 | 无;可选值:BUY, SELL |
OrderType | string | 否 | 空值省略 | 无;可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG |
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",
Expiry: "20260619",
Strike: "200",
Right: "CALL",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"tradableQuantity": 320,
"financingAmount": 99200.00,
"positionAmount": 0.0
}Updated 8 days ago
Did this page help you?
