mybybitapi

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2024 License: MIT Imports: 17 Imported by: 2

README

mybybitapi

Go 1.19.0 Contributor Victor

Table of Contents

Require

require (
	github.com/json-iterator/go v1.1.12
	github.com/shopspring/decimal v1.4.0
	github.com/sirupsen/logrus v1.9.3
)

Installation

go get github.com/Hongssd/mybybitapi

Examples

Public Instruments Info

client := mybybitapi.NewRestClient("YOUR_API_KEY","YOUR_API_KEY").PublicRestClient()
res, err := client.NewMarketInstrumentsInfo().Category("linear").Do()
if err != nil {
    panic(err)
}
fmt.Println(res)

Public Kline

client := mybybitapi.NewRestClient("YOUR_API_KEY","YOUR_API_KEY").PublicRestClient()
res, err := client.NewMarketKline().Category("spot").Interval("1").Symbol("BTCUSDT").Limit(10).Do()
if err != nil {
    panic(err)
}
fmt.Println(res)

Public OrderBook

client := mybybitapi.NewRestClient("YOUR_API_KEY","YOUR_API_KEY").PublicRestClient()
res, err := client.NewMarketOrderBook().Category("spot").Symbol("BTCUSDT").Limit(20).Do()
if err != nil {
    panic(err)
}
fmt.Println(res)

Private Account Wallet Balance

client := mybybitapi.NewRestClient("YOUR_API_KEY","YOUR_API_KEY").PrivateRestClient()
res, err := client.NewAccountWalletBalance().AccountType("UNIFIED").Do()
if err != nil {
    panic(err)
}
log.Info(res)

Documentation

Index

Constants

View Source
const (
	BIT_BASE_10 = 10
	BIT_SIZE_64 = 64
	BIT_SIZE_32 = 32
)
View Source
const (
	GET    = "GET"
	POST   = "POST"
	DELETE = "DELETE"
	PUT    = "PUT"
)
View Source
const (
	BYBIT_API_HTTP           = "api.bybit.com"
	BYBIT_API_WEBSOCKET      = "stream.bybit.com"
	BYBIT_API_HTTP_AWS       = "api.bytick.com"
	BYBIT_API_WEBSOCKET_AWS  = "stream.bytick.com"
	BYBIT_API_HTTP_TEST      = "api-testnet.bybit.com"
	BYBIT_API_WEBSOCKET_TEST = "stream-testnet.bybit.com"
	IS_GZIP                  = true
)

Variables

View Source
var NIL_REQBODY = []byte{}
View Source
var PrivateRestAPIMap = map[PrivateRestAPI]string{
	AccountWalletBalance: "/v5/account/wallet-balance",
	AccountFeeRate:       "/v5/account/fee-rate",

	PositionList:           "/v5/position/list",
	PositionSetLeverage:    "/v5/position/set-leverage",
	PositionSwitchIsolated: "/v5/position/switch-isolated",
	PositionSwitchMode:     "/v5/position/switch-mode",

	OrderCreate:        "/v5/order/create",
	OrderCreateBatch:   "/v5/order/create-batch",
	OrderAmend:         "/v5/order/amend",
	OrderAmendBatch:    "/v5/order/amend-batch",
	OrderCancel:        "/v5/order/cancel",
	OrderCancelBatch:   "/v5/order/cancel-batch",
	OrderCancelAll:     "/v5/order/cancel-all",
	OrderRealtime:      "/v5/order/realtime",
	OrderHistory:       "/v5/order/history",
	OrderExecutionList: "/v5/execution/list",
}
View Source
var PublicRestAPIMap = map[PublicRestAPI]string{

	MarketInstrumentsInfo: "/v5/market/instruments-info",
	MarketTime:            "/v5/market/time",
	MarketKline:           "/v5/market/kline",
	MarketOrderBook:       "/v5/market/orderbook",
	MarketTickers:         "/v5/market/tickers",
	MarketRecentTrade:     "/v5/market/recent-trade",
}
View Source
var SERVER_TYPE = BASE

Functions

func BybitGetRestHostByAPIType

func BybitGetRestHostByAPIType(apiType APIType) string

func GetPointer

func GetPointer[T any](v T) *T

func HmacSha256

func HmacSha256(secret, data string) []byte

func Request

func Request(url string, reqBody []byte, method string, isGzip bool) ([]byte, error)

Request 发送请求

func RequestWithHeader

func RequestWithHeader(url string, reqBody []byte, method string, headerMap map[string]string, isGzip bool) ([]byte, error)

func SetLogger

func SetLogger(logger *logrus.Logger)

func SetServerType

func SetServerType(serverType ServerType)

Types

type APIType

type APIType int
const (
	REST APIType = iota
	WS_PUBLIC
	WS_PRIVATE
	WS_BUSINESS
)

type AccountFeeRateAPI

type AccountFeeRateAPI struct {
	// contains filtered or unexported fields
}

func (*AccountFeeRateAPI) BaseCoin

func (api *AccountFeeRateAPI) BaseCoin(baseCoin string) *AccountFeeRateAPI

baseCoin string false 交易幣種. SOL, BTC, ETH.僅option有效

func (*AccountFeeRateAPI) Category

func (api *AccountFeeRateAPI) Category(category string) *AccountFeeRateAPI

category string true 產品類型. spot, linear, inverse, option

func (*AccountFeeRateAPI) Do

func (*AccountFeeRateAPI) Symbol

func (api *AccountFeeRateAPI) Symbol(symbol string) *AccountFeeRateAPI

symbol string false 合約名稱. 僅spot, linear, inverse有效

type AccountFeeRateReq

type AccountFeeRateReq struct {
	Category *string `json:"category"` //string	true	產品類型. spot, linear, inverse, option
	Symbol   *string `json:"symbol"`   //string	false	合約名稱. 僅spot, linear, inverse有效
	BaseCoin *string `json:"baseCoin"` //string	false	交易幣種. SOL, BTC, ETH.僅option有效
}

type AccountFeeRateRes

type AccountFeeRateRes struct {
	Category string                 `json:"category"` //產品類型. spot, option. 期貨不返回該字段
	List     []AccountFeeRateResRow `json:"list"`
}

type AccountFeeRateResRow

type AccountFeeRateResRow struct {
	Symbol       string `json:"symbol"`       //合約名稱. 期權總是為""
	BaseCoin     string `json:"baseCoin"`     //交易幣種. SOL, BTC, ETH 期貨不返回該字段 現貨總是返回""
	TakerFeeRate string `json:"takerFeeRate"` //吃單手續費率
	MakerFeeRate string `json:"makerFeeRate"` //掛單手續費率
}

type AccountType

type AccountType string
const (
	// CONTRACT合約帳戶
	// SPOT現貨帳戶
	// OPTION USDC合約帳戶
	// FUND資金帳戶
	// UNIFIED統一帳戶
	ACCT_CONTRACT AccountType = "CONTRACT"
	ACCT_SPOT     AccountType = "SPOT"
	ACCT_OPTION   AccountType = "OPTION"
	ACCT_FUND     AccountType = "FUND"
	ACCT_UNIFIED  AccountType = "UNIFIED"
)

func (AccountType) String

func (c AccountType) String() string

type AccountWalletBalanceAPI

type AccountWalletBalanceAPI struct {
	// contains filtered or unexported fields
}

func (*AccountWalletBalanceAPI) AccountType

func (api *AccountWalletBalanceAPI) AccountType(accountType string) *AccountWalletBalanceAPI

accountType string true 帳戶類型. 統一帳戶: UNIFIED(現貨/USDT和USDC永續/期權), CONTRACT(反向) 經典帳戶: CONTRACT(期貨), SPOT(現貨)

func (*AccountWalletBalanceAPI) Coin

coin string false 幣種名稱 不傳則返回非零資產信息 可以傳多個幣進行查詢,以逗號分隔, USDT,USDC

func (*AccountWalletBalanceAPI) Do

type AccountWalletBalanceReq

type AccountWalletBalanceReq struct {
	AccountType *string `json:"accountType"` //string	true	帳戶類型. 統一帳戶: UNIFIED(現貨/USDT和USDC永續/期權), CONTRACT(反向) 經典帳戶: CONTRACT(期貨), SPOT(現貨)
	Coin        *string `json:"coin"`        //string	false	幣種名稱 不傳則返回非零資產信息 可以傳多個幣進行查詢,以逗號分隔, USDT,USDC
}

type AccountWalletBalanceRes

type AccountWalletBalanceRes struct {
	List []AccountWalletBalanceResRow `json:"list"`
}

type AccountWalletBalanceResRow

type AccountWalletBalanceResRow struct {
	AccountType            string                           `json:"accountType"`            //帳戶類型
	AccountLTV             string                           `json:"accountLTV"`             //字段廢棄
	AccountIMRate          string                           `json:"accountIMRate"`          //帳戶初始保證金率  Account Total Initial Margin Base Coin / Account Margin Balance Base Coin. 非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	AccountMMRate          string                           `json:"accountMMRate"`          //帳戶維持保證金率 Account Total Maintenance Margin Base Coin / Account Margin Balance Base Coin。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	TotalEquity            string                           `json:"totalEquity"`            //總凈值為賬戶中每個幣種資產凈值的法幣估值之和。。非統一保證金模式以及統一帳戶(反向)下,該字段返回為空。
	TotalWalletBalance     string                           `json:"totalWalletBalance"`     //賬戶維度換算成usd的產錢包餘額:∑ Asset Wallet Balance By USD value of each asset。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	TotalMarginBalance     string                           `json:"totalMarginBalance"`     //賬戶維度換算成usd的保證金餘額:totalWalletBalance + totalPerpUPL。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	TotalAvailableBalance  string                           `json:"totalAvailableBalance"`  //賬戶維度換算成usd的可用餘額:RM:totalMarginBalance - totalInitialMargin。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	TotalPerpUPL           string                           `json:"totalPerpUPL"`           //賬戶維度換算成usd的永續和USDC交割合約的浮動盈虧:∑ Each perp and USDC Futures upl by base coin。非統一保證金模式以及統一帳戶(反向)下,該字段返回為空。
	TotalInitialMargin     string                           `json:"totalInitialMargin"`     //賬戶維度換算成usd的總初始保證金:∑ Asset Total Initial Margin Base Coin。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	TotalMaintenanceMargin string                           `json:"totalMaintenanceMargin"` //賬戶維度換算成usd的總維持保證金: ∑ Asset Total Maintenance Margin Base Coin。非統一保證金模式和統一帳戶(反向)以及統一帳戶(逐倉模式),該字段返回為空。
	Coin                   []AccountWalletBalanceResRowCoin `json:"coin"`                   //幣種列表

}

type AccountWalletBalanceResRowCoin

type AccountWalletBalanceResRowCoin struct {
	Coin                string `json:"coin"`                //幣種名稱,例如 BTC,ETH,USDT,USDC
	Equity              string `json:"equity"`              //當前幣種的資產淨值
	UsdValue            string `json:"usdValue"`            //當前幣種折算成 usd 的價值
	WalletBalance       string `json:"walletBalance"`       //當前幣種的錢包餘額
	Free                string `json:"free"`                //經典帳戶現貨錢包的可用餘額. 經典帳戶現貨錢包的獨有字段
	Locked              string `json:"locked"`              //現貨掛單凍結金額
	SpotHedgingQty      string `json:"spotHedgingQty"`      //用於組合保證金(PM)現貨對衝的數量, 截斷至8為小數, 默認為0 統一帳戶的獨有字段
	BorrowAmount        string `json:"borrowAmount"`        //當前幣種的已用借貸額度
	AvailableToWithdraw string `json:"availableToWithdraw"` //當前幣種的可劃轉提現金額
	AccruedInterest     string `json:"accruedInterest"`     //當前幣種的預計要在下一個利息週期收取的利息金額
	TotalOrderIM        string `json:"totalOrderIM"`        //以當前幣種結算的訂單委託預佔用保證金. 組合保證金模式下,該字段返回空字符串
	TotalPositionIM     string `json:"totalPositionIM"`     //以當前幣種結算的所有倉位起始保證金求和 + 所有倉位的預佔用平倉手續費. 組合保證金模式下,該字段返回空字符串
	TotalPositionMM     string `json:"totalPositionMM"`     //以當前幣種結算的所有倉位維持保證金求和. 組合保證金模式下,該字段返回空字符串
	UnrealisedPnl       string `json:"unrealisedPnl"`       //以當前幣種結算的所有倉位的未結盈虧之和
	CumRealisedPnl      string `json:"cumRealisedPnl"`      //以當前幣種結算的所有倉位的累計已結盈虧之和
	Bonus               string `json:"bonus"`               //體驗金. UNIFIED帳戶的獨有字段
	MarginCollateral    bool   `json:"marginCollateral"`    //是否可作為保證金抵押幣種(平台維度), true: 是. false: 否
	CollateralSwitch    bool   `json:"collateralSwitch"`    //用戶是否開啟保證金幣種抵押(用戶維度), true: 是. false: 否
}

type Books

type Books struct {
	Price    string `json:"price"`    //价格
	Quantity string `json:"quantity"` //合约张数或交易币的数量
}

type BooksMiddle

type BooksMiddle [2]interface{}

type BybitErrorRes

type BybitErrorRes struct {
	RetCode int    `json:"retCode"`
	RetMsg  string `json:"retMsg"`
}

type BybitRestRes

type BybitRestRes[T any] struct {
	BybitErrorRes             //错误信息
	BybitTimeRes              //时间戳
	RetExtInfo    interface{} `json:"retExtInfo"`
	Result        T           `json:"result"` //请求结果
}

type BybitTimeRes

type BybitTimeRes struct {
	Time int64 `json:"time"` //REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123返回的时间是请求验证后的时间
}

type Category

type Category string

spot 現貨 linear USDT永續, USDC永續, USDC交割 inverse 反向合約,包含反向永續, 反向交割 option 期權

const (
	CAT_SPOT    Category = "spot"
	CAT_LINEAR  Category = "linear"
	CAT_INVERSE Category = "inverse"
	CAT_OPTION  Category = "option"
)

func (Category) String

func (c Category) String() string

