Система ручного ввода сделок — Руководство пользователя

  • Home
  • Documentation
  • Система ручного ввода сделок — Руководство пользователя

Обзор

Система ручного ввода сделок позволяет вам вручную добавлять торговые возможности, которые бот будет отслеживать и исполнять автоматически, не дожидаясь обычной генерации сигналов. Это идеально подходит, когда вы замечаете хорошие точки входа при ручном анализе рынка и не хотите, чтобы бот их пропустил.

Как это работает

🔄 Автоматическая горячая перезагрузка

  • Добавляйте записи в файл settings/manual_trade_symbols.yaml пока бот работает
  • Изменения подхватываются автоматически в течение 30 секунд (следующий цикл обработки)
  • Перезапуск не требуется!

🎯 Процесс исполнения сделки

  1. Вы добавляете запись о сделке в YAML-файл
  2. Бот обнаруживает новую запись на следующем цикле (≤ 30 секунд)
  3. Бот проверяет:
    • Символ присутствует в списке торгуемых инструментов бота
    • Нет активных ордеров по этому символу
    • Условия по цене выполнены (если установлен порог)
  4. Бот исполняет сделку автоматически
  5. Запись удаляется из YAML после успешного исполнения (предотвращение дублей)

Расположение файла конфигурации

settings/manual_trade_symbols.yaml

Описание полей

Symbol (обязательное)

  • Торговая пара в формате биржи
  • Примеры: BTCUSDT, ETHUSDT, 1000PEPEUSDT
  • Должно точно совпадать с тем, как символ отображается в списке бота

Price (обязательное)

  • 0 = бот сам получит и использует текущую рыночную цену (рекомендуется)
  • > 0 = использовать именно этот указанный уровень как точку отсчёта
  • При значении 0 бот:
    • Получает текущую рыночную цену
    • Обновляет это поле в YAML полученным значением
    • Использует эту цену для расчёта порогов в последующих циклах

Direction (обязательное)

  • Long = покупка / лонг-позиция
  • Short = продажа / шорт-позиция

Amount (обязательное)

  • 0 = использовать стандартный расчёт размера позиции бота
  • > 0 = задать конкретный объём (в валюте котировки)
  • Примеры:
    • 1000.0 = позиция на $1000
    • 2500.5 = позиция на $2500.50

ExecuteThresholdPerfect (обязательное)

  • 0 = исполнить немедленно (без ожидания движения цены)
  • > 0 = ждать, пока цена изменится на указанный процент, прежде чем исполнить
  • Для LONG: ждёт падения цены на эту величину %
  • Для SHORT: ждёт роста цены на эту величину %

Timestamp (необязательное)

  • Используйте null или полностью опустите поле
  • Бот автоматически заполнит его при обработке записи
  • Может использоваться в будущем для проверки срока действия

Примеры использования

Пример 1: Немедленный вход (увидели возможность СЕЙЧАС)

Trades:
 - Symbol: 'BTCUSDT'
 Price: 0 # использовать текущую цену
 Direction: Long # лонг
 Amount: 0 # стандартный размер
 ExecuteThresholdPerfect: 0 # исполнить немедленно
 Timestamp: null

Сценарий: BTC пробивает уровень — хотите войти прямо сейчас.


Пример 2: Покупка на откате (стратегия 5% отката)

Trades:
 - Symbol: 'ETHUSDT'
 Price: 0 # бот возьмёт текущую цену (например $3000)
 Direction: Long
 Amount: 1000 # позиция $1000
 ExecuteThresholdPerfect: 5 # ждать падения на 5% (исполнение ~$2850)
 Timestamp: null

Сценарий: ETH выглядит сильно, но немного перекуплен. Хотите купить при откате 5%.


Пример 3: Агрессивная покупка на просадке (откат 10%)

Trades:
 - Symbol: '1000PEPEUSDT'
 Price: 0
 Direction: Long
 Amount: 2000 # позиция $2000
 ExecuteThresholdPerfect: 10 # ждать падения на 10%
 Timestamp: null

Сценарий: PEPE сильно пампит. Хотите докупить при значительной просадке.


