Довідник з конфігурації
Повне пояснення полів конфігурації
Торговий бот ByNinja використовує декілька конфігураційних модулів для розділення відповідальності між виконанням торгів, підключенням до біржі та комунікацією в Telegram.
Система конфігурації розроблена як легка та файлова, що дозволяє легке розгортання, швидке редагування та передбачувану поведінку при запуску.
Конфігурація Telegram
Модуль конфігурації Telegram містить усі параметри, необхідні для зв'язку з Telegram Bot API та TCP інтеграції.
TELEGRAM_BOT_TOKEN
TELEGRAM_BOT_TOKEN = "your_telegram_bot_token"Токен Telegram бота використовується для аутентифікації з Telegram Bot API.
Цей токен генерується через BotFather у Telegram та унікально ідентифікує екземпляр бота.
Обов'язки:
- •Аутентифікує API запити
- •Дозволяє відправку сповіщень
- •Дозволяє отримувати команди користувача
- •Надає доступ до функцій Telegram бота
Важливо:
- •Ніколи не публікуйте токен публічно
- •Ніколи не додавайте його в публічні репозиторії
- •Ставтеся до нього як до приватного ключа
TELEGRAM_CHAT_ID
TELEGRAM_CHAT_ID = "your_private_telegram_chat_id"Приватний ID чату Telegram, куди доставляються сповіщення та торгові оповіщення.
Бот використовує цей ID, щоб обмежити зв'язок лише з авторизованим власником.
Обов'язки:
- •Скеровує сповіщення та оповіщення
- •Обмежує несанкціонований доступ
- •Дозволяє виконання приватних команд
Типове використання:
- •Особисті торгові сповіщення
- •Віддалене управління ботом
- •Моніторинг виконання торгів
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Визначає TCP порт, який використовується для зв'язку між Telegram сервером і торговим ботом.
Обидві програми повинні використовувати однакове значення порту.
Обов'язки:
- •TCP транспорт повідомлень
- •Маршрутизація віддалених команд
- •Пересилання логів у реальному часі
Важливо:
- •Порт має бути доступний у системі
- •Правила фаєрволу можуть потребувати налаштування
- •Обидва процеси повинні мати однакову конфігурацію
Конфігурація Binance
Модуль конфігурації Binance містить облікові дані для аутентифікації на біржі та налаштування торгового зв'язку.
BINANCE_API_KEY
BINANCE_API_KEY = "your_binance_api_key"Публічний API ключ, згенерований з акаунту Binance.
Використовується для аутентифікації запитів до сервісів Binance.
Обов'язки:
- •Доступ до ринкових даних
- •Дозволи на розміщення ордерів
- •Доступ до інформації про акаунт
Рекомендації з безпеки:
- •Увімкніть обмеження по IP, якщо можливо
- •Використовуйте дозволи лише для торгівлі
- •Уникайте увімкнення дозволів на зняття коштів
BINANCE_API_SECRET
BINANCE_API_SECRET = "your_binance_api_secret"Приватний API секрет у парі з Binance API ключем.
Використовується для підпису запитів та перевірки аутентифікації.
Важливо:
- •Повинен залишатися суворо приватним
- •Ніколи не публікуйте
- •Ніколи не надсилайте через логи або скріншоти
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Визначає порт TCP комунікації, який використовується TCP клієнтом торгового бота.
Це значення має збігатися з конфігурацією Telegram сервера.
Конфігурація Торгівлі
Модуль конфігурації торгівлі визначає розподіл капіталу, торгові пари, поведінку стратегії та управління ризиками портфеля.
INITIAL_CAPITAL
INITIAL_CAPITAL = 1000.0Визначає віртуальний або відстежуваний стартовий капітал для торгової системи.
Використовується для:
- •Розрахунку продуктивності
- •Розрахунку просадок
- •Відстеження експозиції портфеля
- •Статистики управління ризиками
Значення виражено в USDT.
TRADING_PAIRS
TRADING_PAIRS = [
"AVAXUSDT",
"LINKUSDT",
"DOTUSDT",
"XRPUSDT",
"ATOMUSDT"
]Список криптовалютних символів, що моніторяться та торгуються системою.
Кожен символ також повинен існувати у словнику TRADING_PARAMETERS .
Обов'язки:
- •Визначає активні торгові ринки
- •Контролює підписку на символи
- •Дозволяє виконання стратегії для кожного символу
Порада: Використовуйте редактор коду
Для зручнішого редагування конфігураційних файлів ми рекомендуємо використовувати професійний редактор коду, наприклад Visual Studio Code.
Download VS Code ↗Довідник торгових параметрів
Кожна торгова пара містить незалежний профіль конфігурації стратегії.
Цей дизайн дозволяє кожному ринку використовувати власні параметри волатильності, тренду та ризику.
lot_size
"lot_size": 0.5Мінімальний обсяг ордера для торгової пари.
Значення має відповідати вимогам біржі Binance до розміру лоту.
Мета:
- •Запобігає недійсним розмірам ордерів
- •Забезпечує сумісність з біржею
- •Контролює мінімальну точність торгівлі
position_size
"position_size": 18.0Максимальний розподіл капіталу в USDT для одного входу в угоду.
Мета:
- •Контролює експозицію позиції
- •Обмежує ризик на угоду
- •Запобігає надмірному розподілу
Вищі значення збільшують:
- •Потенційний прибуток
- •Потенційний збиток
- •Експозицію портфеля
take_profit_percent
"take_profit_percent": 2.81Цільовий відсоток прибутку відносно ціни входу.
Коли ринок досягає цього рівня, бот закриває позицію з прибутком.
Мета:
- •Фіксує прибуток
- •Визначає ціль винагороди
- •Стандартизує виходи
Приклад:
- •Вхід при 100 USDT
- •Тейк-профіт на 2.81%
- •Цільовий вихід = 102.81 USDT
stop_loss_percent
"stop_loss_percent": 1.41Максимально допустимий відсоток збитку нижче ціни входу.
Позиція автоматично закривається, якщо ринок рухається проти угоди.
Мета:
- •Обмежує ризик зниження
- •Захищає торговий капітал
- •Запобігає великим просадкам
Приклад:
- •Вхід при 100 USDT
- •Стоп-лос на 1.41%
- •Вихід при 98.59 USDT
trail_activation_percent
"trail_activation_percent": 1.3Поріг прибутку, необхідний перед активацією системи трейлінг-стопу.
До активації:
- •Використовується стандартний стоп-лос
Після активації:
- •Починається динамічний трейлінг-захист
Мета:
- •Захищає прибуткові угоди
- •Дозволяє прибуткам зростати
- •Зменшує передчасні виходи
trail_distance_percent
"trail_distance_percent": 0.8Відстань між поточним максимумом ринку та рівнем трейлінг-стопу.
Мета:
- •Захищає нереалізований прибуток
- •Дозволяє природний рух ринку
- •Створює динамічні виходи
Менші значення:
- •Жорсткіший захист
- •Швидші виходи
- •Більш чутлива поведінка
Більші значення:
- •Більше гнучкості
- •Більша тривалість угоди
- •Підвищена толерантність до відкатів
trail_tight_distance_percent
"trail_tight_distance_percent": 0.5Щільніша відстань трейлінг-стопу використовується в умовах сильного опору або розвороту.
Мета:
- •Агресивний захист прибутку
- •Швидші виходи з угод біля опору
- •Зменшена віддача прибутку
min_ema200_3m_slope
"min_ema200_3m_slope": -0.008Мінімально допустимий нахил 3-хвилинного індикатора EMA200.
Використовується як фільтр тренду на вищому таймфреймі.
Мета:
- •Уникає торгівлі під час сильних низхідних трендів
- •Фільтрує слабку ринкову структуру
- •Покращує вирівнювання за трендом
min_ema20_1m_slope
"min_ema20_1m_slope": 0.01Мінімальний нахил, необхідний для 1-хвилинного індикатора EMA20.
Використовується для підтвердження короткострокового імпульсу.
Мета:
- •Виявляє прискорення вгору
- •Підтверджує бичачий імпульс
- •Фільтрує плоскі ринкові умови
min_ema50_1m_slope
"min_ema50_1m_slope": 0.005Мінімальний нахил, необхідний для 1-хвилинного індикатора EMA50.
Діє як додаткове підтвердження тренду.
Мета:
- •Підтверджує середньостроковий напрямок
- •Зменшує хибні сигнали
- •Покращує якість входу
volume_spike_coeff
"volume_spike_coeff": 1.2Необхідний множник обсягу відносно середнього обсягу.
Бот відкриває угоди, лише якщо поточний обсяг перевищує налаштований поріг.
Мета:
- •Виявляє сильну участь ринку
- •Уникає входів з низькою ліквідністю
- •Підтверджує силу пробою
Приклад:
- •Середній обсяг = 1000
- •Коефіцієнт = 1.2
- •Необхідний обсяг = 1200+
max_candle_size
"max_candle_size": 0.8Максимально допустимий відсоток розміру свічки перед блокуванням входу.
Мета:
- •Уникає входів після завеликих свічок
- •Запобігає гонитві за надмірно розтягнутими рухами
- •Зменшує входи через FOMO
min_ema50_ema200_distance
"min_ema50_ema200_distance": 0.06Мінімальна відсоткова відстань, необхідна між EMA50 та EMA200.
Мета:
- •Підтверджує поділ ринкового тренду
- •Фільтрує слабкі тренди
- •Перевіряє структуру тренду
Вищі значення відстані зазвичай вказують на сильніші тренди.
min_ema20_ema50_distance
"min_ema20_ema50_distance": 0.10Мінімальна відстань, необхідна між індикаторами EMA20 та EMA50.
Мета:
- •Підтверджує силу короткострокового імпульсу
- •Фільтрує слабкі входи
- •Покращує якість сигналу
Довідник параметрів ризику
Система управління ризиками захищає як окремі символи, так і весь портфель.
max_portfolio_exposure
"max_portfolio_exposure": 90.0Максимальний відсоток капіталу портфеля, який може бути одночасно виділений на відкриті позиції.
Мета:
- •Запобігає надмірній експозиції
- •Підтримує резервну ліквідність
- •Зменшує системний ризик
max_consecutive_losses
"max_consecutive_losses": 10Максимальна кількість поспіль збиткових угод, дозволена перед тим, як торгівля призупиниться для символу.
Мета:
- •Виявляє нестабільні ринкові умови
- •Запобігає емоційній логіці переторговки
- •Обмежує періоди деградації стратегії
max_daily_drawdown_per_symbol
"max_daily_drawdown_per_symbol": 3.0Максимально допустимий відсоток денного збитку для окремої торгової пари.
Якщо перевищено:
- •Торгівля для символу тимчасово зупиняється
Мета:
- •Обмежує шкоду, специфічну для символу
- •Запобігає повторним збиткам на нестабільних ринках
max_total_drawdown_per_symbol
"max_total_drawdown_per_symbol": 6.0Максимально допустимий відсоток сукупного збитку для торгової пари за всі сесії.
Мета:
- •Виявляє символи, що стабільно не приносять прибутку
- •Запобігає довгостроковій ерозії капіталу
max_daily_drawdown
"max_daily_drawdown": 5.0Максимально допустимий відсоток денного збитку портфеля.
Якщо перевищено:
- •Уся торгова діяльність призупиняється
Мета:
- •Захищає портфель під час екстремальних ринкових умов
- •Обмежує катастрофічні щоденні збитки
max_total_drawdown
"max_total_drawdown": 10.0Максимальна сукупна просадка портфеля за весь життєвий цикл торгівлі.
Мета:
- •Діє як фінальний механізм захисту капіталу
- •Запобігає повному збою стратегії
- •Забезпечує довгострокову дисципліну ризиків
Після досягнення:
- •Торгові операції повинні залишатися вимкненими до проведення ручної перевірки.