Skip to content

Instantly share code, notes, and snippets.

@koistya
Last active July 25, 2024 12:43
Show Gist options
  • Save koistya/9f92b9296752c4434097885010fb17ba to your computer and use it in GitHub Desktop.
Save koistya/9f92b9296752c4434097885010fb17ba to your computer and use it in GitHub Desktop.
Начало работы с FreqTrade для алгоритмической торговли на рынке крипто #crypto

1. Установить Docker Desktop и текстовый редактор для кода

https://docs.docker.com/engine/install/ — Docker Desktop
https://code.visualstudio.com/download — VSCode Editor

2. Создать папку для проекта, создать там файл docker-compose.yml

services:
  ft:
    image: freqtradeorg/freqtrade:stable
    restart: unless-stopped
    container_name: ft
    volumes:
      - ".:/freqtrade/user_data"
    ports:
      - "0.0.0.0:8080:8080"
    command: >
      trade
      --logfile /freqtrade/user_data/logs/freqtrade.log
      --db-url sqlite:////freqtrade/user_data/ft.sqlite
      --config /freqtrade/user_data/config.json
      --strategy SuperEMA

3. Скачать Docker image

Убедиться что Docker запущен. Открыть терминал, зайти в папку с проектом (там где находится docker-compsoe.yml file) и выполнить команду:

docker compose pull

Эта команда скачает последнюю версию freqtradeorg/freqtrade:stable образа из Docker репозитория. Этой же командой можно всегда обновить образ когда выйдет следующая версия FreqTrade.

4. Создать первоночальную структуру проекта

docker compose run --rm ft create-userdir --userdir user_data

Посмотреть все доступные команды:

docker compose run --rm ft --help
{
"max_open_trades": 3,
"stake_currency": "USDT",
"stake_amount": "unlimited",
"tradable_balance_ratio": 0.99,
"dry_run": false,
"dry_run_wallet": 1000,
"cancel_open_orders_on_exit": false,
"trading_mode": "futures",
"margin_mode": "isolated",
"unfilledtimeout": {
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"exit_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exchange": {
"name": "bybit",
"key": "",
"secret": "",
"ccxt_config": {},
"ccxt_async_config": {},
"pair_whitelist": [
"BTC/USDT:USDT",
"ETH/USDT:USDT",
"TON/USDT:USDT",
"TRX/USDT:USDT"
],
"pair_blacklist": []
},
"pairlists": [
{
"method": "StaticPairList"
}
],
"telegram": {
"enabled": false,
"token": "",
"chat_id": ""
},
"api_server": {
"enabled": true,
"listen_ip_address": "0.0.0.0",
"listen_port": 8080,
"verbosity": "error",
"enable_openapi": false,
"jwt_secret_key": "57816a67f71f35ba6a6d6ad7cda1df63531aa9dc65d254e3573365c712bd20d0",
"ws_token": "4ltY6ZRFFeqK66fUrIAKhlMPn3MTLDayJQ",
"CORS_origins": [],
"username": "ft",
"password": ""
},
"bot_name": "freqtrade",
"initial_state": "running",
"force_entry_enable": false,
"internals": {
"process_throttle_secs": 5
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment