package
0.0.0-20250311023717-5c21e974eed8
Repository: https://github.com/thrasher-corp/gocryptotrader.git
Documentation: pkg.go.dev

# README

GoCryptoTrader package Hitbtc

Build Status Software License GoDoc Coverage Status Go Report Card

This hitbtc 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.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

HitBTC Exchange

Current Features

  • REST Support
  • Websocket Support

How to enable

	// 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

var h exchange.IBotExchange

for i := range bot.Exchanges {
	if bot.Exchanges[i].GetName() == "HitBTC" {
		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:
// 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 and the exchange and returns its tradeID
tradeID, err := h.Trade(...)
if err != nil {
	// Handle error
}

Subscriptions

Subscriptions are for v2 api

All subscriptions are for spot.

Default Public Subscriptions:

  • Ticker
  • Orderbook
  • Candles ( Interval: 30 minutes, History: 100 )
  • All Trades ( History: 100 )

Default Authenticated Subscriptions:

  • My Account events

Subscriptions are subject to enabled assets and pairs.

Configure Levels for number of history entries to return for applicable APIs.

Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc

# Functions

GetRateLimit returns the rate limit for the exchange.

# Structs

ActiveLoans holds information about your active loans.
AuthenticatedTradeHistoryAll contains the full trade history.
AuthenticatedTradeHistoryResponse is the resp type for trade history.
AuthentictedTradeHistory contains trade history data.
Balance is a simple balance type.
ChartData contains chart data.
Currencies hold the full range of data for a specified currency.
DepositCryptoAddresses contains address information.
Fee holds fee structure.
GenericResponse is the common response from HitBTC.
HitBTC is the overarching type across the hitbtc package.
LendingHistory contains lending history data.
LoanOffer holds information about your loan offers.
LoanOrder contains information about your loans.
LoanOrders holds information on the full range of loan orders.
Margin holds full margin information.
MarginPosition holds information about your current margin position.
MoveOrderResponse holds information about a move order.
OpenOrdersResponse contains open order information.
OpenOrdersResponseAll holds the full open order response.
Order contains information about an order.
Orderbook contains orderbook data.
OrderbookItem is a sub type for orderbook response.
OrderHistoryResponse used for GetOrderHistory.
OrderResponse holds the order response information.
ResponseError contains error codes from JSON responses.
ResultingTrades holds resulting trade information.
Symbol holds symbol data.
TickerResponse is the response type.
TradeHistory contains trade history data.
Withdraw holds response for a withdrawal process.
WsCancelOrderRequest WS request.
WsCancelOrderRequestData WS request data.
WsCancelOrderResponse WS response.
WsCancelOrderResponseData WS response data.
WsGetActiveOrdersResponse WS response.
WsGetActiveOrdersResponseData WS response data.
WsGetCurrenciesRequest gets currencies.
WsGetCurrenciesRequestParameters parameters.
WsGetCurrenciesResponse currency response.
WsGetCurrenciesResponseData currency response data.
WsGetSymbolsRequest request data.
WsGetSymbolsRequestParameters request parameters.
WsGetSymbolsResponse symbol response.
WsGetSymbolsResponseData symbol response data.
WsGetTradesRequest trade request.
WsGetTradesRequestParameters trade request params.
WsGetTradesResponse response.
WsGetTradesResponseData trade response data.
WsGetTradesResponseTrades trade response.
WsGetTradingBalanceResponse WS response.
WsGetTradingBalanceResponseData WS response data.
WsLoginData sets credentials for WsLoginRequest.
WsLoginRequest defines login requirements for ws.
WsOrderbook defines websocket orderbook feed return params.
WsParams are websocket params for a request.
WsReplaceOrderRequest WS request.
WsReplaceOrderRequestData WS request data.
WsReplaceOrderResponse WS response.
WsReplaceOrderResponseData WS response data.
WsReportResponse report response for auth subscription to reports.
WsReportResponseData Report data for WsReportResponse.
WsRequest defines a request obj for the JSON-RPC and gets a websocket response.
WsSubmitOrderErrorResponse WS error response.
WsSubmitOrderErrorResponseData WS error response data.
WsSubmitOrderRequest WS request.
WsSubmitOrderRequestData WS request data.
WsSubmitOrderSuccessResponse WS response.
WsSubmitOrderSuccessResponseData WS response data.
WsTicker defines websocket ticker feed return params.
WsTrade defines websocket trade feed return params.