Пример 4: Шорт на пампе (ждать роста 3%)

Trades:
 - Symbol: 'SOLUSDT'
 Price: 0 # бот возьмёт текущую цену (например $100)
 Direction: Short # шорт
 Amount: 1500
 ExecuteThresholdPerfect: 3 # исполнить при росте на 3% (~$103)
 Timestamp: null

Сценарий: SOL выглядит перекупленным. Хотите зашортить, если ещё вырастет на 3%.


Пример 5: Многоуровневый вход

Trades:
  # немедленный вход
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 500
 ExecuteThresholdPerfect: 0 # войти сейчас
 Timestamp: null
  # добавить при откате 5%
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 5 # добавить позицию при падении 5%
 Timestamp: null
  # ещё добавить при откате 10%
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1500
 ExecuteThresholdPerfect: 10 # сильное усреднение при падении 10%
 Timestamp: null

Сценарий: Усреднение (DCA) в BTC на разных ценовых уровнях.


Важные замечания

Что нужно делать

  • ✅ Сохранять корректный YAML (правильные отступы, без синтаксических ошибок)
  • ✅ Использовать null для Timestamp (не None)
  • ✅ Писать Long или Short в Direction (не 0/1)
  • ✅ Проверять точное совпадение названий символов с биржей
  • ✅ Ждать минимум 30 секунд после добавления, чтобы бот увидел изменения

Чего делать нельзя

  • ❌ Не использовать None в Timestamp (только null или пропуск)
  • ❌ Не писать 0 / 1 в Direction
  • ❌ Не добавлять символы, которые бот не отслеживает
  • ❌ Не редактировать файл в момент, когда бот его сохраняет (риск race condition)

🔒 Меры безопасности

  • Нет дублирующих исполнений: запись удаляется после исполнения
  • Нет конфликтов: не исполняется, если по символу уже есть активные ордера
  • Автоматическая проверка цены: при 0 цена подтягивается и обновляется
  • Отслеживание времени: бот фиксирует момент создания каждой записи

📊 Мониторинг

Смотрите логи, чтобы увидеть, когда записи были обработаны:

  • logs/orders.YYYY-MM-DD.log — все исполнения сделок (JSON)
  • logs/trade_summary.YYYY-MM-DD.log — общие сводки
  • logs/debug.YYYY-MM-DD.log — подробная информация (при включённом debug-режиме)

Пример рабочего процесса

Шаг 1: Вы анализируете графики и видите, как ETHUSDT пробивает сопротивление

# добавляем в manual_trade_symbols.yaml
Trades:
 - Symbol: 'ETHUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 0
 Timestamp: null

Шаг 2: Сохраняете файл (бот продолжает работать)

Шаг 3: В течение 30 секунд бот:

  • Загружает файл
  • Получает текущую цену ETH (например $3000)
  • Обновляет поле Price в YAML значением 3000
  • Ставит Timestamp на текущее время
  • Проверяет отсутствие активных ордеров по ETHUSDT
  • Исполняет сделку
  • Удаляет запись из YAML

Шаг 4: Проверяете логи для подтверждения

✅ Сделка по ETHUSDT успешно исполнена
💾 Конфигурация ручных сделок обновлена и сохранена (исполненные записи удалены)

Профессиональные советы

💡 На волатильных рынках: ставьте более высокие пороги (10–20%), чтобы ловить лучшие точки входа

💡 Для мгновенных возможностей: используйте ExecuteThresholdPerfect: 0 и Amount: 0 для быстрого входа со стандартным размером

💡 Для наращивания позиции: добавляйте несколько записей с возрастающими порогами по одному символу

💡 Для контроля риска: указывайте конкретные суммы вместо 0, чтобы точно управлять размером позиции

💡 При работе с несколькими символами: группируйте похожие стратегии в YAML для удобства


Помните: эта система создана, чтобы дополнять ваш ручной анализ, а не заменять его. Используйте её с умом, чтобы ловить возможности, которые бот может пропустить в обычных циклах генерации сигналов! 🚀

📎 Related Topics