{{define "exchanges huobi" -}} {{template "header" .}} ## 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 {{template "donations" .}} {{end}}