1. Архитектура Freqtrade, установка окружения и базовая конфигурация бота
Архитектура Freqtrade, установка окружения и базовая конфигурация бота
Добро пожаловать в курс «Полное руководство по Freqtrade». Это первая статья, в которой мы заложим фундамент для вашего будущего алгоритмического трейдинга. Прежде чем писать сложные стратегии и анализировать графики, необходимо понять, как устроен инструмент, с которым мы будем работать, и правильно его настроить.
Freqtrade — это бот для торговли криптовалютами с открытым исходным кодом, написанный на языке Python. Он позволяет автоматизировать покупку и продажу активов на основе технических индикаторов, проводить тестирование на исторических данных (бэктестинг) и оптимизировать параметры стратегий.
Архитектура Freqtrade
Понимание того, как Freqtrade обрабатывает данные и принимает решения, критически важно для написания эффективных стратегий. Бот работает не хаотично, а циклично, следуя строгой логике.
!Упрощенная схема работы Freqtrade: от получения данных с биржи до исполнения ордера.
Основные компоненты системы
ccxt.Жизненный цикл итерации
Бот работает в бесконечном цикле. Каждая итерация (или «тик») состоит из следующих шагов:
Установка окружения
Для стабильной работы бота рекомендуется использовать Docker. Это позволяет изолировать окружение бота от вашей основной операционной системы и избежать конфликтов версий библиотек Python. Мы будем рассматривать установку на примере Linux (Ubuntu) или WSL (Windows Subsystem for Linux), так как это стандарт де-факто для серверного софта.
Шаг 1: Подготовка системы
Убедитесь, что у вас установлены git, docker и docker compose. Если вы используете Windows, установите Docker Desktop.
Шаг 2: Загрузка Freqtrade
Создайте директорию для бота и скачайте конфигурационные файлы. Мы не будем клонировать весь репозиторий исходного кода, а используем Docker-образ.
Создайте папку проекта:
Загрузите официальный файл docker-compose.yml:
Шаг 3: Инициализация конфигурации
Теперь нам нужно создать структуру папок и базовый файл конфигурации. Запустите следующую команду:
В процессе выполнения вас попросят ответить на несколько вопросов:
* Do you want to enable Dry-run? — Отвечайте Yes (y). Это режим симуляции торговли без реальных денег.
* Please insert your stake currency — Обычно выбирают USDT.
* Please insert your stake amount — Можно оставить unlimited или ввести фиксированную сумму.
* Exchange — Выберите биржу, например binance.
После завершения у вас появится папка user_data, содержащая конфигурацию и пример стратегии.
Базовая конфигурация бота
Файл user_data/config.json — это пульт управления вашим ботом. Давайте разберем его ключевые секции.
Режимы торговли: Dry-run vs Live
Один из самых важных параметров — dry_run.
* Если dry_run: true, бот торгует «фантиками». Он видит реальные цены, но не отправляет настоящие ордера на биржу. Баланс берется из параметра dry_run_wallet.
* Если dry_run: false, бот торгует реальными средствами. Для этого потребуются API ключи.
> Никогда не запускайте непроверенную стратегию сразу на реальном счете (Live). Всегда начинайте с Dry-run.
Управление капиталом (Stake)
Параметры, определяющие размер позиции, находятся здесь:
Если вы установили stake_amount в значение unlimited, бот будет автоматически рассчитывать размер ставки, деля доступный капитал на количество разрешенных сделок. Это можно выразить формулой:
Где:
* — размер ставки на одну сделку (Stake Amount).
* — общий доступный капитал в кошельке (Total Capital).
* — максимальное количество открытых сделок (max_open_trades).
Например, если у вас 1000 USDT и разрешено 5 сделок, бот будет входить в каждую сделку на 200 USDT.
Выбор торговых пар (Exchange & Pairlist)
В секции exchange вы указываете биржу и (при необходимости) API ключи.
Секция pairlists определяет, какими монетами будет торговать бот. Самый простой вариант — статический список:
В будущем мы изучим VolumePairList, который позволяет боту самому выбирать монеты с самым высоким объемом торгов.
Первый запуск
Когда конфигурация готова, можно запускать бота. Убедитесь, что вы находитесь в папке с файлом docker-compose.yml.
Запуск в фоновом режиме:
Просмотр логов (журнала событий):
Если вы видите сообщения вроде Freqtrade is online и Searching for USDT pairs to buy, поздравляю — ваш бот работает!
Заключение
Мы разобрали архитектуру Freqtrade, установили его через Docker и настроили базовую конфигурацию. Сейчас ваш бот работает в режиме симуляции (Dry-run) со стандартной стратегией. В следующей статье мы погрузимся в мир данных: узнаем, как скачивать исторические данные и зачем они нужны для создания прибыльных стратегий.