Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saniales/golang-crypto-trading-bot
A golang implementation of a console-based trading bot for cryptocurrency exchanges
https://github.com/saniales/golang-crypto-trading-bot
binance bittrex cryptocurrency-exchanges exchange go golang poloniex simulation-mode strategy trading-bot trading-strategies yobit
Last synced: 2 days ago
JSON representation
A golang implementation of a console-based trading bot for cryptocurrency exchanges
- Host: GitHub
- URL: https://github.com/saniales/golang-crypto-trading-bot
- Owner: saniales
- License: gpl-3.0
- Created: 2017-05-14T22:11:41.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-01-08T16:03:02.000Z (about 1 year ago)
- Last Synced: 2025-02-01T21:06:23.967Z (9 days ago)
- Topics: binance, bittrex, cryptocurrency-exchanges, exchange, go, golang, poloniex, simulation-mode, strategy, trading-bot, trading-strategies, yobit
- Language: Go
- Homepage:
- Size: 3.15 MB
- Stars: 1,099
- Watchers: 42
- Forks: 250
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- awesome-Char - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building / Contents)
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- fucking-awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- awesome-go - Golang CryptoTrading Bot - based trading bot for cryptocurrency exchanges. | 181 | 41 | 10 | (Bot Building)
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. Stars:`1.1K`. (Bot Building)
- awesome-golang-repositories - golang-crypto-trading-bot - based trading bot for cryptocurrency exchanges (Repositories)
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- awesome-go - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. - :arrow_down:0 - :star:67 (Bot Building)
- awesome-go-cn - Golang CryptoTrading Bot
- awesome-go-extra - golang-crypto-trading-bot - based trading bot for cryptocurrency exchanges|813|213|11|2017-05-14T22:11:41Z|2022-05-18T08:07:42Z| (Bot Building / Free e-books)
- awesome-go-with-stars - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. (Bot Building)
- awesome-go-cn - Golang CryptoTrading Bot - crypto-trading-bot) (Bot建设)
- awesome-go-plus - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. ![stars](https://img.shields.io/badge/stars-1097-blue) (Bot Building)
- awesome-go-plus - Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. ![stars](https://img.shields.io/badge/stars-1091-blue) (Bot Building)
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.
``` bash
go get github.com/saniales/golang-crypto-trading-bot
```If you need to, you can create a strategy and bind it to the bot:
``` go
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](https://godoc.org/github.com/saniales/golang-crypto-trading-bot).
## 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.
``` yaml
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 |