v2_rest_交易.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package yu_bitget
  2. type PlaceOrderArgs struct {
  3. Symbol string `json:"symbol"` // 交易对名称,如:"ethusdt"
  4. ProductType string `json:"productType"` // 产品类型
  5. // 仓位模式
  6. // isolated: 逐仓
  7. // crossed: 全仓
  8. MarginMode string `json:"marginMode"`
  9. MarginCoin string `json:"marginCoin"` // 保证金币种(大写)
  10. Size string `json:"size"` // 下单数量(基础币)
  11. Price string `json:"price,omitempty"` // 下单价格,OrderType 为 limit 时必填
  12. // 下单方向
  13. // buy: 买
  14. // sell: 卖
  15. Side string `json:"side"`
  16. // 交易方向
  17. // 开平仓,双向持仓模式下必填
  18. // 单向持仓时不要填,否则会报错。
  19. // open: 开
  20. // close: 平
  21. TradeSide string `json:"tradeSide,omitempty"`
  22. // 订单类型
  23. // limit: 限价单
  24. // market: 市价单
  25. OrderType string `json:"orderType"`
  26. // 订单有效期
  27. // ioc: 无法立即成交的部分就撤销
  28. // fok: 无法全部立即成交就撤销
  29. // gtc: 普通订单,订单会一直有效,直到被成交或者取消
  30. // post_only: 只做 maker,订单类型为限价单时必填,若省略则默认为 gtc
  31. Force string `json:"force,omitempty"`
  32. ClientOid string `json:"clientOid,omitempty"` // 自定义订单ID, 幂等时间为20分钟
  33. // 是否只减仓
  34. // YES, NO
  35. // 默认 NO,仅适用于买卖单向持仓模式时。
  36. ReduceOnly string `json:"reduceOnly,omitempty"`
  37. PresetStopSurplusPrice string `json:"presetStopSurplusPrice,omitempty"` // 止盈值,为空则默认不设止盈。
  38. PresetStopLossPrice string `json:"presetStopLossPrice,omitempty"` // 止损值,为空则默认不设止损。
  39. // STP模式(自成交预防)
  40. // none: 不设置STP(默认值)
  41. // cancel_taker: 取消taker单
  42. // cancel_maker: 取消maker单
  43. // cancel_both: 两者都取消
  44. StpMode string `json:"stpMode,omitempty"`
  45. }
  46. func (t *V2Rest) PlaceOrder(args PlaceOrderArgs) []*PlaceOrderArgs {
  47. j_path, j_resp := "/api/v2/mix/order/place-order", make([]*PlaceOrderArgs, 0)
  48. t.request("POST", j_path, args, j_resp)
  49. return j_resp
  50. }