Strategy Autostart¶
Docker autostart¶
Warning
Running any trading bots without manual supervision may incur additional risks. It is imperative that you thoroughly understand and test the strategy and parameters before deploying bots that can trade in an unattended manner.
Hummingbot can automatically start the execution of a previously configured trading strategy upon launch without needing user interaction when provided with pre-existing configuration files. This can be very useful if you wish to deploy already well-tested strategies and configurations to cloud services and have Hummingbot running automatically in the background.
Prerequisites¶
- You have Hummingbot running via Docker Compose
- You have already run the instance at least once and have set the password and API keys
- You have at least one strategy configuration file that has been set up previously
How to autostart¶
Stop any running containers
Modify YAML file
Use an IDE like VSCode to edit the docker-compose.yml file.
Edit or add the section that defines the environment variables:
-
The
environment:line -
The
CONFIG_PASSWORDline: add the Hummingbot password to login -
One of
CONFIG_FILE_NAMElines: add your script OR strategy config file -
Add your
SCRIPT_CONFIGfile if using a configurable script
The final environment section of the YAML file should look something like this:
environment:
- CONFIG_PASSWORD=password
- CONFIG_FILE_NAME=simple_pmm_example.py
- SCRIPT_CONFIG=conf_simple_pmm_example_config_1.yml
Afterwards, save the file.
You can auto-start either a Script or a Strategy:
-
Scripts are Python files that contain all strategy logic. If you define a
.pyfile asCONFIG_FILE_NAME, Hummingbot assumes it's a script file and looks for the.pyfile in thehummingbot_files/scriptsdirectory. -
Strategies are configurable strategy templates. If you define a
.ymlfile asCONFIG_FILE_NAME, Hummingbot assumes it's a strategy config file and looks for the.ymlfile in thehummingbot_files/conf/strategiesdirectory.
Relaunch Hummingbot
When you attach to it, the strategy or script should already be running:
Source autostart¶
Prerequisites¶
- You have Hummingbot installed via Source.
- You have already connected exchanges by adding API keys
- You have at least one strategy configuration file that has been set up previously
How to autostart¶
Running unattended Hummingbot is very similar to running Hummingbot manually. The only differences are:
- You will read the pre-existing configuration files to the
confdirectory. - You will pass some parameters telling Hummingbot which strategy configuration to use and the password to decrypt your API keys and wallets.
Where
CONFIG_PASSWORD is the config password
SCRIPT_FILE_NAME is the script / strategy file name
CONFIG_FILE_NAME is the script / strategy config file name
Example:
Let's say you configured your Hummingbot password as a single letter a and you created a config for the Simple PMM Example script which you then want to autostart as soon as you start the bot. Here's how you would configure the autostart command -
bin/hummingbot_quickstart.py -p a -f simple_pmm_example_config.py -c conf_simple_pmm_example_config_1.yml
Where:
-
ais the config password -
simple_pmm_example_config.pyis the script / strategy file name -
conf_simple_pmm_example_config_1.ymlis the script / strategy config file name
More information on strategy can be found in Strategy.
More information on configuration file name can be found in Configuring Hummingbot.
More information on password can be found in Create a secure password.