Documentation ¶
Overview ¶
Package binance is a Golang SDK for binance APIs.
Index ¶
- Constants
- Variables
- func IsBinanceError(e error) bool
- func WsAggTradeServe(symbol string, handler WsAggTradeHandler) (chan struct{}, error)
- func WsAllMarketsStatServe(handler WsAllMarketsStatHandler) (chan struct{}, error)
- func WsDepthServe(symbol string, handler WsDepthHandler) (chan struct{}, error)
- func WsKlineServe(symbol string, interval string, handler WsKlineHandler) (chan struct{}, error)
- func WsMarketStatServe(symbol string, handler WsMarketStatHandler) (chan struct{}, error)
- func WsUserDataServe(listenKey string, handler WsHandler) (chan struct{}, error)
- type Account
- type AggTrade
- type AggTradesService
- func (s *AggTradesService) Do(ctx context.Context, opts ...RequestOption) (res []*AggTrade, err error)
- func (s *AggTradesService) EndTime(endTime int64) *AggTradesService
- func (s *AggTradesService) FromID(fromID int64) *AggTradesService
- func (s *AggTradesService) Limit(limit int) *AggTradesService
- func (s *AggTradesService) StartTime(startTime int64) *AggTradesService
- func (s *AggTradesService) Symbol(symbol string) *AggTradesService
- type Balance
- type BinanceError
- type BookEntry
- type BookTicker
- type BookTickerService
- type CancelOrderResponse
- type CancelOrderService
- func (s *CancelOrderService) Do(ctx context.Context, opts ...RequestOption) (res *CancelOrderResponse, err error)
- func (s *CancelOrderService) NewClientOrderId(newClientOrderId string) *CancelOrderService
- func (s *CancelOrderService) OrderId(orderId int64) *CancelOrderService
- func (s *CancelOrderService) OrigClientOrderId(origClientOrderId string) *CancelOrderService
- func (s *CancelOrderService) Symbol(symbol string) *CancelOrderService
- type Client
- func (c *Client) GetRequestsPerSecond(weight int) (float64, error)
- func (c *Client) NewAggTradesService() *AggTradesService
- func (c *Client) NewBookTickerService() *BookTickerService
- func (c *Client) NewCancelOrderService() *CancelOrderService
- func (c *Client) NewCloseUserStreamService() *CloseUserStreamService
- func (c *Client) NewCreateOcoService() *CreateOcoService
- func (c *Client) NewCreateOrderService() *CreateOrderService
- func (c *Client) NewCreateWithdrawService() *CreateWithdrawService
- func (c *Client) NewDepthService() *DepthService
- func (c *Client) NewExchangeInfoService() *ExchangeInfoService
- func (c *Client) NewGetAccountService() *GetAccountService
- func (c *Client) NewGetOrderService() *GetOrderService
- func (c *Client) NewGetWithdrawFeeService() *GetWithdrawFeeService
- func (c *Client) NewKeepaliveUserStreamService() *KeepaliveUserStreamService
- func (c *Client) NewKlinesService() *KlinesService
- func (c *Client) NewListDepositsService() *ListDepositsService
- func (c *Client) NewListOpenOrdersService() *ListOpenOrdersService
- func (c *Client) NewListOrdersService() *ListOrdersService
- func (c *Client) NewListTradesService() *ListTradesService
- func (c *Client) NewListWithdrawsService() *ListWithdrawsService
- func (c *Client) NewPingService() *PingService
- func (c *Client) NewPriceChangeStatsService() *PriceChangeStatsService
- func (c *Client) NewServerTimeService() *ServerTimeService
- func (c *Client) NewStartUserStreamService() *StartUserStreamService
- func (c *Client) NewSymbolPriceService() *SymbolPriceService
- type CloseUserStreamService
- type CreateOcoOrderReport
- type CreateOcoOrderResponse
- type CreateOcoOrdersResponse
- type CreateOcoService
- func (svc *CreateOcoService) Do(ctx context.Context, opts ...RequestOption) (resp *CreateOcoOrdersResponse, err error)
- func (svc *CreateOcoService) LimitClientOrderId(value string) *CreateOcoService
- func (svc *CreateOcoService) Price(value float64) *CreateOcoService
- func (svc *CreateOcoService) Quantity(value float64) *CreateOcoService
- func (svc *CreateOcoService) Side(value SideType) *CreateOcoService
- func (svc *CreateOcoService) StopClientOrderId(value string) *CreateOcoService
- func (svc *CreateOcoService) StopLimitPrice(value float64) *CreateOcoService
- func (svc *CreateOcoService) StopPrice(value float64) *CreateOcoService
- func (svc *CreateOcoService) Symbol(value string) *CreateOcoService
- type CreateOrderResponse
- type CreateOrderService
- func (s *CreateOrderService) Do(ctx context.Context, opts ...RequestOption) (res *CreateOrderResponse, err error)
- func (s *CreateOrderService) IcebergQuantity(icebergQuantity string) *CreateOrderService
- func (s *CreateOrderService) NewClientOrderId(newClientOrderId string) *CreateOrderService
- func (s *CreateOrderService) Price(price string) *CreateOrderService
- func (s *CreateOrderService) Quantity(quantity string) *CreateOrderService
- func (s *CreateOrderService) Side(side SideType) *CreateOrderService
- func (s *CreateOrderService) StopPrice(stopPrice string) *CreateOrderService
- func (s *CreateOrderService) Symbol(symbol string) *CreateOrderService
- func (s *CreateOrderService) Test(ctx context.Context, opts ...RequestOption) (err error)
- func (s *CreateOrderService) TimeInForce(timeInForce TimeInForceType) *CreateOrderService
- func (s *CreateOrderService) Type(orderType OrderType) *CreateOrderService
- type CreateWithdrawService
- func (s *CreateWithdrawService) Address(address string) *CreateWithdrawService
- func (s *CreateWithdrawService) Amount(amount string) *CreateWithdrawService
- func (s *CreateWithdrawService) Asset(asset string) *CreateWithdrawService
- func (s *CreateWithdrawService) Do(ctx context.Context) (err error)
- func (s *CreateWithdrawService) Name(name string) *CreateWithdrawService
- type Deposit
- type DepositHistoryResponse
- type DepthResponse
- type DepthService
- type ExchangeInfo
- type ExchangeInfoService
- type GetAccountService
- type GetOrderService
- func (s *GetOrderService) Do(ctx context.Context, opts ...RequestOption) (res *Order, err error)
- func (s *GetOrderService) OrderId(orderId int64) *GetOrderService
- func (s *GetOrderService) OrigClientOrderId(origClientOrderId string) *GetOrderService
- func (s *GetOrderService) Symbol(symbol string) *GetOrderService
- type GetWithdrawFeeService
- type KeepaliveUserStreamService
- type Kline
- type KlinesService
- func (s *KlinesService) Do(ctx context.Context, opts ...RequestOption) (res []*Kline, err error)
- func (s *KlinesService) EndTime(endTime int64) *KlinesService
- func (s *KlinesService) Interval(interval string) *KlinesService
- func (s *KlinesService) Limit(limit int) *KlinesService
- func (s *KlinesService) StartTime(startTime int64) *KlinesService
- func (s *KlinesService) Symbol(symbol string) *KlinesService
- type ListDepositsService
- func (s *ListDepositsService) Asset(asset string) *ListDepositsService
- func (s *ListDepositsService) Do(ctx context.Context, opts ...RequestOption) (deposits []*Deposit, err error)
- func (s *ListDepositsService) EndTime(endTime int64) *ListDepositsService
- func (s *ListDepositsService) StartTime(startTime int64) *ListDepositsService
- func (s *ListDepositsService) Status(status int) *ListDepositsService
- type ListOpenOrdersService
- type ListOrdersService
- func (s *ListOrdersService) Do(ctx context.Context, opts ...RequestOption) (res []*Order, err error)
- func (s *ListOrdersService) Limit(limit int) *ListOrdersService
- func (s *ListOrdersService) OrderId(orderId int64) *ListOrdersService
- func (s *ListOrdersService) Symbol(symbol string) *ListOrdersService
- type ListTradesService
- func (s *ListTradesService) Do(ctx context.Context, opts ...RequestOption) (res []*Trade, err error)
- func (s *ListTradesService) FromID(fromID int64) *ListTradesService
- func (s *ListTradesService) Limit(limit int) *ListTradesService
- func (s *ListTradesService) Symbol(symbol string) *ListTradesService
- type ListWithdrawsService
- func (s *ListWithdrawsService) Asset(asset string) *ListWithdrawsService
- func (s *ListWithdrawsService) Do(ctx context.Context) (withdraws []*Withdraw, err error)
- func (s *ListWithdrawsService) EndTime(endTime int64) *ListWithdrawsService
- func (s *ListWithdrawsService) StartTime(startTime int64) *ListWithdrawsService
- func (s *ListWithdrawsService) Status(status int) *ListWithdrawsService
- type Order
- type OrderType
- type PingService
- type Prec
- type Precs
- type PriceChangeStats
- type PriceChangeStatsService
- type RateLimit
- type RateLimits
- type RequestOption
- type ServerTimeService
- type SideType
- type StartUserStreamService
- type Symbol
- type SymbolFilterType
- type SymbolPrice
- type SymbolPriceService
- type SymbolStatusType
- type TimeInForceType
- type Trade
- type Withdraw
- type WithdrawFee
- type WithdrawHistoryResponse
- type WsAggTradeEvent
- type WsAggTradeHandler
- type WsAllMarketsStatEvent
- type WsAllMarketsStatHandler
- type WsDepthEvent
- type WsDepthHandler
- type WsHandler
- type WsKline
- type WsKlineEvent
- type WsKlineHandler
- type WsMarketStatEvent
- type WsMarketStatHandler
Constants ¶
const ( BASE_URL = "https://api.binance.com" BASE_URL_1 = "https://api1.binance.com" BASE_URL_2 = "https://api2.binance.com" BASE_URL_3 = "https://api3.binance.com" BASE_URL_US = "https://api.binance.us" )
endpoints
const ( SideTypeBuy SideType = "BUY" SideTypeSell SideType = "SELL" SymbolStatusPreTrading SymbolStatusType = "PRE_TRADING" SymbolStatusTrading SymbolStatusType = "TRADING" SymbolStatusPostTrading SymbolStatusType = "POST_TRADING" SymbolStatusEndOfDay SymbolStatusType = "END_OF_DAY" SymbolStatusHalt SymbolStatusType = "HALT" SymbolStatusAuctionMatch SymbolStatusType = "AUCTION_MATCH" SymbolStatusBreak SymbolStatusType = "BREAK" OrderTypeLimit OrderType = "LIMIT" OrderTypeMarket OrderType = "MARKET" OrderTypeLimitMaker OrderType = "LIMIT_MAKER" OrderTypeStopLoss OrderType = "STOP_LOSS" OrderTypeStopLossLimit OrderType = "STOP_LOSS_LIMIT" OrderTypeTakeProfit OrderType = "TAKE_PROFIT" OrderTypeTakeProfitLimit OrderType = "TAKE_PROFIT_LIMIT" TimeInForceGTC TimeInForceType = "GTC" TimeInForceIOC TimeInForceType = "IOC" TimeInForceFOK TimeInForceType = "FOK" SymbolFilterTypeLotSize SymbolFilterType = "LOT_SIZE" SymbolFilterTypePriceFilter SymbolFilterType = "PRICE_FILTER" SymbolFilterTypePercentPrice SymbolFilterType = "PERCENT_PRICE" SymbolFilterTypeMinNotional SymbolFilterType = "MIN_NOTIONAL" SymbolFilterTypeIcebergParts SymbolFilterType = "ICEBERG_PARTS" SymbolFilterTypeMarketLotSize SymbolFilterType = "MARKET_LOT_SIZE" SymbolFilterTypeMaxNumOrders SymbolFilterType = "MAX_NUM_ORDERS" SymbolFilterTypeMaxNumAlgoOrders SymbolFilterType = "MAX_NUM_ALGO_ORDERS" SymbolFilterTypeMaxNumIcebergOrders SymbolFilterType = "MAX_NUM_ICEBERG_ORDERS" SymbolFilterMaxPosition SymbolFilterType = "MAX_POSITION" )
Global enums
Variables ¶
var ( BeforeRequest func(client *Client, path string, weight int) error = nil AfterRequest func() = nil )
var ErrNotImplemented = errors.New("Not implemented")
Functions ¶
func WsAggTradeServe ¶
func WsAggTradeServe(symbol string, handler WsAggTradeHandler) (chan struct{}, error)
WsAggTradeServe serve websocket aggregate handler with a symbol
func WsAllMarketsStatServe ¶
func WsAllMarketsStatServe(handler WsAllMarketsStatHandler) (chan struct{}, error)
WsAllMarketsStatServe serve websocket that push 24hr statistics for all market every second
func WsDepthServe ¶
func WsDepthServe(symbol string, handler WsDepthHandler) (chan struct{}, error)
WsDepthServe serve websocket depth handler with a symbol
func WsKlineServe ¶
func WsKlineServe(symbol string, interval string, handler WsKlineHandler) (chan struct{}, error)
WsKlineServe serve websocket kline handler with a symbol and interval like 15m, 30s
func WsMarketStatServe ¶
func WsMarketStatServe(symbol string, handler WsMarketStatHandler) (chan struct{}, error)
WsMarketStatServe serve websocket that push 24hr statistics for single market every second
func WsUserDataServe ¶
WsUserDataServe serve user data handler with listen key
Types ¶
type Account ¶
type Account struct { MakerCommission int64 `json:"makerCommission"` TakerCommission int64 `json:"takerCommission"` BuyerCommission int64 `json:"buyerCommission"` SellerCommission int64 `json:"sellerCommission"` CanTrade bool `json:"canTrade"` CanWithdraw bool `json:"canWithdraw"` CanDeposit bool `json:"canDeposit"` AccountType string `json:"accountType"` Balances []Balance `json:"balances"` }
Account define account info
type AggTrade ¶
type AggTrade struct { AggTradeId int64 `json:"a"` Price string `json:"p"` Quantity string `json:"q"` FirstTradeId int64 `json:"f"` LastTradeId int64 `json:"l"` Timestamp int64 `json:"T"` IsBuyerMaker bool `json:"m"` IsBestPriceMatch bool `json:"M"` }
AggTrade define aggregate trade info
type AggTradesService ¶
type AggTradesService struct {
// contains filtered or unexported fields
}
AggTradesService list aggregate trades
func (*AggTradesService) Do ¶
func (s *AggTradesService) Do(ctx context.Context, opts ...RequestOption) (res []*AggTrade, err error)
Do send request
func (*AggTradesService) EndTime ¶
func (s *AggTradesService) EndTime(endTime int64) *AggTradesService
EndTime set endTime
func (*AggTradesService) FromID ¶
func (s *AggTradesService) FromID(fromID int64) *AggTradesService
FromID set fromID
func (*AggTradesService) Limit ¶
func (s *AggTradesService) Limit(limit int) *AggTradesService
Limit set limit
func (*AggTradesService) StartTime ¶
func (s *AggTradesService) StartTime(startTime int64) *AggTradesService
StartTime set startTime
func (*AggTradesService) Symbol ¶
func (s *AggTradesService) Symbol(symbol string) *AggTradesService
Symbol set symbol
type Balance ¶
type Balance struct { Asset string `json:"asset"` Free string `json:"free"` Locked string `json:"locked"` }
Balance define user balance of your account
type BinanceError ¶
BinanceError define API error when response status is 4xx or 5xx
func (*BinanceError) Error ¶
func (e *BinanceError) Error() string
Error return error code and message
type BookTicker ¶
type BookTicker struct { Symbol string `json:"symbol"` BidPrice string `json:"bidPrice"` BidQuantity string `json:"bidQty"` AskPrice string `json:"askPrice"` AskQuantity string `json:"askQty"` }
BookTicker define book ticker info
type BookTickerService ¶
type BookTickerService struct {
// contains filtered or unexported fields
}
BookTickerService list symbol's book ticker
func (*BookTickerService) Do ¶
func (s *BookTickerService) Do(ctx context.Context, opts ...RequestOption) (res *BookTicker, err error)
Do send request
func (*BookTickerService) Symbol ¶
func (s *BookTickerService) Symbol(symbol string) *BookTickerService
Symbol set symbol
type CancelOrderResponse ¶
type CancelOrderResponse struct { Symbol string `json:"symbol"` OrigClientOrderId string `json:"origClientOrderId"` OrderId int64 `json:"orderId"` OrderListId int64 `json:"orderListId"` // Unless part of an OCO, the value will always be -1. ClientOrderId string `json:"clientOrderId"` }
CancelOrderResponse define response of canceling order
type CancelOrderService ¶
type CancelOrderService struct {
// contains filtered or unexported fields
}
CancelOrderService cancel an order
func (*CancelOrderService) Do ¶
func (s *CancelOrderService) Do(ctx context.Context, opts ...RequestOption) (res *CancelOrderResponse, err error)
Do send request
func (*CancelOrderService) NewClientOrderId ¶
func (s *CancelOrderService) NewClientOrderId(newClientOrderId string) *CancelOrderService
NewClientOrderId set newClientOrderId
func (*CancelOrderService) OrderId ¶
func (s *CancelOrderService) OrderId(orderId int64) *CancelOrderService
OrderId set orderId
func (*CancelOrderService) OrigClientOrderId ¶
func (s *CancelOrderService) OrigClientOrderId(origClientOrderId string) *CancelOrderService
OrigClientOrderId set origClientOrderId
func (*CancelOrderService) Symbol ¶
func (s *CancelOrderService) Symbol(symbol string) *CancelOrderService
Symbol set symbol
type Client ¶
type Client struct { ApiKey string SecretKey string HttpClient *http.Client // contains filtered or unexported fields }
Client define API client
func NewClient ¶
NewClient initialize an API client instance with API key and secret key. You should always call this function before using this SDK. Services will be created by the form client.NewXXXService().
func (*Client) GetRequestsPerSecond ¶
func (*Client) NewAggTradesService ¶
func (c *Client) NewAggTradesService() *AggTradesService
NewAggTradesService init aggregate trades service
func (*Client) NewBookTickerService ¶
func (c *Client) NewBookTickerService() *BookTickerService
NewBookTickerService init booking ticker service
func (*Client) NewCancelOrderService ¶
func (c *Client) NewCancelOrderService() *CancelOrderService
NewCancelOrderService init cancel order service
func (*Client) NewCloseUserStreamService ¶
func (c *Client) NewCloseUserStreamService() *CloseUserStreamService
NewCloseUserStreamService init closing user stream service
func (*Client) NewCreateOcoService ¶
func (c *Client) NewCreateOcoService() *CreateOcoService
NewCreateOcoService init creating order service
func (*Client) NewCreateOrderService ¶
func (c *Client) NewCreateOrderService() *CreateOrderService
NewCreateOrderService init creating order service
func (*Client) NewCreateWithdrawService ¶
func (c *Client) NewCreateWithdrawService() *CreateWithdrawService
NewCreateWithdrawService init creating withdraw service
func (*Client) NewDepthService ¶
func (c *Client) NewDepthService() *DepthService
NewDepthService init depth service
func (*Client) NewExchangeInfoService ¶
func (c *Client) NewExchangeInfoService() *ExchangeInfoService
NewExchangeInfoService init exchange info service
func (*Client) NewGetAccountService ¶
func (c *Client) NewGetAccountService() *GetAccountService
NewGetAccountService init getting account service
func (*Client) NewGetOrderService ¶
func (c *Client) NewGetOrderService() *GetOrderService
NewGetOrderService init get order service
func (*Client) NewGetWithdrawFeeService ¶
func (c *Client) NewGetWithdrawFeeService() *GetWithdrawFeeService
NewGetWithdrawFeeService init get withdraw fee service
func (*Client) NewKeepaliveUserStreamService ¶
func (c *Client) NewKeepaliveUserStreamService() *KeepaliveUserStreamService
NewKeepaliveUserStreamService init keep alive user stream service
func (*Client) NewKlinesService ¶
func (c *Client) NewKlinesService() *KlinesService
NewKlinesService init klines service
func (*Client) NewListDepositsService ¶
func (c *Client) NewListDepositsService() *ListDepositsService
NewListDepositsService init listing deposits service
func (*Client) NewListOpenOrdersService ¶
func (c *Client) NewListOpenOrdersService() *ListOpenOrdersService
NewListOpenOrdersService init list open orders service
func (*Client) NewListOrdersService ¶
func (c *Client) NewListOrdersService() *ListOrdersService
NewListOrdersService init listing orders service
func (*Client) NewListTradesService ¶
func (c *Client) NewListTradesService() *ListTradesService
NewListTradesService init listing trades service
func (*Client) NewListWithdrawsService ¶
func (c *Client) NewListWithdrawsService() *ListWithdrawsService
NewListWithdrawsService init listing withdraw service
func (*Client) NewPingService ¶
func (c *Client) NewPingService() *PingService
NewPingService init ping service
func (*Client) NewPriceChangeStatsService ¶
func (c *Client) NewPriceChangeStatsService() *PriceChangeStatsService
NewPriceChangeStatsService init prices change stats service
func (*Client) NewServerTimeService ¶
func (c *Client) NewServerTimeService() *ServerTimeService
NewServerTimeService init server time service
func (*Client) NewStartUserStreamService ¶
func (c *Client) NewStartUserStreamService() *StartUserStreamService
NewStartUserStreamService init starting user stream service
func (*Client) NewSymbolPriceService ¶
func (c *Client) NewSymbolPriceService() *SymbolPriceService
NewSymbolPriceService init latest price service
type CloseUserStreamService ¶
type CloseUserStreamService struct {
// contains filtered or unexported fields
}
CloseUserStreamService delete listen key
func (*CloseUserStreamService) Do ¶
func (s *CloseUserStreamService) Do(ctx context.Context, opts ...RequestOption) (err error)
Do send request
func (*CloseUserStreamService) ListenKey ¶
func (s *CloseUserStreamService) ListenKey(listenKey string) *CloseUserStreamService
ListenKey set listen key
type CreateOcoOrderReport ¶
type CreateOcoOrderReport struct { Symbol string `json:"symbol"` OrderId int64 `json:"orderId"` OrderListId int64 `json:"orderListId"` ClientOrderId string `json:"clientOrderId"` TransactTime int64 `json:"transactTime"` Price string `json:"price"` OrigQuantity string `json:"origQty"` ExecutedQuantity string `json:"executedQty"` Status string `json:"status"` TimeInForce string `json:"timeInForce"` Type string `json:"type"` Side string `json:"side"` StopPrice string `json:"stopPrice,omitempty"` }
type CreateOcoOrderResponse ¶
type CreateOcoOrdersResponse ¶
type CreateOcoOrdersResponse struct { Symbol string `json:"symbol"` Orders []CreateOcoOrderResponse `json:"orders"` Reports []CreateOcoOrderReport `json:"orderReports"` }
type CreateOcoService ¶
type CreateOcoService struct {
// contains filtered or unexported fields
}
func (*CreateOcoService) Do ¶
func (svc *CreateOcoService) Do(ctx context.Context, opts ...RequestOption) (resp *CreateOcoOrdersResponse, err error)
func (*CreateOcoService) LimitClientOrderId ¶
func (svc *CreateOcoService) LimitClientOrderId(value string) *CreateOcoService
func (*CreateOcoService) Price ¶
func (svc *CreateOcoService) Price(value float64) *CreateOcoService
func (*CreateOcoService) Quantity ¶
func (svc *CreateOcoService) Quantity(value float64) *CreateOcoService
func (*CreateOcoService) Side ¶
func (svc *CreateOcoService) Side(value SideType) *CreateOcoService
func (*CreateOcoService) StopClientOrderId ¶
func (svc *CreateOcoService) StopClientOrderId(value string) *CreateOcoService
func (*CreateOcoService) StopLimitPrice ¶
func (svc *CreateOcoService) StopLimitPrice(value float64) *CreateOcoService
func (*CreateOcoService) StopPrice ¶
func (svc *CreateOcoService) StopPrice(value float64) *CreateOcoService
func (*CreateOcoService) Symbol ¶
func (svc *CreateOcoService) Symbol(value string) *CreateOcoService
type CreateOrderResponse ¶
type CreateOrderResponse struct { Symbol string `json:"symbol"` OrderId int64 `json:"orderId"` OrderListId int64 `json:"orderListId"` // Unless part of an OCO, the value will always be -1. ClientOrderId string `json:"clientOrderId"` TransactTime int64 `json:"transactTime"` Price string `json:"price"` OrigQuantity string `json:"origQty"` ExecutedQuantity string `json:"executedQty"` Status string `json:"status"` TimeInForce string `json:"timeInForce"` Type string `json:"type"` Side string `json:"side"` }
CreateOrderResponse define create order response
type CreateOrderService ¶
type CreateOrderService struct {
// contains filtered or unexported fields
}
CreateOrderService create order
func (*CreateOrderService) Do ¶
func (s *CreateOrderService) Do(ctx context.Context, opts ...RequestOption) (res *CreateOrderResponse, err error)
Do send request
func (*CreateOrderService) IcebergQuantity ¶
func (s *CreateOrderService) IcebergQuantity(icebergQuantity string) *CreateOrderService
IcebergQuantity set icebergQuantity
func (*CreateOrderService) NewClientOrderId ¶
func (s *CreateOrderService) NewClientOrderId(newClientOrderId string) *CreateOrderService
NewClientOrderId set newClientOrderId
func (*CreateOrderService) Price ¶
func (s *CreateOrderService) Price(price string) *CreateOrderService
Price set price
func (*CreateOrderService) Quantity ¶
func (s *CreateOrderService) Quantity(quantity string) *CreateOrderService
Quantity set quantity
func (*CreateOrderService) Side ¶
func (s *CreateOrderService) Side(side SideType) *CreateOrderService
Side set side
func (*CreateOrderService) StopPrice ¶
func (s *CreateOrderService) StopPrice(stopPrice string) *CreateOrderService
StopPrice set stopPrice
func (*CreateOrderService) Symbol ¶
func (s *CreateOrderService) Symbol(symbol string) *CreateOrderService
Symbol set symbol
func (*CreateOrderService) Test ¶
func (s *CreateOrderService) Test(ctx context.Context, opts ...RequestOption) (err error)
Test send test api to check if the request is valid
func (*CreateOrderService) TimeInForce ¶
func (s *CreateOrderService) TimeInForce(timeInForce TimeInForceType) *CreateOrderService
TimeInForce set timeInForce
func (*CreateOrderService) Type ¶
func (s *CreateOrderService) Type(orderType OrderType) *CreateOrderService
Type set type
type CreateWithdrawService ¶
type CreateWithdrawService struct {
// contains filtered or unexported fields
}
CreateWithdrawService create withdraw
func (*CreateWithdrawService) Address ¶
func (s *CreateWithdrawService) Address(address string) *CreateWithdrawService
Address set address
func (*CreateWithdrawService) Amount ¶
func (s *CreateWithdrawService) Amount(amount string) *CreateWithdrawService
Amount set amount
func (*CreateWithdrawService) Asset ¶
func (s *CreateWithdrawService) Asset(asset string) *CreateWithdrawService
Asset set asset
func (*CreateWithdrawService) Do ¶
func (s *CreateWithdrawService) Do(ctx context.Context) (err error)
Do send request
func (*CreateWithdrawService) Name ¶
func (s *CreateWithdrawService) Name(name string) *CreateWithdrawService
Name set name
type Deposit ¶
type Deposit struct { InsertTime int64 `json:"insertTime"` Amount float64 `json:"amount"` Asset string `json:"asset"` Status int `json:"status"` }
Deposit define deposit info
type DepositHistoryResponse ¶
type DepositHistoryResponse struct { Success bool `json:"success"` Deposits []*Deposit `json:"depositList"` }
DepositHistoryResponse define deposit history
type DepthResponse ¶
type DepthResponse struct { LastUpdateId int64 `json:"lastUpdateId"` Bids []BookEntry `json:"bids"` Asks []BookEntry `json:"asks"` }
DepthResponse define depth info with bids and asks
type DepthService ¶
type DepthService struct {
// contains filtered or unexported fields
}
DepthService show depth info
func (*DepthService) Do ¶
func (s *DepthService) Do(ctx context.Context, opts ...RequestOption) (res *DepthResponse, err error)
Do send request
func (*DepthService) Symbol ¶
func (s *DepthService) Symbol(symbol string) *DepthService
Symbol set symbol
type ExchangeInfo ¶
type ExchangeInfo struct { RateLimits RateLimits `json:"rateLimits"` Symbols []Symbol `json:"symbols"` }
ExchangeInfo exchange info
type ExchangeInfoService ¶
type ExchangeInfoService struct {
// contains filtered or unexported fields
}
ExchangeInfoService exchange info service
func (*ExchangeInfoService) Do ¶
func (s *ExchangeInfoService) Do(ctx context.Context, opts ...RequestOption) (res *ExchangeInfo, err error)
Do send request
type GetAccountService ¶
type GetAccountService struct {
// contains filtered or unexported fields
}
GetAccountService get account info
func (*GetAccountService) Do ¶
func (s *GetAccountService) Do(ctx context.Context, opts ...RequestOption) (res *Account, err error)
Do send request
type GetOrderService ¶
type GetOrderService struct {
// contains filtered or unexported fields
}
GetOrderService get an order
func (*GetOrderService) Do ¶
func (s *GetOrderService) Do(ctx context.Context, opts ...RequestOption) (res *Order, err error)
Do send request
func (*GetOrderService) OrderId ¶
func (s *GetOrderService) OrderId(orderId int64) *GetOrderService
OrderId set orderId
func (*GetOrderService) OrigClientOrderId ¶
func (s *GetOrderService) OrigClientOrderId(origClientOrderId string) *GetOrderService
OrigClientOrderId set origClientOrderId
func (*GetOrderService) Symbol ¶
func (s *GetOrderService) Symbol(symbol string) *GetOrderService
Symbol set symbol
type GetWithdrawFeeService ¶
type GetWithdrawFeeService struct {
// contains filtered or unexported fields
}
GetWithdrawFeeService get withdraw fee
func (*GetWithdrawFeeService) Asset ¶
func (s *GetWithdrawFeeService) Asset(asset string) *GetWithdrawFeeService
Asset set asset
func (*GetWithdrawFeeService) Do ¶
func (s *GetWithdrawFeeService) Do(ctx context.Context, opts ...RequestOption) (res *WithdrawFee, err error)
Do send request
type KeepaliveUserStreamService ¶
type KeepaliveUserStreamService struct {
// contains filtered or unexported fields
}
KeepaliveUserStreamService update listen key
func (*KeepaliveUserStreamService) Do ¶
func (s *KeepaliveUserStreamService) Do(ctx context.Context, opts ...RequestOption) (err error)
Do send request
func (*KeepaliveUserStreamService) ListenKey ¶
func (s *KeepaliveUserStreamService) ListenKey(listenKey string) *KeepaliveUserStreamService
ListenKey set listen key
type Kline ¶
type Kline struct { OpenTime int64 `json:"openTime"` Open string `json:"open"` High string `json:"high"` Low string `json:"low"` Close string `json:"close"` Volume string `json:"volume"` CloseTime int64 `json:"closeTime"` QuoteAssetVolume string `json:"quoteAssetVolume"` TradeNum int64 `json:"tradeNum"` TakerBuyBaseAssetVolume string `json:"takerBuyBaseAssetVolume"` TakerBuyQuoteAssetVolume string `json:"takerBuyQuoteAssetVolume"` }
Kline define kline info
type KlinesService ¶
type KlinesService struct {
// contains filtered or unexported fields
}
KlinesService list klines
func (*KlinesService) Do ¶
func (s *KlinesService) Do(ctx context.Context, opts ...RequestOption) (res []*Kline, err error)
Do send request
func (*KlinesService) EndTime ¶
func (s *KlinesService) EndTime(endTime int64) *KlinesService
EndTime set endTime
func (*KlinesService) Interval ¶
func (s *KlinesService) Interval(interval string) *KlinesService
Interval set interval
func (*KlinesService) Limit ¶
func (s *KlinesService) Limit(limit int) *KlinesService
Limit set limit
func (*KlinesService) StartTime ¶
func (s *KlinesService) StartTime(startTime int64) *KlinesService
StartTime set startTime
func (*KlinesService) Symbol ¶
func (s *KlinesService) Symbol(symbol string) *KlinesService
Symbol set symbol
type ListDepositsService ¶
type ListDepositsService struct {
// contains filtered or unexported fields
}
ListDepositsService list deposits
func (*ListDepositsService) Asset ¶
func (s *ListDepositsService) Asset(asset string) *ListDepositsService
Asset set asset
func (*ListDepositsService) Do ¶
func (s *ListDepositsService) Do(ctx context.Context, opts ...RequestOption) (deposits []*Deposit, err error)
Do send request
func (*ListDepositsService) EndTime ¶
func (s *ListDepositsService) EndTime(endTime int64) *ListDepositsService
EndTime set endTime
func (*ListDepositsService) StartTime ¶
func (s *ListDepositsService) StartTime(startTime int64) *ListDepositsService
StartTime set startTime
func (*ListDepositsService) Status ¶
func (s *ListDepositsService) Status(status int) *ListDepositsService
Status set status
type ListOpenOrdersService ¶
type ListOpenOrdersService struct {
// contains filtered or unexported fields
}
ListOpenOrdersService list opened orders
func (*ListOpenOrdersService) Do ¶
func (svc *ListOpenOrdersService) Do(ctx context.Context, opts ...RequestOption) ([]*Order, error)
Do send request
func (*ListOpenOrdersService) Symbol ¶
func (s *ListOpenOrdersService) Symbol(symbol string) *ListOpenOrdersService
Symbol set symbol
type ListOrdersService ¶
type ListOrdersService struct {
// contains filtered or unexported fields
}
ListOrdersService list all orders
func (*ListOrdersService) Do ¶
func (s *ListOrdersService) Do(ctx context.Context, opts ...RequestOption) (res []*Order, err error)
Do send request
func (*ListOrdersService) Limit ¶
func (s *ListOrdersService) Limit(limit int) *ListOrdersService
Limit set limit
func (*ListOrdersService) OrderId ¶
func (s *ListOrdersService) OrderId(orderId int64) *ListOrdersService
OrderId set orderId
func (*ListOrdersService) Symbol ¶
func (s *ListOrdersService) Symbol(symbol string) *ListOrdersService
Symbol set symbol
type ListTradesService ¶
type ListTradesService struct {
// contains filtered or unexported fields
}
ListTradesService list trades
func (*ListTradesService) Do ¶
func (s *ListTradesService) Do(ctx context.Context, opts ...RequestOption) (res []*Trade, err error)
Do send request
func (*ListTradesService) FromID ¶
func (s *ListTradesService) FromID(fromID int64) *ListTradesService
FromID set fromID
func (*ListTradesService) Limit ¶
func (s *ListTradesService) Limit(limit int) *ListTradesService
Limit set limit
func (*ListTradesService) Symbol ¶
func (s *ListTradesService) Symbol(symbol string) *ListTradesService
Symbol set symbol
type ListWithdrawsService ¶
type ListWithdrawsService struct {
// contains filtered or unexported fields
}
ListWithdrawsService list withdraws
func (*ListWithdrawsService) Asset ¶
func (s *ListWithdrawsService) Asset(asset string) *ListWithdrawsService
Asset set asset
func (*ListWithdrawsService) Do ¶
func (s *ListWithdrawsService) Do(ctx context.Context) (withdraws []*Withdraw, err error)
Do send request
func (*ListWithdrawsService) EndTime ¶
func (s *ListWithdrawsService) EndTime(endTime int64) *ListWithdrawsService
EndTime set endTime
func (*ListWithdrawsService) StartTime ¶
func (s *ListWithdrawsService) StartTime(startTime int64) *ListWithdrawsService
StartTime set startTime
func (*ListWithdrawsService) Status ¶
func (s *ListWithdrawsService) Status(status int) *ListWithdrawsService
Status set status
type Order ¶
type Order struct { Symbol string `json:"symbol"` OrderId int64 `json:"orderId"` OrderListId int64 `json:"orderListId"` // Unless part of an OCO, the value will always be -1. ClientOrderId string `json:"clientOrderId"` Price string `json:"price"` OrigQuantity string `json:"origQty"` ExecutedQuantity string `json:"executedQty"` Status string `json:"status"` TimeInForce string `json:"timeInForce"` Type string `json:"type"` Side string `json:"side"` StopPrice string `json:"stopPrice"` IcebergQuantity string `json:"icebergQty"` Time int64 `json:"time"` }
Order define order info
func (*Order) GetStopPrice ¶
GetStopPrice returns the StopPrice as float64
type PingService ¶
type PingService struct {
// contains filtered or unexported fields
}
PingService ping server
func (*PingService) Do ¶
func (s *PingService) Do(ctx context.Context, opts ...RequestOption) (err error)
Do send request
type PriceChangeStats ¶
type PriceChangeStats struct { Symbol string `json:"symbol"` PriceChange string `json:"priceChange"` PriceChangePercent string `json:"priceChangePercent"` WeightedAvgPrice string `json:"weightedAvgPrice"` PrevClosePrice string `json:"prevClosePrice"` LastPrice string `json:"lastPrice"` LastQty string `json:"lastQty"` BidPrice string `json:"bidPrice"` AskPrice string `json:"askPrice"` OpenPrice string `json:"openPrice"` HighPrice string `json:"highPrice"` LowPrice string `json:"lowPrice"` Volume string `json:"volume"` QuoteVolume string `json:"quoteVolume"` OpenTime int64 `json:"openTime"` CloseTime int64 `json:"closeTime"` FirstID int64 `json:"firstId"` LastID int64 `json:"lastId"` Count int64 `json:"count"` }
PriceChangeStats define price change stats
type PriceChangeStatsService ¶
type PriceChangeStatsService struct {
// contains filtered or unexported fields
}
PriceChangeStatsService show stats of price change in last 24 hours
func (*PriceChangeStatsService) Do ¶
func (svc *PriceChangeStatsService) Do(ctx context.Context, opts ...RequestOption) (*PriceChangeStats, error)
Do send request
func (*PriceChangeStatsService) Symbol ¶
func (s *PriceChangeStatsService) Symbol(symbol string) *PriceChangeStatsService
Symbol set symbol
type RateLimit ¶
type RateLimit struct { RateLimitType string `json:"rateLimitType"` Interval string `json:"interval"` IntervalNum int `json:"intervalNum"` Limit int `json:"limit"` }
rate limits
type RequestOption ¶
type RequestOption func(*request)
RequestOption define option type for request
func WithRecvWindow ¶
func WithRecvWindow(recvWindow int64) RequestOption
WithRecvWindow set recvWindow param for the request
type ServerTimeService ¶
type ServerTimeService struct {
// contains filtered or unexported fields
}
ServerTimeService get server time
func (*ServerTimeService) Do ¶
func (s *ServerTimeService) Do(ctx context.Context, opts ...RequestOption) (serverTime int64, err error)
Do send request
type StartUserStreamService ¶
type StartUserStreamService struct {
// contains filtered or unexported fields
}
StartUserStreamService create listen key for user stream service
func (*StartUserStreamService) Do ¶
func (s *StartUserStreamService) Do(ctx context.Context, opts ...RequestOption) (listenKey string, err error)
Do send request
type Symbol ¶
type Symbol struct { Symbol string `json:"symbol"` Status string `json:"status"` BaseAsset string `json:"baseAsset"` BaseAssetPrecision int `json:"baseAssetPrecision"` QuoteAsset string `json:"quoteAsset"` QuoteAssetPrecision int `json:"quoteAssetPrecision"` OrderTypes []string `json:"orderTypes"` IcebergAllowed bool `json:"icebergAllowed"` OcoAllowed bool `json:"ocoAllowed"` IsSpotTradingAllowed bool `json:"isSpotTradingAllowed"` IsMarginTradingAllowed bool `json:"isMarginTradingAllowed"` Filters []map[string]interface{} `json:"filters"` }
Symbol market symbol
type SymbolPrice ¶
SymbolPrice define symbol and price pair
type SymbolPriceService ¶
type SymbolPriceService struct {
// contains filtered or unexported fields
}
SymbolPriceService returns latest price for a symbol or symbols.
func (*SymbolPriceService) Do ¶
func (s *SymbolPriceService) Do(ctx context.Context, opts ...RequestOption) (res *SymbolPrice, err error)
Do send request
func (*SymbolPriceService) Symbol ¶
func (s *SymbolPriceService) Symbol(symbol string) *SymbolPriceService
Symbol set symbol
type TimeInForceType ¶
type TimeInForceType string
TimeInForceType define time in force type of order
type Trade ¶
type Trade struct { Symbol string `json:"symbol"` Id int64 `json:"id"` OrderId int64 `json:"orderId"` OrderListId int64 `json:"orderListId"` Price string `json:"price"` Quantity string `json:"qty"` QuoteQty string `json:"quoteQty"` Commission string `json:"commission"` CommissionAsset string `json:"commissionAsset"` Time int64 `json:"time"` IsBuyer bool `json:"isBuyer"` IsMaker bool `json:"isMaker"` IsBestMatch bool `json:"isBestMatch"` }
Trade define trade info
type Withdraw ¶
type Withdraw struct { Amount float64 `json:"amount"` Address string `json:"address"` Asset string `json:"asset"` TxID string `json:"txId"` ApplyTime int64 `json:"applyTime"` Status int `json:"status"` }
Withdraw define withdraw info
type WithdrawFee ¶
type WithdrawFee struct {
Fee float64 `json:"withdrawFee"` // docs specify string value but api returns decimal
}
WithdrawFee withdraw fee
type WithdrawHistoryResponse ¶
type WithdrawHistoryResponse struct { Withdraws []*Withdraw `json:"withdrawList"` Success bool `json:"success"` }
WithdrawHistoryResponse define withdraw history response
type WsAggTradeEvent ¶
type WsAggTradeEvent struct { Event string `json:"e"` Time int64 `json:"E"` Symbol string `json:"s"` AggTradeID int64 `json:"a"` Price string `json:"p"` Quantity string `json:"q"` FirstBreakdownTradeID int64 `json:"f"` LastBreakdownTradeID int64 `json:"l"` TradeTime int64 `json:"T"` IsBuyerMaker bool `json:"m"` Placeholder bool `json:"M"` // add this field to avoid case insensitive unmarshaling }
WsAggTradeEvent define websocket aggregate trade event
type WsAggTradeHandler ¶
type WsAggTradeHandler func(event *WsAggTradeEvent)
WsAggTradeHandler handle websocket aggregate trade event
type WsAllMarketsStatEvent ¶
type WsAllMarketsStatEvent []*WsMarketStatEvent
WsAllMarketsStatEvent define array of websocket market statistics events
type WsAllMarketsStatHandler ¶
type WsAllMarketsStatHandler func(event WsAllMarketsStatEvent)
WsAllMarketsStatHandler handle websocket that push all markets statistics for 24hr
type WsDepthEvent ¶
type WsDepthEvent struct { Event string `json:"e"` Time int64 `json:"E"` Symbol string `json:"s"` UpdateID int64 `json:"u"` Bids []BookEntry `json:"b"` Asks []BookEntry `json:"a"` }
WsDepthEvent define websocket depth event
type WsDepthHandler ¶
type WsDepthHandler func(event *WsDepthEvent)
WsDepthHandler handle websocket depth event
type WsKline ¶
type WsKline struct { StartTime int64 `json:"t"` EndTime int64 `json:"T"` Symbol string `json:"s"` Interval string `json:"i"` FirstTradeID int64 `json:"f"` LastTradeID int64 `json:"L"` Open string `json:"o"` Close string `json:"c"` High string `json:"h"` Low string `json:"l"` Volume string `json:"v"` TradeNum int64 `json:"n"` IsFinal bool `json:"x"` QuoteVolume string `json:"q"` ActiveBuyVolume string `json:"V"` ActiveBuyQuoteVolume string `json:"Q"` }
WsKline define websocket kline
type WsKlineEvent ¶
type WsKlineEvent struct { Event string `json:"e"` Time int64 `json:"E"` Symbol string `json:"s"` Kline WsKline `json:"k"` }
WsKlineEvent define websocket kline event
type WsKlineHandler ¶
type WsKlineHandler func(event *WsKlineEvent)
WsKlineHandler handle websocket kline event
type WsMarketStatEvent ¶
type WsMarketStatEvent struct { Event string `json:"e"` Time int64 `json:"E"` Symbol string `json:"s"` PriceChange string `json:"p"` PriceChangePercent string `json:"P"` WeightedAvgPrice string `json:"w"` PrevClosePrice string `json:"x"` LastPrice string `json:"c"` CloseQty string `json:"Q"` BidPrice string `json:"b"` BidQty string `json:"B"` AskPrice string `json:"a"` AskQty string `json:"A"` OpenPrice string `json:"o"` HighPrice string `json:"h"` LowPrice string `json:"l"` BaseVolume string `json:"v"` QuoteVolume string `json:"q"` OpenTime int64 `json:"O"` CloseTime int64 `json:"C"` FirstID int64 `json:"F"` LastID int64 `json:"L"` Count int64 `json:"n"` }
WsMarketStatEvent define websocket market statistics event
type WsMarketStatHandler ¶
type WsMarketStatHandler func(event *WsMarketStatEvent)
WsMarketStatHandler handle websocket that push single market statistics for 24hr
Source Files ¶
- account_service.go
- client.go
- deposit_service.go
- depth_service.go
- doc.go
- errors.go
- exchange_info_service.go
- kline_service.go
- oco_service.go
- order_service.go
- precision.go
- request.go
- server_service.go
- ticker_service.go
- trade_service.go
- user_stream_service.go
- websocket.go
- websocket_service.go
- withdraw_service.go