binance

package
v1.3.3 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2022 License: MIT Imports: 14 Imported by: 10

Documentation

Index

Constants

View Source
const (
	GLOBAL_API_BASE_URL = "https://api.binance.com"
	US_API_BASE_URL     = "https://api.binance.us"
	JE_API_BASE_URL     = "https://api.binance.je"

	FUTURE_USD_WS_BASE_URL  = "wss://fstream.binance.com/ws"
	FUTURE_COIN_WS_BASE_URL = "wss://dstream.binance.com/ws"

	TESTNET_SPOT_API_BASE_URL       = "https://api.binance.com"
	TESTNET_SPOT_WS_BASE_URL        = "wss://testnet.binance.vision/ws"
	TESTNET_SPOT_STREAM_BASE_URL    = "wss://testnet.binance.vision/stream"
	TESTNET_FUTURE_USD_BASE_URL     = "https://testnet.binancefuture.com"
	TESTNET_FUTURE_USD_WS_BASE_URL  = "wss://fstream.binance.com/ws"
	TESTNET_FUTURE_COIN_WS_BASE_URL = "wss://dstream.binance.com/ws"

	TICKER_URI             = "ticker/24hr?symbol=%s"
	TICKERS_URI            = "ticker/allBookTickers"
	DEPTH_URI              = "depth?symbol=%s&limit=%d"
	ACCOUNT_URI            = "account?"
	ORDER_URI              = "order"
	UNFINISHED_ORDERS_INFO = "openOrders?"
	KLINE_URI              = "klines"
	SERVER_TIME_URL        = "time"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountResponse added in v1.2.5

type AccountResponse struct {
	FeeTier  int  `json:"feeTier"`
	CanTrade bool `json:"canTrade"`
	Assets   []struct {
		Asset            string  `json:"asset"`
		WalletBalance    float64 `json:"walletBalance,string"`
		MarginBalance    float64 `json:"marginBalance,string"`
		UnrealizedProfit float64 `json:"unrealizedProfit,string"`
		MaintMargin      float64 `json:"maintMargin,string"`
	} `json:"assets"`
}

type BaseResponse added in v1.2.5

type BaseResponse struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"`
}

type Binance

type Binance struct {
	*ExchangeInfo
	// contains filtered or unexported fields
}

func New

func New(client *http.Client, api_key, secret_key string) *Binance

func NewWithConfig added in v1.1.0

func NewWithConfig(config *APIConfig) *Binance

func (*Binance) CancelOrder

func (bn *Binance) CancelOrder(orderId string, currencyPair CurrencyPair) (bool, error)

func (*Binance) GetAccount

func (bn *Binance) GetAccount() (*Account, error)

func (*Binance) GetDepth

func (bn *Binance) GetDepth(size int, currencyPair CurrencyPair) (*Depth, error)

func (*Binance) GetExchangeInfo added in v1.1.0

func (bn *Binance) GetExchangeInfo() (*ExchangeInfo, error)

func (*Binance) GetExchangeName

func (bn *Binance) GetExchangeName() string

func (*Binance) GetKlineRecords

func (bn *Binance) GetKlineRecords(currency CurrencyPair, period KlinePeriod, size int, optional ...OptionalParameter) ([]Kline, error)

func (*Binance) GetOneOrder

func (bn *Binance) GetOneOrder(orderId string, currencyPair CurrencyPair) (*Order, error)

func (*Binance) GetOrderHistorys

func (bn *Binance) GetOrderHistorys(currency CurrencyPair, optional ...OptionalParameter) ([]Order, error)

func (*Binance) GetTicker

func (bn *Binance) GetTicker(currency CurrencyPair) (*Ticker, error)

func (*Binance) GetTradeSymbol added in v1.1.0

func (bn *Binance) GetTradeSymbol(currencyPair CurrencyPair) (*TradeSymbol, error)

func (*Binance) GetTrades

