mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-31 07:26:44 +00:00
Bitmex exchange (#160)
* Added REST support for Bitmex * Added Bitmex documentation updates * Update config_example.json * Added final REST functions for user account operations. * Added initial websocket support * Change function access Added reconnection logic * Added initial routine management Updated wrapper functions * General fixes
This commit is contained in:
committed by
Adrian Gallagher
parent
a0de1b78a7
commit
06a0caec43
@@ -52,6 +52,7 @@ const (
|
||||
bitfinex = "..%s..%sexchanges%sbitfinex%s"
|
||||
bitflyer = "..%s..%sexchanges%sbitflyer%s"
|
||||
bithumb = "..%s..%sexchanges%sbithumb%s"
|
||||
bitmex = "..%s..%sexchanges%sbitmex%s"
|
||||
bitstamp = "..%s..%sexchanges%sbitstamp%s"
|
||||
bittrex = "..%s..%sexchanges%sbittrex%s"
|
||||
btcc = "..%s..%sexchanges%sbtcc%s"
|
||||
@@ -226,6 +227,7 @@ func addPaths() {
|
||||
codebasePaths["exchanges bitfinex"] = fmt.Sprintf(bitfinex, path, path, path, path)
|
||||
codebasePaths["exchanges bitflyer"] = fmt.Sprintf(bitflyer, path, path, path, path)
|
||||
codebasePaths["exchanges bithumb"] = fmt.Sprintf(bithumb, path, path, path, path)
|
||||
codebasePaths["exchanges bitmex"] = fmt.Sprintf(bitmex, path, path, path, path)
|
||||
codebasePaths["exchanges bitstamp"] = fmt.Sprintf(bitstamp, path, path, path, path)
|
||||
codebasePaths["exchanges bittrex"] = fmt.Sprintf(bittrex, path, path, path, path)
|
||||
codebasePaths["exchanges btcc"] = fmt.Sprintf(btcc, path, path, path, path)
|
||||
|
||||
98
tools/documentation/exchanges_templates/bitmex.tmpl
Normal file
98
tools/documentation/exchanges_templates/bitmex.tmpl
Normal file
@@ -0,0 +1,98 @@
|
||||
{{define "exchanges bitmex" -}}
|
||||
{{template "header" .}}
|
||||
## Bithumb Exchange
|
||||
|
||||
### Current Features
|
||||
|
||||
+ REST Support
|
||||
|
||||
### How to enable
|
||||
|
||||
+ [Enable via configuration](https://github.com/thrasher-/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 b exchange.IBotExchange
|
||||
|
||||
for i := range bot.exchanges {
|
||||
if bot.exchanges[i].GetName() == "Bitmex" {
|
||||
b = bot.exchanges[i]
|
||||
}
|
||||
}
|
||||
|
||||
// Public calls - wrapper functions
|
||||
|
||||
// Fetches current ticker information
|
||||
tick, err := b.GetTickerPrice()
|
||||
if err != nil {
|
||||
// Handle error
|
||||
}
|
||||
|
||||
// Fetches current orderbook information
|
||||
ob, err := b.GetOrderbookEx()
|
||||
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 := b.GetExchangeAccountInfo()
|
||||
if err != nil {
|
||||
// Handle error
|
||||
}
|
||||
```
|
||||
|
||||
+ If enabled via individually importing package, rudimentary example below:
|
||||
|
||||
```go
|
||||
// Public calls
|
||||
|
||||
// Fetches current ticker information
|
||||
ticker, err := b.GetTicker()
|
||||
if err != nil {
|
||||
// Handle error
|
||||
}
|
||||
|
||||
// Fetches current orderbook information
|
||||
ob, err := b.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 := b.GetUserInfo(...)
|
||||
if err != nil {
|
||||
// Handle error
|
||||
}
|
||||
|
||||
// Submits an order and the exchange and returns its tradeID
|
||||
tradeID, err := b.Trade(...)
|
||||
if err != nil {
|
||||
// Handle error
|
||||
}
|
||||
```
|
||||
|
||||
### Please click GoDocs chevron above to view current GoDoc information for this package
|
||||
{{template "contributions"}}
|
||||
{{template "donations"}}
|
||||
{{end}}
|
||||
@@ -25,6 +25,7 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
|
||||
| Bitfinex | Yes | Yes | NA |
|
||||
| Bitflyer | Yes | No | NA |
|
||||
| Bithumb | Yes | NA | NA |
|
||||
| BitMEX | Yes | No | NA |
|
||||
| Bitstamp | Yes | Yes | No |
|
||||
| Bittrex | Yes | No | NA |
|
||||
| BTCC | Yes | Yes | No |
|
||||
|
||||
Reference in New Issue
Block a user