mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
* gct: phase one context awareness pass * exchanges: context propagation pass * common/requester: force context requirement * gctcli/exchanges: linter fix * rpcserver: fix test using dummy rpc server * backtester: fix comments * grpc: add correct cancel and timeout for commands * rpcserver_test: add comment on dummy server * common: deprecated SendHTTPGetRequest * linter: fix * linter: turn on no context check * apichecker: fix context linter issue * binance: use param context * common: remove checks as this gets executed before main * common: change mutex to RW as clients can be used by multiple go routines. * common: remove init and JIT default client. Unexport global variables and add protection. * common: Add comments * bithumb: after dinner mints fix
3.9 KiB
3.9 KiB
GoCryptoTrader OHLCV support
This exchanges package is part of the GoCryptoTrader codebase.
This is still in active development
You can track ideas, planned features and what's in progress on this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.
Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack
Wrapper Methods
Candle retrieval is handled by two methods
GetHistoricCandles which makes a single request to the exchange and follows all exchange limitations
func (b *base) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error) {
return kline.Item{}, common.ErrFunctionNotSupported
}
GetHistoricCandlesExtended that will make multiple requests to an exchange if the requested periods are outside exchange limits
func (b *base) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error) {
return kline.Item{}, common.ErrFunctionNotSupported
}
both methods return kline.Item{}
// Item holds all the relevant information for internal kline elements
type Item struct {
Exchange string
Pair currency.Pair
Asset asset.Item
Interval Interval
Candles []Candle
}
// Candle holds historic rate information.
type Candle struct {
Time time.Time
Open float64
High float64
Low float64
Close float64
Volume float64
}
DBSeed helper
A helper tool cmd/dbseed has been created for assisting with candle data migration
Exchange status
| Exchange | Supported |
|---|---|
| Binance | Y |
| Bitfinex | Y |
| Bitflyer | |
| Bithumb | Y |
| Bitmex | |
| Bitstamp | Y |
| BTC Markets | Y |
| Bittrex | |
| BTSE | Y |
| Coinbase Pro | Y |
| Coinbene | Y |
| Coinut | |
| Exmo | |
| GateIO | Y |
| Gemini | |
| HitBTC | Y |
| Huobi | Y |
| FTX | Y |
| itBIT | |
| Kraken | Y |
| lBank | Y |
| Localbitcoins | |
| Okcoin | Y |
| Okex | Y |
| Poloniex | Y |
| Yobit | |
| ZB | Y |