func (bn *Binance) GetTrades(currencyPair CurrencyPair, since int64) ([]Trade, error)

非个人,整个交易所的交易记录 注意:since is fromId

func (*Binance) GetUnfinishOrders

func (bn *Binance) GetUnfinishOrders(currencyPair CurrencyPair) ([]Order, error)

func (*Binance) LimitBuy

func (bn *Binance) LimitBuy(amount, price string, currencyPair CurrencyPair, opt ...LimitOrderOptionalParameter) (*Order, error)

func (*Binance) LimitSell

func (bn *Binance) LimitSell(amount, price string, currencyPair CurrencyPair, opt ...LimitOrderOptionalParameter) (*Order, error)

func (*Binance) MarketBuy

func (bn *Binance) MarketBuy(amount, price string, currencyPair CurrencyPair) (*Order, error)

func (*Binance) MarketSell

func (bn *Binance) MarketSell(amount, price string, currencyPair CurrencyPair) (*Order, error)

func (*Binance) Ping added in v1.1.0

func (bn *Binance) Ping() bool

type BinanceFutures added in v1.2.5

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

func NewBinanceFutures added in v1.2.5

func NewBinanceFutures(config *APIConfig) *BinanceFutures

func (*BinanceFutures) FutureCancelOrder added in v1.2.5

func (bs *BinanceFutures) FutureCancelOrder(currencyPair CurrencyPair, contractType, orderId string) (bool, error)

func (*BinanceFutures) GetContractValue added in v1.2.5

func (bs *BinanceFutures) GetContractValue(currencyPair CurrencyPair) (float64, error)

func (*BinanceFutures) GetDeliveryTime added in v1.2.5

func (bs *BinanceFutures) GetDeliveryTime() (int, int, int, int)

func (*BinanceFutures) GetExchangeInfo added in v1.2.5

func (bs *BinanceFutures) GetExchangeInfo()

func (*BinanceFutures) GetExchangeName added in v1.2.5

func (bs *BinanceFutures) GetExchangeName() string

func (*BinanceFutures) GetFee added in v1.2.5

func (bs *BinanceFutures) GetFee() (float64, error)

func (*BinanceFutures) GetFutureDepth added in v1.2.5

func (bs *BinanceFutures) GetFutureDepth(currencyPair CurrencyPair, contractType string, size int) (*Depth, error)

func (*BinanceFutures) GetFutureEstimatedPrice added in v1.2.5

func (bs *BinanceFutures) GetFutureEstimatedPrice(currencyPair CurrencyPair) (float64, error)

func (*BinanceFutures) GetFutureIndex added in v1.2.5

func (bs *BinanceFutures) GetFutureIndex(currencyPair CurrencyPair) (float64, error)

func (*BinanceFutures) GetFutureOrder added in v1.2.5

func (bs *BinanceFutures) GetFutureOrder(orderId string, currencyPair CurrencyPair, contractType string) (*FutureOrder, error)

func (*BinanceFutures) GetFutureOrderHistory added in v1.3.0

func (bs *BinanceFutures) GetFutureOrderHistory(pair CurrencyPair, contractType string, optional ...OptionalParameter) ([]FutureOrder, error)

func (*BinanceFutures) GetFutureOrders added in v1.2.5

func (bs *BinanceFutures) GetFutureOrders(orderIds []string, currencyPair CurrencyPair, contractType string) ([]FutureOrder, error)

func (*BinanceFutures) GetFuturePosition added in v1.2.5

func (bs *BinanceFutures) GetFuturePosition(currencyPair CurrencyPair, contractType string) ([]FuturePosition, error)

func (*BinanceFutures) GetFutureTicker added in v1.2.5

func (bs *BinanceFutures) GetFutureTicker(currencyPair CurrencyPair, contractType string) (*Ticker, error)

func (*BinanceFutures) GetFutureUserinfo added in v1.2.5

func (bs *BinanceFutures) GetFutureUserinfo(currencyPair ...CurrencyPair) (*FutureAccount, error)

