mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 15:09:42 +00:00
Linked stats with Exchange ticker data.
This commit is contained in:
@@ -193,11 +193,13 @@ func (b *Bitfinex) Run() {
|
||||
go func() {
|
||||
BitfinexLTC := b.GetTicker("ltcusd")
|
||||
log.Printf("Bitfinex LTC: Last %f High %f Low %f Volume %f\n", BitfinexLTC.Last, BitfinexLTC.High, BitfinexLTC.Low, BitfinexLTC.Volume)
|
||||
AddExchangeInfo(b.GetName(), "LTC", BitfinexLTC.Last, BitfinexLTC.Volume)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
BitfinexBTC := b.GetTicker("btcusd")
|
||||
log.Printf("Bitfinex BTC: Last %f High %f Low %f Volume %f\n", BitfinexBTC.Last, BitfinexBTC.High, BitfinexBTC.Low, BitfinexBTC.Volume)
|
||||
AddExchangeInfo(b.GetName(), "BTC", BitfinexBTC.Last, BitfinexBTC.Volume)
|
||||
}()
|
||||
time.Sleep(time.Second * b.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -121,6 +121,7 @@ func (b *Bitstamp) Run() {
|
||||
go func() {
|
||||
BitstampBTC := b.GetTicker()
|
||||
log.Printf("Bitstamp BTC: Last %f High %f Low %f Volume %f\n", BitstampBTC.Last, BitstampBTC.High, BitstampBTC.Low, BitstampBTC.Volume)
|
||||
AddExchangeInfo(b.GetName(), "BTC", BitstampBTC.Last, BitstampBTC.Volume)
|
||||
}()
|
||||
time.Sleep(time.Second * b.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -208,6 +208,7 @@ func (b *BTCChina) Run() {
|
||||
BTCChinaBTCHighUSD, _ := ConvertCurrency(BTCChinaBTC.High, "CNY", "USD")
|
||||
BTCChinaBTCLowUSD, _ := ConvertCurrency(BTCChinaBTC.Low, "CNY", "USD")
|
||||
log.Printf("BTCChina BTC: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", BTCChinaBTCLastUSD, BTCChinaBTC.Last, BTCChinaBTCHighUSD, BTCChinaBTC.High, BTCChinaBTCLowUSD, BTCChinaBTC.Low, BTCChinaBTC.Vol)
|
||||
AddExchangeInfo(b.GetName(), "BTC", BTCChinaBTCLastUSD, BTCChinaBTC.Vol)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -216,6 +217,7 @@ func (b *BTCChina) Run() {
|
||||
BTCChinaLTCHighUSD, _ := ConvertCurrency(BTCChinaLTC.High, "CNY", "USD")
|
||||
BTCChinaLTCLowUSD, _ := ConvertCurrency(BTCChinaLTC.Low, "CNY", "USD")
|
||||
log.Printf("BTCChina LTC: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", BTCChinaLTCLastUSD, BTCChinaLTC.Last, BTCChinaLTCHighUSD, BTCChinaLTC.High, BTCChinaLTCLowUSD, BTCChinaLTC.Low, BTCChinaLTC.Vol)
|
||||
AddExchangeInfo(b.GetName(), "LTC", BTCChinaLTCLastUSD, BTCChinaLTC.Vol)
|
||||
}()
|
||||
time.Sleep(time.Second * b.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -98,11 +98,13 @@ func (b *BTCE) Run() {
|
||||
go func() {
|
||||
BTCeBTC := b.GetTicker("btc_usd")
|
||||
log.Printf("BTC-e BTC: Last %f High %f Low %f Volume %f\n", BTCeBTC.Last, BTCeBTC.High, BTCeBTC.Low, BTCeBTC.Vol_cur)
|
||||
AddExchangeInfo(b.GetName(), "BTC", BTCeBTC.Last, BTCeBTC.Vol_cur)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
BTCeLTC := b.GetTicker("ltc_usd")
|
||||
log.Printf("BTC-e LTC: Last %f High %f Low %f Volume %f\n", BTCeLTC.Last, BTCeLTC.High, BTCeLTC.Low, BTCeLTC.Vol_cur)
|
||||
AddExchangeInfo(b.GetName(), "LTC", BTCeLTC.Last, BTCeLTC.Vol_cur)
|
||||
}()
|
||||
time.Sleep(time.Second * b.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ func (b *BTCMarkets) Run() {
|
||||
BTCMarketsBTCBestBidUSD, _ := ConvertCurrency(BTCMarketsBTC.BestBID, "AUD", "USD")
|
||||
BTCMarketsBTCBestAskUSD, _ := ConvertCurrency(BTCMarketsBTC.BestAsk, "AUD", "USD")
|
||||
log.Printf("BTC Markets BTC: Last %f (%f) Bid %f (%f) Ask %f (%f)\n", BTCMarketsBTCLastUSD, BTCMarketsBTC.LastPrice, BTCMarketsBTCBestBidUSD, BTCMarketsBTC.BestBID, BTCMarketsBTCBestAskUSD, BTCMarketsBTC.BestAsk)
|
||||
AddExchangeInfo(b.GetName(), "BTC", BTCMarketsBTCLastUSD, 0)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -80,6 +81,7 @@ func (b *BTCMarkets) Run() {
|
||||
BTCMarketsLTCBestBidUSD, _ := ConvertCurrency(BTCMarketsLTC.BestBID, "AUD", "USD")
|
||||
BTCMarketsLTCBestAskUSD, _ := ConvertCurrency(BTCMarketsLTC.BestAsk, "AUD", "USD")
|
||||
log.Printf("BTC Markets LTC: Last %f (%f) Bid %f (%f) Ask %f (%f)", BTCMarketsLTCLastUSD, BTCMarketsLTC.LastPrice, BTCMarketsLTCBestBidUSD, BTCMarketsLTC.BestBID, BTCMarketsLTCBestAskUSD, BTCMarketsLTC.BestAsk)
|
||||
AddExchangeInfo(b.GetName(), "LTC", BTCMarketsLTCLastUSD, 0)
|
||||
}()
|
||||
time.Sleep(time.Second * b.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -122,6 +122,7 @@ func (c *Coinbase) Run() {
|
||||
CoinbaseStats := c.GetStats("BTC-USD")
|
||||
CoinbaseTicker := c.GetTicker("BTC-USD")
|
||||
log.Printf("Coinbase BTC: Last %f High %f Low %f Volume %f\n", CoinbaseTicker.Price, CoinbaseStats.High, CoinbaseStats.Low, CoinbaseStats.Volume)
|
||||
AddExchangeInfo(c.GetName(), "BTC", CoinbaseTicker.Price, CoinbaseStats.Volume)
|
||||
}()
|
||||
time.Sleep(time.Second * c.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ func (h *HUOBI) Run() {
|
||||
HuobiBTCHighUSD, _ := ConvertCurrency(HuobiBTC.High, "CNY", "USD")
|
||||
HuobiBTCLowUSD, _ := ConvertCurrency(HuobiBTC.Low, "CNY", "USD")
|
||||
log.Printf("Huobi BTC: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", HuobiBTCLastUSD, HuobiBTC.Last, HuobiBTCHighUSD, HuobiBTC.High, HuobiBTCLowUSD, HuobiBTC.Low, HuobiBTC.Vol)
|
||||
AddExchangeInfo(h.GetName(), "BTC", HuobiBTCLastUSD, HuobiBTC.Vol)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -86,6 +87,7 @@ func (h *HUOBI) Run() {
|
||||
HuobiLTCHighUSD, _ := ConvertCurrency(HuobiLTC.High, "CNY", "USD")
|
||||
HuobiLTCLowUSD, _ := ConvertCurrency(HuobiLTC.Low, "CNY", "USD")
|
||||
log.Printf("Huobi LTC: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", HuobiLTCLastUSD, HuobiLTC.Last, HuobiLTCHighUSD, HuobiLTC.High, HuobiLTCLowUSD, HuobiLTC.Low, HuobiLTC.Vol)
|
||||
AddExchangeInfo(h.GetName(), "LTC", HuobiLTCLastUSD, HuobiLTC.Vol)
|
||||
}()
|
||||
time.Sleep(time.Second * h.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -86,6 +86,7 @@ func (i *ItBit) Run() {
|
||||
go func() {
|
||||
ItbitBTC := i.GetTicker("XBTUSD")
|
||||
log.Printf("ItBit BTC: Last %f High %f Low %f Volume %f\n", ItbitBTC.LastPrice, ItbitBTC.High24h, ItbitBTC.Low24h, ItbitBTC.Volume24h)
|
||||
AddExchangeInfo(i.GetName(), "BTC", ItbitBTC.LastPrice, ItbitBTC.Volume24h)
|
||||
}()
|
||||
time.Sleep(time.Second * i.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ func (l *LakeBTC) Run() {
|
||||
go func() {
|
||||
LakeBTCTickerResponse := l.GetTicker()
|
||||
log.Printf("LakeBTC USD: Last %f (%f) High %f (%f) Low %f (%f) Volume US %f (CNY %f)\n", LakeBTCTickerResponse.USD.Last, LakeBTCTickerResponse.CNY.Last, LakeBTCTickerResponse.USD.High, LakeBTCTickerResponse.CNY.High, LakeBTCTickerResponse.USD.Low, LakeBTCTickerResponse.CNY.Low, LakeBTCTickerResponse.USD.Volume, LakeBTCTickerResponse.CNY.Volume)
|
||||
AddExchangeInfo(l.GetName(), "BTC", LakeBTCTickerResponse.USD.Last, LakeBTCTickerResponse.USD.Volume)
|
||||
}()
|
||||
time.Sleep(time.Second * l.PollingDelay)
|
||||
}
|
||||
|
||||
@@ -107,11 +107,13 @@ func (o *OKCoin) Run() {
|
||||
go func() {
|
||||
OKCoinChinaIntlBTC := o.GetTicker("btc_usd")
|
||||
log.Printf("OKCoin Intl BTC: Last %f High %f Low %f Volume %f\n", OKCoinChinaIntlBTC.Last, OKCoinChinaIntlBTC.High, OKCoinChinaIntlBTC.Low, OKCoinChinaIntlBTC.Vol)
|
||||
AddExchangeInfo(o.GetName(), "BTC", OKCoinChinaIntlBTC.Last, OKCoinChinaIntlBTC.Vol)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
OKCoinChinaIntlLTC := o.GetTicker("ltc_usd")
|
||||
log.Printf("OKCoin Intl LTC: Last %f High %f Low %f Volume %f\n", OKCoinChinaIntlLTC.Last, OKCoinChinaIntlLTC.High, OKCoinChinaIntlLTC.Low, OKCoinChinaIntlLTC.Vol)
|
||||
AddExchangeInfo(o.GetName(), "LTC", OKCoinChinaIntlLTC.Last, OKCoinChinaIntlLTC.Vol)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -150,6 +152,7 @@ func (o *OKCoin) Run() {
|
||||
OKCoinChinaBTCHighUSD, _ := ConvertCurrency(OKCoinChinaBTC.High, "CNY", "USD")
|
||||
OKCoinChinaBTCLowUSD, _ := ConvertCurrency(OKCoinChinaBTC.Low, "CNY", "USD")
|
||||
log.Printf("OKCoin China: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", OKCoinChinaBTCLastUSD, OKCoinChinaBTC.Last, OKCoinChinaBTCHighUSD, OKCoinChinaBTC.High, OKCoinChinaBTCLowUSD, OKCoinChinaBTC.Low, OKCoinChinaBTC.Vol)
|
||||
AddExchangeInfo(o.GetName(), "BTC", OKCoinChinaBTCLastUSD, OKCoinChinaBTC.Vol)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -158,6 +161,7 @@ func (o *OKCoin) Run() {
|
||||
OKCoinChinaLTCHighUSD, _ := ConvertCurrency(OKCoinChinaLTC.High, "CNY", "USD")
|
||||
OKCoinChinaLTCLowUSD, _ := ConvertCurrency(OKCoinChinaLTC.Low, "CNY", "USD")
|
||||
log.Printf("OKCoin China: Last %f (%f) High %f (%f) Low %f (%f) Volume %f\n", OKCoinChinaLTCLastUSD, OKCoinChinaLTC.Last, OKCoinChinaLTCHighUSD, OKCoinChinaLTC.High, OKCoinChinaLTCLowUSD, OKCoinChinaLTC.Low, OKCoinChinaLTC.Vol)
|
||||
AddExchangeInfo(o.GetName(), "LTC",OKCoinChinaLTCLastUSD, OKCoinChinaLTC.Vol)
|
||||
}()
|
||||
}
|
||||
time.Sleep(time.Second * o.PollingDelay)
|
||||
|
||||
92
stats.go
92
stats.go
@@ -42,6 +42,18 @@ func (this ByVolume) Swap(i, j int) {
|
||||
}
|
||||
|
||||
func AddExchangeInfo(exchange, currency string, price, volume float64) {
|
||||
if len(ExchInfo) == 0 {
|
||||
AppendExchangeInfo(exchange, currency, price, volume)
|
||||
} else {
|
||||
if ExchangeInfoAlreadyExists(exchange, currency, price, volume) {
|
||||
return
|
||||
} else {
|
||||
AppendExchangeInfo(exchange, currency, price, volume)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func AppendExchangeInfo(exchange, currency string, price, volume float64) {
|
||||
exch := ExchangeInfo{}
|
||||
exch.Exchange = exchange
|
||||
exch.Currency = currency
|
||||
@@ -50,6 +62,16 @@ func AddExchangeInfo(exchange, currency string, price, volume float64) {
|
||||
ExchInfo = append(ExchInfo, exch)
|
||||
}
|
||||
|
||||
func ExchangeInfoAlreadyExists(exchange, currency string, price, volume float64) (bool) {
|
||||
for i, _ := range ExchInfo {
|
||||
if ExchInfo[i].Exchange == exchange && ExchInfo[i].Currency == currency {
|
||||
ExchInfo[i].Price, ExchInfo[i].Volume = price, volume
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func SortExchangesByVolume(currency string, reverse bool) []ExchangeInfo {
|
||||
info := []ExchangeInfo{}
|
||||
|
||||
@@ -83,73 +105,3 @@ func SortExchangesByPrice(currency string, reverse bool) []ExchangeInfo {
|
||||
}
|
||||
return info
|
||||
}
|
||||
|
||||
func PopulateExchangeInfo() {
|
||||
if bot.exchange.bitfinex.IsEnabled() {
|
||||
BitfinexBTC := bot.exchange.bitfinex.GetTicker("BTCUSD")
|
||||
BitfinexLTC := bot.exchange.bitfinex.GetTicker("LTCUSD")
|
||||
AddExchangeInfo(bot.exchange.bitfinex.GetName(), "BTC", BitfinexBTC.Last, BitfinexBTC.Volume)
|
||||
AddExchangeInfo(bot.exchange.bitfinex.GetName(), "LTC", BitfinexLTC.Last, BitfinexLTC.Volume)
|
||||
}
|
||||
if bot.exchange.bitstamp.IsEnabled() {
|
||||
BitstampBTC := bot.exchange.bitstamp.GetTicker()
|
||||
AddExchangeInfo(bot.exchange.bitstamp.GetName(), "BTC", BitstampBTC.Last, BitstampBTC.Volume)
|
||||
}
|
||||
if bot.exchange.btcchina.IsEnabled() {
|
||||
BTCChinaBTC := bot.exchange.btcchina.GetTicker("btccny")
|
||||
BTCChinaLTC := bot.exchange.btcchina.GetTicker("ltccny")
|
||||
BTCChinaBTCLastUSD, _ := ConvertCurrency(BTCChinaBTC.Last, "CNY", "USD")
|
||||
BTCChinaLTCLastUSD, _ := ConvertCurrency(BTCChinaLTC.Last, "CNY", "USD")
|
||||
AddExchangeInfo(bot.exchange.btcchina.GetName(), "BTC", BTCChinaBTCLastUSD, BTCChinaBTC.Vol)
|
||||
AddExchangeInfo(bot.exchange.btcchina.GetName(), "LTC", BTCChinaLTCLastUSD, BTCChinaLTC.Vol)
|
||||
}
|
||||
if bot.exchange.btce.IsEnabled() {
|
||||
BTCEBTC := bot.exchange.btce.GetTicker("btc_usd")
|
||||
BTCELTC := bot.exchange.btce.GetTicker("ltc_usd")
|
||||
AddExchangeInfo(bot.exchange.btce.GetName(), "BTC", BTCEBTC.Last, BTCEBTC.Vol_cur)
|
||||
AddExchangeInfo(bot.exchange.btce.GetName(), "LTC", BTCELTC.Last, BTCELTC.Vol_cur)
|
||||
}
|
||||
if bot.exchange.btcmarkets.IsEnabled() {
|
||||
BTCMarketsBTC := bot.exchange.btcmarkets.GetTicker("BTC")
|
||||
BTCMarketsLTC := bot.exchange.btcmarkets.GetTicker("LTC")
|
||||
BTCMarketsBTCUSD, _ := ConvertCurrency(BTCMarketsBTC.LastPrice, "AUD", "USD")
|
||||
BTCMarketsLTCUSD, _ := ConvertCurrency(BTCMarketsLTC.LastPrice, "AUD", "USD")
|
||||
AddExchangeInfo(bot.exchange.btcmarkets.GetName(), "BTC", BTCMarketsBTCUSD, 0)
|
||||
AddExchangeInfo(bot.exchange.btcmarkets.GetName(), "LTC", BTCMarketsLTCUSD, 0)
|
||||
}
|
||||
if bot.exchange.coinbase.IsEnabled() {
|
||||
CoinbaseBTC := bot.exchange.coinbase.GetTicker("BTC-USD")
|
||||
CoinbaseStats := bot.exchange.coinbase.GetStats("BTC-USD")
|
||||
AddExchangeInfo(bot.exchange.coinbase.GetName(), "BTC", CoinbaseBTC.Price, CoinbaseStats.Volume)
|
||||
}
|
||||
if bot.exchange.huobi.IsEnabled() {
|
||||
HuobiBTC := bot.exchange.huobi.GetTicker("btc")
|
||||
HuobiLTC := bot.exchange.huobi.GetTicker("ltc")
|
||||
HuobiBTCLastUSD, _ := ConvertCurrency(HuobiBTC.Last, "CNY", "USD")
|
||||
HuobiLTCLastUSD, _ := ConvertCurrency(HuobiLTC.Last, "CNY", "USD")
|
||||
AddExchangeInfo(bot.exchange.huobi.GetName(), "BTC", HuobiBTCLastUSD, HuobiBTC.Vol)
|
||||
AddExchangeInfo(bot.exchange.huobi.GetName(), "LTC", HuobiLTCLastUSD, HuobiLTC.Vol)
|
||||
}
|
||||
if bot.exchange.itbit.IsEnabled() {
|
||||
itbitBTC := bot.exchange.itbit.GetTicker("XBTUSD")
|
||||
AddExchangeInfo(bot.exchange.itbit.GetName(), "BTC", itbitBTC.LastPrice, itbitBTC.Volume24h)
|
||||
}
|
||||
if bot.exchange.okcoinIntl.IsEnabled() {
|
||||
okcoinIntlBTC := bot.exchange.okcoinIntl.GetTicker("btc_usd")
|
||||
okcoinIntlLTC := bot.exchange.okcoinIntl.GetTicker("ltc_usd")
|
||||
AddExchangeInfo(bot.exchange.okcoinIntl.GetName(), "BTC", okcoinIntlBTC.Last, okcoinIntlBTC.Vol)
|
||||
AddExchangeInfo(bot.exchange.okcoinIntl.GetName(), "LTC", okcoinIntlLTC.Last, okcoinIntlLTC.Vol)
|
||||
}
|
||||
if bot.exchange.okcoinChina.IsEnabled() {
|
||||
okcoinChinaBTC := bot.exchange.okcoinChina.GetTicker("btc_cny")
|
||||
okcoinChinaLTC := bot.exchange.okcoinChina.GetTicker("ltc_cny")
|
||||
okcoinChinaBTCLast, _ := ConvertCurrency(okcoinChinaBTC.Last, "CNY", "USD")
|
||||
okcoinChinaLTCLast, _ := ConvertCurrency(okcoinChinaLTC.Last, "CNY", "USD")
|
||||
AddExchangeInfo(bot.exchange.okcoinChina.GetName(), "BTC", okcoinChinaBTCLast, okcoinChinaBTC.Vol)
|
||||
AddExchangeInfo(bot.exchange.okcoinChina.GetName(), "LTC", okcoinChinaLTCLast, okcoinChinaLTC.Vol)
|
||||
}
|
||||
if bot.exchange.lakebtc.IsEnabled() {
|
||||
LakeBTC := bot.exchange.lakebtc.GetTicker()
|
||||
AddExchangeInfo(bot.exchange.lakebtc.GetName(), "BTC", LakeBTC.USD.Last, LakeBTC.USD.Volume)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user