type Client

type Client struct {
	APIKey     string
	SecretKey  string
	Referer    string
	RecvWindow string
}

type InstrumentsInfoResRow

type InstrumentsInfoResRow struct {
	Symbol        string        `json:"symbol"`        // 合約名稱
	BaseCoin      string        `json:"baseCoin"`      // 交易幣種
	QuoteCoin     string        `json:"quoteCoin"`     // 報價幣種
	SettleCoin    string        `json:"settleCoin"`    // 結算幣種
	Status        string        `json:"status"`        // 合約狀態
	LotSizeFilter LotSizeFilter `json:"lotSizeFilter"` // 數量屬性
	PriceFilter   PriceFilter   `json:"priceFilter"`   // 價格屬性
	LinearDetails
	OptionsDetails
	SpotDetails
}

type LeverageFilter

type LeverageFilter struct {
	MinLeverage  string `json:"minLeverage"`  // 最小槓桿
	MaxLeverage  string `json:"maxLeverage"`  // 最大槓桿
	LeverageStep string `json:"leverageStep"` // 修改槓桿的步長
}

type LinearDetails

type LinearDetails struct {
	UnifiedMarginTrade bool           `json:"unifiedMarginTrade"` // 是否支持統一保證金交易
	FundingInterval    int            `json:"fundingInterval"`    // 資金費率結算週期 (分鐘)
	CopyTrading        string         `json:"copyTrading"`        // 當前交易對是否支持帶單交易
	UpperFundingRate   string         `json:"upperFundingRate"`   // 資金費率上限
	LowerFundingRate   string         `json:"lowerFundingRate"`   // 資金費率下限
	ContractType       string         `json:"contractType"`       // 合約類型
	LaunchTime         string         `json:"launchTime"`         // 發佈時間 (ms)
	DeliveryTime       string         `json:"deliveryTime"`       // 交割時間 (ms). 僅對交割合約有效
	DeliveryFeeRate    string         `json:"deliveryFeeRate"`    // 交割費率. 僅對交割合約有效
	PriceScale         string         `json:"priceScale"`         // 價格精度
	LeverageFilter     LeverageFilter `json:"leverageFilter"`     // 槓桿屬性
}

LinearDetails

type LotSizeFilter

type LotSizeFilter struct {
	MaxOrderQty         string `json:"maxOrderQty"`         // 單筆限價或PostOnly單最大下單量
	MinOrderQty         string `json:"minOrderQty"`         // 單筆訂單最小下單量
	MaxMktOrderQty      string `json:"maxMktOrderQty"`      // 單筆市價單最大下單量
	QtyStep             string `json:"qtyStep"`             // 修改下單量的步長
	PostOnlyMaxOrderQty string `json:"postOnlyMaxOrderQty"` // 廢棄, 請參照maxOrderQty
	MinNotionalValue    string `json:"minNotionalValue"`    // 訂單最小名義價值
	BasePrecision       string `json:"basePrecision"`       // 交易幣種精度
	QuotePrecision      string `json:"quotePrecision"`      // 報價幣種精度
	MinOrderAmt         string `json:"minOrderAmt"`         // 單筆訂單最小訂單額
	MaxOrderAmt         string `json:"maxOrderAmt"`         // 單筆訂單最大訂單額
}

type MarketInstrumentsInfoAPI

type MarketInstrumentsInfoAPI struct {
	// contains filtered or unexported fields
}

func (*MarketInstrumentsInfoAPI) BaseCoin

func (api *MarketInstrumentsInfoAPI) BaseCoin(baseCoin string) *MarketInstrumentsInfoAPI

baseCoin false string 交易货币. 仅对期货/期权有效 对于期权, 默认返回baseCoin为BTC的

func (*MarketInstrumentsInfoAPI) Category

func (api *MarketInstrumentsInfoAPI) Category(category string) *MarketInstrumentsInfoAPI

category true string 产品类型. spot,linear,inverse,option

func (*MarketInstrumentsInfoAPI) Cursor

cursor false string 游标,用于翻页

func (*MarketInstrumentsInfoAPI) Do

func (*MarketInstrumentsInfoAPI) Limit

limit false integer 每页数量限制. [1, 1000]. 默认: 500

func (*MarketInstrumentsInfoAPI) Status

status false string 交易对状态筛选 现货/期货 仅有Trading状态

func (*MarketInstrumentsInfoAPI) Symbol

symbol false string 合约名称

type MarketInstrumentsInfoReq

type MarketInstrumentsInfoReq struct {
	Category *string `json:"category"` //String	true	string	产品类型. spot,linear,inverse,option
	Symbol   *string `json:"symbol"`   //String	false	string	合约名称
	Status   *string `json:"status"`   //String	false	string	交易对状态筛选  现货/期货 仅有Trading状态
	BaseCoin *string `json:"baseCoin"` //String	false	string	交易货币. 仅对期货/期权有效 对于期权, 默认返回baseCoin为BTC的
	Limit    *int    `json:"limit"`    //String	false	integer	每页数量限制. [1, 1000]. 默认: 500
	Cursor   *string `json:"cursor"`   //String	false	string	游标,用于翻页
}

category true string 产品类型. spot,linear,inverse,option symbol false string 合约名称 status false string 交易对状态筛选 现货/期货 仅有Trading状态 baseCoin false string 交易货币. 仅对期货/期权有效 对于期权, 默认返回baseCoin为BTC的 limit false integer 每页数量限制. [1, 1000]. 默认: 500 cursor false string 游标,用于翻页

type MarketInstrumentsInfoRes

type MarketInstrumentsInfoRes struct {
	Category       string                  `json:"category"`       // 產品類型
	NextPageCursor string                  `json:"nextPageCursor"` // 游標,用於翻頁
	List           []InstrumentsInfoResRow `json:"list"`           // 共有参数列表
}

type MarketKlineAPI

type MarketKlineAPI struct {
	// contains filtered or unexported fields
}

func (*MarketKlineAPI) Category

func (api *MarketKlineAPI) Category(category string) *MarketKlineAPI

category false string 產品類型. spot,linear,inverse 當category不指定時, 默認是linear

func (*MarketKlineAPI) Do

func (*MarketKlineAPI) End

func (api *MarketKlineAPI) End(end int) *MarketKlineAPI

end false integer 結束時間戳 (毫秒)

func (*MarketKlineAPI) Interval

func (api *MarketKlineAPI) Interval(interval string) *MarketKlineAPI

interval true string 時間粒度. 1,3,5,15,30,60,120,240,360,720,D,M,W

func (*MarketKlineAPI) Limit

func (api *MarketKlineAPI) Limit(limit int) *MarketKlineAPI

limit false integer 每頁數量限制. [1, 1000]. 默認: 200

func (*MarketKlineAPI) Start

func (api *MarketKlineAPI) Start(start int) *MarketKlineAPI

start false integer 開始時間戳 (毫秒)

func (*MarketKlineAPI) Symbol

func (api *MarketKlineAPI) Symbol(symbol string) *MarketKlineAPI

symbol true string 合約名稱

type MarketKlineMiddle

type MarketKlineMiddle struct {
	Symbol   string                 `json:"symbol"`
	Category string                 `json:"category"`
	List     []MarketKlineMiddleRow `json:"list"`
}

func (MarketKlineMiddle) ConvertToRes

func (middleRow MarketKlineMiddle) ConvertToRes() MarketKlineRes

type MarketKlineMiddleRow

type MarketKlineMiddleRow [7]interface{}

type MarketKlineReq

type MarketKlineReq struct {
	Category *string `json:"category"` //String	false	string	產品類型. spot,linear,inverse 當category不指定時, 默認是linear
	Symbol   *string `json:"symbol"`   //String	true	string	合約名稱
	Interval *string `json:"interval"` //String	true	string	時間粒度. 1,3,5,15,30,60,120,240,360,720,D,M,W
	Start    *int    `json:"start"`    //String	false	integer	開始時間戳 (毫秒)
	End      *int    `json:"end"`      //String	false	integer	結束時間戳 (毫秒)
	Limit    *int    `json:"limit"`    //String	false	integer	每頁數量限制. [1, 1000]. 默認: 200
}

category false string 產品類型. spot,linear,inverse 當category不指定時, 默認是linear symbol true string 合約名稱 interval true string 時間粒度. 1,3,5,15,30,60,120,240,360,720,D,M,W start false integer 開始時間戳 (毫秒) end false integer 結束時間戳 (毫秒) limit false integer 每頁數量限制. [1, 1000]. 默認: 200

type MarketKlineRes

type MarketKlineRes struct {
	Category string              `json:"category"` //產品類型
	Symbol   string              `json:"symbol"`   //合約名稱
	List     []MarketKlineResRow `json:"list"`
}

type MarketKlineResRow

type MarketKlineResRow struct {
	StartTime  string `json:"startTime"`  //蠟燭的開始時間戳 (毫秒)
	OpenPrice  string `json:"openPrice"`  //開始價格
	HighPrice  string `json:"highPrice"`  //最高價格
	LowPrice   string `json:"lowPrice"`   //最低價格
	ClosePrice string `json:"closePrice"` //結束價格. 如果蠟燭尚未結束,則表示為最新成交價格
	Volume     string `json:"volume"`     //交易量. 合約單位: 合約的張數. 現貨單位: 幣種的數量
	Turnover   string `json:"turnover"`   //交易額. 單位: 報價貨幣的數量
}

type MarketOrderBookAPI

type MarketOrderBookAPI struct {
	// contains filtered or unexported fields
}

func (*MarketOrderBookAPI) Category

func (api *MarketOrderBookAPI) Category(category string) *MarketOrderBookAPI

category true string 產品類型. spot, linear, inverse, option

func (*MarketOrderBookAPI) Do

func (*MarketOrderBookAPI) Limit

func (api *MarketOrderBookAPI) Limit(limit int) *MarketOrderBookAPI

limit false integer 深度限制. spot: [1, 200], 默認: 1. linear&inverse: [1, 500],默認: 25. option: [1, 25],默認: 1

func (*MarketOrderBookAPI) Symbol

func (api *MarketOrderBookAPI) Symbol(symbol string) *MarketOrderBookAPI

symbol true string 合約名稱

type MarketOrderBookMiddle

type MarketOrderBookMiddle struct {
	Symbol string        `json:"s"`   //合約名稱
	Bids   []BooksMiddle `json:"b"`   //買方. 按照價格從大到小
	Asks   []BooksMiddle `json:"a"`   //賣方. 按照價格從小到大
	Ts     int64         `json:"ts"`  //行情服務生成數據時間戳(毫秒)
	U      int64         `json:"u"`   //表示數據連續性的id. 對於期貨, 它和wss推送裡的500檔的u對齊 對於現貨, 它和wss推送裡的200檔的u對齊
	Seq    int64         `json:"seq"` //撮合版本號 該字段可以用於關聯不同檔位的orderbook, 如果值越小, 則說明數據生成越早 期權目前不存在此字段
}

func (MarketOrderBookMiddle) ConvertToRes

func (middle MarketOrderBookMiddle) ConvertToRes() MarketOrderBookRes

type MarketOrderBookReq

type MarketOrderBookReq struct {
	Category *string `json:"category"` //String	true	string	產品類型. spot, linear, inverse, option
	Symbol   *string `json:"symbol"`   //String	true	string	合約名稱
	Limit    *int    `json:"limit"`    //String	false	integer	深度限制. spot: [1, 200], 默認: 1. linear&inverse: [1, 500],默認: 25. option: [1, 25],默認: 1.
}

type MarketOrderBookRes

type MarketOrderBookRes struct {
	Symbol string  `json:"s"`   //合約名稱
	Bids   []Books `json:"b"`   //買方. 按照價格從大到小
	Asks   []Books `json:"a"`   //賣方. 按照價格從小到大
	Ts     int64   `json:"ts"`  //行情服務生成數據時間戳(毫秒)
	U      int64   `json:"u"`   //表示數據連續性的id. 對於期貨, 它和wss推送裡的500檔的u對齊 對於現貨, 它和wss推送裡的200檔的u對齊
	Seq    int64   `json:"seq"` //撮合版本號 該字段可以用於關聯不同檔位的orderbook, 如果值越小, 則說明數據生成越早 期權目前不存在此字段
}

type MarketTickersAPI

type MarketTickersAPI struct {
	// contains filtered or unexported fields
}

func (*MarketTickersAPI) BaseCoin

func (api *MarketTickersAPI) BaseCoin(baseCoin string) *MarketTickersAPI

baseCoin false string 交易幣種. 僅option有效, baseCoin和symbol必傳其中一個

func (*MarketTickersAPI) Category

func (api *MarketTickersAPI) Category(category string) *MarketTickersAPI

category true string 產品類型. spot,linear,inverse,option

func (*MarketTickersAPI) Do

func (*MarketTickersAPI) ExpDate

func (api *MarketTickersAPI) ExpDate(expDate string) *MarketTickersAPI

expDate false string 到期日. 舉例, 25DEC22. 僅option有效

func (*MarketTickersAPI) Symbol

func (api *MarketTickersAPI) Symbol(symbol string) *MarketTickersAPI

symbol false string 合約名稱

type MarketTickersLinear

type MarketTickersLinear struct {
	IndexPrice             string `json:"indexPrice"`             //指數價格
	MarkPrice              string `json:"markPrice"`              //標記價格
	PrevPrice1H            string `json:"prevPrice1h"`            //1小時前的整點市價
	OpenInterest           string `json:"openInterest"`           //未平倉合約的數量
	OpenInterestValue      string `json:"openInterestValue"`      //未平倉合約的價值
	FundingRate            string `json:"fundingRate"`            //資金費率
	NextFundingTime        string `json:"nextFundingTime"`        //下次結算資金費用的時間 (毫秒)
	PredictedDeliveryPrice string `json:"predictedDeliveryPrice"` //預計交割價格. 交割前30分鐘有值
	BasisRate              string `json:"basisRate"`              //交割合約基差率
	DeliveryFeeRate        string `json:"deliveryFeeRate"`        //交割費率
	DeliveryTime           string `json:"deliveryTime"`           //交割時間戳 (毫秒)
	Basis                  string `json:"basis"`                  //交割合約基差
}

