package yu_bitget type Contracts struct { Symbol string `json:"symbol"` // 产品名称 BaseCoin string `json:"baseCoin"` // 基础币,如 ETHUSDT 中,特指ETH QuoteCoin string `json:"quoteCoin"` // 计价币,如 ETHUSDT 中,特指USDT BuyLimitPriceRatio string `json:"buyLimitPriceRatio"` // 买价限价比例 SellLimitPriceRatio string `json:"sellLimitPriceRatio"` // 卖价限价比例 FeeRateUpRatio string `json:"feeRateUpRatio"` // 手续费上浮比例 MakerFeeRate string `json:"makerFeeRate"` // Maker手续费率 TakerFeeRate string `json:"takerFeeRate"` // Taker手续费率 OpenCostUpRatio string `json:"openCostUpRatio"` // 开仓成本上浮比例 SupportMarginCoins []string `json:"supportMarginCoins"` // 支持保证金币种 MinTradeNum string `json:"minTradeNum"` // 最小开单数量(基础币) PriceEndStep string `json:"priceEndStep"` // 价格步长 VolumePlace string `json:"volumePlace"` // 数量小数位 PricePlace string `json:"pricePlace"` // 价格小数位 SizeMultiplier string `json:"sizeMultiplier"` // 下单数量要大于 minTradeNum 并且满足 sizeMultiplier 的倍数 SymbolType string `json:"symbolType"` // 合约类型,perpetual 永续,delivery 交割 MinTradeUSDT string `json:"minTradeUSDT"` // 最小USDT交易额 MaxSymbolOrderNum string `json:"maxSymbolOrderNum"` // 最大持有订单数(symbol维度) MaxProductOrderNum string `json:"maxProductOrderNum"` // 最大持有订单数(产品类型维度) MaxPositionNum string `json:"maxPositionNum"` // 最大持有仓位数量 SymbolStatus string `json:"symbolStatus"` // 交易对状态,listed 上架,normal 正常/开盘,maintain 禁止交易 OffTime string `json:"offTime"` // 下架时间,'-1' 表示正常 LimitOpenTime string `json:"limitOpenTime"` // 可开仓时间,'-1' 表示正常 DeliveryTime string `json:"deliveryTime"` // 交割时间 DeliveryStartTime string `json:"deliveryStartTime"` // 交割开始时间 LaunchTime string `json:"launchTime"` // 上架时间 FundInterval string `json:"fundInterval"` // 资金费结算周期 MinLever string `json:"minLever"` // 最小杠杆 MaxLever string `json:"maxLever"` // 最大杠杆 PosLimit string `json:"posLimit"` // 持仓限制 MaintainTime string `json:"maintainTime"` // 维护时间(状态处于维护/即将维护时会有值) } // Contracts 获取合约信息 // // @Description: // @param productType 产品类型 // @param symbol 交易币对 func (t *V2Rest) Contracts(productType ProductType, symbol string) *Contracts { j_path, j_resp := "/api/v2/mix/market/contracts?productType="+string(productType)+"&symbol="+symbol, make([]*Contracts, 0) if t.request("GET", j_path, nil, &j_resp) { return j_resp[0] } return nil } type SymbolPrice struct { Symbol string `json:"symbol"` // 币对名称,如:"BTCUSDT" Price string `json:"price"` // 最新成交价格 IndexPrice string `json:"indexPrice"` // 指数价格 MarkPrice string `json:"markPrice"` // 标记价格 Timestamp string `json:"ts"` // 当前数据时间戳,Unix时间戳的毫秒数格式,如1672410780000 } // SymbolPrice 获取交易对市价/指数/标记价格 // // @Description: // @param productType 产品类型 // @param symbol 交易币对 func (t *V2Rest) SymbolPrice(productType ProductType, symbol string) *SymbolPrice { j_path, j_resp := "/api/v2/mix/market/symbol-price?productType="+string(productType)+"&symbol="+symbol, make([]*SymbolPrice, 0) if t.request("GET", j_path, nil, &j_resp) { return j_resp[0] } return nil } type CurrentFundRate struct { Symbol string `json:"symbol"` // 币对名称,如:"BTCUSDT" FundingRate string `json:"fundingRate"` // 当前资金费率 } // CurrentFundRate 获取当前资金费率 // // @Description: // @param productType 产品类型 // @param symbol 交易币对 func (t *V2Rest) CurrentFundRate(productType ProductType, symbol string) *CurrentFundRate { j_path, j_resp := "/api/v2/mix/market/current-fund-rate?productType="+string(productType)+"&symbol="+symbol, make([]*CurrentFundRate, 0) if t.request("GET", j_path, nil, &j_resp) { return j_resp[0] } return nil } type HistoryCandlesArgs struct { Symbol string `json:"symbol"` // 交易币对名称 ProductType ProductType `json:"productType"` // 产品类型 Granularity Granularity `json:"granularity"` // K线粒度 // 开始时间,查询该时间之后的K线 // Unix时间戳的毫秒数格式,如1672410780000 // 最大查询范围为90天 StartTime string `json:"startTime,omitempty"` // 结束时间,查询该时间之前的K线 // Unix时间戳的毫秒数格式,如1672410780000 // 最大查询范围为90天 EndTime string `json:"endTime,omitempty"` // 数据条数限制 // 默认100,最大200 Limit string `json:"limit,omitempty"` } type Granularity string const ( G1m Granularity = "1m" // 1分钟 G3m Granularity = "3m" // 3分钟 G5m Granularity = "5m" // 5分钟 G15m Granularity = "15m" // 15分钟 G30m Granularity = "30m" // 30分钟 G1H Granularity = "1H" // 1小时 G4H Granularity = "4H" // 4小时 G6H Granularity = "6H" // 6小时 G12H Granularity = "12H" // 12小时 G1D Granularity = "1D" // 1天 G3D Granularity = "3D" // 3天 G1W Granularity = "1W" // 1周 G1M Granularity = "1M" // 月线 G6Hutc Granularity = "6Hutc" // 零时区 6小时线 G12Hutc Granularity = "12Hutc" // 零时区12小时线 G1Dutc Granularity = "1Dutc" // 零时区 1日线 G3Dutc Granularity = "3Dutc" // 零时区 3日线 G1Wutc Granularity = "1Wutc" // 零时区 周线 G1Mutc Granularity = "1Mutc" // 零时区 月线 ) // HistoryCandles // // [0] = 时间戳, Unix时间戳的毫秒数格式,如 1597026383085 // [1] = 开盘价 // [2] = 最高价 // [3] = 最低价 // [4] = 收盘价(只包含已完结K线) // [5] = 交易币成交量 // [6] = 计价币成交量 type HistoryCandles [7]string // HistoryCandles 合约历史k线 func (t *V2Rest) HistoryCandles(args HistoryCandlesArgs) []*HistoryCandles { j_path, j_resp := "/api/v2/mix/market/history-candles?productType="+string(args.ProductType)+ "&symbol="+args.Symbol+"&granularity="+string(args.Granularity)+ "&startTime="+args.StartTime+"&endTime="+args.EndTime+ "&limit="+args.Limit, make([]*HistoryCandles, 0) t.request("GET", j_path, nil, &j_resp) return j_resp }