订单操作

下单

功能说明

下单。

方法签名

func (c *TradeClient) PlaceOrder(order model.OrderRequest) (*model.PlaceOrderResult, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.OrderRequest

参数类型必填默认值说明
Accountstring空值省略客户端默认账户;交易账户
IDint64空值省略无;全局订单 ID(修改订单时必填)
OrderIdint64空值省略无;账户自增订单号
Actionstring空值省略无;买卖方向(BUY/SELL);可选值:BUY, SELL
OrderTypestring空值省略无;订单类型(MKT/LMT/STP/STP_LMT/TRAIL 等);可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG
TotalQuantityint64空值省略无;总数量
LimitPricefloat64空值省略无;限价
AuxPricefloat64空值省略无;辅助价格(止损价)
TrailingPercentfloat64空值省略无;跟踪止损百分比
TimeInForcestring空值省略无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG
OutsideRthbool空值省略无;是否允许盘前盘后
OrderLegs[]OrderLegRequest空值省略无;附加订单(止盈/止损)
AlgoParams*AlgoParamsRequest空值省略无;算法参数
Symbolstring空值省略无;股票代码
SecTypestring空值省略无;合约类型;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND
Marketstring空值省略无;市场;可选值:ALL, US, HK, CN, SG
Currencystring空值省略无;货币;可选值:ALL, USD, HKD, CNH, SGD
Expirystring空值省略无;到期日(期权/期货)
Strikestring空值省略无;行权价(期权)
Rightstring空值省略无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment
Identifierstring空值省略无;合约标识符
Remarkstring空值省略无;备注
UserMarkstring空值省略无;用户标记
SecretKeystring空值省略无;机构账户鉴权 Secret Key
DisplaySizeint64空值省略无;冰山单:展示数量
MinDisplaySizeint64空值省略无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize
CheckIntervalsint64空值省略无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒
PriceTypestring空值省略无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE
StartTimeint64空值省略无;冰山单:生效开始时间(epoch ms,可选)
EndTimeint64空值省略无;冰山单:生效结束时间(epoch ms,可选)

返回

(*model.PlaceOrderResult, error)。关键字段来自 model.PlaceOrderResult

字段类型说明
IDint64订单 ID
OrderIDint64订单号
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

参数类型必填默认值说明
Accountstring空值省略客户端默认账户;交易账户
IDint64空值省略无;全局订单 ID(修改订单时必填)
OrderIdint64空值省略无;账户自增订单号
Actionstring空值省略无;买卖方向(BUY/SELL);可选值:BUY, SELL
OrderTypestring空值省略无;订单类型(MKT/LMT/STP/STP_LMT/TRAIL 等);可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG
TotalQuantityint64空值省略无;总数量
LimitPricefloat64空值省略无;限价
AuxPricefloat64空值省略无;辅助价格(止损价)
TrailingPercentfloat64空值省略无;跟踪止损百分比
TimeInForcestring空值省略无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG
OutsideRthbool空值省略无;是否允许盘前盘后
OrderLegs[]OrderLegRequest空值省略无;附加订单(止盈/止损)
AlgoParams*AlgoParamsRequest空值省略无;算法参数
Symbolstring空值省略无;股票代码
SecTypestring空值省略无;合约类型;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND
Marketstring空值省略无;市场;可选值:ALL, US, HK, CN, SG
Currencystring空值省略无;货币;可选值:ALL, USD, HKD, CNH, SGD
Expirystring空值省略无;到期日(期权/期货)
Strikestring空值省略无;行权价(期权)
Rightstring空值省略无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment
Identifierstring空值省略无;合约标识符
Remarkstring空值省略无;备注
UserMarkstring空值省略无;用户标记
SecretKeystring空值省略无;机构账户鉴权 Secret Key
DisplaySizeint64空值省略无;冰山单:展示数量
MinDisplaySizeint64空值省略无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize
CheckIntervalsint64空值省略无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒
PriceTypestring空值省略无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE
StartTimeint64空值省略无;冰山单:生效开始时间(epoch ms,可选)
EndTimeint64空值省略无;冰山单:生效结束时间(epoch ms,可选)

返回

(*model.PreviewResult, error)。关键字段来自 model.PreviewResult

字段类型说明
Accountstring账户 ID
IsPassbool是否通过风控校验
Commissionfloat64预估佣金
CommissionCurrencystring佣金币种
MarginCurrencystring保证金币种
InitMarginfloat64初始保证金(下单后)
InitMarginBeforefloat64初始保证金(下单前)
MaintMarginfloat64维持保证金(下单后)
MaintMarginBeforefloat64维持保证金(下单前)
EquityWithLoanfloat64含贷款权益(下单后)
EquityWithLoanBeforefloat64含贷款权益(下单前)
AvailableEEfloat64可用权益
ExcessLiquidityfloat64超额流动性
OvernightLiquidationfloat64隔夜清算值

示例

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

参数类型必填默认值说明
Accountstring空值省略客户端默认账户;交易账户
IDint64空值省略无;全局订单 ID(修改订单时必填)
OrderIdint64空值省略无;账户自增订单号
Actionstring空值省略无;买卖方向(BUY/SELL);可选值:BUY, SELL
OrderTypestring空值省略无;订单类型(MKT/LMT/STP/STP_LMT/TRAIL 等);可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG
TotalQuantityint64空值省略无;总数量
LimitPricefloat64空值省略无;限价
AuxPricefloat64空值省略无;辅助价格(止损价)
TrailingPercentfloat64空值省略无;跟踪止损百分比
TimeInForcestring空值省略无;有效期(DAY/GTC/OPG);可选值:DAY, GTC, OPG
OutsideRthbool空值省略无;是否允许盘前盘后
OrderLegs[]OrderLegRequest空值省略无;附加订单(止盈/止损)
AlgoParams*AlgoParamsRequest空值省略无;算法参数
Symbolstring空值省略无;股票代码
SecTypestring空值省略无;合约类型;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND
Marketstring空值省略无;市场;可选值:ALL, US, HK, CN, SG
Currencystring空值省略无;货币;可选值:ALL, USD, HKD, CNH, SGD
Expirystring空值省略无;到期日(期权/期货)
Strikestring空值省略无;行权价(期权)
Rightstring空值省略无;看涨/看跌(PUT/CALL);可选值:PUT, CALL (option side); br, nr when used as quote adjustment
Identifierstring空值省略无;合约标识符
Remarkstring空值省略无;备注
UserMarkstring空值省略无;用户标记
SecretKeystring空值省略无;机构账户鉴权 Secret Key
DisplaySizeint64空值省略无;冰山单:展示数量
MinDisplaySizeint64空值省略无;冰山单:最小展示数量(缺省等于 display_size);冰山单缺省等于 DisplaySize
CheckIntervalsint64空值省略无;冰山单:价检间隔(秒,默认 30);冰山单默认 30 秒
PriceTypestring空值省略无;冰山单:价格类型(LIMIT_PRICE / ASK_PRICE / BID_PRICE / LATEST_PRICE,默认 LIMIT_PRICE);可选值:LIMIT_PRICE, ASK_PRICE, BID_PRICE, LATEST_PRICE;冰山单默认 LIMIT_PRICE
StartTimeint64空值省略无;冰山单:生效开始时间(epoch ms,可选)
EndTimeint64空值省略无;冰山单:生效结束时间(epoch ms,可选)

返回

(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult

字段类型说明
IDint64订单 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 默认值约束
idint64全局订单 ID

返回

(*model.OrderIDResult, error)。关键字段来自 model.OrderIDResult

字段类型说明
IDint64订单 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

参数类型必填默认值说明
Rightstring空值省略无;可选值:PUT, CALL (option side); br, nr when used as quote adjustment
SecTypestring空值省略无;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND
SegTypestring空值省略无;可选值:ALL, SEC, FUT, FUND
Actionstring空值省略无;可选值:BUY, SELL
OrderTypestring空值省略无;可选值:MKT, LMT, STP, STP_LMT, TRAIL, AM, AL, TWAP, VWAP, OCA, ICEBERG
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

(*model.EstimateTradableQuantity, error)。关键字段来自 model.EstimateTradableQuantity

字段类型说明
TradableQuantityfloat64可交易数量
MaxCashBuyQuantityfloat64最大现金买入数量
MaxMarginBuyQuantityfloat64最大融资买入数量
MaxShortSellQuantityfloat64最大融券卖出数量
MaxPositionSellQuantityfloat64最大持仓卖出数量
CashBuyingPowerfloat64现金购买力
Currencystring币种

示例

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
}


Did this page help you?