Introduction
Freqtrade is a free and open source crypto trading software. With Freqtrade, you can create fully customizable trading bots, make backtests, etc… The software is developed in python and is compatible with Windows, MacOS and Linux.
Tutorial’s goal : install Freqtrade and perform a backtest with a basic strategy
This tutorial is intended both for people wishing to create their first crypto trading bot and for curious people wishing to discover how Freqtrade works. Freqtrade does not offer a graphical user interface, and it is rather reserved for users with technical knowledge. If you want to easily and quickly create crypto trading bots, take a look at our platform Botcrypto. The registration is free!
Prerequisites
This tutorial has been realized on a Ubuntu 20.04 server.
We will need python3 and git.
- To install the various prerequisites, run the following command:
sudo apt install git && sudo apt install python3 && sudo apt install python3-pip && sudo apt install python3-venv
Freqtrade’s installation
- First, we will clone the git repository by executing the command below:
git clone https://github.com/freqtrade/freqtrade.git
- Once the download is complete, we will go to the freqtrade folder:
cd freqtrade
- Then we will execute as administrator the installation script setup.sh :
sudo ./setup.sh --install
For both downloading development dependencies and resetting the git branch, press the <Enter> key to choose the default value (which is ‘no’ in both cases).
Freqtrade’s configuration
- In order to use Freqtrade, you need to activate his virtual environment :
source .env/bin/activate;
You can now use the Freqtrade commands. First we will choose different parameters for your first robot.
- Execute the command
freqtrade new-config -c config.json
For each question, press the <Enter> key to choose the default value.
Freqtrade’s usage
- To create a strategy called test, simply execute the following command:
freqtrade new-strategy --strategy test
A strategy with default values is then created. We will see in a future tutorial how to customize this strategy.
Now we will use this strategy in a backtest, a test in the past. We will need the old market data.
- Execute
freqtrade download-data
to download old market data.
Downloading market data can take a few minutes.
- Once the download is complete, run :
freqtrade backtesting --strategy test
Once the backtest is complete, you will see a summary of its results.
We can see from the results of my bot that it was not very efficient:
-36.32% in a month in which the market lost only 10.2%. My bot made me lose 3.6x more money than if I had just invested…
We notice that the robot has 20 winning trades against 7 losers which questions us on the reason of the final result. We notice via the Worst day value that one day the robot lost 28.54%, which is considerable. If we had personalized our strategy by better managing our risk, this would not have happened. And that’s the subject of our next article 😉 [Tutorial] Create your own trading bot strategy with Freqtrade. In the meantime, you can consult our guide about trading bots to learn more about trading bots.
There’s a typo in this line: freqtrade new-strategy -–strategy test
It should hould be: freqtrade new-strategy –strategy test
Thaks for the tutorial 🙂
Hi Chris,
It was not correctly displayed, we fixed it! Thank you for your feedback.
Have a nice day!
Théo
When I do: freqtrade download-data. Nothing is happening. It’s not downloading anything because I think no trading pairs have been defined anywhere in this tutorial. For sure some steps are missing here, because it’s not downloading and therefore not back testing either. Can you please clarify where we define the trading pairs for this example?
Hi,
They are defined here “freqtrade new-config -c config.json” with the screenshot. Is it working with this step ?