linear 独特参数

type MarketTickersOption

type MarketTickersOption struct {
	Bid1Iv          string `json:"bid1Iv"`          //買1價對應的iv
	Ask1Iv          string `json:"ask1Iv"`          //賣1價對應的iv
	MarkIv          string `json:"markIv"`          //標記價格對應的iv
	UnderlyingPrice string `json:"underlyingPrice"` //底層資產的價格
	TotalVolume     string `json:"totalVolume"`     //總成交量
	TotalTurnover   string `json:"totalTurnover"`   //總成交額
	Delta           string `json:"delta"`           //Delta
	Gamma           string `json:"gamma"`           //Gamma
	Vega            string `json:"vega"`            //Vega
	Theta           string `json:"theta"`           //Theta
	Change24H       string `json:"change24h"`       //過去24小時的變化
}

option 独特参数

type MarketTickersReq

type MarketTickersReq struct {
	Category *string `json:"category"` //String	true	string	產品類型. spot,linear,inverse,option
	Symbol   *string `json:"symbol"`   //String	false	string	合約名稱
	BaseCoin *string `json:"baseCoin"` //String	false	string	交易幣種. 僅option有效, baseCoin和symbol必傳其中一個
	ExpDate  *string `json:"expDate"`  //String	false	string	到期日. 舉例, 25DEC22. 僅option有效
}

category true string 產品類型. spot,linear,inverse,option symbol false string 合約名稱 baseCoin false string 交易幣種. 僅option有效, baseCoin和symbol必傳其中一個 expDate false string 到期日. 舉例, 25DEC22. 僅option有效

type MarketTickersRes

type MarketTickersRes struct {
	Category string                `json:"category"` //產品類型
	List     []MarketTickersResRow `json:"list"`
}

type MarketTickersResRow

type MarketTickersResRow struct {
	//common 公有参数
	Symbol       string `json:"symbol"`       //合約名稱
	Bid1Price    string `json:"bid1Price"`    //買1價
	Bid1Size     string `json:"bid1Size"`     //買1價的數量
	Ask1Price    string `json:"ask1Price"`    //賣1價
	Ask1Size     string `json:"ask1Size"`     //賣1價的數量
	LastPrice    string `json:"lastPrice"`    //最新市場成交價
	PrevPrice24H string `json:"prevPrice24h"` //24小時前的整點市價
	Price24HPcnt string `json:"price24hPcnt"` //市場價格相對24h前變化的百分比
	HighPrice24H string `json:"highPrice24h"` //最近24小時的最高價
	LowPrice24H  string `json:"lowPrice24h"`  //最近24小時的最低價
	Turnover24H  string `json:"turnover24h"`  //最近24小時成交額
	Volume24H    string `json:"volume24h"`    //最近24小時成交量

	MarketTickersLinear
	MarketTickersOption
	MarketTickersSpot
}

type MarketTickersSpot

type MarketTickersSpot struct {
	UsdIndexPrice string `json:"usdIndexPrice"` //USD指數價格 用於計算統一帳戶裡資產折算成USD價值的價格 若幣種不屬於抵押品幣種, 則返回空字符串 只有那些幣對名是"XXX/USDT"或者"XXX/USDC"有值
}

spot 独特参数

type MarketTimeAPI

type MarketTimeAPI struct {
	// contains filtered or unexported fields
}

func (*MarketTimeAPI) Do

type MarketTimeReq

type MarketTimeReq struct {
}

type MarketTimeRes

type MarketTimeRes struct {
	TimeSecond string `json:"timeSecond"` //Bybit服務器時間戳 (秒)
	TimeNano   string `json:"timeNano"`   //Bybit 服務器時間戳 (微秒)
}

type MySyncMap

type MySyncMap[K any, V any] struct {
	// contains filtered or unexported fields
}

func NewMySyncMap

func NewMySyncMap[K any, V any]() MySyncMap[K, V]

func (*MySyncMap[K, V]) Delete

func (m *MySyncMap[K, V]) Delete(k K)

func (*MySyncMap[K, V]) Length

func (m *MySyncMap[K, V]) Length() int

func (*MySyncMap[K, V]) Load

func (m *MySyncMap[K, V]) Load(k K) (V, bool)

func (*MySyncMap[K, V]) MapValues

func (m *MySyncMap[K, V]) MapValues(f func(k K, v V) V) *MySyncMap[K, V]

func (*MySyncMap[K, V]) Range

func (m *MySyncMap[K, V]) Range(f func(k K, v V) bool)

func (*MySyncMap[K, V]) Store

func (m *MySyncMap[K, V]) Store(k K, v V)

type OptionsDetails

type OptionsDetails struct {
	OptionsType     string `json:"optionsType"`     // 期權類型. Call,Put
	LaunchTime      string `json:"launchTime"`      // 發佈時間 (ms)
	DeliveryTime    string `json:"deliveryTime"`    // 交割時間 (ms)
	DeliveryFeeRate string `json:"deliveryFeeRate"` // 交割費率
}

OptionsDetails

type OrderAmendAPI

type OrderAmendAPI struct {
	// contains filtered or unexported fields
}

func (*OrderAmendAPI) Category

func (api *OrderAmendAPI) Category(category string) *OrderAmendAPI

category string true 產品類型 統一帳戶: linear, inverse, spot, option 經典帳戶: linear, inverse, spot

func (*OrderAmendAPI) Do

func (*OrderAmendAPI) OrderId

func (api *OrderAmendAPI) OrderId(orderId string) *OrderAmendAPI

orderId string false 訂單Id. orderId和orderLinkId必傳其中一個

func (*OrderAmendAPI) OrderIv

func (api *OrderAmendAPI) OrderIv(orderIv string) *OrderAmendAPI

orderIv string false 隱含波動率. 僅option有效. 按照實際值傳入, e.g., 對於10%, 則傳入0.1

func (*OrderAmendAPI) OrderLinkId

func (api *OrderAmendAPI) OrderLinkId(orderLinkId string) *OrderAmendAPI

orderLinkId string false 用戶自定義訂單Id. orderId和orderLinkId必傳其中一個

func (*OrderAmendAPI) Price

func (api *OrderAmendAPI) Price(price string) *OrderAmendAPI

price string false 修改後的訂單價格. 若不修改,請不要傳該字段

func (*OrderAmendAPI) Qty

func (api *OrderAmendAPI) Qty(qty string) *OrderAmendAPI

qty string false 修改後的訂單數量. 若不修改,請不要傳該字段

func (*OrderAmendAPI) SlLimitPrice

func (api *OrderAmendAPI) SlLimitPrice(slLimitPrice string) *OrderAmendAPI

slLimitPrice string false *觸發止損後轉換為限價單的價格. 當且僅當原始訂單下單時創建的是部分止盈止損限價單, 本字段才有效 適用於 spot(UTA), linear, inverse

func (*OrderAmendAPI) SlTriggerBy

func (api *OrderAmendAPI) SlTriggerBy(slTriggerBy string) *OrderAmendAPI

slTriggerBy string false 止損價格觸發類型. 若下單時未設置該值,則調用該接口修改止損價格時,該字段必傳

func (*OrderAmendAPI) StopLoss

func (api *OrderAmendAPI) StopLoss(stopLoss string) *OrderAmendAPI

stopLoss string false 修改後的止損價格. 當傳"0"時, 表示取消當前訂單上設置的止損. 若不修改,請不要傳該字段 適用於 spot(UTA), linear, inverse

func (*OrderAmendAPI) Symbol

func (api *OrderAmendAPI) Symbol(symbol string) *OrderAmendAPI

symbol string true 合約名稱

func (*OrderAmendAPI) TakeProfit

func (api *OrderAmendAPI) TakeProfit(takeProfit string) *OrderAmendAPI

takeProfit string false 修改後的止盈價格. 當傳"0"時, 表示取消當前訂單上設置的止盈. 若不修改,請不要傳該字段 適用於 spot(UTA), linear, inverse

func (*OrderAmendAPI) TpLimitPrice

func (api *OrderAmendAPI) TpLimitPrice(tpLimitPrice string) *OrderAmendAPI

tpLimitPrice string false *觸發止盈後轉換為限價單的價格. 當且僅當原始訂單下單時創建的是部分止盈止損限價單, 本字段才有效 適用於 spot(UTA), linear, inverse

func (*OrderAmendAPI) TpTriggerBy

func (api *OrderAmendAPI) TpTriggerBy(tpTriggerBy string) *OrderAmendAPI

tpTriggerBy string false 止盈價格觸發類型. 若下單時未設置該值,則調用該接口修改止盈價格時,該字段必傳

func (*OrderAmendAPI) TpslMode

func (api *OrderAmendAPI) TpslMode(tpslMode string) *OrderAmendAPI

tpslMode string false 止盈止損模式 Full: 全部倉位止盈止損. 此時, tpOrderType或者slOrderType必須傳Market Partial: 部分倉位止盈止損. 支持創建限價止盈止損. 注意: 創建限價止盈止損時, tpslMode必傳且為Partial 僅對linear和inverse有效

func (*OrderAmendAPI) TriggerBy

func (api *OrderAmendAPI) TriggerBy(triggerBy string) *OrderAmendAPI

triggerBy string false 觸發價格的觸發類型

func (*OrderAmendAPI) TriggerPrice

func (api *OrderAmendAPI) TriggerPrice(triggerPrice string) *OrderAmendAPI

triggerPrice string false 對於期貨, 是條件單觸發價格參數. 若您希望市場價是要上升後觸發, 確保: triggerPrice > 市場價格 否則, triggerPrice < 市場價格 對於現貨, 這是下止盈止損單或者條件單的觸發價格參數

type OrderAmendBatchAPI

type OrderAmendBatchAPI struct {
	// contains filtered or unexported fields
}

func (*OrderAmendBatchAPI) AddNewOrderAmendReq

func (api *OrderAmendBatchAPI) AddNewOrderAmendReq(orderAmendApi *OrderAmendAPI) *OrderAmendBatchAPI

func (*OrderAmendBatchAPI) Do

func (*OrderAmendBatchAPI) SetOrderList

func (api *OrderAmendBatchAPI) SetOrderList(orderAmendApiList []*OrderAmendAPI) *OrderAmendBatchAPI

type OrderAmendBatchReq

type OrderAmendBatchReq struct {
	Category *string         `json:"category"` //string	true	產品類型 統一帳戶: linear, inverse, spot, option 經典帳戶: linear, inverse, spot
	Request  []OrderAmendReq `json:"request"`  //array	true	批量訂單請求
}

type OrderAmendBatchRes

type OrderAmendBatchRes struct {
	List []OrderAmendBatchResRow `json:"list"`
}

type OrderAmendBatchResRow

type OrderAmendBatchResRow struct {
	Category    string `json:"category"`    //產品類型
	Symbol      string `json:"symbol"`      //合約名稱
	OrderId     string `json:"orderId"`     //訂單Id
	OrderLinkId string `json:"orderLinkId"` //用戶自定義訂單Id
}

type OrderAmendReq

type OrderAmendReq struct {
	Category     *string `json:"category"`     //string	true	產品類型 統一帳戶: linear, inverse, spot, option 經典帳戶: linear, inverse, spot
	Symbol       *string `json:"symbol"`       //string	true	合約名稱
	OrderId      *string `json:"orderId"`      //string	false	訂單Id. orderId和orderLinkId必傳其中一個
	OrderLinkId  *string `json:"orderLinkId"`  //string	false	用戶自定義訂單Id. orderId和orderLinkId必傳其中一個
	OrderIv      *string `json:"orderIv"`      //string	false	隱含波動率. 僅option有效. 按照實際值傳入, e.g., 對於10%, 則傳入0.1
	TriggerPrice *string `json:"triggerPrice"` //string	false	對於期貨, 是條件單觸發價格參數. 若您希望市場價是要上升後觸發, 確保: triggerPrice > 市場價格 否則, triggerPrice < 市場價格 對於現貨, 這是下止盈止損單或者條件單的觸發價格參數
	Qty          *string `json:"qty"`          //string	false	修改後的訂單數量. 若不修改,請不要傳該字段
	Price        *string `json:"price"`        //string	false	修改後的訂單價格. 若不修改,請不要傳該字段
	TpslMode     *string `json:"tpslMode"`     //string	false	止盈止損模式 Full: 全部倉位止盈止損. 此時, tpOrderType或者slOrderType必須傳Market Partial: 部分倉位止盈止損. 支持創建限價止盈止損. 注意: 創建限價止盈止損時, tpslMode必傳且為Partial 僅對linear和inverse有效
	TakeProfit   *string `json:"takeProfit"`   //string	false	修改後的止盈價格. 當傳"0"時, 表示取消當前訂單上設置的止盈. 若不修改,請不要傳該字段 適用於 spot(UTA), linear, inverse
	StopLoss     *string `json:"stopLoss"`     //string	false	修改後的止損價格. 當傳"0"時, 表示取消當前訂單上設置的止損. 若不修改,請不要傳該字段 適用於 spot(UTA), linear, inverse
	TpTriggerBy  *string `json:"tpTriggerBy"`  //string	false	止盈價格觸發類型. 若下單時未設置該值,則調用該接口修改止盈價格時,該字段必傳
	SlTriggerBy  *string `json:"slTriggerBy"`  //string	false	止損價格觸發類型. 若下單時未設置該值,則調用該接口修改止損價格時,該字段必傳
	TriggerBy    *string `json:"triggerBy"`    //string	false	觸發價格的觸發類型
	TpLimitPrice *string `json:"tpLimitPrice"` //string	false	*觸發止盈後轉換為限價單的價格. 當且僅當原始訂單下單時創建的是部分止盈止損限價單, 本字段才有效 適用於 spot(UTA), linear, inverse
	SlLimitPrice *string `json:"slLimitPrice"` //string	false	*觸發止損後轉換為限價單的價格. 當且僅當原始訂單下單時創建的是部分止盈止損限價單, 本字段才有效 適用於 spot(UTA), linear, inverse
}

type OrderAmendRes

type OrderAmendRes OrderCommonRes

type OrderCancelAPI

