mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-22 07:26:50 +00:00
* Updating wrapper template, updating documentation, regenerating documentation * Renaming "streaming api" to "websocket" * Context is now t * Update docs/ADD_NEW_EXCHANGE.md Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io> * Update cmd/documentation/root_templates/root_readme.tmpl Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io> * Fixes an improper example and regenerates documentation * Corrects typos * Makes a table label consistent across files --------- Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
139 lines
4.0 KiB
Markdown
139 lines
4.0 KiB
Markdown
# GoCryptoTrader package Huobi
|
|
|
|
<img src="/common/gctlogo.png?raw=true" width="350px" height="350px" hspace="70">
|
|
|
|
|
|
[](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml)
|
|
[](https://github.com/thrasher-corp/gocryptotrader/blob/master/LICENSE)
|
|
[](https://godoc.org/github.com/thrasher-corp/gocryptotrader/exchanges/huobi)
|
|
[](https://codecov.io/gh/thrasher-corp/gocryptotrader)
|
|
[](https://goreportcard.com/report/github.com/thrasher-corp/gocryptotrader)
|
|
|
|
|
|
This huobi 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 our [GoCryptoTrader Kanban board](https://github.com/orgs/thrasher-corp/projects/3).
|
|
|
|
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://join.slack.com/t/gocryptotrader/shared_invite/zt-38z8abs3l-gH8AAOk8XND6DP5NfCiG_g)
|
|
|
|
## Huobi Exchange
|
|
|
|
### Current Features
|
|
|
|
+ REST Support
|
|
+ Websocket Support
|
|
|
|
### How to enable
|
|
|
|
+ [Enable via configuration](https://github.com/thrasher-corp/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
|
|
|
|
+ Individual package example below:
|
|
|
|
```go
|
|
// Exchanges will be abstracted out in further updates and examples will be
|
|
// supplied then
|
|
```
|
|
### How to do REST public/private calls
|
|
|
|
+ If enabled via "configuration".json file the exchange will be added to the
|
|
IBotExchange array in the ```go var bot Bot``` and you will only be able to use
|
|
the wrapper interface functions for accessing exchange data. View routines.go
|
|
for an example of integration usage with GoCryptoTrader. Rudimentary example
|
|
below:
|
|
|
|
main.go
|
|
```go
|
|
var h exchange.IBotExchange
|
|
|
|
for i := range bot.Exchanges {
|
|
if bot.Exchanges[i].GetName() == "Huobi" {
|
|
h = bot.Exchanges[i]
|
|
}
|
|
}
|
|
|
|
// Public calls - wrapper functions
|
|
|
|
// Fetches current ticker information
|
|
tick, err := h.UpdateTicker(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Fetches current orderbook information
|
|
ob, err := h.UpdateOrderbook(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
|
|
// set and AuthenticatedAPISupport is set to true
|
|
|
|
// Fetches current account information
|
|
accountInfo, err := h.GetAccountInfo()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
```
|
|
|
|
+ If enabled via individually importing package, rudimentary example below:
|
|
|
|
```go
|
|
// Public calls
|
|
|
|
// Fetches current ticker information
|
|
ticker, err := h.GetTicker()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Fetches current orderbook information
|
|
ob, err := h.GetOrderBook()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Private calls - make sure your APIKEY and APISECRET are set and
|
|
// AuthenticatedAPISupport is set to true
|
|
|
|
// GetUserInfo returns account info
|
|
accountInfo, err := h.GetUserInfo(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Submits an order to the exchange and returns its tradeID
|
|
tradeID, err := h.Trade(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
```
|
|
|
|
### Subscriptions
|
|
|
|
All subscriptions are for spot only.
|
|
|
|
Default Public Subscriptions:
|
|
- Ticker
|
|
- Candles ( Interval: 1min )
|
|
- Orderbook ( Level: 0 - No aggregation )
|
|
- Configure Level: 1-5 for depth aggregation, for example:
|
|
```json
|
|
{"enabled": true, "channel": "orderbook", "asset": "spot", "levels": 1}
|
|
```
|
|
- Trades
|
|
|
|
Default Authenticated Subscriptions:
|
|
- Account Trades
|
|
- Account Orders
|
|
- Account Updates
|
|
|
|
## Donations
|
|
|
|
<img src="/docs/assets/donate.png" hspace="70">
|
|
|
|
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
|
|
|
|
***bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc***
|