
Рекомендую начать не с написания кода, а с проверки механики площадки. На данном сервисе акции торгуются по CFD-схеме: вы получаете прибыль или убыток за разницу цен, не владея бумагами. Это нужно учитывать при выборе инструментов в скрипте.
Автоматизированная программа на Python здесь работает через имитацию действий пользователя или парсинг веб-интерфейса, поскольку у брокера нет полноценного торгового API. Используйте библиотеки вроде Selenium, Playwright или pyautogui. Перед боем обязательно отладьте логику на демо-счёте – реальный счёт пополняется от $50, а тестировать стратегию лучше без риска реальных денег.
Выстраивайте код вокруг чётких правил входа. Например, берите сделку, только если скользящие средние пересеклись на таймфрейме 1–5 минут, а RSI ушёл за 70 или 30. Никогда не ставьте более 1–2% депозита на один контракт – даже при выплате 80–92% серия убыточных сделок быстро съест счёт.
Добавьте в алгоритм принудительную паузу после двух убыточных сделок подряд и ограничьте количество входов в час. Такой подход снижает влияние случайного шума цены и защищает депозит от импульсивных решений, которые часто губят ручных трейдеров.
Подключение Python-робота к Pocket Option через WebSocket API: пошаговая настройка
Откройте DevTools в браузере, авторизуйтесь на сайте платформы и перейдите на вкладку Network → WS, чтобы скопировать адрес WebSocket-соединения и заголовки handshake. Сохраните значения Cookie, Origin и User-Agent: именно они проходят проверку при установке соединения.
Создайте виртуальное окружение и установите библиотеки websocket-client либо websockets, aiohttp, python-dotenv. Первый вариант проще при синхронной логике. Второй удобен, если планируется обработка нескольких потоков котировок одновременно. Вынесите токен авторизации, URL потока данных и идентификаторы активов в .env, чтобы не хранить чувствительные значения прямо в коде.
Установите соединение через wss://, передав заголовки из браузера в точности, включая Referer и Sec-WebSocket-Extensions. Сразу после открытия канала отправьте сообщение авторизации с ssid-токеном в формате JSON: {"type":"auth","session":". Сервер ответит пакетом с балансом и настройками счёта. Если в ответ приходит disconnect, проверьте актуальность Cookie и корректность Origin: часто защита отсекает запросы с незнакомого домена.
После успешной авторизации подпишитесь на котировки акций, передав идентификатор актива и интервал свечи: сообщение loadHistory запрашивает историю, subscribe активирует поток. Идентификаторы активов можно извлечь из того же WebSocket-трафика или из параметров запросов в DevTools.
Открытие сделки оформляется отдельным JSON-пакетом: укажите id актива, сумму, направление call/put и время экспирации в секундах. Перед отправкой сверьте минимальный лот и шаг цены по выбранной акции: здесь торговля ведётся по CFD-механике, то есть вы спекулируете на изменении цены, не владея бумагами напрямую. Неверные параметры вернут ошибку 4xx без исполнения ордера. Дождитесь ответа сервера с deal_id и статусом, и только потом фиксируйте позицию в локальной базе или журнале: не полагайтесь на моментальное подтверждение, так как задержка канала может достигать сотен миллисекунд.
WebSocket-соединение разрывается при бездействии, поэтому запустите цикл ping/pong с интервалом 15–25 секунд. Обработайте разрыв через try/except и добавьте повторное подключение с задержкой 2, 4, 8 секунд: такой подход снижает риск бана IP при частых попытках.
Перед запуском на реальном счёте проверьте всю логику на демо-аккаунте: откройте десять-двадцать тестовых сделок по акциям, отследите задержки и корректность расчёта прибыли. Убедитесь, что журнал ордеров совпадает с историей в личном кабинете.
Реализация стратегии на RSI и фильтрация сигналов в коде робота
Установите период RSI равным 14 и уровни 30/70. Открывайте сделку лишь после возврата индикатора из зоны перепроданности или перекупленности и подтверждения трендовой скользящей средней. Сигнал на повышение считается действительным, только когда RSI пересекает 30 снизу вверх, а цена закрытия свечи лежит выше EMA50. Такой подход сразу отсекает ложные входы против тренда.
В коде берите готовую функцию RSI из pandas-ta или TA-Lib с классическим сглаживанием Уайлдера по 14 периодам, чтобы значение совпадало с индикатором в терминале. Перед отправкой приказа добавьте минимум два фильтра: направление по EMA50 и волатильность по ATR14. Вход разрешён, только если ATR выше половины своего среднего за 20 свечей, а тело сигнальной свечи превышает 0,3 ATR – это выключает работу в боковике. Проверяйте, что сигнал сформировался на открытии новой свечи, а не внутри неё, и ведите лог с таймстемпом, ценой входа и значением RSI, чтобы потом разобрать каждую сделку на площадке с CFD-акциями, где вы спекулируете на движении цены бумаг, не владея ими.