type OrderCancelAPI struct {
	// contains filtered or unexported fields
}

func (*OrderCancelAPI) Category

func (api *OrderCancelAPI) Category(category string) *OrderCancelAPI

category string true 產品類型 統一帳戶: spot, linear, option 經典帳戶: spot, linear, inverse

func (*OrderCancelAPI) Do

func (*OrderCancelAPI) OrderFilter

func (api *OrderCancelAPI) OrderFilter(orderFilter string) *OrderCancelAPI

orderFilter string false 僅spot有效. Order: 普通單,tpslOrder: 止盈止損單,StopOrder: 條件單. 若不傳, 默認是Order

func (*OrderCancelAPI) OrderId

func (api *OrderCancelAPI) OrderId(orderId string) *OrderCancelAPI

orderId string false 訂單Id. orderId和orderLinkId必傳其中一個

func (*OrderCancelAPI) OrderLinkId

func (api *OrderCancelAPI) OrderLinkId(orderLinkId string) *OrderCancelAPI

orderLinkId string false 用戶自定義訂單Id. orderId和orderLinkId必傳其中一個

func (*OrderCancelAPI) Symbol

func (api *OrderCancelAPI) Symbol(symbol string) *OrderCancelAPI

symbol string true 合約名稱

type OrderCancelAllAPI

type OrderCancelAllAPI struct {
	// contains filtered or unexported fields
}

func (*OrderCancelAllAPI) BaseCoin

func (api *OrderCancelAllAPI) BaseCoin(baseCoin string) *OrderCancelAllAPI

baseCoin string false 交易幣種 對於經典帳戶下的linear & inverse: 當通過baseCoin來全部撤單時,會將linear和inverse訂單全部撤掉。若不傳symbol和baseCoin, 則該字段必傳 對於統一帳戶下的linear & inverse: 當通過baseCoin來全部撤單時,會將對應category的訂單全部撤掉。若不傳symbol和baseCoin, 則該字段必傳 對於經典帳戶的現貨: 該字段無效

func (*OrderCancelAllAPI) Category

func (api *OrderCancelAllAPI) Category(category string) *OrderCancelAllAPI

category string true 產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse

func (*OrderCancelAllAPI) Do

func (*OrderCancelAllAPI) OrderFilter

func (api *OrderCancelAllAPI) OrderFilter(orderFilter string) *OrderCancelAllAPI

orderFilter string false 當category=spot, 該字段可以傳Order(普通單), tpslOrder(止盈止損單), StopOrder(條件單), OcoOrder, BidirectionalTpslOrder(現貨雙向止盈止損訂單). 若不傳, 則默認是撤掉Order單 當category=linear 或者 inverse, 該字段可以傳Order(普通單), StopOrder(條件單, 包括止盈止損單和追蹤出場單). 若不傳, 則所有類型的訂單都會被撤掉 當category=option, 該字段可以傳Order, 不管傳與不傳, 都是撤掉所有訂單\

func (*OrderCancelAllAPI) SettleCoin

func (api *OrderCancelAllAPI) SettleCoin(settleCoin string) *OrderCancelAllAPI

settleCoin string false 結算幣種 對於linear & inverse: 該字段必傳, 若不傳symbol和baseCoin 該字段不支持spot

func (*OrderCancelAllAPI) StopOrderType

func (api *OrderCancelAllAPI) StopOrderType(stopOrderType string) *OrderCancelAllAPI

stopOrderType string false 條件單類型, Stop 僅用於當category=linear 或者 inverse以及orderFilter=StopOrder時, 若想僅取消條件單 (不包括止盈止損單和追蹤出場單), 則可以傳入該字段

func (*OrderCancelAllAPI) Symbol

func (api *OrderCancelAllAPI) Symbol(symbol string) *OrderCancelAllAPI

symbol string false 合約名稱. 對於linear & inverse: 若不傳baseCoin和settleCoin, 該字段必傳

type OrderCancelAllReq

type OrderCancelAllReq struct {
	Category      *string `json:"category"`      //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Symbol        *string `json:"symbol"`        //string	false	合約名稱. 對於linear & inverse: 若不傳baseCoin和settleCoin, 該字段必傳
	BaseCoin      *string `json:"baseCoin"`      //string	false	交易幣種 對於經典帳戶下的linear & inverse: 當通過baseCoin來全部撤單時,會將linear和inverse訂單全部撤掉。若不傳symbol和baseCoin, 則該字段必傳 對於統一帳戶下的linear & inverse: 當通過baseCoin來全部撤單時,會將對應category的訂單全部撤掉。若不傳symbol和baseCoin, 則該字段必傳 對於經典帳戶的現貨: 該字段無效
	SettleCoin    *string `json:"settleCoin"`    //string	false	結算幣種 對於linear & inverse: 該字段必傳, 若不傳symbol和baseCoin 該字段不支持spot
	OrderFilter   *string `json:"orderFilter"`   //string	false	當category=spot, 該字段可以傳Order(普通單), tpslOrder(止盈止損單), StopOrder(條件單), OcoOrder, BidirectionalTpslOrder(現貨雙向止盈止損訂單). 若不傳, 則默認是撤掉Order單 當category=linear 或者 inverse, 該字段可以傳Order(普通單), StopOrder(條件單, 包括止盈止損單和追蹤出場單). 若不傳, 則所有類型的訂單都會被撤掉 當category=option, 該字段可以傳Order, 不管傳與不傳, 都是撤掉所有訂單
	StopOrderType *string `json:"stopOrderType"` //string	false	條件單類型, Stop 僅用於當category=linear 或者 inverse以及orderFilter=StopOrder時, 若想僅取消條件單 (不包括止盈止損單和追蹤出場單), 則可以傳入該字段
}

type OrderCancelAllRes

type OrderCancelAllRes struct {
	List    []OrderCancelAllResRow `json:"list"`    //array	Object
	Success string                 `json:"success"` //string	"1": 成功, "0": 失敗
}

type OrderCancelAllResRow

type OrderCancelAllResRow struct {
	OrderId     string `json:"orderId"`     //訂單Id
	OrderLinkId string `json:"orderLinkId"` //用戶自定義訂單Id
}

type OrderCancelBatchAPI

type OrderCancelBatchAPI struct {
	// contains filtered or unexported fields
}

func (*OrderCancelBatchAPI) AddNewOrderCancelReq

func (api *OrderCancelBatchAPI) AddNewOrderCancelReq(orderCancelApi *OrderCancelAPI) *OrderCancelBatchAPI

func (*OrderCancelBatchAPI) Do

func (*OrderCancelBatchAPI) SetOrderList

func (api *OrderCancelBatchAPI) SetOrderList(orderCancelApiList []*OrderCancelAPI) *OrderCancelBatchAPI

type OrderCancelBatchReq

type OrderCancelBatchReq struct {
	Category *string          `json:"category"` //string	true	產品類型 統一帳戶: spot, linear, option 經典帳戶: spot, linear, inverse
	Request  []OrderCancelReq `json:"request"`  //array	true	批量訂單請求
}

type OrderCancelBatchRes

type OrderCancelBatchRes struct {
	List []OrderCancelBatchResRow `json:"list"`
}

type OrderCancelBatchResRow

type OrderCancelBatchResRow struct {
	Category    string `json:"category"`    //產品類型
	Symbol      string `json:"symbol"`      //合約名稱
	OrderId     string `json:"orderId"`     //訂單Id
	OrderLinkId string `json:"orderLinkId"` //用戶自定義訂單Id
}

type OrderCancelReq

type OrderCancelReq struct {
	Category    *string `json:"category"`    //string	true	產品類型 統一帳戶: spot, linear, option 經典帳戶: spot, linear, inverse
	Symbol      *string `json:"symbol"`      //string	true	合約名稱
	OrderId     *string `json:"orderId"`     //string	false	訂單Id. orderId和orderLinkId必傳其中一個
	OrderLinkId *string `json:"orderLinkId"` //string	false	用戶自定義訂單Id. orderId和orderLinkId必傳其中一個
	OrderFilter *string `json:"orderFilter"` //string	false	僅spot有效. Order: 普通單,tpslOrder: 止盈止損單,StopOrder: 條件單. 若不傳, 默認是Order
}

type OrderCancelRes

type OrderCancelRes OrderCommonRes

type OrderCommonRes

type OrderCommonRes struct {
	OrderId     string `json:"orderId"`     //訂單ID
	OrderLinkId string `json:"orderLinkId"` //用戶自定義訂單ID
}

type OrderCreateAPI

type OrderCreateAPI struct {
	// contains filtered or unexported fields
}

func (*OrderCreateAPI) Category

func (api *OrderCreateAPI) Category(category string) *OrderCreateAPI

category string true 產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse

func (*OrderCreateAPI) CloseOnTrigger

func (api *OrderCreateAPI) CloseOnTrigger(closeOnTrigger bool) *OrderCreateAPI

closeOnTrigger boolean false 什麼是觸發後平倉委託?此選項可以確保您的止損單被用於減倉(平倉)而非加倉,並且在可用保證金不足的情況下,取消其他委託,騰出保證金以確保平倉委託的執行. 僅對linear和inverse有效

func (*OrderCreateAPI) Do

func (*OrderCreateAPI) IsLeverage

func (api *OrderCreateAPI) IsLeverage(isLeverage int) *OrderCreateAPI

isLeverage integer false 是否借貸. 僅統一帳戶的現貨交易有效. 0(default): 否,則是幣幣訂單, 1: 是,則是槓桿訂單

func (*OrderCreateAPI) MarketUnit

func (api *OrderCreateAPI) MarketUnit(marketUnit string) *OrderCreateAPI

marketUnit string false 統一帳戶現貨交易創建市價單時給入參qty指定的單位. 当前不支持止盈/止损和条件单 baseCoin: 比如, 買BTCUSDT, 則"qty"的單位是BTC quoteCoin: 比如, 賣BTCUSDT, 則"qty"的單位是USDT

func (*OrderCreateAPI) Mmp

func (api *OrderCreateAPI) Mmp(mmp bool) *OrderCreateAPI

mmp boolean false 做市商保護. 僅option有效. true 表示該訂單是做市商保護訂單. 什麼是做市商保護?

func (*OrderCreateAPI) OrderFilter

func (api *OrderCreateAPI) OrderFilter(orderFilter string) *OrderCreateAPI

orderFilter string false 指定訂單品種. Order: 普通單,tpslOrder: 止盈止損單,StopOrder: 條件單. 若不傳, 默認Order 僅對現貨有效

func (*OrderCreateAPI) OrderIv

func (api *OrderCreateAPI) OrderIv(orderIv string) *OrderCreateAPI

orderIv string false 隱含波動率. 僅option有效. 按照實際值傳入, e.g., 對於10%, 則傳入0.1. orderIv比price有更高的優先級

func (*OrderCreateAPI) OrderLinkId

func (api *OrderCreateAPI) OrderLinkId(orderLinkId string) *OrderCreateAPI

orderLinkId string false 用戶自定義訂單Id. category=option時,該參數必傳

func (*OrderCreateAPI) OrderType

func (api *OrderCreateAPI) OrderType(orderType string) *OrderCreateAPI

orderType string true 訂單類型. Market, Limit

func (*OrderCreateAPI) PositionIdx

func (api *OrderCreateAPI) PositionIdx(positionIdx int) *OrderCreateAPI

positionIdx integer false 倉位標識, 用戶不同倉位模式. 該字段對於雙向持倉模式(僅USDT永續和反向期貨有雙向模式)是必傳: 0: 單向持倉 1: 買側雙向持倉 2: 賣側雙向持倉 僅對linear和inverse有效

func (*OrderCreateAPI) Price

func (api *OrderCreateAPI) Price(price string) *OrderCreateAPI

price string false 訂單價格. 市價單將會忽視該字段 請通過該接口確認最低價格和精度要求 如果有持倉, 確保價格優於強平價格

func (*OrderCreateAPI) Qty

func (api *OrderCreateAPI) Qty(qty string) *OrderCreateAPI

qty string true 訂單數量 統一帳戶 現貨: 可以通過設置marketUnit來表示市價單qty的單位, 市價買單默認是quoteCoin, 市價賣單默認是baseCoin 期貨和期權: 總是以base coin作為qty的單位 經典帳戶 現貨: 市價買單的qty總是以quote coin為單位, 其他情況下, qty都是以base coin為單位 期貨: qty總是以base coin為單位 期貨: 如果傳入qty="0"以及reduceOnly="true", 則可以全部平掉對應合約的倉位

func (*OrderCreateAPI) ReduceOnly

func (api *OrderCreateAPI) ReduceOnly(reduceOnly bool) *OrderCreateAPI

reduceOnly boolean false 什麼是只減倉? true 將這筆訂單設為只減倉 當減倉時, reduceOnly=true必傳 只減倉單的止盈止損不生效 對linear, inverse和option有效

func (*OrderCreateAPI) Side

func (api *OrderCreateAPI) Side(side string) *OrderCreateAPI

side string true Buy, Sell

func (*OrderCreateAPI) SlLimitPrice

func (api *OrderCreateAPI) SlLimitPrice(slLimitPrice string) *OrderCreateAPI

slLimitPrice string false 觸發止損後轉換為限價單的價格 linear & inverse: 僅作用於當tpslMode=Partial以及slOrderType=Limit時 spot(UTA): 參數必傳當創建訂單時帶了stopLoss 和 slOrderType=Limit

func (*OrderCreateAPI) SlOrderType

func (api *OrderCreateAPI) SlOrderType(slOrderType string) *OrderCreateAPI

slOrderType string false 止損觸發後的訂單類型 linear & inverse: Market(默認), Limit. 對於tpslMode=Full, 僅支持slOrderType=Market spot(UTA): Market: 當帶了參數"stopLoss", Limit: 當帶了參數"stopLoss" 和 "slLimitPrice"

func (*OrderCreateAPI) SlTriggerBy

func (api *OrderCreateAPI) SlTriggerBy(slTriggerBy string) *OrderCreateAPI

slTriggerBy string false 觸發止損的價格類型. MarkPrice, IndexPrice, 默認:LastPrice 僅對linear和inverse有效

