Трейдинг-бот на Pocket Option — наскільки це виявилось складніше, ніж очікував

Передмова

Після створення повноцінного демо-бота для OKX (з підтримкою TP/SL, ROE, таблицями позицій, live-логом, AI-модулем і технічними індикаторами), я був упевнений, що зможу легко повторити цей досвід на іншій платформі.

Одного дня мене попросили реалізувати аналогічного бота для Pocket Option — платформи з бінарними опціонами. Мовляв, «у тебе ж усе вже готове — просто адаптуй логіку».

На перший погляд, це справді здавалося простим завданням. Але чим глибше я занурювався, тим більше розумів: тут зовсім інша архітектура, інші принципи, а головне — майже повна відсутність публічного API. І саме це перетворило, здавалося б, легкий проєкт на справжній технічний виклик.

Помилка № 1: «Та там усе як на OKX»

Pocket Option — це не класична біржа. Тут немає повноцінного API-доступу. Весь функціонал працює через внутрішній WebSocket-зв’язок, який:

  • не документований;
  • прив’язаний до браузерної сесії;
  • змінюється динамічно;
  • легко ламається при найменшій помилці.

Будь-яка спроба «просто підключитись і надіслати ордер» закінчується тайм-аутом або розривом з’єднання. Ніяких токенів, ніякої офіційної авторизації. Тільки інспектор браузера, снифінг трафіку й експерименти методом проб і помилок.

Помилка № 2: «Зроблю через WebSocket і буде як API»

Я дійсно спробував зробити усе «по-чесному»: підняв pocketoptionapi, зібрав структуру запитів, підключився до WS, почав зчитувати список активів, формувати запити на ордери, перевіряти відповіді...

І щось вдалося:

  • ✅ Зчитування активів у реальному часі
  • ✅ Виведення активів у GUI
  • ✅ Створення кнопок Buy/Put
  • ✅ Зв’язок із AI-модулем, що аналізував ситуацію та давав сигнали

Але паралельно виникли серйозні обмеження:

  • ❌ Будь-яке відхилення у структурі пакету — WS-сесія миттєво обривається
  • ❌ DEMO-ордери не проходять стабільно
  • ❌ Реєстрація або підтвердження угод нестабільні й зав’язані на авторизовану сесію
  • ❌ Інтерфейс дуже залежить від таймерів і фронтенду

Ще одна проблема: індикаторів немає взагалі

На відміну від OKX, де можна легко підтягнути RSI, SMA, MACD на будь-який таймфрейм — в PO ти маєш тільки поточну ціну, таймер, напрямок. Все інше — твоя фантазія.

Тож я вирішив віддати аналіз повністю AI-асистенту (через Groq API). Мій модуль отримує дані по кількох активах, оцінює ситуацію та повертає умовну пораду. Це не класичний «RSI > 70» сигнал, а швидше щось на кшталт:

«Ціна росте вже 5 хвилин, тренд слабшає, експірація коротка — PUT виглядає логічніше».

Це не завжди точно, але в контексті обмежень — працює пристойно.

Що вдалось реалізувати

На момент написання статті бот підтримує:

  • ✅ GUI на Python (Tkinter)
  • ✅ Підключення до WebSocket у DEMO-режимі
  • ✅ Зчитування активів та поточних цін
  • ✅ Кнопки Buy/Put із параметрами
  • ✅ AI-модуль з аналізом у реальному часі
  • ✅ Збереження історії ордерів
  • 🟡 TP/SL — в процесі
  • ❌ REAL-ордери — ще не працюють

Скріншот 1

Скріншот 2

Але...

Після кількох тижнів розробки, численних тестів і розчарувань я дійшов висновку: усі спроби зробити стабільного бота через WebSocket — це нестабільний хак, не більше.

І тоді виникла думка:

А що як... просто працювати з тим, що вже працює — тобто з браузером?

Чому Selenium — наразі єдиний реальний варіант

Щоб створити надійного і стабільного бота для Pocket Option, потрібен доступ до:

  • авторизованої сесії користувача,
  • списку доступних активів у реальному часі,
  • статусів контрактів і результатів торгівлі,
  • історії ордерів, таймерів, поточних ставок.

І усе це вже є... у браузері. Причому саме в тому, у якому користувач вже авторизувався.

Саме тому зв’язка Selenium + ChromeDriver (або Edge/Firefox) — на сьогодні єдиний життєздатний підхід для повноцінної автоматизації:

  • 🧠 Користувач логіниться вручну — бот отримує доступ до повної DOM-структури
  • 📊 Бот зчитує всі активні елементи: графіки, таймери, пари, ставки, результати
  • ⚙️ Через JavaScript можливо відправляти ордери без кліків
  • 🔁 Все оновлюється динамічно, без відриву від реальності

Так, це вже не «класичний трейдинг-бот через API». Але це робочий варіант, який:

  • не вимагає хакингу WS,
  • не залежить від нестабільного JSON,
  • працює в реальному середовищі, як і користувач.

Плани на майбутнє

Зараз я активно працюю над:

  • переходом на Selenium-архітектуру;
  • парсингом DOM у реальному часі;
  • побудовою AI-аналізу прямо по елементах інтерфейсу;
  • створенням Telegram-інтеграції для сигналів;
  • мінімальною версією Web-панелі з управлінням ботом.

Підсумок

Якщо ви плануєте робити бота для Pocket Option — забудьте про стандартні API-шляхи. Їх тут просто немає.

Замість того, щоб витрачати тижні на зворотну інженерію WebSocket, краще:

  • ⚙️ взяти Selenium,
  • 🧠 додати AI-аналіз,
  • 🌐 і працювати з реальним інтерфейсом — так, як це робить користувач.

Pocket Option не підтримує стандартів — тож і рішення тут мають бути нестандартні.

Думав — скопіюю, вийшло — як завжди 😄

Але досвід безцінний.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

дуже цікавий досвід — ШІ частенько відправляє на селеніум але ще руки не дішли до практики у вас получилось зробити робочу версію?

Вітаю, нажаль не дійшли руки ... хотів переписати але коли вникнув глибше в сам процес торгівлі бінарними опціонами то зрозумів, що це небезпечно: або вгадав рух або ліквідація ...
Сподіваюсь, колись допишу сам код але досі не впевнений що захочу тестувати на повну
Надто багато ризиків, які я не зможу врахувати так як хотілось би!
Можливо згодом щось зміниться але поки що не готовий за це братись, бо дописую логіку бота для OKX і весь вільний час на це приходиться тратити
Якщо цікаво — можу викласти код по Покету на гугл драйв для ознайомлення.

Якщо потрібно клікати кнопки або імітувати UI-тести, то Playwright — кращий вибір (сучасний, швидкий, багатопотоковий).

Але якщо потрібно витягнути WebSocket-повідомлення прямо з браузера, авторизуватись через профіль, зберігати raw SESSION і використовувати її в API — тоді Selenium

навіщо модератори пропустили це?

Що це? Матеріал не подобається? Інформація є, кроки реалізації теж ... згодом буде оновлено частину. Напишіть або зробіть самі щось подібне!

Так, є питання звідки вони графіки беруть, для того і робиться ai щоб вияснити і протестувати чи реальні дані передаються, на реальний баланс ніхто тестувати не буде, і так, там дуже швидко адреси змінюються: то показує віртуальний баланс 5000$ а до вечора вже адреса змінилась і показує 0.00 ...

Ти був в моїй голові? Мене попросили це реалізувати, і я шукаю варіанти ...

Підписатись на коментарі