func (*BinanceFutures) GetKlineRecords added in v1.2.5

func (bs *BinanceFutures) GetKlineRecords(contractType string, currency CurrencyPair, period KlinePeriod, size int, opt ...OptionalParameter) ([]FutureKline, error)

func (*BinanceFutures) GetTrades added in v1.2.5

func (bs *BinanceFutures) GetTrades(contractType string, currencyPair CurrencyPair, since int64) ([]Trade, error)

func (*BinanceFutures) GetUnfinishFutureOrders added in v1.2.5

func (bs *BinanceFutures) GetUnfinishFutureOrders(currencyPair CurrencyPair, contractType string) ([]FutureOrder, error)

func (*BinanceFutures) LimitFuturesOrder added in v1.2.5

func (bs *BinanceFutures) LimitFuturesOrder(currencyPair CurrencyPair, contractType, price, amount string, openType int, opt ...LimitOrderOptionalParameter) (*FutureOrder, error)

func (*BinanceFutures) MarketFuturesOrder added in v1.2.5

func (bs *BinanceFutures) MarketFuturesOrder(currencyPair CurrencyPair, contractType, amount string, openType int) (*FutureOrder, error)

func (*BinanceFutures) PlaceFutureOrder added in v1.2.5

func (bs *BinanceFutures) PlaceFutureOrder(currencyPair CurrencyPair, contractType, price, amount string, openType, matchPrice int, leverRate float64) (string, error)

func (*BinanceFutures) PlaceFutureOrder2 added in v1.3.2

func (bs *BinanceFutures) PlaceFutureOrder2(currencyPair CurrencyPair, contractType, price, amount string, openType, matchPrice int, opt ...LimitOrderOptionalParameter) (string, error)

func (*BinanceFutures) SetBaseUri added in v1.2.5

func (bs *BinanceFutures) SetBaseUri(uri string)

type BinanceSwap added in v1.1.0

type BinanceSwap struct {
	Binance
	// contains filtered or unexported fields
}

func NewBinanceSwap added in v1.1.0

func NewBinanceSwap(config *APIConfig) *BinanceSwap

func (*BinanceSwap) FutureCancelAllOrders added in v1.1.0

func (bs *BinanceSwap) FutureCancelAllOrders(currencyPair CurrencyPair, contractType string) (bool, error)

func (*BinanceSwap) FutureCancelOrder added in v1.1.0

func (bs *BinanceSwap) FutureCancelOrder(currencyPair CurrencyPair, contractType, orderId string) (bool, error)

func (*BinanceSwap) FutureCancelOrders added in v1.1.0

func (bs *BinanceSwap) FutureCancelOrders(currencyPair CurrencyPair, contractType string, orderIdList []string) (bool, error)

func (*BinanceSwap) GetContractValue added in v1.1.0

func (bs *BinanceSwap) GetContractValue(currencyPair CurrencyPair) (float64, error)

func (*BinanceSwap) GetDeliveryTime added in v1.1.0

func (bs *BinanceSwap) GetDeliveryTime() (int, int, int, int)

func (*BinanceSwap) GetExchangeName added in v1.1.0

func (bs *BinanceSwap) GetExchangeName() string

func (*BinanceSwap) GetFee added in v1.1.0

func (bs *BinanceSwap) GetFee() (float64, error)

func (*BinanceSwap) GetFutureDepth added in v1.1.0

func (bs *BinanceSwap) GetFutureDepth(currency CurrencyPair, contractType string, size int) (*Depth, error)

func (*BinanceSwap) GetFutureEstimatedPrice added in v1.1.0

func (bs *BinanceSwap) GetFutureEstimatedPrice(currencyPair CurrencyPair) (float64, error)

func (*BinanceSwap) GetFutureIndex added in v1.1.0

func (bs *BinanceSwap) GetFutureIndex(currencyPair CurrencyPair) (float64, error)