func (*OrderCreateAPI) SmpType

func (api *OrderCreateAPI) SmpType(smpType string) *OrderCreateAPI

smpType string false Smp執行類型. 什麼是SMP?

func (*OrderCreateAPI) StopLoss

func (api *OrderCreateAPI) StopLoss(stopLoss string) *OrderCreateAPI

stopLoss string false 止損價格 linear & inverse: 支援統一帳戶和經典帳戶 spot: 僅支持統一帳戶, 創建限價單時, 可以附帶市價止盈止損和限價止盈止損

func (*OrderCreateAPI) Symbol

func (api *OrderCreateAPI) Symbol(symbol string) *OrderCreateAPI

symbol string true 合約名稱

func (*OrderCreateAPI) TakeProfit

func (api *OrderCreateAPI) TakeProfit(takeProfit string) *OrderCreateAPI

takeProfit string false 止盈價格 linear & inverse: 支援統一帳戶和經典帳戶 spot: 僅支持統一帳戶, 創建限價單時, 可以附帶市價止盈止損和限價止盈止損

func (*OrderCreateAPI) TimeInForce

func (api *OrderCreateAPI) TimeInForce(timeInForce string) *OrderCreateAPI

timeInForce string false 訂單執行策略 市價單,系統直接使用IOC 若不傳,默認使用GTC

func (*OrderCreateAPI) TpLimitPrice

func (api *OrderCreateAPI) TpLimitPrice(tpLimitPrice string) *OrderCreateAPI

tpLimitPrice string false 觸發止盈後轉換為限價單的價格 linear & inverse: 僅作用於當tpslMode=Partial以及tpOrderType=Limit時 spot(UTA): 參數必傳當創建訂單時帶了takeProfit 和 tpOrderType=Limit

func (*OrderCreateAPI) TpOrderType

func (api *OrderCreateAPI) TpOrderType(tpOrderType string) *OrderCreateAPI

tpOrderType string false 止盈觸發後的訂單類型 linear & inverse: Market(默認), Limit. 對於tpslMode=Full, 僅支持tpOrderType=Market spot(UTA): Market: 當帶了參數"takeProfit", Limit: 當帶了參數"takeProfit" 和 "tpLimitPrice"

func (*OrderCreateAPI) TpTriggerBy

func (api *OrderCreateAPI) TpTriggerBy(tpTriggerBy string) *OrderCreateAPI

tpTriggerBy string false 觸發止盈的價格類型. MarkPrice, IndexPrice, 默認:LastPrice 僅對linear和inverse有效

func (*OrderCreateAPI) TpslMode

func (api *OrderCreateAPI) TpslMode(tpslMode string) *OrderCreateAPI

tpslMode string false 止盈止損模式 Full: 全部倉位止盈止損. 此時, tpOrderType或者slOrderType必須傳Market Partial: 部分倉位止盈止損(下單時沒有size選項, 實際上創建tpsl訂單時, 是按照實際成交的數量來生成止盈止損). 支持創建限價止盈止損. 注意: 創建限價止盈止損時, tpslMode必傳且為Partial 僅對linear和inverse有效

func (*OrderCreateAPI) TriggerBy

func (api *OrderCreateAPI) TriggerBy(triggerBy string) *OrderCreateAPI

triggerBy string false 條件單參數. 觸發價格類型. LastPrice, IndexPrice, MarkPrice 僅對linear和inverse有效

func (*OrderCreateAPI) TriggerDirection

func (api *OrderCreateAPI) TriggerDirection(triggerDirection int) *OrderCreateAPI

triggerDirection integer false 條件單參數. 用於辨別期望的方向. 1: 當市場價上漲到了triggerPrice時觸發條件單 2: 當市場價下跌到了triggerPrice時觸發條件單 對linear和inverse有效

func (*OrderCreateAPI) TriggerPrice

func (api *OrderCreateAPI) TriggerPrice(triggerPrice string) *OrderCreateAPI

triggerPrice string false 對於期貨, 是條件單觸發價格參數. 若您希望市場價是要上升後觸發, 確保: triggerPrice > 市場價格 否則, triggerPrice < 市場價格 對於現貨, 這是下止盈止損單或者條件單的觸發價格參數

type OrderCreateBatchAPI

type OrderCreateBatchAPI struct {
	// contains filtered or unexported fields
}

下單時需確保帳戶內有足夠的資金。一旦下單,根據訂單所需資金,您的帳戶資金將在訂單生命週期內凍結相應額度,被凍結的資金額度取決於訂單屬性。 每個請求包含的訂單數最大是: 20筆(期权), 10筆(期貨), 10筆(現貨),返回的數據列表中分成兩個list,訂單創建的列表和創建結果的信息返回,兩個list的訂單的序列是完全保持一致的。

func (*OrderCreateBatchAPI) AddNewOrderCreateReq

func (api *OrderCreateBatchAPI) AddNewOrderCreateReq(orderCreateApi *OrderCreateAPI) *OrderCreateBatchAPI

func (*OrderCreateBatchAPI) Do

func (*OrderCreateBatchAPI) SetOrderList

func (api *OrderCreateBatchAPI) SetOrderList(orderCreateApiList []*OrderCreateAPI) *OrderCreateBatchAPI

type OrderCreateBatchReq

type OrderCreateBatchReq struct {
	Category *string          `json:"category"` //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Request  []OrderCreateReq `json:"request"`  //array	true	批量訂單請求
}

type OrderCreateBatchRes

type OrderCreateBatchRes struct {
	List []OrderCreateBatchResRow `json:"list"`
}

type OrderCreateBatchResRow

type OrderCreateBatchResRow struct {
	Category    string `json:"category"`    //產品類型
	Symbol      string `json:"symbol"`      //合約名稱
	OrderId     string `json:"orderId"`     //訂單Id
	OrderLinkId string `json:"orderLinkId"` //用戶自定義訂單Id
	CreateAt    string `json:"createAt"`    //訂單創建時間 (毫秒
}

type OrderCreateReq

type OrderCreateReq struct {
	Category         *string `json:"category"`         //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Symbol           *string `json:"symbol"`           //string	true	合約名稱
	IsLeverage       *int    `json:"isLeverage"`       //integer	false	是否借貸. 僅統一帳戶的現貨交易有效. 0(default): 否,則是幣幣訂單, 1: 是,則是槓桿訂單
	Side             *string `json:"side"`             //string	true	Buy, Sell
	OrderType        *string `json:"orderType"`        //string	true	訂單類型. Market, Limit
	Qty              *string `json:"qty"`              //string	true	訂單數量 統一帳戶 現貨: 可以通過設置marketUnit來表示市價單qty的單位, 市價買單默認是quoteCoin, 市價賣單默認是baseCoin 期貨和期權: 總是以base coin作為qty的單位 經典帳戶 現貨: 市價買單的qty總是以quote coin為單位, 其他情況下, qty都是以base coin為單位 期貨: qty總是以base coin為單位 期貨: 如果傳入qty="0"以及reduceOnly="true", 則可以全部平掉對應合約的倉位
	MarketUnit       *string `json:"marketUnit"`       //string	false	統一帳戶現貨交易創建市價單時給入參qty指定的單位. 当前不支持止盈/止损和条件单 baseCoin: 比如, 買BTCUSDT, 則"qty"的單位是BTC quoteCoin: 比如, 賣BTCUSDT, 則"qty"的單位是USDT
	Price            *string `json:"price"`            //string	false	訂單價格. 市價單將會忽視該字段 請通過該接口確認最低價格和精度要求 如果有持倉, 確保價格優於強平價格
	TriggerDirection *int    `json:"triggerDirection"` //integer	false	條件單參數. 用於辨別期望的方向. 1: 當市場價上漲到了triggerPrice時觸發條件單 2: 當市場價下跌到了triggerPrice時觸發條件單 對linear和inverse有效
	OrderFilter      *string `json:"orderFilter"`      //string	false	指定訂單品種. Order: 普通單,tpslOrder: 止盈止損單,StopOrder: 條件單. 若不傳, 默認Order 僅對現貨有效
	TriggerPrice     *string `json:"triggerPrice"`     //string	false	對於期貨, 是條件單觸發價格參數. 若您希望市場價是要上升後觸發, 確保: triggerPrice > 市場價格 否則, triggerPrice < 市場價格 對於現貨, 這是下止盈止損單或者條件單的觸發價格參數
	TriggerBy        *string `json:"triggerBy"`        //string	false	條件單參數. 觸發價格類型. LastPrice, IndexPrice, MarkPrice 僅對linear和inverse有效
	OrderIv          *string `json:"orderIv"`          //string	false	隱含波動率. 僅option有效. 按照實際值傳入, e.g., 對於10%, 則傳入0.1. orderIv比price有更高的優先級
	TimeInForce      *string `json:"timeInForce"`      //string	false	訂單執行策略 市價單,系統直接使用IOC 若不傳,默認使用GTC
	PositionIdx      *int    `json:"positionIdx"`      //integer	false	倉位標識, 用戶不同倉位模式. 該字段對於雙向持倉模式(僅USDT永續和反向期貨有雙向模式)是必傳: 0: 單向持倉 1: 買側雙向持倉 2: 賣側雙向持倉 僅對linear和inverse有效
	OrderLinkId      *string `json:"orderLinkId"`      //string	false	用戶自定義訂單Id. category=option時,該參數必傳
	TakeProfit       *string `json:"takeProfit"`       //string	false	止盈價格 linear & inverse: 支援統一帳戶和經典帳戶 spot: 僅支持統一帳戶, 創建限價單時, 可以附帶市價止盈止損和限價止盈止損
	StopLoss         *string `json:"stopLoss"`         //string	false	止損價格 linear & inverse: 支援統一帳戶和經典帳戶 spot: 僅支持統一帳戶, 創建限價單時, 可以附帶市價止盈止損和限價止盈止損
	TpTriggerBy      *string `json:"tpTriggerBy"`      //string	false	觸發止盈的價格類型. MarkPrice, IndexPrice, 默認:LastPrice 僅對linear和inverse有效
	SlTriggerBy      *string `json:"slTriggerBy"`      //string	false	觸發止損的價格類型. MarkPrice, IndexPrice, 默認:LastPrice 僅對linear和inverse有效
	ReduceOnly       *bool   `json:"reduceOnly"`       //boolean	false	什麼是只減倉? true 將這筆訂單設為只減倉 當減倉時, reduceOnly=true必傳 只減倉單的止盈止損不生效 對linear, inverse和option有效
	CloseOnTrigger   *bool   `json:"closeOnTrigger"`   //boolean	false	什麼是觸發後平倉委託?此選項可以確保您的止損單被用於減倉(平倉)而非加倉,並且在可用保證金不足的情況下,取消其他委託,騰出保證金以確保平倉委託的執行. 僅對linear和inverse有效
	SmpType          *string `json:"smpType"`          //string	false	Smp執行類型. 什麼是SMP?
	Mmp              *bool   `json:"mmp"`              //boolean	false	做市商保護. 僅option有效. true 表示該訂單是做市商保護訂單. 什麼是做市商保護?
	TpslMode         *string `json:"tpslMode"`         //string	false	止盈止損模式 Full: 全部倉位止盈止損. 此時, tpOrderType或者slOrderType必須傳Market Partial: 部分倉位止盈止損(下單時沒有size選項, 實際上創建tpsl訂單時, 是按照實際成交的數量來生成止盈止損). 支持創建限價止盈止損. 注意: 創建限價止盈止損時, tpslMode必傳且為Partial 僅對linear和inverse有效
	TpLimitPrice     *string `json:"tpLimitPrice"`     //string	false	觸發止盈後轉換為限價單的價格 linear & inverse: 僅作用於當tpslMode=Partial以及tpOrderType=Limit時 spot(UTA): 參數必傳當創建訂單時帶了takeProfit 和 tpOrderType=Limit
	SlLimitPrice     *string `json:"slLimitPrice"`     //string	false	觸發止損後轉換為限價單的價格 linear & inverse: 僅作用於當tpslMode=Partial以及slOrderType=Limit時 spot(UTA): 參數必傳當創建訂單時帶了stopLoss 和 slOrderType=Limit
	TpOrderType      *string `json:"tpOrderType"`      //string	false	止盈觸發後的訂單類型 linear & inverse: Market(默認), Limit. 對於tpslMode=Full, 僅支持tpOrderType=Market spot(UTA): Market: 當帶了參數"takeProfit", Limit: 當帶了參數"takeProfit" 和 "tpLimitPrice"
	SlOrderType      *string `json:"slOrderType"`      //string	false	止損觸發後的訂單類型 linear & inverse: Market(默認), Limit. 對於tpslMode=Full, 僅支持slOrderType=Market spot(UTA): Market: 當帶了參數"stopLoss", Limit: 當帶了參數"stopLoss" 和 "slLimitPrice"
}

type OrderCreateRes

type OrderCreateRes OrderCommonRes

type OrderExecutionListAPI

type OrderExecutionListAPI struct {
	// contains filtered or unexported fields
}

func (*OrderExecutionListAPI) BaseCoin

func (api *OrderExecutionListAPI) BaseCoin(baseCoin string) *OrderExecutionListAPI

baseCoin string false 交易幣種. 統一帳戶(反向)和經典帳戶不支持該字段查詢

func (*OrderExecutionListAPI) Category

func (api *OrderExecutionListAPI) Category(category string) *OrderExecutionListAPI

category string true 產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse

func (*OrderExecutionListAPI) Cursor

func (api *OrderExecutionListAPI) Cursor(cursor string) *OrderExecutionListAPI

cursor string false 游標,用於翻頁

func (*OrderExecutionListAPI) Do

func (*OrderExecutionListAPI) EndTime

func (api *OrderExecutionListAPI) EndTime(endTime int) *OrderExecutionListAPI

endTime int false 結束時間戳 (毫秒)

func (*OrderExecutionListAPI) ExecType

func (api *OrderExecutionListAPI) ExecType(execType string) *OrderExecutionListAPI

execType string false 執行類型. 經典帳戶現貨交易無效

func (*OrderExecutionListAPI) Limit

func (api *OrderExecutionListAPI) Limit(limit int) *OrderExecutionListAPI

