binance

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BINANCE_API_BASE_URL = "https://api.binance.com"
	BINANCE_API_VERSION  = "/api/v3"

	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 AggTrade

type AggTrade struct {
	common.Trade
	FirstBreakdownTradeID int64 `json:"f"`
	LastBreakdownTradeID  int64 `json:"l"`
	TradeTime             int64 `json:"T"`
}

type Binance

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

func New

func New(client *http.Client, accesskey, secretkey string) *Binance

func (*Binance) CancelOrder

func (bn *Binance) CancelOrder(orderId string, currencyPair common.TradingPair) (bool, error)

func (*Binance) GetAccount

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

func (*Binance) GetDepth

func (bn *Binance) GetDepth(size int, currencyPair common.TradingPair) (*common.Depth, error)

func (*Binance) GetExchangeInfo

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

func (*Binance) GetExchangeName

func (bn *Binance) GetExchangeName() string

func (*Binance) GetKlineRecords

func (bn *Binance) GetKlineRecords(currency common.TradingPair, period, size, since int) ([]common.Kline, error)

func (*Binance) GetOneOrder

func (bn *Binance) GetOneOrder(orderId string, currencyPair common.TradingPair) (*common.Order, error)

func (*Binance) GetOrderHistorys

func (bn *Binance) GetOrderHistorys(currency common.TradingPair, currentPage, pageSize int) ([]common.Order, error)

func (*Binance) GetTicker

func (bn *Binance) GetTicker(currency common.TradingPair) (*common.Ticker, error)

func (*Binance) GetTradeSymbol

func (bn *Binance) GetTradeSymbol(currencyPair common.TradingPair) (*TradeSymbol, error)

func (*Binance) GetTrades

func (bn *Binance) GetTrades(currencyPair common.TradingPair, since int64) ([]common.Trade, error)

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

func (*Binance) GetUnfinishOrders

func (bn *Binance) GetUnfinishOrders(currencyPair common.TradingPair) ([]common.Order, error)

func (*Binance) LimitBuy

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

func (*Binance) LimitSell

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

func (*Binance) MarketBuy

func (bn *Binance) MarketBuy(amount, price string, currencyPair common.TradingPair) (*common.Order, error)

func (*Binance) MarketSell

func (bn *Binance) MarketSell(amount, price string, currencyPair common.TradingPair) (*common.Order, error)

func (*Binance) Ping

func (bn *Binance) Ping() bool

type BinanceSwap

type BinanceSwap struct {
	Binance
}

func NewBinanceSwap

func NewBinanceSwap(config *common.APIConfig) *BinanceSwap

func (*BinanceSwap) FutureCancelAllOrders

func (bs *BinanceSwap) FutureCancelAllOrders(currencyPair common.TradingPair, contractType string) (bool, error)

func (*BinanceSwap) FutureCancelOrder

func (bs *BinanceSwap) FutureCancelOrder(currencyPair common.TradingPair, contractType, orderId string) (bool, error)

*

  • 取消订单
  • @param symbol btc_usd:比特币 ltc_usd :莱特币
  • @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度
  • @param orderId 订单ID

func (*BinanceSwap) FutureCancelOrders

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

func (*BinanceSwap) GetContractValue

func (bs *BinanceSwap) GetContractValue(currencyPair common.TradingPair) (float64, error)

*

*获取每张合约价值

func (*BinanceSwap) GetDeliveryTime

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

*

*获取交割时间 星期(0,1,2,3,4,5,6),小时,分,秒

func (*BinanceSwap) GetExchangeName

func (bs *BinanceSwap) GetExchangeName() string

func (*BinanceSwap) GetFee

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

*

*获取交易费

func (*BinanceSwap) GetFutureDepth

func (bs *BinanceSwap) GetFutureDepth(currency common.TradingPair, contractType string, size int) (*common.Depth, error)

func (*BinanceSwap) GetFutureEstimatedPrice

func (bs *BinanceSwap) GetFutureEstimatedPrice(currencyPair common.TradingPair) (float64, error)

*

*获取交割预估价

func (*BinanceSwap) GetFutureIndex

func (bs *BinanceSwap) GetFutureIndex(currencyPair common.TradingPair) (float64, error)

*

  • 期货指数
  • @param currencyPair btc_usd:比特币 ltc_usd :莱特币

func (*BinanceSwap) GetFutureOrder

func (bs *BinanceSwap) GetFutureOrder(orderId string, currencyPair common.TradingPair, contractType string) (*common.FutureOrder, error)

*

*获取单个订单信息

func (*BinanceSwap) GetFutureOrders

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

*

*获取订单信息

func (*BinanceSwap) GetFuturePosition

func (bs *BinanceSwap) GetFuturePosition(currencyPair common.TradingPair, contractType string) ([]common.FuturePosition, error)

*

  • 用户持仓查询
  • @param symbol btc_usd:比特币 ltc_usd :莱特币
  • @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度
  • @return