func (*BinanceSwap) GetFutureOrder added in v1.1.0

func (bs *BinanceSwap) GetFutureOrder(orderId string, currencyPair CurrencyPair, contractType string) (*FutureOrder, error)

func (*BinanceSwap) GetFutureOrderHistory added in v1.3.0

func (bs *BinanceSwap) GetFutureOrderHistory(pair CurrencyPair, contractType string, optional ...OptionalParameter) ([]FutureOrder, error)

func (*BinanceSwap) GetFutureOrders added in v1.1.0

func (bs *BinanceSwap) GetFutureOrders(orderIds []string, currencyPair CurrencyPair, contractType string) ([]FutureOrder, error)

func (*BinanceSwap) GetFuturePosition added in v1.1.0

func (bs *BinanceSwap) GetFuturePosition(currencyPair CurrencyPair, contractType string) ([]FuturePosition, error)

func (*BinanceSwap) GetFutureTicker added in v1.1.0

func (bs *BinanceSwap) GetFutureTicker(currency CurrencyPair, contractType string) (*Ticker, error)

func (*BinanceSwap) GetFutureUserinfo added in v1.1.0

func (bs *BinanceSwap) GetFutureUserinfo(currencyPair ...CurrencyPair) (*FutureAccount, error)

func (*BinanceSwap) GetKlineRecords added in v1.1.0

func (bs *BinanceSwap) GetKlineRecords(contractType string, currency CurrencyPair, period KlinePeriod, size int, opt ...OptionalParameter) ([]FutureKline, error)

func (*BinanceSwap) GetServerTime added in v1.1.0

func (bs *BinanceSwap) GetServerTime() (int64, error)

func (*BinanceSwap) GetTrades added in v1.1.0

func (bs *BinanceSwap) GetTrades(contractType string, currencyPair CurrencyPair, since int64) ([]Trade, error)

func (*BinanceSwap) GetUnfinishFutureOrders added in v1.1.0

func (bs *BinanceSwap) GetUnfinishFutureOrders(currencyPair CurrencyPair, contractType string) ([]FutureOrder, error)

func (*BinanceSwap) LimitFuturesOrder added in v1.2.1

func (bs *BinanceSwap) LimitFuturesOrder(currencyPair CurrencyPair, contractType, price, amount string, openType int, opt ...LimitOrderOptionalParameter) (*FutureOrder, error)

func (*BinanceSwap) MarketFuturesOrder added in v1.2.2

func (bs *BinanceSwap) MarketFuturesOrder(currencyPair CurrencyPair, contractType, amount string, openType int) (*FutureOrder, error)

func (*BinanceSwap) Ping added in v1.1.0

func (bs *BinanceSwap) Ping() bool

func (*BinanceSwap) PlaceFutureOrder added in v1.1.0

func (bs *BinanceSwap) PlaceFutureOrder(currencyPair CurrencyPair, contractType, price, amount string, openType, matchPrice int, leverRate float64) (string, error)

func (*BinanceSwap) PlaceFutureOrder2 added in v1.2.1

func (bs *BinanceSwap) PlaceFutureOrder2(currencyPair CurrencyPair, contractType, price, amount string, openType, matchPrice int, opt ...LimitOrderOptionalParameter) (*FutureOrder, error)

func (*BinanceSwap) SetBaseUri added in v1.1.0

func (bs *BinanceSwap) SetBaseUri(uri string)

func (*BinanceSwap) Transfer added in v1.1.0

func (bs *BinanceSwap) Transfer(currency Currency, transferType int, amount float64) (int64, error)

@deprecated please call the Wallet api

type ExchangeInfo added in v1.0.3

type ExchangeInfo struct {
	Timezone        string        `json:"timezone"`
	ServerTime      int           `json:"serverTime"`
	ExchangeFilters []interface{} `json:"exchangeFilters,omitempty"`
	RateLimits      []RateLimit   `json:"rateLimits"`
	Symbols         []TradeSymbol `json:"symbols"`
}