limit int false 每頁數量限制. [1, 100]. 默認: 50

func (*OrderExecutionListAPI) OrderId

func (api *OrderExecutionListAPI) OrderId(orderId string) *OrderExecutionListAPI

orderId string false 訂單Id

func (*OrderExecutionListAPI) OrderLinkId

func (api *OrderExecutionListAPI) OrderLinkId(orderLinkId string) *OrderExecutionListAPI

orderLinkId string false 用戶自定義訂單id. 經典帳戶不支持該字段查詢

func (*OrderExecutionListAPI) StartTime

func (api *OrderExecutionListAPI) StartTime(startTime int) *OrderExecutionListAPI

startTime int false 開始時間戳 (毫秒)

func (*OrderExecutionListAPI) Symbol

func (api *OrderExecutionListAPI) Symbol(symbol string) *OrderExecutionListAPI

symbol string false 合約名稱

type OrderExecutionListReq

type OrderExecutionListReq struct {
	Category    *string `json:"category"`    //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Symbol      *string `json:"symbol"`      //string	false	合約名稱
	OrderId     *string `json:"orderId"`     //string	false	訂單Id
	OrderLinkId *string `json:"orderLinkId"` //string	false	用戶自定義訂單id. 經典帳戶不支持該字段查詢
	BaseCoin    *string `json:"baseCoin"`    //string	false	交易幣種. 統一帳戶(反向)和經典帳戶不支持該字段查詢
	StartTime   *int    `json:"startTime"`   //integer	false	開始時間戳 (毫秒)
	EndTime     *int    `json:"endTime"`     //integer	false	結束時間戳 (毫秒)
	ExecType    *string `json:"execType"`    //string	false	執行類型. 經典帳戶現貨交易無效
	Limit       *int    `json:"limit"`       //integer	false	每頁數量限制. [1, 100]. 默認: 50
	Cursor      *string `json:"cursor"`      //string	false	游標,用於翻頁
}

type OrderExecutionListRes

type OrderExecutionListRes struct {
	Category       string                     `json:"category"`       //產品類型
	NextPageCursor string                     `json:"nextPageCursor"` //游標,用於翻頁
	List           []OrderExecutionListResRow `json:"list"`           //array	Object
}

type OrderExecutionListResRow

type OrderExecutionListResRow struct {
	Symbol          string `json:"symbol"`          //合約名稱
	OrderId         string `json:"orderId"`         //訂單Id
	OrderLinkId     string `json:"orderLinkId"`     //用戶自定義訂單id. 經典帳戶現貨交易不支持
	Side            string `json:"side"`            //訂單方向.買: Buy,賣:Sell
	OrderPrice      string `json:"orderPrice"`      //訂單價格
	OrderQty        string `json:"orderQty"`        //訂單數量
	LeavesQty       string `json:"leavesQty"`       //剩餘委託未成交數量. 經典帳戶現貨交易不支持
	CreateType      string `json:"createType"`      //訂單創建類型
	OrderType       string `json:"orderType"`       //訂單類型. 市價單:Market,限價單:Limit
	StopOrderType   string `json:"stopOrderType"`   //条件单的订单类型。如果该订单不是条件单,则可能返回""或者UNKNOWN. 經典帳戶現貨交易不支持
	ExecFee         string `json:"execFee"`         //交易手續費. 您可以從這裡了解現貨手續費幣種信息
	ExecId          string `json:"execId"`          //成交Id
	ExecPrice       string `json:"execPrice"`       //成交價格
	ExecQty         string `json:"execQty"`         //成交數量
	ExecType        string `json:"execType"`        //交易類型. 經典帳戶現貨交易不支持
	ExecValue       string `json:"execValue"`       //成交價值. 經典帳戶現貨交易不支持
	ExecTime        string `json:"execTime"`        //成交時間(毫秒)
	FeeCurrency     string `json:"feeCurrency"`     //現貨手續費幣種 經典帳戶現貨交易不支持
	IsMaker         bool   `json:"isMaker"`         //是否是 Maker 訂單,true 為 maker 訂單,false 為 taker 訂單
	FeeRate         string `json:"feeRate"`         //手續費率. 經典帳戶現貨交易不支持
	TradeIv         string `json:"tradeIv"`         //隱含波動率,僅期權有效
	MarkIv          string `json:"markIv"`          //標記價格的隱含波動率,僅期權有效
	MarkPrice       string `json:"markPrice"`       //成交執行時,該 symbol 當時的標記價格. 經典帳戶現貨交易不支持
	IndexPrice      string `json:"indexPrice"`      //成交執行時,該 symbol 當時的指數價格,目前僅對期權業務有效
	UnderlyingPrice string `json:"underlyingPrice"` //成交執行時,該 symbol 當時的底層資產價格,僅期權有效
	BlockTradeId    string `json:"blockTradeId"`    //大宗交易的订单 ID ,使用 paradigm 进行大宗交易时生成的 ID
	ClosedSize      string `json:"closedSize"`      //平倉數量
	Seq             int    `json:"seq"`             //序列號, 用於關聯成交和倉位的更新
}

type OrderHistoryAPI

type OrderHistoryAPI struct {
	// contains filtered or unexported fields
}

func (*OrderHistoryAPI) BaseCoin

func (api *OrderHistoryAPI) BaseCoin(baseCoin string) *OrderHistoryAPI

baseCoin string false 交易幣種. 統一帳戶(反向)以及經典帳戶不支持該字段的查詢

func (*OrderHistoryAPI) Category

func (api *OrderHistoryAPI) Category(category string) *OrderHistoryAPI

category string true 產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse

func (*OrderHistoryAPI) Cursor

func (api *OrderHistoryAPI) Cursor(cursor string) *OrderHistoryAPI

cursor string false 游標,用於翻頁

func (*OrderHistoryAPI) Do

func (*OrderHistoryAPI) EndTime

func (api *OrderHistoryAPI) EndTime(endTime int) *OrderHistoryAPI

endTime int false 結束時間戳 (毫秒)

func (*OrderHistoryAPI) Limit

func (api *OrderHistoryAPI) Limit(limit int) *OrderHistoryAPI

limit int false 每頁數量限制. [1, 50]. 默認: 20

func (*OrderHistoryAPI) OrderFilter

func (api *OrderHistoryAPI) OrderFilter(orderFilter string) *OrderHistoryAPI

orderFilter string false Order: 普通單, StopOrder: 條件單, 支持現貨和期貨, tpslOrder: 現貨止盈止損單, OcoOrder: OCO訂單, BidirectionalTpslOrder: 現貨(UTA)雙向止盈止損訂單

func (*OrderHistoryAPI) OrderId

func (api *OrderHistoryAPI) OrderId(orderId string) *OrderHistoryAPI

orderId string false 訂單ID

func (*OrderHistoryAPI) OrderLinkId

func (api *OrderHistoryAPI) OrderLinkId(orderLinkId string) *OrderHistoryAPI

orderLinkId string false 用戶自定義訂單ID

func (*OrderHistoryAPI) OrderStatus

func (api *OrderHistoryAPI) OrderStatus(orderStatus string) *OrderHistoryAPI

orderStatus string false 訂單狀態 經典帳戶spot: 該字段無效 UTA(spot, linear, option): 不傳則默認查詢所有終態訂單 UTA(inverse)和經典帳戶: 不傳則默認查詢活動態+終態的訂單

func (*OrderHistoryAPI) SettleCoin

func (api *OrderHistoryAPI) SettleCoin(settleCoin string) *OrderHistoryAPI

settleCoin string false 結算幣種. 統一帳戶(反向)以及經典帳戶不支持該字段的查詢

func (*OrderHistoryAPI) StartTime

func (api *OrderHistoryAPI) StartTime(startTime int) *OrderHistoryAPI

startTime int false 開始時間戳 (毫秒). 經典帳戶現貨不支持使用startTime和endTime startTime 和 endTime都不傳入, 則默認返回最近7天的數據 startTime 和 endTime都傳入的話, 則確保endTime - startTime <= 7天 若只傳startTime,則查詢startTime和startTime+7天的數據 若只傳endTime,則查詢endTime-7天和endTime的數據

func (*OrderHistoryAPI) Symbol

func (api *OrderHistoryAPI) Symbol(symbol string) *OrderHistoryAPI

symbol string false 合約名稱

type OrderHistoryReq

type OrderHistoryReq struct {
	Category    *string `json:"category"`    //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Symbol      *string `json:"symbol"`      //string	false	合約名稱
	BaseCoin    *string `json:"baseCoin"`    //string	false	交易幣種. 統一帳戶(反向)以及經典帳戶不支持該字段的查詢
	SettleCoin  *string `json:"settleCoin"`  //string	false	結算幣種. 統一帳戶(反向)以及經典帳戶不支持該字段的查詢
	OrderId     *string `json:"orderId"`     //string	false	訂單ID
	OrderLinkId *string `json:"orderLinkId"` //string	false	用戶自定義訂單ID
	OrderFilter *string `json:"orderFilter"` //string	false	Order: 普通單, StopOrder: 條件單, 支持現貨和期貨, tpslOrder: 現貨止盈止損單, OcoOrder: OCO訂單, BidirectionalTpslOrder: 現貨(UTA)雙向止盈止損訂單
	OrderStatus *string `json:"orderStatus"` //string	false	訂單狀態 經典帳戶spot: 該字段無效 UTA(spot, linear, option): 不傳則默認查詢所有終態訂單 UTA(inverse)和經典帳戶: 不傳則默認查詢活動態+終態的訂單
	StartTime   *int    `json:"startTime"`   //integer	false	開始時間戳 (毫秒). 經典帳戶現貨不支持使用startTime和endTime startTime 和 endTime都不傳入, 則默認返回最近7天的數據 startTime 和 endTime都傳入的話, 則確保endTime - startTime <= 7天 若只傳startTime,則查詢startTime和startTime+7天的數據 若只傳endTime,則查詢endTime-7天和endTime的數據
	EndTime     *int    `json:"endTime"`     //integer	false	結束時間戳 (毫秒)
	Limit       *int    `json:"limit"`       //integer	false	每頁數量限制. [1, 50]. 默認: 20
	Cursor      *string `json:"cursor"`      //string	false	游標,用於翻頁
}

type OrderHistoryRes

type OrderHistoryRes struct {
	Category       string             `json:"category"`       //產品類型
	NextPageCursor string             `json:"nextPageCursor"` //游標,用於翻頁
	List           []OrderQueryCommon `json:"list"`           //array	Object
}

type OrderQueryCommon

type OrderQueryCommon struct {
	OrderId            string `json:"orderId"`            //訂單Id
	OrderLinkId        string `json:"orderLinkId"`        //用戶自定義Id
	BlockTradeId       string `json:"blockTradeId"`       //Paradigm大宗交易Id
	Symbol             string `json:"symbol"`             //合約名稱
	Price              string `json:"price"`              //訂單價格
	Qty                string `json:"qty"`                //訂單數量
	Side               string `json:"side"`               //方向. Buy,Sell
	IsLeverage         string `json:"isLeverage"`         //是否借貸. 僅統一帳戶spot有效. 0: 否, 1: 是. 經典帳戶現貨交易不支持, 總是0
	PositionIdx        int    `json:"positionIdx"`        //倉位標識。用戶不同倉位模式
	OrderStatus        string `json:"orderStatus"`        //訂單狀態
	CreateType         string `json:"createType"`         //訂單創建類型
	CancelType         string `json:"cancelType"`         //訂單被取消類型
	RejectReason       string `json:"rejectReason"`       //拒絕原因. 經典帳戶現貨交易不支持
	AvgPrice           string `json:"avgPrice"`           //訂單平均成交價格
	LeavesQty          string `json:"leavesQty"`          //訂單剩餘未成交的數量. 經典帳戶現貨交易不支持
	LeavesValue        string `json:"leavesValue"`        //訂單剩餘未成交的價值. 經典帳戶現貨交易不支持
	CumExecQty         string `json:"cumExecQty"`         //訂單累計成交數量
	CumExecValue       string `json:"cumExecValue"`       //訂單累計成交價值. 經典帳戶現貨交易不支持
	CumExecFee         string `json:"cumExecFee"`         //訂單累計成交的手續費. 經典帳戶現貨交易不支持
	TimeInForce        string `json:"timeInForce"`        //執行策略
	OrderType          string `json:"orderType"`          //訂單類型. Market,Limit. 對於止盈止損單, 則表示為觸發後的訂單類型
	StopOrderType      string `json:"stopOrderType"`      //條件單類型
	OrderIv            string `json:"orderIv"`            //隱含波動率
	MarketUnit         string `json:"marketUnit"`         //統一帳戶現貨交易時給入參qty選擇的單位. baseCoin, quoteCoin
	TriggerPrice       string `json:"triggerPrice"`       //觸發價格. 若stopOrderType=TrailingStop, 則這是激活價格. 否則, 它是觸發價格
	TakeProfit         string `json:"takeProfit"`         //止盈價格
	StopLoss           string `json:"stopLoss"`           //止損價格
	TpslMode           string `json:"tpslMode"`           //止盈止損模式 Full: 全部倉位止盈止損, Partial: 部分倉位止盈止損. 現貨不返回該字段, 期權總是返回""
	OcoTriggerBy       string `json:"ocoTriggerBy"`       //現貨OCO訂單的觸發類型.OcoTriggerByUnknown, OcoTriggerByTp, OcoTriggerBySl. 經典帳戶現貨不支持該字段
	TpLimitPrice       string `json:"tpLimitPrice"`       //觸發止盈後轉換為限價單的價格
	SlLimitPrice       string `json:"slLimitPrice"`       //觸發止損後轉換為限價單的價格
	TpTriggerBy        string `json:"tpTriggerBy"`        //觸發止盈的價格類型
	SlTriggerBy        string `json:"slTriggerBy"`        //觸發止損的價格類型
	TriggerDirection   int    `json:"triggerDirection"`   //觸發方向. 1: 上漲, 2: 下跌
	TriggerBy          string `json:"triggerBy"`          //觸發價格的觸發類型
	LastPriceOnCreated string `json:"lastPriceOnCreated"` //下單時的市場價格
	ReduceOnly         bool   `json:"reduceOnly"`         //只減倉. true表明這是只減倉單
	CloseOnTrigger     bool   `json:"closeOnTrigger"`     //觸發後平倉委託. 什麼是觸發後平倉委託?
	PlaceType          string `json:"placeType"`          //下單類型, 僅期權使用. iv, price
	SmpType            string `json:"smpType"`            //SMP執行類型
	SmpGroup           int    `json:"smpGroup"`           //所屬Smp組ID. 如果uid不屬於任何組, 則默認為0
	SmpOrderId         string `json:"smpOrderId"`         //觸發此SMP執行的交易對手的 orderID
	CreatedTime        string `json:"createdTime"`        //創建訂單的時間戳 (毫秒)
	UpdatedTime        string `json:"updatedTime"`        //訂單更新的時間戳 (毫秒)
}

