modulepackage
0.0.0-20240329022609-e057ce78cec6
Repository: https://github.com/mcwarner5/blockbot8000.git
Documentation: pkg.go.dev
# README
BlockBot8000
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/mcwarner5/BlockBot8000
If you need to, you can create a strategy and bind it to the bot:
import bot "github.com/mcwarner5/BlockBot8000/cmd"
func main() {
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.
Get coinbase API Keys/Secrets at: coinbase.com/settings/api
Supported Exchanges
Exchange Name | REST Supported | Websocket Support | API Keys Website |
---|---|---|---|
Bittrex | Yes | No | |
Poloniex | Yes | Yes | |
Kraken | Yes (recommneded) | No | pro.kraken.com/app/settings/api |
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_configs:
enabled: true
start_date: '2023-01-01'
end_date: '2024-03-15'
public_key: ''
secret_key: ''
interval: 1440
fake_balances:
btc: 0.0
eth: 50.0
link: 0.0
avax: 0.0
sol: 0.0
dot: 0.0
ada: 0.0
matic: 0.0
algo: 0.0
atom: 0.0
usdt: 0.0
exchange_configs:
- exchange: kraken
public_key:
secret_key:
deposit_addresses:
'BTC': BTC_wallet
'ETH': ETH_wallet
'SOL': SOL_wallet
'DOT': DOT_wallet
'ADA': ADA_wallet
'XYZ': XYZ_wallet
'EOS': EOS_wallet
'ATOM': ATOM_wallet
'XLM': XLM_wallet
strategies:
- strategy: RebalancerStrategy
spec:
name: MyFirstRebalancer
interval: 1440
allowance_threshold: 0.25
market_cap_multiplier: 1.25
min_trade_size: 0.0075
static_coin: usdt
nuetral_coin: eth
portfolio_ratio_percent:
eth: 0.3
dot: 0.125
link: 0.125
sol: 0.2
ada: 0.2
usdt: 0.05
markets:
- market: eth-usdt
bindings:
- exchange: kraken
market_name: ETHUSDT
- exchange: simulator
market_name: "ETH-USDC"
- market: sol-usdt
bindings:
- exchange: kraken
market_name: SOLUSDT
- exchange: simulator
market_name: "SOL-USDC"
- market: link-usdt
bindings:
- exchange: kraken
market_name: LINKUSDT
- exchange: simulator
market_name: "LINK-USDC"
- market: dot-usdt
bindings:
- exchange: kraken
market_name: DOTUSDT
- exchange: simulator
market_name: "DOT-USDC"
- market: ada-usdt
bindings:
- exchange: kraken
market_name: ADAUSDT
- exchange: simulator
market_name: "ADA-USDC"
- market: usdt-usd
bindings:
- exchange: kraken
market_name: USDTZUSD
- exchange: simulator
market_name: "USDT-USD"
# Packages
No description provided by the author
No description provided by the author
Package environment contains all the trade environment.
Package examples contains different implementations of the strategies.
Package exchanges contains all wrappers for common exchanges.
Package strategies contains all strategies which can be used by the bot.
Package strategies contains all strategies which can be used by the bot.