Documentation ¶
Overview ¶
Package Poloniex is an implementation of the Poloniex API in Golang.
Index ¶
- Constants
- func NewClient(apiKey, apiSecret string) (c *client)
- func NewClientWithCustomTimeout(apiKey, apiSecret string, timeout time.Duration) (c *client)
- type Balance
- type CandleStick
- type Currencies
- type Currency
- type Deposit
- type Lending
- type OpenOrder
- type Order
- type OrderBook
- type Poloniex
- func (b *Poloniex) Buy(pair string, rate float64, amount float64, tradeType string) (TradeOrder, error)
- func (b *Poloniex) CancelOrder(orderNumber string) error
- func (b *Poloniex) ChartData(currencyPair string, period int, start, end time.Time) (candles []*CandleStick, err error)
- func (b *Poloniex) GetBalances() (balances map[string]Balance, err error)
- func (b *Poloniex) GetCurrencies() (currencies Currencies, err error)
- func (b *Poloniex) GetDepositAddresses() (addresses map[string]string, err error)
- func (b *Poloniex) GetDepositsWithdrawals(start uint32, end uint32) (deposits []Deposit, withdrawals []Withdrawal, err error)
- func (b *Poloniex) GetOpenOrders(pair string) (openOrders map[string][]OpenOrder, err error)
- func (b *Poloniex) GetOrderBook(market, cat string, depth int) (orderBook OrderBook, err error)
- func (b *Poloniex) GetOrderTrades(orderNumber int) (tradeOrderTransaction []TradeOrderTransaction, err error)
- func (b *Poloniex) GetTickers() (tickers map[string]Ticker, err error)
- func (b *Poloniex) GetTradeHistory(pair string, start uint32) (trades map[string][]Trade, err error)
- func (b *Poloniex) GetVolumes() (vc VolumeCollection, err error)
- func (b *Poloniex) LendingHistory(start, end time.Time, limit int) (lendings []Lending, err error)
- func (b *Poloniex) Sell(pair string, rate float64, amount float64, tradeType string) (TradeOrder, error)
- func (c *Poloniex) SetDebug(enable bool)
- func (b *Poloniex) Withdraw(currency, address string, amount float64) error
- type PoloniexDate
- type ResultingTrade
- type Ticker
- type Tickers
- type Trade
- type TradeOrder
- type TradeOrderTransaction
- type Volume
- type VolumeCollection
- type Withdrawal
Constants ¶
const ( TRADE_FILL_OR_KILL = "fillOrKill" TRADE_IMMEDIATE_OR_CANCEL = "immediateOrCancel" TRADE_POST_ONLY = "postOnly" )
const (
API_BASE = "https://poloniex.com" // Poloniex API endpoint
)
Variables ¶
This section is empty.
Functions ¶
func NewClient ¶
func NewClient(apiKey, apiSecret string) (c *client)
NewClient return a new Poloniex HTTP client
func NewClientWithCustomTimeout ¶
NewClientWithCustomTimeout returns a new Poloniex HTTP client with custom timeout
Types ¶
type CandleStick ¶
type Currencies ¶
type Deposit ¶
type Deposit struct { Currency string `json:"currency"` Address string `json:"address"` Amount float64 `json:"amount,string"` Confirmations uint64 `json:"confirmations"` TxId string `json:"txid"` Date time.Time `json:"timestamp"` Status string `json:"status"` }
func (*Deposit) UnmarshalJSON ¶
type Lending ¶
type Lending struct { Id uint64 `json:"id"` Currency string `json:"currency"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Duration float64 `json:"duration,string"` Interest float64 `json:"interest,string"` Fee float64 `json:"fee,string"` Earned float64 `json:"earned,string"` Open time.Time `json:"open,string"` Close time.Time `json:"close,string"` }
func (*Lending) UnmarshalJSON ¶
type OpenOrder ¶
type OpenOrder struct { OrderNumber int64 `json:"orderNumber,string"` Type string `json:"type"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Total float64 `json:"total,string"` }
OpenOrder is an open order for the account
type Order ¶
Order is an order in an OrderBook
func (*Order) UnmarshalJSON ¶
UnmarshalJSON parses the order as poloniex gives it
type OrderBook ¶
type OrderBook struct { Asks []*Order `json:"asks"` Bids []*Order `json:"bids"` IsFrozen int `json:"isFrozen,string"` Error string `json:"error"` }
OrderBook is a list of open orders for a currency
type Poloniex ¶
type Poloniex struct {
// contains filtered or unexported fields
}
poloniex represent a poloniex client
func NewWithCustomTimeout ¶
New returns an instantiated poloniex struct with custom timeout
func (*Poloniex) CancelOrder ¶
func (*Poloniex) ChartData ¶
func (b *Poloniex) ChartData(currencyPair string, period int, start, end time.Time) (candles []*CandleStick, err error)
Returns candlestick chart data. Required GET parameters are "currencyPair", "period" (candlestick period in seconds; valid values are 300, 900, 1800, 7200, 14400, and 86400), "start", and "end". "Start" and "end" are given in UNIX timestamp format and used to specify the date range for the data returned.
func (*Poloniex) GetBalances ¶
func (*Poloniex) GetCurrencies ¶
func (b *Poloniex) GetCurrencies() (currencies Currencies, err error)
func (*Poloniex) GetDepositAddresses ¶ added in v0.1.2
func (*Poloniex) GetDepositsWithdrawals ¶
func (*Poloniex) GetOpenOrders ¶
func (*Poloniex) GetOrderBook ¶
GetOrderBook is used to get retrieve the orderbook for a given market market: a string literal for the market (ex: BTC_NXT). 'all' not implemented. cat: bid, ask or both to identify the type of orderbook to return. depth: how deep of an order book to retrieve
func (*Poloniex) GetOrderTrades ¶
func (b *Poloniex) GetOrderTrades(orderNumber int) (tradeOrderTransaction []TradeOrderTransaction, err error)
GetOrderTrades is used to get returns all trades involving a given order orderNumber: order number.
func (*Poloniex) GetTickers ¶
GetTickers is used to get the ticker for all markets
func (*Poloniex) GetTradeHistory ¶
func (*Poloniex) GetVolumes ¶
func (b *Poloniex) GetVolumes() (vc VolumeCollection, err error)
GetVolumes is used to get the volume for all markets
func (*Poloniex) LendingHistory ¶
Returns whole lending history chart data. Required GET parameters are "start", "end" (UNIX timestamp format and used to specify the date range for the data returned) and optionally limit (<0 for no limit, poloniex automatically limits to 500 records)
type PoloniexDate ¶
func (*PoloniexDate) UnmarshalJSON ¶
func (pd *PoloniexDate) UnmarshalJSON(data []byte) error
type ResultingTrade ¶
type Ticker ¶
type Ticker struct { Id int `json:"id"` Last float64 `json:"last,string"` LowestAsk float64 `json:"lowestAsk,string"` HighestBid float64 `json:"highestBid,string"` PercentChange float64 `json:"percentChange,string"` BaseVolume float64 `json:"baseVolume,string"` QuoteVolume float64 `json:"quoteVolume,string"` IsFrozen int `json:"isFrozen,string"` High24Hr float64 `json:"high24hr,string"` Low24Hr float64 `json:"low24hr,string"` }
type Trade ¶
type Trade struct { GlobalTradeID uint64 `json:"globalTradeID"` TradeID uint64 `json:"tradeID,string"` Date time.Time `json:"date,string"` Type string `json:"type"` Category string `json:"category"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Total float64 `json:"total,string"` Fee float64 `json:"fee,string"` }
func (*Trade) UnmarshalJSON ¶
type TradeOrder ¶
type TradeOrder struct { OrderNumber string `json:"orderNumber"` ResultingTrades []ResultingTrade `json:"resultingTrades"` ErrorMessage string `json:"error"` }
type TradeOrderTransaction ¶
type TradeOrderTransaction struct { GlobalTradeID uint64 `json:"globalTradeID"` TradeID uint64 `json:"tradeID"` CurrencyPair string `json:"currencyPair"` Type string `json:"type"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Total float64 `json:"total,string"` Fee float64 `json:"fee,string"` Date time.Time `json:"date,string"` }
type Volume ¶
func (*Volume) UnmarshalJSON ¶
type VolumeCollection ¶
type VolumeCollection struct { TotalBTC float64 `json:"totalBTC,string"` TotalETH float64 `json:"totalETH,string"` TotalUSDC float64 `json:"totalUSDC,string"` TotalUSDT float64 `json:"totalUSDT,string"` TotalXMR float64 `json:"totalXMR,string"` TotalXUSD float64 `json:"totalXUSD,string"` Volumes map[string]Volume }
func (*VolumeCollection) UnmarshalJSON ¶
func (tc *VolumeCollection) UnmarshalJSON(b []byte) error
type Withdrawal ¶
type Withdrawal struct { WithdrawalNumber uint64 `json:"withdrawalNumber"` Currency string `json:"currency"` Address string `json:"address"` Amount float64 `json:"amount,string"` Date time.Time `json:"timestamp"` Status string `json:"status"` TxId string `json:"txid"` IpAddress string `json:"ipAddress"` }
func (*Withdrawal) UnmarshalJSON ¶
func (t *Withdrawal) UnmarshalJSON(data []byte) error