type OrderRealtimeAPI

type OrderRealtimeAPI struct {
	// contains filtered or unexported fields
}

func (*OrderRealtimeAPI) BaseCoin

func (api *OrderRealtimeAPI) BaseCoin(baseCoin string) *OrderRealtimeAPI

baseCoin string false 交易幣種. 支持linear, inverse和option. 對於若不傳,則返回期權下所有活動委託單

func (*OrderRealtimeAPI) Category

func (api *OrderRealtimeAPI) Category(category string) *OrderRealtimeAPI

category string true 產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse

func (*OrderRealtimeAPI) Cursor

func (api *OrderRealtimeAPI) Cursor(cursor string) *OrderRealtimeAPI

cursor string false 游標,用於翻頁

func (*OrderRealtimeAPI) Do

func (*OrderRealtimeAPI) Limit

func (api *OrderRealtimeAPI) Limit(limit int) *OrderRealtimeAPI

limit int false 每頁數量限制. [1, 50]. 默認: 20

func (*OrderRealtimeAPI) OpenOnly

func (api *OrderRealtimeAPI) OpenOnly(openOnly int) *OrderRealtimeAPI

openOnly int false 統一帳戶 & 經典帳戶0(默認): 僅查詢活動委託訂單 統一帳戶: 1, 統一帳戶(反向)和經典帳戶: 2

func (*OrderRealtimeAPI) OrderFilter

func (api *OrderRealtimeAPI) OrderFilter(orderFilter string) *OrderRealtimeAPI

orderFilter string false Order: 活動單, StopOrder: 條件單, 支持現貨和期貨, tpslOrder: 止盈止損單, 僅現貨有效, OcoOrder: OCO訂單, BidirectionalTpslOrder: 現貨(UTA)雙向止盈止損訂單

func (*OrderRealtimeAPI) OrderId

func (api *OrderRealtimeAPI) OrderId(orderId string) *OrderRealtimeAPI

orderId string false 訂單Id

func (*OrderRealtimeAPI) OrderLinkId

func (api *OrderRealtimeAPI) OrderLinkId(orderLinkId string) *OrderRealtimeAPI

orderLinkId string false 用戶自定義訂單Id

func (*OrderRealtimeAPI) SettleCoin

func (api *OrderRealtimeAPI) SettleCoin(settleCoin string) *OrderRealtimeAPI

settleCoin string false 結算幣種 linear: symbol 和 settleCoin必傳其中一個 spot: 該字段無效

func (*OrderRealtimeAPI) Symbol

func (api *OrderRealtimeAPI) Symbol(symbol string) *OrderRealtimeAPI

symbol string false 合約名稱. 對於linear, symbol, baseCoin 和 settleCoin必傳其中一個

type OrderRealtimeReq

type OrderRealtimeReq struct {
	Category    *string `json:"category"`    //string	true	產品類型 統一帳戶: spot, linear, inverse, option 經典帳戶: spot, linear, inverse
	Symbol      *string `json:"symbol"`      //string	false	合約名稱. 對於linear, symbol, baseCoin 和 settleCoin必傳其中一個
	BaseCoin    *string `json:"baseCoin"`    //string	false	交易幣種. 支持linear, inverse和option. 對於若不傳,則返回期權下所有活動委託單
	SettleCoin  *string `json:"settleCoin"`  //string	false	結算幣種 linear: symbol 和 settleCoin必傳其中一個 spot: 該字段無效
	OrderId     *string `json:"orderId"`     //string	false	訂單Id
	OrderLinkId *string `json:"orderLinkId"` //string	false	用戶自定義訂單Id
	OpenOnly    *int    `json:"openOnly"`    //integer	false	統一帳戶 & 經典帳戶0(默認): 僅查詢活動委託訂單 統一帳戶: 1, 統一帳戶(反向)和經典帳戶: 2
	OrderFilter *string `json:"orderFilter"` //string	false	Order: 活動單, StopOrder: 條件單, 支持現貨和期貨, tpslOrder: 止盈止損單, 僅現貨有效, OcoOrder: OCO訂單, BidirectionalTpslOrder: 現貨(UTA)雙向止盈止損訂單
	Limit       *int    `json:"limit"`       //integer	false	每頁數量限制. [1, 50]. 默認: 20
	Cursor      *string `json:"cursor"`      //string	false	游標,用於翻頁
}

type OrderRealtimeRes

type OrderRealtimeRes struct {
	Category       string             `json:"category"`       //產品類型
	NextPageCursor string             `json:"nextPageCursor"` //游標,用於翻頁
	List           []OrderQueryCommon `json:"list"`           //array	Object
}

type PositionListAPI

type PositionListAPI struct {
	// contains filtered or unexported fields
}

func (*PositionListAPI) BaseCoin

func (api *PositionListAPI) BaseCoin(baseCoin string) *PositionListAPI

baseCoin string false 交易幣種. 僅option. 若不傳,則返回期權下所有持倉

func (*PositionListAPI) Category

func (api *PositionListAPI) Category(category string) *PositionListAPI

category string true 統一帳戶: linear,inverse, option 經典帳戶: linear, inverse

func (*PositionListAPI) Cursor

func (api *PositionListAPI) Cursor(cursor string) *PositionListAPI

cursor string false 游標,用於翻頁

func (*PositionListAPI) Do

func (*PositionListAPI) Limit

func (api *PositionListAPI) Limit(limit int) *PositionListAPI

limit integer false 每頁數量限制. [1, 200]. 默認: 20

func (*PositionListAPI) SettleCoin

func (api *PositionListAPI) SettleCoin(settleCoin string) *PositionListAPI

settleCoin string false 結算幣種. 對於USDT和USDC期貨而言,symbol和settleCon必傳其中一個, 若都傳,則symbol有更高的優先級

func (*PositionListAPI) Symbol

func (api *PositionListAPI) Symbol(symbol string) *PositionListAPI

symbol string false 合約名稱 若傳了symbol, 則不管是否有倉位都返回該symbol數據 若symbol不傳但傳了settleCoin, 則僅返回有實際倉位的數據

type PositionListReq

type PositionListReq struct {
	Category   *string `json:"category"`   //string	true	統一帳戶: linear,inverse, option 經典帳戶: linear, inverse
	Symbol     *string `json:"symbol"`     //string	false	合約名稱 若傳了symbol, 則不管是否有倉位都返回該symbol數據 若symbol不傳但傳了settleCoin, 則僅返回有實際倉位的數據
	BaseCoin   *string `json:"baseCoin"`   //string	false	交易幣種. 僅option. 若不傳,則返回期權下所有持倉
	SettleCoin *string `json:"settleCoin"` //string	false	結算幣種. 對於USDT和USDC期貨而言,symbol和settleCon必傳其中一個, 若都傳,則symbol有更高的優先級
	Limit      *int    `json:"limit"`      //integer	false	每頁數量限制. [1, 200]. 默認: 20
	Cursor     *string `json:"cursor"`     //string	false	游標,用於翻頁
}

type PositionListRes

type PositionListRes struct {
	Category       string               `json:"category"` //產品類型
	List           []PositionListResRow `json:"list"`
	NextPageCursor string               `json:"nextPageCursor"` //游標,用於翻頁
}

type PositionListResRow

type PositionListResRow struct {
	PositionIdx            int    `json:"positionIdx"`            //倉位標識符, 用于在不同仓位模式下标识仓位
	RiskId                 int    `json:"riskId"`                 //风险限额ID,參見風險限額接口. 注意:若賬戶為組合保證金模式(PM),該字段返回0,風險限額規則失效
	RiskLimitValue         string `json:"riskLimitValue"`         //當前風險限額ID對應的持倉限制量. 注意:若賬戶為組合保證金模式(PM),該字段返回"",風險限額規則失效
	Symbol                 string `json:"symbol"`                 //合約名称
	Side                   string `json:"side"`                   //持倉方向,Buy:多头;Sell:空头. 經典帳戶的單向模式下和統一帳戶的反向合約: 空倉時返回None. 統一帳戶(正向合約): 單向或對沖模式空的仓位返回空字符串
	Size                   string `json:"size"`                   //當前倉位的合约數量
	AvgPrice               string `json:"avgPrice"`               //當前倉位的平均入場價格 對於8小時結算的USDC合約倉位, 該字段表示的是平均開倉價格, 不隨著結算而改變
	PositionValue          string `json:"positionValue"`          //仓位的價值
	TradeMode              int    `json:"tradeMode"`              //交易模式。 統一帳戶 (反向合約) & 經典帳戶: 0: 全倉, 1: 逐倉 統一帳戶: 廢棄, 總是 0
	AutoAddMargin          int    `json:"autoAddMargin"`          //是否自動追加保證金. 0: 否, 1: 是. 僅當統一帳戶(除反向合約)開啟了帳戶維度的逐倉保證金模式, 該字段才有意義
	PositionStatus         string `json:"positionStatus"`         //倉位状态. Normal,Liq, Adl
	Leverage               string `json:"leverage"`               //當前倉位的槓桿,仅适用于合约. 注意:若賬戶為組合保證金模式(PM),該字段返回空字符串,槓桿規則失效
	MarkPrice              string `json:"markPrice"`              //symbol 的最新標記價格
	LiqPrice               string `json:"liqPrice"`               //倉位強平價格, UTA(反向合約) & 普通账户 & UTA(開啟逐倉保證金模式):是逐倉和全倉持仓的真實價格, 當強平價 <= minPrice或者 強平價 >= maxPrice, 則為""。 統一帳戶(全倉保證金):是全倉持仓的预估价格(因为统一帳戶模式是按照帳戶維度控制风险率), 當強平價 <= minPrice或者 強平價 >= maxPrice, 則為"" 但是對於組合保證金模式,此字段為空,不會提供強平價格
	BustPrice              string `json:"bustPrice"`              //倉位破產價格. 統一保證金模式返回"", 無倉位破產價格 (不包括統一帳戶下的反向交易)
	PositionIM             string `json:"positionIM"`             //倉位起始保證金. 組合保證金模式(PM)下, 該字段返回為空字符串
	PositionMM             string `json:"positionMM"`             //倉位維持保證金. 組合保證金模式(PM)下, 該字段返回為空字符串
	TpslMode               string `json:"tpslMode"`               //該字段廢棄, 無意義, 總是返回"Full". 期權總是返回""
	PositionBalance        string `json:"positionBalance"`        //倉位保證金 統一帳戶(linear): 僅在逐倉保證金模式下有意義
	TakeProfit             string `json:"takeProfit"`             //止盈價格
	StopLoss               string `json:"stopLoss"`               //止損價格
	TrailingStop           string `json:"trailingStop"`           //追蹤止損(與當前價格的距離)
	SessionAvgPrice        string `json:"sessionAvgPrice"`        //USDC合約平均持倉價格, 會隨著8小時結算而變動
	Delta                  string `json:"delta"`                  //Delta, 期權的獨有字段
	Gamma                  string `json:"gamma"`                  //Gamma, 期權的獨有字段
	Vega                   string `json:"vega"`                   //Vega, 期權的獨有字段
	Theta                  string `json:"theta"`                  //Theta, 期權的獨有字段
	UnrealisedPnl          string `json:"unrealisedPnl"`          //未结盈亏
	CurRealisedPnl         string `json:"curRealisedPnl"`         //當前持倉的已結盈虧
	CumRealisedPnl         string `json:"cumRealisedPnl"`         //累计已结盈亏 期貨: 是從第一次開始有持倉加總的已結盈虧 期權: 總是"", 無意義
	AdlRankIndicator       int    `json:"adlRankIndicator"`       //自動減倉燈.
	IsReduceOnly           bool   `json:"isReduceOnly"`           //僅當Bybit需要降低某個Symbol的風險限額時有用 true: 僅允許減倉操作. 您可以考慮一系列的方式, 比如, 降低risk limit檔位, 或者同檔位修改槓桿或減少倉位, 或者增加保證金, 或者撤單, 這些操作做完後, 可以主動調用確認新的風險限額接口 false(默認): 沒有交易限制, 表示您的倉位在系統調整時處於風險水平之下 僅對逐倉和全倉的期貨倉位有意義
	MmrSysUpdatedTime      string `json:"mmrSysUpdatedTime"`      //僅當Bybit需要降低某個Symbol的風險限額時有用 當isReduceOnly=true: 這個時間戳表示系統強制修改MMR的時間 當isReduceOnly=false: 若不為空, 則表示系統已經完成了MMR調整的時間 僅當系統調整才會賦值, 對於主動的調整, 不會在這裡展示時間戳 默認為"", 但如果曾經這個symbol有過系統降檔的操作, 那麼這裡會顯示上一次操作的時間 僅對逐倉和全倉的期貨倉位有意義
	LeverageSysUpdatedTime string `json:"leverageSysUpdatedTime"` //僅當Bybit需要降低某個Symbol的風險限額時有用 當isReduceOnly=true: 這個時間戳表示系統強制修改槓桿的時間 當isReduceOnly=false: 若不為空, 則表示系統已經完成了槓桿調整的時間 僅當系統調整才會賦值, 對於主動的調整, 不會在這裡展示時間戳 默認為"", 但如果曾經這個symbol有過系統降檔的操作, 那麼這裡會顯示上一次操作的時間 僅對逐倉和全倉的期貨倉位有意義
	CreatedTime            string `json:"createdTime"`            //倉位創建時間
	UpdatedTime            string `json:"updatedTime"`            //倉位數據更新時間
	Seq                    int64  `json:"seq"`                    //序列號, 用於關聯成交和倉位的更新 不同的幣對會存在相同seq, 可以使用seq + symbol來做唯一性識別 如果該幣對從未被交易過, 查詢時則會返回"-1" 對於更新槓桿、更新風險限額等非交易行為, 將會返回上一次成交時更新的seq
}

