1) Что это за бот простыми словами
Это автоматический торговый бот на Kraken, который:
следит за ценой BTC/USDC,
покупает биткоин частями при падении цены,
продаёт каждую часть, когда цена вырастает на заданный процент,
ведёт учёт всех операций, баланса и текущего шага.
Это работает как “лесенка”:
цена падает → бот покупает ступенями,
цена растёт → бот продаёт те ступени, которые уже в прибыли.
2) Ключевая идея стратегии
Берётся бюджет и делится на равные части, например 50 частей по 2%.
Далее:
бот выбирает опорную точку (pivot) — верхнюю цену цикла,
при падении цены бот покупает по уровням:
уровень 1: покупка на 2% бюджета
уровень 2: ещё 2%
уровень 3: ещё 2%
и так далее
для каждой покупки сразу задаётся take profit:
куплено на уровне N → продаётся при росте на +2% от цены покупки.
Важно: каждый уровень — отдельная независимая сделка.
3) Что такое цикл (cycle)
Цикл — это период от определения pivot до завершения всех сделок.
Цикл заканчивается, когда:
все позиции проданы с прибылью,
или стратегия завершает цикл.
В цикле хранится:
cycle_id — номер цикла
pivot — опорная цена
max_price — максимальная цена
список позиций и уровней
4) Что такое тик (tick)
Тик — это один рабочий шаг бота:
получена текущая цена
получен баланс
принято решение BUY или SELL
выполнены действия
сохранено состояние
пауза на POLL_SECONDS
Если POLL_SECONDS=1, тик происходит раз в секунду.
Это важно из-за ограничений Kraken API и для стабильной работы.
5) Что значит MAX_BUYS_PER_TICK=3
Это ограничение количества покупок за один тик.
Если цена резко упала, бот: не покупает сразу все уровни, а покупает максимум 3 за тик.
Это нужно чтобы:
избежать ограничений API
предотвратить ошибки и рассинхронизацию
не потратить больше средств, чем доступно
обеспечить стабильность исполнения
Это ограничение безопасности, не прибыли.
6) Что должно быть внутри бота
A) Модуль стратегии (решает ЧТО делать)
Вход: текущая цена; состояние бота; параметры стратегии.
Выход:команды BUY / SELL / NEW_CYCLE
Стратегия только принимает решения, но не исполняет сделки.
B) Модуль исполнения (делает сделки)
отправляет ордера
получает ответ биржи
подтверждает результат (исполнен / ошибка)
C) State (память бота)
Хранится в state.json:
cycle_id, cycle_active
pivot, max_price, last_price
positions — открытые позиции
bought_levels — купленные уровни
pending_buys — покупки в процессе
Это позволяет боту восстановиться после перезапуска.
D) Логирование
Логи содержат:
BUY / SELL
цены, комиссии, балансы
ошибки
начало и конец циклов
Это необходимо для контроля и анализа работы.
7) Как бот работает по шагам
При запуске читает state.json
Если цикл не активен — создаёт новый
Каждый тик: получает цену; получает баланс; стратегия определяет действия.
Сначала выполняются SELL, затем BUY
После каждой сделки: обновляется state; записываются логи; В конце тика state сохраняется.
При перезапуске бот продолжает работу с сохранённого состояния.