Description
A golang implementation of a console-based trading bot for cryptocurrency exchanges.
Download a release or directly build the code from this repository.
For strategy reference see the Godoc documentation.
Golang Crypto Trading Bot alternatives and similar packages
Based on the "Financial" category.
Alternatively, view Golang Crypto Trading Bot alternatives based on common mentions on social networks and blogs.
-
ach
ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available. -
sleet
DISCONTINUED. Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant ) -
https://github.com/alpeb/go-finance
Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. -
go-finnhub
DISCONTINUED. Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of Golang Crypto Trading Bot or a related project?
README
Golang Crypto Trading Bot
A golang implementation of a console-based trading bot for cryptocurrency exchanges.
Usage
Download a release or directly build the code from this repository.
go get github.com/saniales/golang-crypto-trading-bot
If you need to, you can create a strategy and bind it to the bot:
import bot "github.com/saniales/golang-crypto-trading-bot/cmd"
func main() {
bot.AddCustomStrategy(examples.MyStrategy)
bot.Execute()
}
For strategy reference see the Godoc documentation.
Simulation Mode
If enabled, the bot will do paper trading, as it will execute fake orders in a sandbox environment.
A Fake balance for each coin must be specified for each exchange if simulation mode is enabled.
Supported Exchanges
Exchange Name | REST Supported | Websocket Support |
---|---|---|
Bittrex | Yes | No |
Poloniex | Yes | Yes |
Kraken | Yes (no withdraw) | No |
Bitfinex | Yes | Yes |
Binance | Yes | Yes |
Kucoin | Yes | No |
HitBtc | Yes | Yes |
Configuration file template
Create a configuration file from this example or run the init
command of the compiled executable.
simulation_mode: true # if you want to enable simulation mode.
exchange_configs:
- exchange: bitfinex
public_key: bitfinex_public_key
secret_key: bitfinex_secret_key
deposit_addresses:
BTC: bitfinex_deposit_address_btc
ETH: bitfinex_deposit_address_eth
ZEC: bitfinex_deposit_address_zec
fake_balances: # used only if simulation mode is enabled, can be omitted if not enabled.
BTC: 100
ETH: 100
ZEC: 100
ETC: 100
- exchange: hitbtc
public_key: hitbtc_public_key
secret_key: hitbtc_secret_key
deposit_addresses:
BTC : hitbtc_deposit_address_btc
ETH: hitbtc_deposit_address_eth
ZEC: hitbtc_deposit_address_zec
fake_balances:
BTC: 100
ETH: 100
ZEC: 100
ETC: 100
strategies:
- strategy: strategy_name
markets:
- market: ETH-BTC
bindings:
- exchange: bitfinex
market_name: ETHBTC
- exchange: hitbtc
market_name: ETHBTC
- market: ZEC-BTC
bindings:
- exchange: bitfinex
market_name: ZECBTC
- exchange: hitbtc
market_name: ZECBTC
- market: ETC-BTC
bindings:
- exchange: bitfinex
market_name: ETCBTC
- exchange: hitbtc
market_name: ETCBTC
Donate
Feel free to donate:
METHOD | ADDRESS |
---|---|
Paypal | https://paypal.me/AlessandroSanino |
BTC | 1DVgmv6jkUiGrnuEv1swdGRyhQsZjX9MT3 |
XVG | DFstPiWFXjX8UCyUCxfeVpk6JkgaLBSNvS |
ETH | 0x2fe7bd8a41e91e9284aada0055dbb15ecececf02 |
USDT | 18obCEVmbT6MHXDcPoFwnUuCmkttLbK5Xo |
*Note that all licence references and agreements mentioned in the Golang Crypto Trading Bot README section above
are relevant to that project's source code only.