type PositionSetLeverageAPI

type PositionSetLeverageAPI struct {
	// contains filtered or unexported fields
}

func (*PositionSetLeverageAPI) BuyLeverage

func (api *PositionSetLeverageAPI) BuyLeverage(buyLeverage string) *PositionSetLeverageAPI

buyLeverage string true [1, 風險限額允許的最大槓桿數] 單倉模式: 經典帳戶和統一帳戶的buyLeverage 必須等於sellLeverage 雙倉模式: 經典帳戶和統一帳戶(逐倉模式)buyLeverage可以與sellLeverage不想等; 統一帳戶(全倉模式)的buyLeverage 必須等於sellLeverage

func (*PositionSetLeverageAPI) Category

func (api *PositionSetLeverageAPI) Category(category string) *PositionSetLeverageAPI

category string true 產品類型 統一帳戶: linear, inverse 經典帳戶: linear, inverse

func (*PositionSetLeverageAPI) Do

func (*PositionSetLeverageAPI) SellLeverage

func (api *PositionSetLeverageAPI) SellLeverage(sellLeverage string) *PositionSetLeverageAPI

sellLeverage string true [1, 風險限額允許的最大槓桿數]

func (*PositionSetLeverageAPI) Symbol

symbol string true 合約名稱

type PositionSetLeverageReq

type PositionSetLeverageReq struct {
	Category     *string `json:"category"`     //string	true	產品類型 統一帳戶: linear, inverse 經典帳戶: linear, inverse
	Symbol       *string `json:"symbol"`       //string	true	合約名稱
	BuyLeverage  *string `json:"buyLeverage"`  //string	true	[1, 風險限額允許的最大槓桿數] 單倉模式: 經典帳戶和統一帳戶的buyLeverage 必須等於sellLeverage 雙倉模式: 經典帳戶和統一帳戶(逐倉模式)buyLeverage可以與sellLeverage不想等; 統一帳戶(全倉模式)的buyLeverage 必須等於sellLeverage
	SellLeverage *string `json:"sellLeverage"` //string	true	[1, 風險限額允許的最大槓桿數]
}

type PositionSetLeverageRes

type PositionSetLeverageRes struct{}

type PositionSwitchIsolatedAPI

type PositionSwitchIsolatedAPI struct {
	// contains filtered or unexported fields
}

func (*PositionSwitchIsolatedAPI) BuyLeverage

func (api *PositionSwitchIsolatedAPI) BuyLeverage(buyLeverage string) *PositionSwitchIsolatedAPI

buyLeverage string true 買側槓桿倍數. 必須與sellLeverage的值保持相同

func (*PositionSwitchIsolatedAPI) Category

category string true 產品類型 統一帳戶: inverse 經典帳戶: linear, inverse 這裡category字段不參與業務邏輯,僅做路由使用

func (*PositionSwitchIsolatedAPI) Do

func (*PositionSwitchIsolatedAPI) SellLeverage

func (api *PositionSwitchIsolatedAPI) SellLeverage(sellLeverage string) *PositionSwitchIsolatedAPI

sellLeverage string true 賣側槓桿倍數. 必須與buyLeverage的值保持相同

func (*PositionSwitchIsolatedAPI) Symbol

symbol string true 合約名稱

func (*PositionSwitchIsolatedAPI) TradeMode

func (api *PositionSwitchIsolatedAPI) TradeMode(tradeMode int) *PositionSwitchIsolatedAPI

tradeMode integer true 0: 全倉. 1: 逐倉

type PositionSwitchIsolatedReq

type PositionSwitchIsolatedReq struct {
	Category     *string `json:"category"`     //string	true	產品類型 統一帳戶: inverse 經典帳戶: linear, inverse 這裡category字段不參與業務邏輯,僅做路由使用
	Symbol       *string `json:"symbol"`       //string	true	合約名稱
	TradeMode    *int    `json:"tradeMode"`    //integer	true	0: 全倉. 1: 逐倉
	BuyLeverage  *string `json:"buyLeverage"`  //string	true	買側槓桿倍數. 必須與sellLeverage的值保持相同
	SellLeverage *string `json:"sellLeverage"` //string	true	賣側槓桿倍數. 必須與buyLeverage的值保持相同
}

type PositionSwitchIsolatedRes

type PositionSwitchIsolatedRes struct{}

type PositionSwitchModeAPI

type PositionSwitchModeAPI struct {
	// contains filtered or unexported fields
}

func (*PositionSwitchModeAPI) Category

func (api *PositionSwitchModeAPI) Category(category string) *PositionSwitchModeAPI

category string true 產品類型 統一帳戶: linear: USDT永續; inverse: 反向交割 經典帳戶: linear, inverse. 這裡category字段不參與業務邏輯,僅做路由使用

func (*PositionSwitchModeAPI) Coin

coin string false 結算幣種

func (*PositionSwitchModeAPI) Do

func (*PositionSwitchModeAPI) Mode

mode integer true 倉位模式. 0: 單向持倉. 3: 雙向持倉

func (*PositionSwitchModeAPI) Symbol

func (api *PositionSwitchModeAPI) Symbol(symbol string) *PositionSwitchModeAPI

symbol string false 合約名稱. symbol和coin必須傳其中一個. symbol有更高優先級

type PositionSwitchModeReq

type PositionSwitchModeReq struct {
	Category *string `json:"category"` //string	true	產品類型 統一帳戶: linear: USDT永續; inverse: 反向交割 經典帳戶: linear, inverse. 這裡category字段不參與業務邏輯,僅做路由使用
	Symbol   *string `json:"symbol"`   //string	false	合約名稱. symbol和coin必須傳其中一個. symbol有更高優先級
	Coin     *string `json:"coin"`     //string	false	結算幣種
	Mode     *int    `json:"mode"`     //integer	true	倉位模式. 0: 單向持倉. 3: 雙向持倉
}

type PositionSwitchModeRes

type PositionSwitchModeRes struct{}

type PriceFilter

type PriceFilter struct {
	MinPrice string `json:"minPrice"` // 訂單最小價格
	MaxPrice string `json:"maxPrice"` // 訂單最大價格
	TickSize string `json:"tickSize"` // 修改價格的步長
}

type PrivateRestAPI

type PrivateRestAPI int
const (
	//Account
	AccountWalletBalance PrivateRestAPI = iota //查詢錢包餘額
	AccountFeeRate                             //查詢手續費率
	//Position
	PositionList           //查詢持倉 (實時)
	PositionSetLeverage    //設置槓桿
	PositionSwitchIsolated //切換全倉/逐倉保證金(交易對)
	PositionSwitchMode     //切換持倉模式
	//Order
	OrderCreate        //創建委託單
	OrderCreateBatch   //批量創建委託單
	OrderAmend         //修改委託單
	OrderAmendBatch    //批量修改委託單
	OrderCancel        //撤銷委託單
	OrderCancelBatch   //批量撤銷委託單
	OrderCancelAll     //撤銷所有訂單
	OrderRealtime      //查詢實時委託單
	OrderHistory       //查詢歷史訂單 (2年)
	OrderExecutionList //查詢成交紀錄 (2年)
)

type PrivateRestClient

type PrivateRestClient RestClient

func (*PrivateRestClient) NewAccountFeeRate

func (client *PrivateRestClient) NewAccountFeeRate() *AccountFeeRateAPI

bybit AccountFeeRate PrivateRest接口 GET 查詢手續費率

func (*PrivateRestClient) NewAccountWalletBalance

func (client *PrivateRestClient) NewAccountWalletBalance() *AccountWalletBalanceAPI

bybit AccountWalletBalance PrivateRest接口 GET 查詢錢包餘額

func (*PrivateRestClient) NewOrderAmend

func (client *PrivateRestClient) NewOrderAmend() *OrderAmendAPI

bybit OrderAmend PrivateRest接口 POST 修改委託單

func (*PrivateRestClient) NewOrderAmendBatch

func (client *PrivateRestClient) NewOrderAmendBatch() *OrderAmendBatchAPI

bybit OrderAmendBatch PrivateRest接口 POST 批量修改委託單

func (*PrivateRestClient) NewOrderCancel

func (client *PrivateRestClient) NewOrderCancel() *OrderCancelAPI

bybit OrderCancel PrivateRest接口 POST 撤銷委託單

func (*PrivateRestClient) NewOrderCancelAll

func (client *PrivateRestClient) NewOrderCancelAll() *OrderCancelAllAPI

bybit OrderCancelAll PrivateRest接口 POST 撤銷所有訂單

func (*PrivateRestClient) NewOrderCancelBatch

func (client *PrivateRestClient) NewOrderCancelBatch() *OrderCancelBatchAPI

bybit OrderCancelBatch PrivateRest接口 POST 批量撤銷委託單

func (*PrivateRestClient) NewOrderCreate

func (client *PrivateRestClient) NewOrderCreate() *OrderCreateAPI

bybit OrderCreate PrivateRest接口 POST 創建委託單

func (*PrivateRestClient) NewOrderCreateBatch

func (client *PrivateRestClient) NewOrderCreateBatch() *OrderCreateBatchAPI

bybit OrderCreateBatch PrivateRest接口 POST 批量創建委託單

func (*PrivateRestClient) NewOrderExecutionList

func (client *PrivateRestClient) NewOrderExecutionList() *OrderExecutionListAPI

bybit OrderExecutionList PrivateRest接口 GET 查詢成交紀錄 (2年)

func (*PrivateRestClient) NewOrderHistory

func (client *PrivateRestClient) NewOrderHistory() *OrderHistoryAPI

bybit OrderHistory PrivateRest接口 GET 查詢歷史訂單 (2年)

func (*PrivateRestClient) NewOrderRealtime

func (client *PrivateRestClient) NewOrderRealtime() *OrderRealtimeAPI

bybit OrderRealtime PrivateRest接口 GET 查詢實時委託

func (*PrivateRestClient) NewPositionList

func (client *PrivateRestClient) NewPositionList() *PositionListAPI

bybit PositionList PrivateRest接口 GET 查詢持倉 (實時)

func (*PrivateRestClient) NewPositionSetLeverage

func (client *PrivateRestClient) NewPositionSetLeverage() *PositionSetLeverageAPI

bybit PositionSetLeverage PrivateRest接口 POST 設置持倉槓桿

func (*PrivateRestClient) NewPositionSwitchIsolated

func (client *PrivateRestClient) NewPositionSwitchIsolated() *PositionSwitchIsolatedAPI

bybit PositionSwitchIsolated PrivateRest接口 POST 切換全倉/逐倉保證金(交易對)

func (*PrivateRestClient) NewPositionSwitchMode

func (client *PrivateRestClient) NewPositionSwitchMode() *PositionSwitchModeAPI

bybit PositionSwitchMode PrivateRest接口 POST 切換持倉模式

type PublicRestAPI

type PublicRestAPI int
const (
	MarketInstrumentsInfo PublicRestAPI = iota //查詢可交易產品的規格信息
	MarketTime                                 //Bybit服務器時間
	MarketKline                                //查詢市場價格K線數據
	MarketOrderBook                            //Order Book (深度)
	MarketTickers                              //查詢最新行情信息
	MarketRecentTrade                          //查詢平台最近成交歷史
)

type PublicRestClient

type PublicRestClient RestClient

func (*PublicRestClient) NewMarketInstrumentsInfo

func (client *PublicRestClient) NewMarketInstrumentsInfo() *MarketInstrumentsInfoAPI

bybit MarketInstrumentsInfo PublicRest接口 GET 查詢可交易產品的規格信息

func (*PublicRestClient) NewMarketKline

func (client *PublicRestClient) NewMarketKline() *MarketKlineAPI

bybit MarketKline PublicRest接口 GET 查詢市場價格K線數據

func (*PublicRestClient) NewMarketOrderBook

func (client *PublicRestClient) NewMarketOrderBook() *MarketOrderBookAPI

bybit MarketOrderBook PublicRest接口 GET Order Book (深度)

func (*PublicRestClient) NewMarketTickers

func (client *PublicRestClient) NewMarketTickers() *MarketTickersAPI

bybit MarketTickers PublicRest接口 GET 查詢最新行情信息

func (*PublicRestClient) NewMarketTime

func (client *PublicRestClient) NewMarketTime() *MarketTimeAPI

bybit MarketTime PublicRest接口 GET Bybit服務器時間

type RequestType

type RequestType string

type RestClient

type RestClient struct {
	// contains filtered or unexported fields
}

func NewRestClient

func NewRestClient(APIKey, SecretKey string, options ...RestClientOption) *RestClient

func (*RestClient) PrivateRestClient

func (c *RestClient) PrivateRestClient() *PrivateRestClient

func (*RestClient) PublicRestClient

func (c *RestClient) PublicRestClient() *PublicRestClient

type RestClientOption

type RestClientOption func(c *Client)

func WithRecvWindow

func WithRecvWindow(recvWindow int64) RestClientOption

func WithRefer

func WithRefer(referer string) RestClientOption

type RiskParameters

type RiskParameters struct {
	LimitParameter  string `json:"limitParameter"`  // 限價單價格限制
	MarketParameter string `json:"marketParameter"` // 市價單價格限制
}

type ServerType

type ServerType int
const (
	BASE ServerType = iota
	AWS
	TEST
)

type SpotDetails

type SpotDetails struct {
	Innovation     string         `json:"innovation"`     // 是否屬於創新區交易對. `0`: 否, `1`: 是
	MarginTrading  string         `json:"marginTrading"`  // 該幣對是否支持槓桿交易
	RiskParameters RiskParameters `json:"riskParameters"` // 價格限制參數
}

SpotDetails

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL