v2_rest_行情.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package yu_bitget
  2. type Contracts struct {
  3. Symbol string `json:"symbol"` // 产品名称
  4. BaseCoin string `json:"baseCoin"` // 基础币,如 ETHUSDT 中,特指ETH
  5. QuoteCoin string `json:"quoteCoin"` // 计价币,如 ETHUSDT 中,特指USDT
  6. BuyLimitPriceRatio string `json:"buyLimitPriceRatio"` // 买价限价比例
  7. SellLimitPriceRatio string `json:"sellLimitPriceRatio"` // 卖价限价比例
  8. FeeRateUpRatio string `json:"feeRateUpRatio"` // 手续费上浮比例
  9. MakerFeeRate string `json:"makerFeeRate"` // Maker手续费率
  10. TakerFeeRate string `json:"takerFeeRate"` // Taker手续费率
  11. OpenCostUpRatio string `json:"openCostUpRatio"` // 开仓成本上浮比例
  12. SupportMarginCoins []string `json:"supportMarginCoins"` // 支持保证金币种
  13. MinTradeNum string `json:"minTradeNum"` // 最小开单数量(基础币)
  14. PriceEndStep string `json:"priceEndStep"` // 价格步长
  15. VolumePlace string `json:"volumePlace"` // 数量小数位
  16. PricePlace string `json:"pricePlace"` // 价格小数位
  17. SizeMultiplier string `json:"sizeMultiplier"` // 下单数量要大于 minTradeNum 并且满足 sizeMultiplier 的倍数
  18. SymbolType string `json:"symbolType"` // 合约类型,perpetual 永续,delivery 交割
  19. MinTradeUSDT string `json:"minTradeUSDT"` // 最小USDT交易额
  20. MaxSymbolOrderNum string `json:"maxSymbolOrderNum"` // 最大持有订单数(symbol维度)
  21. MaxProductOrderNum string `json:"maxProductOrderNum"` // 最大持有订单数(产品类型维度)
  22. MaxPositionNum string `json:"maxPositionNum"` // 最大持有仓位数量
  23. SymbolStatus string `json:"symbolStatus"` // 交易对状态,listed 上架,normal 正常/开盘,maintain 禁止交易
  24. OffTime string `json:"offTime"` // 下架时间,'-1' 表示正常
  25. LimitOpenTime string `json:"limitOpenTime"` // 可开仓时间,'-1' 表示正常
  26. DeliveryTime string `json:"deliveryTime"` // 交割时间
  27. DeliveryStartTime string `json:"deliveryStartTime"` // 交割开始时间
  28. LaunchTime string `json:"launchTime"` // 上架时间
  29. FundInterval string `json:"fundInterval"` // 资金费结算周期
  30. MinLever string `json:"minLever"` // 最小杠杆
  31. MaxLever string `json:"maxLever"` // 最大杠杆
  32. PosLimit string `json:"posLimit"` // 持仓限制
  33. MaintainTime string `json:"maintainTime"` // 维护时间(状态处于维护/即将维护时会有值)
  34. }
  35. // Contracts 获取合约信息
  36. //
  37. // @Description:
  38. // @param productType 产品类型
  39. // @param symbol 交易币对
  40. func (t *V2Rest) Contracts(productType ProductType, symbol string) *Contracts {
  41. j_path, j_resp := "/api/v2/mix/market/contracts?productType="+string(productType)+"&symbol="+symbol, make([]*Contracts, 0)
  42. if t.request("GET", j_path, nil, &j_resp) {
  43. return j_resp[0]
  44. }
  45. return nil
  46. }
  47. type SymbolPrice struct {
  48. Symbol string `json:"symbol"` // 币对名称,如:"BTCUSDT"
  49. Price string `json:"price"` // 最新成交价格
  50. IndexPrice string `json:"indexPrice"` // 指数价格
  51. MarkPrice string `json:"markPrice"` // 标记价格
  52. Timestamp string `json:"ts"` // 当前数据时间戳,Unix时间戳的毫秒数格式,如1672410780000
  53. }
  54. // SymbolPrice 获取交易对市价/指数/标记价格
  55. //
  56. // @Description:
  57. // @param productType 产品类型
  58. // @param symbol 交易币对
  59. func (t *V2Rest) SymbolPrice(productType ProductType, symbol string) *SymbolPrice {
  60. j_path, j_resp := "/api/v2/mix/market/symbol-price?productType="+string(productType)+"&symbol="+symbol, make([]*SymbolPrice, 0)
  61. if t.request("GET", j_path, nil, &j_resp) {
  62. return j_resp[0]
  63. }
  64. return nil
  65. }