type Filter added in v1.0.3

type Filter struct {
	FilterType          string  `json:"filterType"`
	MaxPrice            float64 `json:"maxPrice,string"`
	MinPrice            float64 `json:"minPrice,string"`
	TickSize            float64 `json:"tickSize,string"`
	MultiplierUp        float64 `json:"multiplierUp,string"`
	MultiplierDown      float64 `json:"multiplierDown,string"`
	AvgPriceMins        int     `json:"avgPriceMins"`
	MinQty              float64 `json:"minQty,string"`
	MaxQty              float64 `json:"maxQty,string"`
	StepSize            float64 `json:"stepSize,string"`
	MinNotional         float64 `json:"minNotional,string"`
	ApplyToMarket       bool    `json:"applyToMarket"`
	Limit               int     `json:"limit"`
	MaxNumAlgoOrders    int     `json:"maxNumAlgoOrders"`
	MaxNumIcebergOrders int     `json:"maxNumIcebergOrders"`
	MaxNumOrders        int     `json:"maxNumOrders"`
}

type FuturesWs added in v1.3.0

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

func NewFuturesWs added in v1.3.0

func NewFuturesWs() *FuturesWs

func (*FuturesWs) DepthCallback added in v1.3.0

func (s *FuturesWs) DepthCallback(f func(depth *goex.Depth))

func (*FuturesWs) SubscribeDepth added in v1.3.0

func (s *FuturesWs) SubscribeDepth(pair goex.CurrencyPair, contractType string) error

func (*FuturesWs) SubscribeTicker added in v1.3.0

func (s *FuturesWs) SubscribeTicker(pair goex.CurrencyPair, contractType string) error

func (*FuturesWs) SubscribeTrade added in v1.3.0

func (s *FuturesWs) SubscribeTrade(pair goex.CurrencyPair, contractType string) error

func (*FuturesWs) TickerCallback added in v1.3.0

func (s *FuturesWs) TickerCallback(f func(ticker *goex.FutureTicker))

func (*FuturesWs) TradeCallback added in v1.3.0

func (s *FuturesWs) TradeCallback(f func(trade *goex.Trade, contract string))

type OrderInfoResponse added in v1.2.5

type OrderInfoResponse struct {
	BaseResponse
	Symbol        string  `json:"symbol"`
	Pair          string  `json:"pair"`
	ClientOrderId string  `json:"clientOrderId"`
	OrderId       int64   `json:"orderId"`
	AvgPrice      float64 `json:"avgPrice,string"`
	ExecutedQty   float64 `json:"executedQty,string"`
	OrigQty       float64 `json:"origQty,string"`
	Price         float64 `json:"price,string"`
	Side          string  `json:"side"`
	PositionSide  string  `json:"positionSide"`
	Status        string  `json:"status"`
	Type          string  `json:"type"`
	Time          int64   `json:"time"`
	UpdateTime    int64   `json:"updateTime"`
}

type PositionRiskResponse added in v1.2.5

type PositionRiskResponse struct {
	Symbol           string  `json:"symbol"`
	PositionAmt      float64 `json:"positionAmt,string"`
	EntryPrice       float64 `json:"entryPrice,string"`
	UnRealizedProfit float64 `json:"unRealizedProfit,string"`
	LiquidationPrice float64 `json:"liquidationPrice,string"`
	Leverage         float64 `json:"leverage,string"`
	MarginType       string  `json:"marginType"`
	PositionSide     string  `json:"positionSide"`
}

type RateLimit added in v1.0.3

type RateLimit struct {
	Interval      string `json:"interval"`
	IntervalNum   int64  `json:"intervalNum"`
	Limit         int64  `json:"limit"`
	RateLimitType string `json:"rateLimitType"`
}

type SpotWs added in v1.3.0

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

func NewSpotWs added in v1.3.0

func NewSpotWs() *SpotWs

