fa.services.plutus
fa.services.plutus copied to clipboard
FrostAura Plutus is an automated trading platform.
fa.services.plutus
Description
FrostAura Plutus is a fully automated trading system.
Status
| Project | Status | Platform |
|---|---|---|
| FrostAura Legion Containerization | GitHub Actions | |
| FrostAura Plutus Docker | Docker Hub |
Docker Support
Local
The project supports being run as a container and is in fact indended to. In order to run this service locally, simply run docker-compose up in the directory where the docker-compose.yml file resides. The service will now run.
Docker Hub
Automated builds are set up for Docker Hub. To use this service without the source code running, use
docker pull frostaura/plutusor- Visit https://hub.docker.com/repository/docker/frostaura/plutus.
Docker Compose Example
version: "3"
services:
freqtrade:
image: "frostaura/plutus"
volumes:
- "./user_data:/freqtrade/user_data"
command: >
trade
--logfile /freqtrade/user_data/logs/freqtrade.log
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite
--config /freqtrade/user_data/config.json
--strategy FrostAuraM1Strategy
Custom Commands
Download Historical Market Data
Download historical market data for the configured pairs in the config.json file. This data can in turn be used to run backtesting and/or optimizations.
docker-compose run --rm freqtrade download-data --exchange binance --days 30 -t 1h 15m
Initiate Backtesting
This allows for testing a given strategy against downloaded market data. See the above. NOTE: Not specifying a time range means that backtesting will run on all downloaded market data.
docker-compose run --rm freqtrade backtesting --export trades --config user_data/config.json --strategy FrostAuraM1Strategy -i 1h
Initiate HyperOpt for a Given Strategy (ML Optimization)
This allows us to run an optimization of our own design in order to determine the optimal configuration of a strategy, given the downloaded market data. NOTE: Not specifying a time range means that optimizations will run on all downloaded market data.
docker-compose run --rm freqtrade hyperopt --config user_data/config.json -e 2000 --strategy FrostAura01Strategy --hyperopt-loss OnlyProfitHyperOptLoss -i 30m
How To
Getting Started
Docker Requirement
- Install Docker Desktop from here: https://www.docker.com/products/docker-desktop
- After installation, ensure that if you're on windows, you switch docker from windows containers to linux containers. This can be done via the Docker icon in the system tray.
Configuration
- Download the repo as a zip and extract it.
- Navigate to 'user_data' directory and open up 'config.json'.
- Configure 'dryrun mode' (NOTE: If you switch between dryrun true and false, always delete the 'tradesv3.sqlite' file before restarting the bot.)
- True = run with fake money.
- False = run with real money. (For this, the Binance configuration is required.)
- Configure the stakes per transaction.
- We allow 15 transactions by default for a given strategy (as seen in the config file) so you want to take your total BTC holdings and / 15 = stake
- Configure Binance
- For this you will have to create an API key from Binance's web platform and store the key and secret in the respective fields in the config file.
- Configure Telegram (You will need a new Telegram bot for each strategy you decide to run)
- Follow https://www.freqtrade.io/en/stable/telegram-usage/
- Strategy Configuration
- Depending on which strategy you want to run, open up the 'docker-compose.yml' file and edit the '--strategy' property value from for example 'FrostAuraM1Strategy' to 'FrostAuraM4Strategy'.
- Running The Bot
- Open a terminal in the directory where the 'docker-compose.yml' file exists.
- Type 'docker-compose up -d' to run it in disconnected more OR
- Type 'docker-compose up' to run it in the terminal window (the bot will stop running once you close this window).
- Running Multiple Strategies at Once
- Simple Duplicate the entire folder with all the bot files (docker-compose.yml, user_data etc), for as many strategies you want to run.
- Repeat the above configuration and running steps for each of those directories in seperate terminal windows. (Your exchange information would be the same for all bots. Your Telegram bot id should be different for all strategies).
- Remeber to adjust your stakes according to how many strategies you will be running concurrently. (Example, We allow 15 transactions by default for a given strategy (as seen in the config file) so you want to take your total BTC holdings and / ( 15 * how many strategies you plan to run) = stake )
Customization
Strategies
When creating your own strategies, follow the Freqtrade documentation to get going here: https://www.freqtrade.io/en/stable/strategy-customization/
Once you have your strategy coded, you can simply
- Move it in to 'user_data/strategies' directory.
- Edit the '--strategy' property value from for example 'FrostAuraM1Strategy' to 'YourNewStrategyName', before running the new strategy executing the 'docker-compose up' command.
Credits
Freqtrade (https://www.freqtrade.io/) is used as the underlying trading framework so all credit to them. This repository aims to provide custom strategies for this framework and create an automated pipeline where the strategies can evolve over nightly builds by ML optimizations running on each build.
Contribute
In order to contribute, simply fork the repository, make changes and create a pull request.
Support
To support me in publishing and optimizing strategies, please use my referral link below it won't cost you anything but will help me lots :)
Also if you enjoy FrostAura open-source content and would like to support us in continuous delivery, please consider a donation via a platform of your choice.
| Supported Platforms | Link |
|---|---|
| PayPal | Donate via Paypal |
| Binance | Binance Affiliate Signup |
For any queries, contact [email protected].