diff --git a/exchanges/alphapoint/alphapoint_wrapper.go b/exchanges/alphapoint/alphapoint_wrapper.go index 62cfec72..2b706bc9 100644 --- a/exchanges/alphapoint/alphapoint_wrapper.go +++ b/exchanges/alphapoint/alphapoint_wrapper.go @@ -1,6 +1,8 @@ package alphapoint import ( + "errors" + "github.com/thrasher-/gocryptotrader/currency/pair" "github.com/thrasher-/gocryptotrader/exchanges" "github.com/thrasher-/gocryptotrader/exchanges/orderbook" @@ -86,3 +88,10 @@ func (a *Alphapoint) GetOrderbookEx(p pair.CurrencyPair, assetType string) (orde } return ob, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (a *Alphapoint) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/anx/anx_wrapper.go b/exchanges/anx/anx_wrapper.go index 9ca3191c..edbc176f 100644 --- a/exchanges/anx/anx_wrapper.go +++ b/exchanges/anx/anx_wrapper.go @@ -1,6 +1,7 @@ package anx import ( + "errors" "log" "strconv" @@ -134,3 +135,10 @@ func (a *ANX) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.ExchangeName = a.GetName() return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (a *ANX) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/binance/binance_test.go b/exchanges/binance/binance_test.go index a02a02c7..d73f74c2 100644 --- a/exchanges/binance/binance_test.go +++ b/exchanges/binance/binance_test.go @@ -1,6 +1,7 @@ package binance import ( + "log" "testing" "github.com/thrasher-/gocryptotrader/config" @@ -59,10 +60,12 @@ func TestGetRecentTrades(t *testing.T) { func TestGetHistoricalTrades(t *testing.T) { t.Parallel() - _, err := b.GetHistoricalTrades("BTCUSDT", 5, 1337) + b.Verbose = true + v, err := b.GetHistoricalTrades("BTCUSDT", 5, 1337) if err == nil { t.Error("Test Failed - Binance GetHistoricalTrades() error", err) } + log.Println(v) } func TestGetAggregatedTrades(t *testing.T) { diff --git a/exchanges/binance/binance_wrapper.go b/exchanges/binance/binance_wrapper.go index 8656d486..b7187f28 100644 --- a/exchanges/binance/binance_wrapper.go +++ b/exchanges/binance/binance_wrapper.go @@ -120,3 +120,10 @@ func (b *Binance) GetExchangeAccountInfo() (exchange.AccountInfo, error) { var response exchange.AccountInfo return response, errors.New("not implemented") } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Binance) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/bitfinex/bitfinex_wrapper.go b/exchanges/bitfinex/bitfinex_wrapper.go index d1c61f35..cdaf22ce 100644 --- a/exchanges/bitfinex/bitfinex_wrapper.go +++ b/exchanges/bitfinex/bitfinex_wrapper.go @@ -1,6 +1,7 @@ package bitfinex import ( + "errors" "log" "net/url" @@ -156,3 +157,10 @@ func (b *Bitfinex) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Bitfinex) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/bitflyer/bitflyer_wrapper.go b/exchanges/bitflyer/bitflyer_wrapper.go index b17515ef..c0f48703 100644 --- a/exchanges/bitflyer/bitflyer_wrapper.go +++ b/exchanges/bitflyer/bitflyer_wrapper.go @@ -132,3 +132,10 @@ func (b *Bitflyer) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Bitflyer) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/bithumb/bithumb_wrapper.go b/exchanges/bithumb/bithumb_wrapper.go index 31572dc1..38ea884a 100644 --- a/exchanges/bithumb/bithumb_wrapper.go +++ b/exchanges/bithumb/bithumb_wrapper.go @@ -92,3 +92,10 @@ func (b *Bithumb) GetExchangeAccountInfo() (exchange.AccountInfo, error) { var response exchange.AccountInfo return response, errors.New("not implemented") } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Bithumb) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/bitstamp/bitstamp_wrapper.go b/exchanges/bitstamp/bitstamp_wrapper.go index 7949a41e..4798226d 100644 --- a/exchanges/bitstamp/bitstamp_wrapper.go +++ b/exchanges/bitstamp/bitstamp_wrapper.go @@ -1,6 +1,7 @@ package bitstamp import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -122,3 +123,10 @@ func (b *Bitstamp) GetExchangeAccountInfo() (exchange.AccountInfo, error) { }) return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Bitstamp) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/bittrex/bittrex_wrapper.go b/exchanges/bittrex/bittrex_wrapper.go index 4d2c08a7..e010dd05 100644 --- a/exchanges/bittrex/bittrex_wrapper.go +++ b/exchanges/bittrex/bittrex_wrapper.go @@ -1,6 +1,7 @@ package bittrex import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -147,3 +148,10 @@ func (b *Bittrex) UpdateOrderbook(p pair.CurrencyPair, assetType string) (orderb orderbook.ProcessOrderbook(b.GetName(), p, orderBook, assetType) return orderbook.GetOrderbook(b.Name, p, assetType) } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *Bittrex) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/btcc/btcc_wrapper.go b/exchanges/btcc/btcc_wrapper.go index 2702c4ff..086effc2 100644 --- a/exchanges/btcc/btcc_wrapper.go +++ b/exchanges/btcc/btcc_wrapper.go @@ -1,6 +1,7 @@ package btcc import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -126,3 +127,10 @@ func (b *BTCC) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.ExchangeName = b.GetName() return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *BTCC) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/btcmarkets/btcmarkets_wrapper.go b/exchanges/btcmarkets/btcmarkets_wrapper.go index 289194e9..aa31bf55 100644 --- a/exchanges/btcmarkets/btcmarkets_wrapper.go +++ b/exchanges/btcmarkets/btcmarkets_wrapper.go @@ -1,6 +1,7 @@ package btcmarkets import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -126,3 +127,10 @@ func (b *BTCMarkets) GetExchangeAccountInfo() (exchange.AccountInfo, error) { } return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (b *BTCMarkets) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/coinut/coinut_wrapper.go b/exchanges/coinut/coinut_wrapper.go index 9570ace4..feb64f97 100644 --- a/exchanges/coinut/coinut_wrapper.go +++ b/exchanges/coinut/coinut_wrapper.go @@ -1,6 +1,7 @@ package coinut import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -123,3 +124,10 @@ func (c *COINUT) UpdateOrderbook(p pair.CurrencyPair, assetType string) (orderbo orderbook.ProcessOrderbook(c.GetName(), p, orderBook, assetType) return orderbook.GetOrderbook(c.Name, p, assetType) } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (c *COINUT) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/exchange.go b/exchanges/exchange.go index 7ca150c8..2dc502de 100644 --- a/exchanges/exchange.go +++ b/exchanges/exchange.go @@ -35,6 +35,16 @@ type AccountCurrencyInfo struct { Hold float64 } +// TradeHistory holds exchange history data +type TradeHistory struct { + Timestamp int64 + TID int64 + Price float64 + Amount float64 + Exchange string + Type string +} + // Base stores the individual exchange information type Base struct { Name string @@ -74,6 +84,7 @@ type IBotExchange interface { GetExchangeAccountInfo() (AccountInfo, error) GetAuthenticatedAPISupport() bool SetCurrencies(pairs []pair.CurrencyPair, enabledPairs bool) error + GetExchangeHistory(pair.CurrencyPair, string) ([]TradeHistory, error) } // SetAssetTypes checks the exchange asset types (whether it supports SPOT, diff --git a/exchanges/exmo/exmo_wrapper.go b/exchanges/exmo/exmo_wrapper.go index 0bfbe815..ca887ed4 100644 --- a/exchanges/exmo/exmo_wrapper.go +++ b/exchanges/exmo/exmo_wrapper.go @@ -1,6 +1,7 @@ package exmo import ( + "errors" "log" "strconv" @@ -154,3 +155,10 @@ func (e *EXMO) GetExchangeAccountInfo() (exchange.AccountInfo, error) { } return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (e *EXMO) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/gdax/gdax_wrapper.go b/exchanges/gdax/gdax_wrapper.go index 6487162a..dfde1c69 100644 --- a/exchanges/gdax/gdax_wrapper.go +++ b/exchanges/gdax/gdax_wrapper.go @@ -1,6 +1,7 @@ package gdax import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -126,3 +127,10 @@ func (g *GDAX) UpdateOrderbook(p pair.CurrencyPair, assetType string) (orderbook orderbook.ProcessOrderbook(g.GetName(), p, orderBook, assetType) return orderbook.GetOrderbook(g.Name, p, assetType) } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (g *GDAX) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/gemini/gemini_wrapper.go b/exchanges/gemini/gemini_wrapper.go index 93254df3..4730813b 100644 --- a/exchanges/gemini/gemini_wrapper.go +++ b/exchanges/gemini/gemini_wrapper.go @@ -1,6 +1,7 @@ package gemini import ( + "errors" "log" "net/url" @@ -105,3 +106,10 @@ func (g *Gemini) UpdateOrderbook(p pair.CurrencyPair, assetType string) (orderbo orderbook.ProcessOrderbook(g.GetName(), p, orderBook, assetType) return orderbook.GetOrderbook(g.Name, p, assetType) } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (g *Gemini) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/hitbtc/hitbtc_wrapper.go b/exchanges/hitbtc/hitbtc_wrapper.go index cd4b4b02..2eb7d025 100644 --- a/exchanges/hitbtc/hitbtc_wrapper.go +++ b/exchanges/hitbtc/hitbtc_wrapper.go @@ -1,6 +1,7 @@ package hitbtc import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -137,3 +138,10 @@ func (p *HitBTC) GetExchangeAccountInfo() (exchange.AccountInfo, error) { } return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (h *HitBTC) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/huobi/huobi_wrapper.go b/exchanges/huobi/huobi_wrapper.go index f36257f1..47239f11 100644 --- a/exchanges/huobi/huobi_wrapper.go +++ b/exchanges/huobi/huobi_wrapper.go @@ -1,6 +1,7 @@ package huobi import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -142,3 +143,10 @@ func (h *HUOBI) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.ExchangeName = h.GetName() return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (h *HUOBI) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/itbit/itbit_wrapper.go b/exchanges/itbit/itbit_wrapper.go index 6c7ac68f..6d547e8d 100644 --- a/exchanges/itbit/itbit_wrapper.go +++ b/exchanges/itbit/itbit_wrapper.go @@ -1,6 +1,7 @@ package itbit import ( + "errors" "log" "strconv" @@ -107,3 +108,10 @@ func (i *ItBit) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.ExchangeName = i.GetName() return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (i *ItBit) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/kraken/kraken_wrapper.go b/exchanges/kraken/kraken_wrapper.go index c67b5472..536fb1db 100644 --- a/exchanges/kraken/kraken_wrapper.go +++ b/exchanges/kraken/kraken_wrapper.go @@ -1,6 +1,7 @@ package kraken import ( + "errors" "fmt" "log" "net/url" @@ -178,3 +179,10 @@ func (k *Kraken) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.ExchangeName = k.GetName() return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (k *Kraken) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/lakebtc/lakebtc_wrapper.go b/exchanges/lakebtc/lakebtc_wrapper.go index ad598cc3..cda61565 100644 --- a/exchanges/lakebtc/lakebtc_wrapper.go +++ b/exchanges/lakebtc/lakebtc_wrapper.go @@ -1,6 +1,7 @@ package lakebtc import ( + "errors" "log" "strconv" @@ -107,3 +108,10 @@ func (l *LakeBTC) GetExchangeAccountInfo() (exchange.AccountInfo, error) { } return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (l *LakeBTC) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/liqui/liqui_wrapper.go b/exchanges/liqui/liqui_wrapper.go index 8ecb1402..ef750603 100644 --- a/exchanges/liqui/liqui_wrapper.go +++ b/exchanges/liqui/liqui_wrapper.go @@ -1,6 +1,7 @@ package liqui import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -125,3 +126,10 @@ func (l *Liqui) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (l *Liqui) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/localbitcoins/localbitcoins_wrapper.go b/exchanges/localbitcoins/localbitcoins_wrapper.go index 034c296f..72d3c859 100644 --- a/exchanges/localbitcoins/localbitcoins_wrapper.go +++ b/exchanges/localbitcoins/localbitcoins_wrapper.go @@ -1,6 +1,7 @@ package localbitcoins import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/currency/pair" @@ -98,3 +99,10 @@ func (l *LocalBitcoins) GetExchangeAccountInfo() (exchange.AccountInfo, error) { response.Currencies = append(response.Currencies, exchangeCurrency) return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (l *LocalBitcoins) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/okcoin/okcoin_wrapper.go b/exchanges/okcoin/okcoin_wrapper.go index 547d9a15..4fff95be 100644 --- a/exchanges/okcoin/okcoin_wrapper.go +++ b/exchanges/okcoin/okcoin_wrapper.go @@ -1,6 +1,7 @@ package okcoin import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -140,3 +141,10 @@ func (o *OKCoin) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (o *OKCoin) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/okex/okex_wrapper.go b/exchanges/okex/okex_wrapper.go index a2821fad..3ceeb607 100644 --- a/exchanges/okex/okex_wrapper.go +++ b/exchanges/okex/okex_wrapper.go @@ -146,3 +146,10 @@ func (o *OKEX) GetExchangeAccountInfo() (exchange.AccountInfo, error) { var response exchange.AccountInfo return response, errors.New("not implemented") } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (o *OKEX) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/poloniex/poloniex_wrapper.go b/exchanges/poloniex/poloniex_wrapper.go index e269562d..b27e2f8f 100644 --- a/exchanges/poloniex/poloniex_wrapper.go +++ b/exchanges/poloniex/poloniex_wrapper.go @@ -1,6 +1,7 @@ package poloniex import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -137,3 +138,10 @@ func (p *Poloniex) GetExchangeAccountInfo() (exchange.AccountInfo, error) { } return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (po *Poloniex) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/wex/wex_wrapper.go b/exchanges/wex/wex_wrapper.go index d66f182b..05b27c28 100644 --- a/exchanges/wex/wex_wrapper.go +++ b/exchanges/wex/wex_wrapper.go @@ -1,6 +1,7 @@ package wex import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -112,3 +113,10 @@ func (w *WEX) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (w *WEX) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +} diff --git a/exchanges/yobit/yobit_wrapper.go b/exchanges/yobit/yobit_wrapper.go index c2739cc0..3bb6fa63 100644 --- a/exchanges/yobit/yobit_wrapper.go +++ b/exchanges/yobit/yobit_wrapper.go @@ -1,6 +1,7 @@ package yobit import ( + "errors" "log" "github.com/thrasher-/gocryptotrader/common" @@ -118,3 +119,10 @@ func (y *Yobit) GetExchangeAccountInfo() (exchange.AccountInfo, error) { return response, nil } + +// GetExchangeHistory returns historic trade data since exchange opening. +func (y *Yobit) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error) { + var resp []exchange.TradeHistory + + return resp, errors.New("trade history not yet implemented") +}