func (*SpotWs) DepthCallback added in v1.3.0

func (s *SpotWs) DepthCallback(f func(depth *goex.Depth))

func (*SpotWs) SubscribeDepth added in v1.3.0

func (s *SpotWs) SubscribeDepth(pair goex.CurrencyPair) error

func (*SpotWs) SubscribeTicker added in v1.3.0

func (s *SpotWs) SubscribeTicker(pair goex.CurrencyPair) error

func (*SpotWs) SubscribeTrade added in v1.3.0

func (s *SpotWs) SubscribeTrade(pair goex.CurrencyPair) error

TODO: test

func (*SpotWs) TickerCallback added in v1.3.0

func (s *SpotWs) TickerCallback(f func(ticker *goex.Ticker))

func (*SpotWs) TradeCallback added in v1.3.0

func (s *SpotWs) TradeCallback(f func(trade *goex.Trade))

type SymbolInfo added in v1.2.5

type SymbolInfo struct {
	Symbol         string
	Pair           string
	ContractType   string `json:"contractType"`
	DeliveryDate   int64  `json:"deliveryDate"`
	ContractStatus string `json:"contractStatus"`
	ContractSize   int    `json:"contractSize"`
	PricePrecision int    `json:"pricePrecision"`
}

type TradeSymbol added in v1.0.3

type TradeSymbol struct {
	Symbol                     string   `json:"symbol"`
	Status                     string   `json:"status"`
	BaseAsset                  string   `json:"baseAsset"`
	BaseAssetPrecision         int      `json:"baseAssetPrecision"`
	QuoteAsset                 string   `json:"quoteAsset"`
	QuotePrecision             int      `json:"quotePrecision"`
	BaseCommissionPrecision    int      `json:"baseCommissionPrecision"`
	QuoteCommissionPrecision   int      `json:"quoteCommissionPrecision"`
	Filters                    []Filter `json:"filters"`
	IcebergAllowed             bool     `json:"icebergAllowed"`
	IsMarginTradingAllowed     bool     `json:"isMarginTradingAllowed"`
	IsSpotTradingAllowed       bool     `json:"isSpotTradingAllowed"`
	OcoAllowed                 bool     `json:"ocoAllowed"`
	QuoteOrderQtyMarketAllowed bool     `json:"quoteOrderQtyMarketAllowed"`
	OrderTypes                 []string `json:"orderTypes"`
}

func (TradeSymbol) GetAmountPrecision added in v1.1.0

func (ts TradeSymbol) GetAmountPrecision() int

func (TradeSymbol) GetMinAmount added in v1.1.0

func (ts TradeSymbol) GetMinAmount() float64

func (TradeSymbol) GetMinPrice added in v1.1.0

func (ts TradeSymbol) GetMinPrice() float64

func (TradeSymbol) GetMinValue added in v1.1.0

func (ts TradeSymbol) GetMinValue() float64

func (TradeSymbol) GetPricePrecision added in v1.1.0

func (ts TradeSymbol) GetPricePrecision() int

type Wallet added in v1.2.5

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

func NewWallet added in v1.2.5

func NewWallet(c *APIConfig) *Wallet

func (*Wallet) GetAccount added in v1.2.5

func (w *Wallet) GetAccount() (*Account, error)

func (*Wallet) GetDepositHistory added in v1.2.5

func (w *Wallet) GetDepositHistory(currency *Currency) ([]DepositWithdrawHistory, error)

func (*Wallet) GetWithDrawHistory added in v1.2.5

func (w *Wallet) GetWithDrawHistory(currency *Currency) ([]DepositWithdrawHistory, error)

func (*Wallet) Transfer added in v1.2.5

func (w *Wallet) Transfer(param TransferParameter) error

func (*Wallet) Withdrawal added in v1.2.5

func (w *Wallet) Withdrawal(param WithdrawParameter) (withdrawId string, err error)

Jump to

Keyboard shortcuts

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