Архітектура Смарт Трейдинг Бот.
Задача: реалізація максимально швидкого розрахунку та відкриття ордера на біржі ByBit
Підготовка даних
Парсимо всі токени на біржі байбит (spot / futures, окремо), список оновлюється раз на 5 хвилин за кроном.
Підключаємось по сокету до кожної монети і збираємо в реальному часі тики (зміна ордер бука) та угоди.
Відправляємо це все у Вікторію Метрикс, дані до 5 хв – зберігаємо в оперативній пам'яті
Окремо для спота, окремо для ф'ючерсів збираємо актуальний ордер бук самостійно по тикам
Розрахунок даних для угоди
Розраховуємо динаміку зміни ціни по VOLUME.
Для цього беремо середню ціну для асків (для відкриття лонга) в еквіваленті об'ємів:
1 000$, 5 000$ (крок у вигляді масиву задається в налаштуваннях)
Порівнюємо зі середнім значенням по угодах за останні 60 і 300 сек
Порівнюємо зі середнім значенням асків (на той же об'єм) по історії ордербуків.
На виході отримуємо масив [price_difference_60s]
1000$ - 5.86%
5000$ - 6.12%
Робимо перевірку, якщо на об'ємі 1000$ delta в ціні менше 10% (PRICE_CHANGE_DELTA_60S = 10), тоді продовжуємо логіку\покупку.
Розрахунок даних сліпажу для визначення сайзу.
Використовуючи задану константу (MAX_SLIPPAGE_PERCENT = 5) додаємо построчно аски, поки не досягнемо потрібного ліміту в >5%
Умножаємо волум на ціну в стакані, щоб розрахувати доступний volume в стакані з урахуванням граничного сліпажу.
Використовуємо змінну з конфіга (MAX_POSITION_SIZE_IN_USD = 10000) для остаточного розрахунку сайзу. Наприклад, в ордербуці в аска доступний волум 8500$ зі сліпажем <5%, значить це наш розмір позиції 8500$, якщо об'єм доступний >10000$, тоді наш розмір позиції буде 10 000$ (взято з MAX_POSITION_SIZE_IN_USD)
Відкриття угоди
Відправляємо на вебсокеті і через rest api лімітні ордери з ціною асків +5% до ціни (взято з MAX_SLIPPAGE_PERCENT) і параметр IOC (immediantly or cancel).
Разом з ордером встановлюється stop loss/take profit по 33% сайзу на ріст +10%, +20%, +30%
Стоп лосс встановлюється на -10% від першого аска в стакані.
Передавати в ордер orderLinkId і "smpType": "CancelTaker" для коректної роботи скрипта при паралельному запуску на кількох серверах.
Важливо продумати систему реконнектів, ретраїв, логів і алертів
Warm_up_mode, раз в 30 секунд відправляти “фейк” ордер на біржу для підтримання активності.
Система генерації ja3 finger prints
Задача не проста, вимагає повного залучення, тому якщо у вас пару годин часу в день - не підходить. Потрібен людина з повним зануренням у питання.
-
295 Доброго дня.
Легко створю бота. По вашим вимогам.
Хоча є вже готовий продукт ось характеристика:
Очікуваний прибуток за місяць: 90⋅0.7%=63% 90 cdot 0.7% = 63% 90⋅0.7%=63% (без урахування складного відсотка).
З урахуванням складного відсотка (якщо прибуток реінвестується): Загальна прибутковість=(1+0.7100)90−1≈86.8%text{Загальна прибутковість} = left(1 + frac{0.7}{100}right)^{90} – 1 approx 86.8%Загальна прибутковість=(1+1000.7)90−1≈86.8%
Тобто за місяць бот може теоретично забезпечити прибутковість ~86.8% при 60% точності сигналів і 3 угодах на день.
3. Фактори, що впливають на реальну прибутковість
Точність сигналів: Реальна точність може бути нижчою через ринковий шум, помилки прогнозування або спайки цін. Код включає механізм виявлення спайків (is_spike), що знижує кількість помилкових входів.
-
198 Привіт! Зроблю реальний-тайм збір спот/фьюч пар ByBit, тики/угоди через WS, зберігання 5-хв в пам'яті та потік у VictoriaMetrics. Реконструюю стакани «по тикам» і порахую VOLUME-weighted ціну на $1k/$5k з порівнянням 60/300s і історією стаканів. Логіка входу: дельта-поріг, розрахунок слиппажа ≤5%, сайз до $10k; виконання — лімітний IOC з націнкою до 5%, одразу TP 3×(10/20/30%) і SL −10%, orderLinkId + smpType: CancelTaker. Закладу ретраи/реконнекти, логи/алерти, «прогрів» з'єднань — без сірих JA3-обходів (працюю через офіційні SDK/keepalive/testnet, щоб не ловити ризики по ToS). Термін: 6–9 робочих днів при повному зануренні. Бюджет: $2 500–$3 200 по етапах, без демпінгу; фіксую T&M/мілстоуни. Пара уточнень: у вас вже розгорнута VictoriaMetrics чи піднімаю сам? Потрібні API-ключі (testnet+prod) з правами Trade/Read-Only і перелік точних обсягів (масив) для розрахунку
-
Одного не могу понять, кто родил мысль что можно открыть сотню сокет соединений с одного ip. А тут для всех монет, для спота и фьючов! Это уже как миф ходит, все мечтают и не могут.
-
Актуальні фриланс-проєкти в категорії C та C++
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 7 днів 6 годин тому ∙ 6 ставок |
Розробка Minecraft Java Seed Map / Seed Viewer для сайтуРозробка Minecraft Java Seed Map / Seed Viewer для сайтуОпис проєкту Потрібно розробити browser-based інструментMinecraft Java Seed Map / Seed Viewer, який буде працювати на нашому сайті та дозволятиме користувачу ввести seed Minecraft Java Edition і переглянути інтерактивну… C та C++, HTML та CSS верстання ∙ 7 днів 13 годин тому ∙ 15 ставок |
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x)
1000 UAH
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x) на ідентичній апаратній платформі (ESP32 + SX1268, 2W) за критеріями дальності, пропускної спроможності, стабільності лінка та енергоспоживання. Провести тести з вимірюваннями з… C та C++, C# ∙ 11 днів 20 годин тому ∙ 2 ставки |