Documentation ¶
Overview ¶
Package exchanges contains all wrappers for common exchanges.
Index ¶
- Constants
- Variables
- func MarketNameFor(m *environment.Market, wrapper ExchangeWrapper) string
- type BinanceWrapper
- func (wrapper *BinanceWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BinanceWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BinanceWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *BinanceWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *BinanceWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *BinanceWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *BinanceWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *BinanceWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *BinanceWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *BinanceWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *BinanceWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *BinanceWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *BinanceWrapper) Name() string
- func (wrapper *BinanceWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BinanceWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BinanceWrapper) String() string
- func (wrapper *BinanceWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type BitfinexWrapper
- func (wrapper *BitfinexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BitfinexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BitfinexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *BitfinexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *BitfinexWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *BitfinexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *BitfinexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *BitfinexWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *BitfinexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *BitfinexWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *BitfinexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *BitfinexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *BitfinexWrapper) Name() string
- func (wrapper *BitfinexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BitfinexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BitfinexWrapper) String() string
- func (wrapper *BitfinexWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type BittrexWrapper
- func (wrapper *BittrexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BittrexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BittrexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *BittrexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *BittrexWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *BittrexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *BittrexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *BittrexWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *BittrexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *BittrexWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *BittrexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *BittrexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *BittrexWrapper) Name() string
- func (wrapper *BittrexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BittrexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BittrexWrapper) String() string
- func (wrapper *BittrexWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type BittrexWrapperV2
- func (wrapper *BittrexWrapperV2) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BittrexWrapperV2) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BittrexWrapperV2) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *BittrexWrapperV2) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *BittrexWrapperV2) FeedConnect(markets []*environment.Market) error
- func (wrapper *BittrexWrapperV2) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *BittrexWrapperV2) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *BittrexWrapperV2) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *BittrexWrapperV2) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *BittrexWrapperV2) GetMarkets() ([]*environment.Market, error)
- func (wrapper *BittrexWrapperV2) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *BittrexWrapperV2) Name() string
- func (wrapper *BittrexWrapperV2) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *BittrexWrapperV2) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *BittrexWrapperV2) String() string
- func (wrapper *BittrexWrapperV2) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type CandlesCache
- type ExchangeWrapper
- func NewBinanceWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewBitfinexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewBittrexV2Wrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewBittrexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewHitBtcV2Wrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewKrakenWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewKucoinWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- func NewPoloniexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
- type ExchangeWrapperSimulator
- func (wrapper *ExchangeWrapperSimulator) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *ExchangeWrapperSimulator) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *ExchangeWrapperSimulator) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *ExchangeWrapperSimulator) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *ExchangeWrapperSimulator) FeedConnect(markets []*environment.Market) error
- func (wrapper *ExchangeWrapperSimulator) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *ExchangeWrapperSimulator) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *ExchangeWrapperSimulator) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *ExchangeWrapperSimulator) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *ExchangeWrapperSimulator) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *ExchangeWrapperSimulator) Name() string
- func (wrapper *ExchangeWrapperSimulator) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *ExchangeWrapperSimulator) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *ExchangeWrapperSimulator) String() string
- func (wrapper *ExchangeWrapperSimulator) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type HitBtcWrapperV2
- func (wrapper *HitBtcWrapperV2) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *HitBtcWrapperV2) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *HitBtcWrapperV2) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *HitBtcWrapperV2) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *HitBtcWrapperV2) FeedConnect(markets []*environment.Market) error
- func (wrapper *HitBtcWrapperV2) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *HitBtcWrapperV2) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *HitBtcWrapperV2) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *HitBtcWrapperV2) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *HitBtcWrapperV2) GetMarkets() ([]*environment.Market, error)
- func (wrapper *HitBtcWrapperV2) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *HitBtcWrapperV2) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *HitBtcWrapperV2) Name() string
- func (wrapper *HitBtcWrapperV2) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *HitBtcWrapperV2) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *HitBtcWrapperV2) String() string
- func (wrapper *HitBtcWrapperV2) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type KrakenWrapper
- func (wrapper *KrakenWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *KrakenWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *KrakenWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *KrakenWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *KrakenWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *KrakenWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *KrakenWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *KrakenWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *KrakenWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *KrakenWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *KrakenWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *KrakenWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *KrakenWrapper) Name() string
- func (wrapper *KrakenWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *KrakenWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *KrakenWrapper) String() string
- func (wrapper *KrakenWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type KucoinWrapper
- func (wrapper *KucoinWrapper) BuyLimit(market *environment.Market, amount, limit float64) (string, error)
- func (wrapper *KucoinWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *KucoinWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *KucoinWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *KucoinWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *KucoinWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *KucoinWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *KucoinWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *KucoinWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *KucoinWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *KucoinWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *KucoinWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *KucoinWrapper) Name() string
- func (wrapper *KucoinWrapper) SellLimit(market *environment.Market, amount, limit float64) (string, error)
- func (wrapper *KucoinWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *KucoinWrapper) String() string
- func (wrapper *KucoinWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type OrderbookCache
- type PoloniexWrapper
- func (wrapper *PoloniexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *PoloniexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *PoloniexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
- func (wrapper *PoloniexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
- func (wrapper *PoloniexWrapper) FeedConnect(markets []*environment.Market) error
- func (wrapper *PoloniexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
- func (wrapper *PoloniexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
- func (wrapper *PoloniexWrapper) GetDepositAddress(coinTicker string) (string, bool)
- func (wrapper *PoloniexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
- func (wrapper *PoloniexWrapper) GetMarkets() ([]*environment.Market, error)
- func (wrapper *PoloniexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
- func (wrapper *PoloniexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
- func (wrapper *PoloniexWrapper) Name() string
- func (wrapper *PoloniexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
- func (wrapper *PoloniexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
- func (wrapper *PoloniexWrapper) String() string
- func (wrapper *PoloniexWrapper) Withdraw(destinationAddress string, coinTicker string, amount float64) error
- type SummaryCache
- type TradeType
Constants ¶
const ( // TakerTrade represents the "buy" order type. TakerTrade = "taker" // MakerTrade represents the "sell" order type. MakerTrade = "maker" )
Variables ¶
var ErrWebsocketNotSupported = errors.New("Cannot use websocket: exchange does not support it")
ErrWebsocketNotSupported is the error representing when an exchange does not support websocket.
Functions ¶
func MarketNameFor ¶
func MarketNameFor(m *environment.Market, wrapper ExchangeWrapper) string
MarketNameFor gets the market name as seen by the exchange.
Types ¶
type BinanceWrapper ¶
type BinanceWrapper struct {
// contains filtered or unexported fields
}
BinanceWrapper represents the wrapper for the Binance exchange.
func (*BinanceWrapper) BuyLimit ¶
func (wrapper *BinanceWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*BinanceWrapper) BuyMarket ¶
func (wrapper *BinanceWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*BinanceWrapper) CalculateTradingFees ¶
func (wrapper *BinanceWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Binance fees are currently hardcoded.
func (*BinanceWrapper) CalculateWithdrawFees ¶
func (wrapper *BinanceWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*BinanceWrapper) FeedConnect ¶
func (wrapper *BinanceWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*BinanceWrapper) GetBalance ¶
func (wrapper *BinanceWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*BinanceWrapper) GetCandles ¶
func (wrapper *BinanceWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*BinanceWrapper) GetDepositAddress ¶
func (wrapper *BinanceWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*BinanceWrapper) GetMarketSummary ¶
func (wrapper *BinanceWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*BinanceWrapper) GetMarkets ¶
func (wrapper *BinanceWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets Gets all the markets info.
func (*BinanceWrapper) GetOrderBook ¶
func (wrapper *BinanceWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*BinanceWrapper) GetTicker ¶
func (wrapper *BinanceWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*BinanceWrapper) Name ¶
func (wrapper *BinanceWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*BinanceWrapper) SellLimit ¶
func (wrapper *BinanceWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*BinanceWrapper) SellMarket ¶
func (wrapper *BinanceWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*BinanceWrapper) String ¶
func (wrapper *BinanceWrapper) String() string
type BitfinexWrapper ¶
type BitfinexWrapper struct {
// contains filtered or unexported fields
}
BitfinexWrapper provides a Generic wrapper of the Bitfinex API.
func (*BitfinexWrapper) BuyLimit ¶
func (wrapper *BitfinexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
NOTE: In bitfinex buy and sell orders behave the same (the go bitfinex api automatically puts it on correct side)
func (*BitfinexWrapper) BuyMarket ¶
func (wrapper *BitfinexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a limit buy action.
NOTE: In bitfinex buy and sell orders behave the same (the go bitfinex api automatically puts it on correct side)
func (*BitfinexWrapper) CalculateTradingFees ¶
func (wrapper *BitfinexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Bitfinex fees are currently hardcoded.
func (*BitfinexWrapper) CalculateWithdrawFees ¶
func (wrapper *BitfinexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*BitfinexWrapper) FeedConnect ¶
func (wrapper *BitfinexWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*BitfinexWrapper) GetBalance ¶
func (wrapper *BitfinexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*BitfinexWrapper) GetCandles ¶
func (wrapper *BitfinexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*BitfinexWrapper) GetDepositAddress ¶
func (wrapper *BitfinexWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*BitfinexWrapper) GetMarketSummary ¶
func (wrapper *BitfinexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*BitfinexWrapper) GetMarkets ¶
func (wrapper *BitfinexWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*BitfinexWrapper) GetOrderBook ¶
func (wrapper *BitfinexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*BitfinexWrapper) GetTicker ¶
func (wrapper *BitfinexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*BitfinexWrapper) Name ¶
func (wrapper *BitfinexWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*BitfinexWrapper) SellLimit ¶
func (wrapper *BitfinexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
NOTE: In bitfinex buy and sell orders behave the same (the go bitfinex api automatically puts it on correct side)
func (*BitfinexWrapper) SellMarket ¶
func (wrapper *BitfinexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a limit sell action.
NOTE: In bitfinex buy and sell orders behave the same (the go bitfinex api automatically puts it on correct side)
func (*BitfinexWrapper) String ¶
func (wrapper *BitfinexWrapper) String() string
type BittrexWrapper ¶
type BittrexWrapper struct {
// contains filtered or unexported fields
}
BittrexWrapper provides a Generic wrapper of the Bittrex API.
func (*BittrexWrapper) BuyLimit ¶
func (wrapper *BittrexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*BittrexWrapper) BuyMarket ¶
func (wrapper *BittrexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*BittrexWrapper) CalculateTradingFees ¶
func (wrapper *BittrexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Bittrex fees are hardcoded due to the inability to obtain them via API before placing an order.
func (*BittrexWrapper) CalculateWithdrawFees ¶
func (wrapper *BittrexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*BittrexWrapper) FeedConnect ¶
func (wrapper *BittrexWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*BittrexWrapper) GetBalance ¶
func (wrapper *BittrexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*BittrexWrapper) GetCandles ¶
func (wrapper *BittrexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*BittrexWrapper) GetDepositAddress ¶
func (wrapper *BittrexWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*BittrexWrapper) GetMarketSummary ¶
func (wrapper *BittrexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*BittrexWrapper) GetMarkets ¶
func (wrapper *BittrexWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*BittrexWrapper) GetOrderBook ¶
func (wrapper *BittrexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*BittrexWrapper) GetTicker ¶
func (wrapper *BittrexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*BittrexWrapper) Name ¶
func (wrapper *BittrexWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*BittrexWrapper) SellLimit ¶
func (wrapper *BittrexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*BittrexWrapper) SellMarket ¶
func (wrapper *BittrexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*BittrexWrapper) String ¶
func (wrapper *BittrexWrapper) String() string
type BittrexWrapperV2 ¶
type BittrexWrapperV2 struct { PublicKey string SecretKey string // contains filtered or unexported fields }
BittrexWrapperV2 wraps Bittrex API v2.0
func (*BittrexWrapperV2) BuyLimit ¶
func (wrapper *BittrexWrapperV2) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*BittrexWrapperV2) BuyMarket ¶
func (wrapper *BittrexWrapperV2) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*BittrexWrapperV2) CalculateTradingFees ¶
func (wrapper *BittrexWrapperV2) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Bittrex fees are hardcoded due to the inability to obtain them via API before placing an order.
func (*BittrexWrapperV2) CalculateWithdrawFees ¶
func (wrapper *BittrexWrapperV2) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*BittrexWrapperV2) FeedConnect ¶
func (wrapper *BittrexWrapperV2) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
NOTE: Not supported on Bittrex v1 API, use *BittrexWrapperV2.
func (*BittrexWrapperV2) GetBalance ¶
func (wrapper *BittrexWrapperV2) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*BittrexWrapperV2) GetCandles ¶
func (wrapper *BittrexWrapperV2) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*BittrexWrapperV2) GetDepositAddress ¶
func (wrapper *BittrexWrapperV2) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*BittrexWrapperV2) GetMarketSummary ¶
func (wrapper *BittrexWrapperV2) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*BittrexWrapperV2) GetMarkets ¶
func (wrapper *BittrexWrapperV2) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*BittrexWrapperV2) GetOrderBook ¶
func (wrapper *BittrexWrapperV2) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*BittrexWrapperV2) Name ¶
func (wrapper *BittrexWrapperV2) Name() string
Name returns the name of the wrapped exchange.
func (*BittrexWrapperV2) SellLimit ¶
func (wrapper *BittrexWrapperV2) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*BittrexWrapperV2) SellMarket ¶
func (wrapper *BittrexWrapperV2) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*BittrexWrapperV2) String ¶
func (wrapper *BittrexWrapperV2) String() string
type CandlesCache ¶
type CandlesCache struct {
// contains filtered or unexported fields
}
CandlesCache represents a local candles cache for every exchange. To allow dinamic polling from multiple sources (REST + Websocket)
func NewCandlesCache ¶
func NewCandlesCache() *CandlesCache
NewCandlesCache creates a new CandlesCache Object
func (*CandlesCache) Get ¶
func (cc *CandlesCache) Get(market *environment.Market) ([]environment.CandleStick, bool)
Get gets the value for the specified key.
func (*CandlesCache) Set ¶
func (cc *CandlesCache) Set(market *environment.Market, candles []environment.CandleStick) []environment.CandleStick
Set sets a value for the specified key.
type ExchangeWrapper ¶
type ExchangeWrapper interface { Name() string // Gets the name of the exchange. GetCandles(market *environment.Market) ([]environment.CandleStick, error) // Gets the candle data from the exchange. GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error) // Gets the current market summary. GetOrderBook(market *environment.Market) (*environment.OrderBook, error) // Gets the order(ASK + BID) book of a market. BuyLimit(market *environment.Market, amount float64, limit float64) (string, error) // Performs a limit buy action. SellLimit(market *environment.Market, amount float64, limit float64) (string, error) // Performs a limit sell action. BuyMarket(market *environment.Market, amount float64) (string, error) // Performs a market buy action. SellMarket(market *environment.Market, amount float64) (string, error) // Performs a market sell action. CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64 // Calculates the trading fees for an order on a specified market. CalculateWithdrawFees(market *environment.Market, amount float64) float64 // Calculates the withdrawal fees on a specified market. GetBalance(symbol string) (*decimal.Decimal, error) // Gets the balance of the user of the specified currency. GetDepositAddress(coinTicker string) (string, bool) // Gets the deposit address for the specified coin on the exchange, if exists. FeedConnect(markets []*environment.Market) error // Connects to the feed of the exchange. Withdraw(destinationAddress string, coinTicker string, amount float64) error // Performs a withdraw operation from the exchange to a destination address. String() string // Returns a string representation of the object. }
ExchangeWrapper provides a generic wrapper for exchange services.
func NewBinanceWrapper ¶
func NewBinanceWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewBinanceWrapper creates a generic wrapper of the binance API.
func NewBitfinexWrapper ¶
func NewBitfinexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewBitfinexWrapper creates a generic wrapper of the bittrex API.
func NewBittrexV2Wrapper ¶
func NewBittrexV2Wrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewBittrexV2Wrapper creates a generic wrapper of the bittrex API v2.0.
func NewBittrexWrapper ¶
func NewBittrexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewBittrexWrapper creates a generic wrapper of the bittrex API.
func NewHitBtcV2Wrapper ¶
func NewHitBtcV2Wrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewHitBtcV2Wrapper creates a generic wrapper of the HitBtc API v2.0.
func NewKrakenWrapper ¶
func NewKrakenWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewKrakenWrapper creates a generic wrapper of the poloniex API.
func NewKucoinWrapper ¶
func NewKucoinWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewKucoinWrapper creates a generic wrapper of theKucoin
func NewPoloniexWrapper ¶
func NewPoloniexWrapper(publicKey string, secretKey string, depositAddresses map[string]string) ExchangeWrapper
NewPoloniexWrapper creates a generic wrapper of the poloniex API.
type ExchangeWrapperSimulator ¶
type ExchangeWrapperSimulator struct {
// contains filtered or unexported fields
}
ExchangeWrapperSimulator wraps another wrapper and returns simulated balances and orders.
func NewExchangeWrapperSimulator ¶
func NewExchangeWrapperSimulator(mockedWrapper ExchangeWrapper, initialBalances map[string]decimal.Decimal) *ExchangeWrapperSimulator
NewExchangeWrapperSimulator creates a new simulated wrapper from another wrapper and an initial balance.
func (*ExchangeWrapperSimulator) BuyLimit ¶
func (wrapper *ExchangeWrapperSimulator) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit here is just to implement the ExchangeWrapper Interface, do not use, use BuyMarket instead.
func (*ExchangeWrapperSimulator) BuyMarket ¶
func (wrapper *ExchangeWrapperSimulator) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a FAKE market buy action.
func (*ExchangeWrapperSimulator) CalculateTradingFees ¶
func (wrapper *ExchangeWrapperSimulator) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
func (*ExchangeWrapperSimulator) CalculateWithdrawFees ¶
func (wrapper *ExchangeWrapperSimulator) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*ExchangeWrapperSimulator) FeedConnect ¶
func (wrapper *ExchangeWrapperSimulator) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*ExchangeWrapperSimulator) GetBalance ¶
func (wrapper *ExchangeWrapperSimulator) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*ExchangeWrapperSimulator) GetCandles ¶
func (wrapper *ExchangeWrapperSimulator) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*ExchangeWrapperSimulator) GetDepositAddress ¶
func (wrapper *ExchangeWrapperSimulator) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*ExchangeWrapperSimulator) GetMarketSummary ¶
func (wrapper *ExchangeWrapperSimulator) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*ExchangeWrapperSimulator) GetOrderBook ¶
func (wrapper *ExchangeWrapperSimulator) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*ExchangeWrapperSimulator) Name ¶
func (wrapper *ExchangeWrapperSimulator) Name() string
Name gets the name of the exchange.
func (*ExchangeWrapperSimulator) SellLimit ¶
func (wrapper *ExchangeWrapperSimulator) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit here is just to implement the ExchangeWrapper Interface, do not use, use SellMarket instead.
func (*ExchangeWrapperSimulator) SellMarket ¶
func (wrapper *ExchangeWrapperSimulator) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a FAKE market buy action.
func (*ExchangeWrapperSimulator) String ¶
func (wrapper *ExchangeWrapperSimulator) String() string
String returns a string representation of the exchange simulator.
type HitBtcWrapperV2 ¶
type HitBtcWrapperV2 struct {
// contains filtered or unexported fields
}
HitBtcWrapperV2 wraps HitBtc API v2.0
func (*HitBtcWrapperV2) BuyLimit ¶
func (wrapper *HitBtcWrapperV2) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*HitBtcWrapperV2) BuyMarket ¶
func (wrapper *HitBtcWrapperV2) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*HitBtcWrapperV2) CalculateTradingFees ¶
func (wrapper *HitBtcWrapperV2) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
func (*HitBtcWrapperV2) CalculateWithdrawFees ¶
func (wrapper *HitBtcWrapperV2) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*HitBtcWrapperV2) FeedConnect ¶
func (wrapper *HitBtcWrapperV2) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*HitBtcWrapperV2) GetBalance ¶
func (wrapper *HitBtcWrapperV2) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*HitBtcWrapperV2) GetCandles ¶
func (wrapper *HitBtcWrapperV2) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*HitBtcWrapperV2) GetDepositAddress ¶
func (wrapper *HitBtcWrapperV2) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*HitBtcWrapperV2) GetMarketSummary ¶
func (wrapper *HitBtcWrapperV2) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*HitBtcWrapperV2) GetMarkets ¶
func (wrapper *HitBtcWrapperV2) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*HitBtcWrapperV2) GetOrderBook ¶
func (wrapper *HitBtcWrapperV2) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*HitBtcWrapperV2) GetTicker ¶
func (wrapper *HitBtcWrapperV2) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*HitBtcWrapperV2) Name ¶
func (wrapper *HitBtcWrapperV2) Name() string
Name returns the name of the wrapped exchange.
func (*HitBtcWrapperV2) SellLimit ¶
func (wrapper *HitBtcWrapperV2) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*HitBtcWrapperV2) SellMarket ¶
func (wrapper *HitBtcWrapperV2) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*HitBtcWrapperV2) String ¶
func (wrapper *HitBtcWrapperV2) String() string
type KrakenWrapper ¶
type KrakenWrapper struct {
// contains filtered or unexported fields
}
KrakenWrapper provides a Generic wrapper of the Kraken API.
func (*KrakenWrapper) BuyLimit ¶
func (wrapper *KrakenWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*KrakenWrapper) BuyMarket ¶
func (wrapper *KrakenWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*KrakenWrapper) CalculateTradingFees ¶
func (wrapper *KrakenWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Kraken fees are currently hardcoded.
func (*KrakenWrapper) CalculateWithdrawFees ¶
func (wrapper *KrakenWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*KrakenWrapper) FeedConnect ¶
func (wrapper *KrakenWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*KrakenWrapper) GetBalance ¶
func (wrapper *KrakenWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*KrakenWrapper) GetCandles ¶
func (wrapper *KrakenWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*KrakenWrapper) GetDepositAddress ¶
func (wrapper *KrakenWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*KrakenWrapper) GetMarketSummary ¶
func (wrapper *KrakenWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*KrakenWrapper) GetMarkets ¶
func (wrapper *KrakenWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*KrakenWrapper) GetOrderBook ¶
func (wrapper *KrakenWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*KrakenWrapper) GetTicker ¶
func (wrapper *KrakenWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*KrakenWrapper) Name ¶
func (wrapper *KrakenWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*KrakenWrapper) SellLimit ¶
func (wrapper *KrakenWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
NOTE: In kraken buy and sell orders behave the same (the go kraken api automatically puts it on correct side)
func (*KrakenWrapper) SellMarket ¶
func (wrapper *KrakenWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*KrakenWrapper) String ¶
func (wrapper *KrakenWrapper) String() string
type KucoinWrapper ¶
type KucoinWrapper struct {
// contains filtered or unexported fields
}
KucoinWrapper wrapsKucoin
func (*KucoinWrapper) BuyLimit ¶
func (wrapper *KucoinWrapper) BuyLimit(market *environment.Market, amount, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*KucoinWrapper) BuyMarket ¶
func (wrapper *KucoinWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*KucoinWrapper) CalculateTradingFees ¶
func (wrapper *KucoinWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
func (*KucoinWrapper) CalculateWithdrawFees ¶
func (wrapper *KucoinWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*KucoinWrapper) FeedConnect ¶
func (wrapper *KucoinWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the exchange.
func (*KucoinWrapper) GetBalance ¶
func (wrapper *KucoinWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*KucoinWrapper) GetCandles ¶
func (wrapper *KucoinWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*KucoinWrapper) GetDepositAddress ¶
func (wrapper *KucoinWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*KucoinWrapper) GetMarketSummary ¶
func (wrapper *KucoinWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*KucoinWrapper) GetMarkets ¶
func (wrapper *KucoinWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*KucoinWrapper) GetOrderBook ¶
func (wrapper *KucoinWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*KucoinWrapper) GetTicker ¶
func (wrapper *KucoinWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*KucoinWrapper) Name ¶
func (wrapper *KucoinWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*KucoinWrapper) SellLimit ¶
func (wrapper *KucoinWrapper) SellLimit(market *environment.Market, amount, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*KucoinWrapper) SellMarket ¶
func (wrapper *KucoinWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*KucoinWrapper) String ¶
func (wrapper *KucoinWrapper) String() string
type OrderbookCache ¶
type OrderbookCache struct {
// contains filtered or unexported fields
}
OrderbookCache represents a local orderbook cache for every exchange. To allow dinamic polling from multiple sources (REST + Websocket)
func NewOrderbookCache ¶
func NewOrderbookCache() *OrderbookCache
NewOrderbookCache creates a new OrderbookCache Object
func (*OrderbookCache) Get ¶
func (cc *OrderbookCache) Get(market *environment.Market) (*environment.OrderBook, bool)
Get gets the value for the specified key.
func (*OrderbookCache) Set ¶
func (cc *OrderbookCache) Set(market *environment.Market, book *environment.OrderBook) *environment.OrderBook
Set sets a value for the specified key.
type PoloniexWrapper ¶
type PoloniexWrapper struct {
// contains filtered or unexported fields
}
PoloniexWrapper provides a Generic wrapper of the Poloniex API.
func (*PoloniexWrapper) BuyLimit ¶
func (wrapper *PoloniexWrapper) BuyLimit(market *environment.Market, amount float64, limit float64) (string, error)
BuyLimit performs a limit buy action.
func (*PoloniexWrapper) BuyMarket ¶
func (wrapper *PoloniexWrapper) BuyMarket(market *environment.Market, amount float64) (string, error)
BuyMarket performs a market buy action.
func (*PoloniexWrapper) CalculateTradingFees ¶
func (wrapper *PoloniexWrapper) CalculateTradingFees(market *environment.Market, amount float64, limit float64, orderType TradeType) float64
CalculateTradingFees calculates the trading fees for an order on a specified market.
NOTE: In Binance fees are currently hardcoded.
func (*PoloniexWrapper) CalculateWithdrawFees ¶
func (wrapper *PoloniexWrapper) CalculateWithdrawFees(market *environment.Market, amount float64) float64
CalculateWithdrawFees calculates the withdrawal fees on a specified market.
func (*PoloniexWrapper) FeedConnect ¶
func (wrapper *PoloniexWrapper) FeedConnect(markets []*environment.Market) error
FeedConnect connects to the feed of the poloniex websocket.
func (*PoloniexWrapper) GetBalance ¶
func (wrapper *PoloniexWrapper) GetBalance(symbol string) (*decimal.Decimal, error)
GetBalance gets the balance of the user of the specified currency.
func (*PoloniexWrapper) GetCandles ¶
func (wrapper *PoloniexWrapper) GetCandles(market *environment.Market) ([]environment.CandleStick, error)
GetCandles gets the candle data from the exchange.
func (*PoloniexWrapper) GetDepositAddress ¶
func (wrapper *PoloniexWrapper) GetDepositAddress(coinTicker string) (string, bool)
GetDepositAddress gets the deposit address for the specified coin on the exchange.
func (*PoloniexWrapper) GetMarketSummary ¶
func (wrapper *PoloniexWrapper) GetMarketSummary(market *environment.Market) (*environment.MarketSummary, error)
GetMarketSummary gets the current market summary.
func (*PoloniexWrapper) GetMarkets ¶
func (wrapper *PoloniexWrapper) GetMarkets() ([]*environment.Market, error)
GetMarkets gets all the markets info.
func (*PoloniexWrapper) GetOrderBook ¶
func (wrapper *PoloniexWrapper) GetOrderBook(market *environment.Market) (*environment.OrderBook, error)
GetOrderBook gets the order(ASK + BID) book of a market.
func (*PoloniexWrapper) GetTicker ¶
func (wrapper *PoloniexWrapper) GetTicker(market *environment.Market) (*environment.Ticker, error)
GetTicker gets the updated ticker for a market.
func (*PoloniexWrapper) Name ¶
func (wrapper *PoloniexWrapper) Name() string
Name returns the name of the wrapped exchange.
func (*PoloniexWrapper) SellLimit ¶
func (wrapper *PoloniexWrapper) SellLimit(market *environment.Market, amount float64, limit float64) (string, error)
SellLimit performs a limit sell action.
func (*PoloniexWrapper) SellMarket ¶
func (wrapper *PoloniexWrapper) SellMarket(market *environment.Market, amount float64) (string, error)
SellMarket performs a market sell action.
func (*PoloniexWrapper) String ¶
func (wrapper *PoloniexWrapper) String() string
type SummaryCache ¶
type SummaryCache struct {
// contains filtered or unexported fields
}
SummaryCache represents a local summary cache for every exchange. To allow dinamic polling from multiple sources (REST + Websocket)
func NewSummaryCache ¶
func NewSummaryCache() *SummaryCache
NewSummaryCache creates a new SummaryCache Object
func (*SummaryCache) Get ¶
func (sc *SummaryCache) Get(market *environment.Market) (*environment.MarketSummary, bool)
Get gets the value for the specified key.
func (*SummaryCache) Set ¶
func (sc *SummaryCache) Set(market *environment.Market, summary *environment.MarketSummary) *environment.MarketSummary
Set sets a value for the specified key.