Awesome
Managing Bot Cycles
This repository contains the sample folder structure to organize bot configurations and scripts to run your all your bots at once.
For your context, this structure is only for bots running Pure Market Making strategy, for other strategy, please modify line 30 and 31 in init_and_run_bots.sh
script to point to correct config file name and strategy.
.
└── bot-configurations/
├── asd-eth-usdt_files/
│ ├── hummingbot_conf/
│ └── hummingbot_scripts/
├── bin-bnb-busd_files/
├── kucoin-btc-usdt_files/
├── bots_to_run
├── init_and_run_bots.sh
├── readme.md
├── remove_bots.sh
└── start.sh
bot-configurations
is the root folderasd-eth-usdt_files
folder or any*_files
folder is the place to store bot configuration for any particular token pairhummingbot_conf
is the place to store bot main configuration fileshummingbot_scripts
is the place to store scriptsbots_to_run
text file to specify which pair to run botinit_and_run_bots.sh
bash script to init and run bots that are specified inbots_to_run
filereadme.md
this read meremove_bots.sh
stop and remove all bot instances, this will not cancel your trade ordersstart.sh
bash script to manually hook into your bot instance
How To Use This
The purpose of this folder structure and scripts is to make it easier to manage multiple bots and launch them all at once on your computer or server.
In order to do that, you need to do two things:
- Organize your bot configurations into folders and manage it from there.
- Manage the launch of your bot by using
bots_to_run
file andinit_and_run_bots.sh
script.
Configuration Folders
For each of your bot or token pair, you should put your configuration as follow:
asd-eth-usdt/
├── hummingbot_conf/
│ ├── conf_fee_overrides.yml
│ ├── conf_global.yml
│ ├── conf_pure_mm_asd-eth-usdt.yml
│ ├── hummingbot_logs.yml
│ └── ... // Any encrypted keys
└── hummingbot_scripts/
└── some_scripts.py
- Main folder should have the following naming convention:
[exchange]-[token]-[quote]_files
, in the above example, the folder is for the pair ETH/USDT on AscendEX exchange. This convention is for specifying which bot to run inbots_to_run
file and letsinit_and_run_bots.sh
script to find the config folder correctly, also it lets you know which exchange the pair is on - The config file for strategy
conf_pure_mm_asd-eth-usdt.yml
should follow the similar naming which isconf_pure_mm_[exchange]-[token]-[quote].yml
hummingbot_conf
is the place to store bot main configuration files and encrypted keyshummingbot_scripts
is the place to store scripts, this is applicable only for Pure Market Making strategy at the moment
Launching Bots
To launch bot you will need to specify what bot to run in bots_to_run
file, for example, this is the current content of the file:
asd-eth-usdt
bin-bnb-busd
This means only 2 bots (ETH/USDT
and BNB/BUSD
) will be launched.
After specifying bots in bots_to_run
file, you can run init_and_run_bots.sh
script to launch your bots:
bash init_and_run_bots.sh
The script will do the following steps:
- Stop and remove all current bot instances
- Read
bots_to_run
file to get the list of bots to launch - For each bot in the list, the script create new bot instance and run it, the bot instance will automatically start without any intervention
- There is a slight delay of 30 seconds between bot creation, this is for avoiding getting socket ban from the exchange
Utility Scripts
start.sh
bash script to manually hook into your bot instanceremove_bots.sh
stop and remove all bot instances, this will not cancel your trade orders