func (*BinanceSwap) GetFutureTicker

func (bs *BinanceSwap) GetFutureTicker(currency common.TradingPair, contractType string) (*common.Ticker, error)

*

  • 期货行情
  • @param currency_pair btc_usd:比特币 ltc_usd :莱特币
  • @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度

func (*BinanceSwap) GetFutureUserinfo

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

*

*全仓账户

func (*BinanceSwap) GetKlineRecords

func (bs *BinanceSwap) GetKlineRecords(contractType string, currency common.TradingPair, period, size, since int) ([]common.FutureKline, error)

*

  • 获取K线数据

func (*BinanceSwap) GetServerTime

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

func (*BinanceSwap) GetTrades

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

func (*BinanceSwap) GetUnfinishFutureOrders

func (bs *BinanceSwap) GetUnfinishFutureOrders(currencyPair common.TradingPair, contractType string) ([]common.FutureOrder, error)

*

*获取未完成订单信息

func (*BinanceSwap) LimitFuturesOrder

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

func (*BinanceSwap) MarketFuturesOrder

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

func (*BinanceSwap) Ping

func (bs *BinanceSwap) Ping() bool

func (*BinanceSwap) PlaceFutureOrder

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

func (*BinanceSwap) PlaceFutureOrder2

func (bs *BinanceSwap) PlaceFutureOrder2(currencyPair common.TradingPair, contractType, price, amount string, openType, matchPrice int, leverRate float64) (*common.FutureOrder, error)

*

  • @deprecated
  • 期货下单
  • @param currencyPair btc_usd:比特币 ltc_usd :莱特币
  • @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度
  • @param price 价格
  • @param amount 委托数量
  • @param openType 1:开多 2:开空 3:平多 4:平空
  • @param matchPrice 是否为对手价 0:不是 1:是 ,当取值为1时,price无效

func (*BinanceSwap) Transfer

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

transferType - 1: 现货账户向合约账户划转 2: 合约账户向现货账户划转

type BinanceWs

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

func NewBinanceWs

func NewBinanceWs() *BinanceWs

func (*BinanceWs) Close

func (bnWs *BinanceWs) Close()

func (*BinanceWs) ProxyUrl

func (bnWs *BinanceWs) ProxyUrl(proxyUrl string)

func (*BinanceWs) SetBaseUrl

func (bnWs *BinanceWs) SetBaseUrl(baseURL string)

func (*BinanceWs) SetCallbacks

func (bnWs *BinanceWs) SetCallbacks(
	tickerCallback func(*common.Ticker),
	depthCallback func(*common.Depth),
	tradeCallback func(*common.Trade),
	klineCallback func(*common.Kline, int),
)

func (*BinanceWs) SetCombinedBaseURL

func (bnWs *BinanceWs) SetCombinedBaseURL(combinedBaseURL string)

func (*BinanceWs) Subscribe

func (bnWs *BinanceWs) Subscribe(endpoint string, handle func(msg []byte) error) *net.WsConn

func (*BinanceWs) SubscribeAggTrade

func (bnWs *BinanceWs) SubscribeAggTrade(pair common.TradingPair, tradeCallback func(*common.Trade)) error

func (*BinanceWs) SubscribeDepth

func (bnWs *BinanceWs) SubscribeDepth(pair common.TradingPair, size int) error

func (*BinanceWs) SubscribeDiffDepth

func (bnWs *BinanceWs) SubscribeDiffDepth(pair common.TradingPair, depthCallback func(*common.Depth)) error

func (*BinanceWs) SubscribeKline

func (bnWs *BinanceWs) SubscribeKline(pair common.TradingPair, period int) error

func (*BinanceWs) SubscribeTicker

func (bnWs *BinanceWs) SubscribeTicker(pair common.TradingPair) error

func (*BinanceWs) SubscribeTrade

func (bnWs *BinanceWs) SubscribeTrade(pair common.TradingPair) error

type DiffDepth

type DiffDepth struct {
	common.Depth
	UpdateID      int64 `json:"u"`
	FirstUpdateID int64 `json:"U"`
}

type ExchangeInfo

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

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 RateLimit

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

type RawTrade

type RawTrade struct {
	common.Trade
	BuyerOrderID  int64 `json:"b"`
	SellerOrderID int64 `json:"a"`
}

type TradeSymbol

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

func (ts TradeSymbol) GetAmountPrecision() int

func (TradeSymbol) GetMinAmount

func (ts TradeSymbol) GetMinAmount() float64

func (TradeSymbol) GetMinPrice

func (ts TradeSymbol) GetMinPrice() float64

func (TradeSymbol) GetMinValue

func (ts TradeSymbol) GetMinValue() float64

func (TradeSymbol) GetPricePrecision

func (ts TradeSymbol) GetPricePrecision() int

Jump to

Keyboard shortcuts

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