Блог им. Kostya_Gromov

Нейросеть, которая не двигает стоп-лосс в 3 часа ночи. Мои эксперименты с алготрейдингом

Всё началось со знаменитого челленджа — соревнования, где разработчики пытаются создать прибыльного AI-трейдера. Идея засела в голове: а что если LLM действительно может торговать лучше человека? Без эмоций, без FOMO, без revenge trading в три часа ночи. Я решил проверить. И вот к чему это привело.

 Нейросеть, которая не двигает стоп-лосс в 3 часа ночи. Мои эксперименты с алготрейдингом

Как всё началось

История началась банально — с бессонницы и бесконечного скролла трейдерских телеграм-каналов. В очередной раз наблюдая, как люди хвастаются иксами и плачут над ликвидациями, я подумал: человеческая психология — это главный враг трейдера. Страх, жадность, FOMO — всё это систематически убивает депозиты.

А что если убрать человека из уравнения?

Нет, конечно, идея не нова. Алготрейдинг существует десятилетия. Но классические боты работают по жёстким правилам: пересёкся RSI — покупай, MACD развернулся — продавай. Проблема в том, что рынок — это хаос, а хаос плохо укладывается в if-else конструкции.

Вот тут и появляется LLM. Модель, которая может «понимать» контекст, видеть паттерны и, главное, — рассуждать.

Почему DeepSeek?

Выбор модели был прагматичным:

Цена. OpenRouter даёт доступ к DeepSeek V3.1 за копейки по сравнению с GPT-4. Когда бот делает запросы каждые 15 минут 24/7 — это критично.

Контекстное окно. 128K токенов — это возможность скормить модели три таймфрейма свечей с индикаторами, историю сделок, текущие позиции и детальный системный промпт.

Качество рассуждений. Субъективно, но DeepSeek показался мне более «дисциплинированным» в следовании инструкциям по сравнению с некоторыми альтернативами.

Архитектура: что внутри

Система получилась многослойной. Расскажу про ключевые компоненты.

Мультитаймфреймовый анализ

Это фундамент всей стратегии. Бот анализирует рынок на трёх уровнях:

4-часовой (Trend). Определяет глобальный тренд. Если EMA20 выше EMA50, MACD в плюсе, RSI в диапазоне 40-70 — рынок бычий. Это главный фильтр: против 4H тренда позиции не открываются.

Часовой (Structure). Ищет структуру рынка: откаты к скользящим, swing high/low, зоны поддержки и сопротивления. Здесь определяется, есть ли хороший pullback для входа.

15-минутный (Execution). Точка входа. RSI разворачивается из перепроданности, MACD пересекается, цена закрывается выше EMA20 — всё, можно входить.

Идея в том, что каждый таймфрейм должен подтвердить сигнал. Нет согласованности — нет сделки.

Системный промпт: священное писание бота

Вот это была самая интересная часть — программирование поведения модели через текст. Промпт получился на 280 строк и содержит:

Классификацию входов. Три типа сделок с разным риском:

  • Type A (with-trend) — 2% капитала на сделку, все три таймфрейма должны совпасть

  • Type B (counter-trend) — 1% капитала, только при экстремальных значениях RSI на 4H

  • Type C (range) — торговля в боковике, когда чёткого тренда нет

Жёсткие правила выхода. Это важно. Я запретил модели закрывать позиции по «ощущениям». Выход только когда:

  • Сработал стоп-лосс

  • Пробита структура на 1H (цена закрылась за swing low/high)

  • 4H тренд развернулся (закрытие за EMA50 + смена MACD)

  • Достигнут тейк-профит

Правило 20%. Если цена в пределах 20% от стоп-лосса — руками не трогать. Дать сделке дышать.

 
<code>{
  "ETH": {
    "signal": "entry",
    "side": "long",
    "quantity": 0.5,
    "profit_target": 3150.0,
    "stop_loss": 2880.0,
    "leverage": 5,
    "confidence": 0.72,
    "risk_usd": 150.0,
    "invalidation_condition": "If price closes below 4h EMA20",
    "justification": "TYPE A: 4H bullish, 1H pullback to EMA20, 15M RSI oversold turning up"
  }
}</code>

Модель отвечает строго в JSON. Никакой лирики, никаких «я думаю, что возможно...». Чёткий сигнал, размер позиции, уровни, обоснование.

Стек технологий

Всё крутится на Python:

  • Binance API - рыночные данные (свечи, объёмы, funding rate)

  • pandas + numpy - расчёт индикаторов (EMA, RSI, MACD, ATR)

  • OpenRouter API - доступ к DeepSeek

  • Hyperliquid SDK - исполнение сделок на mainnet (опционально)

  • Streamlit - дашборд для мониторинга

  • Docker - деплой

Данные персистятся в CSV: история сделок, решения AI, состояние портфеля. Всё можно проанализировать постфактум.

Paper trading: первые результаты

Сначала, конечно, бумажная торговля. Никаких реальных денег, только симуляция.

Стартовый капитал: $10,000.

Торгуемые активы: ETH, SOL, XRP, BTC, DOGE, BNB.

Первые дни были… поучительными. Модель вела себя непредсказуемо: то входила в сделки без явного сетапа, то держала позиции слишком долго, игнорируя сигналы выхода.

Проблема была в промпте. Первая версия была слишком абстрактной: «торгуй дисциплинированно, управляй риском». Модель интерпретировала это по-своему.

Решение — максимальная конкретика. Вместо «соблюдай риск-менеджмент» — точные формулы расчёта размера позиции. Вместо «следи за трендом» — конкретные условия (EMA20 > EMA50 AND MACD > 0).

После нескольких итераций промпта бот стал показывать осмысленное поведение. Sharpe Ratio перевалил за 10, Sortino — за 19. На графике equity обгоняет BTC buy & hold.

Что пошло не так

Было бы нечестно писать только об успехах. Вот реальные проблемы, с которыми столкнулся:

Переобучение на промпт. Иногда модель буквально следовала инструкциям, игнорируя контекст. Написал «не входи против тренда» — она отказывалась от очевидных разворотных сетапов даже когда все индикаторы кричали.

Галлюцинации. Да, LLM галлюцинируют даже в трейдинге. Пару раз модель обосновывала вход «сильным бычьим дивергенсом», которого на графике не было.

Задержки API. OpenRouter иногда тормозит. 15-минутное окно для принятия решения превращается в гонку.

Слишком много сделок. Первые версии промпта давали слишком много входов. Модель видела паттерны везде. Пришлось добавить фильтры и требования к confluence (минимум 2 подтверждающих фактора).

Funding rate ловушка. Хотел использовать funding как дополнительный сигнал. Оказалось — плохая идея. Это запаздывающий индикатор. Теперь он только как tiebreaker при 50/50 ситуациях.

Бэктестинг: машина времени для стратегий

Одна из фич, которую добавил позже — возможность прогонять стратегию на исторических данных.

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

Каждый прогон сохраняет полную трассировку: все решения модели, сделки, состояние портфеля. Можно потом открыть в дашборде и анализировать.

<code>python3 backtest.py  # И ждём... долго ждём</code>

Бэктест на неделю данных может занять часы — всё-таки это реальные LLM-запросы на каждый бар.

 Нейросеть, которая не двигает стоп-лосс в 3 часа ночи. Мои эксперименты с алготрейдингом

Живая торговля: момент истины

После месяца paper trading решился подключить к Hyperliquid. Небольшой депозит, изолированное плечо, стопы на месте.

Ощущения… специфические. Наблюдать, как нейросеть распоряжается твоими деньгами — это отдельный вид психологического опыта.

Первая сделка — лонг по ETH. Вход по структуре, стоп под swing low. Закрылась в плюс на 2R. Нервничал весь день.

Были и убыточные серии. Три стопа подряд по BTC в боковике. Модель упорно пыталась поймать тренд, которого не было.

Но в целом система держится. Не иксы, но и не слив. Медленный, контролируемый рост.

Уроки и выводы

Несколько мыслей после полугода экспериментов:

LLM — это не волшебная кнопка «деньги». Модель не предсказывает будущее. Она просто более дисциплинированно следует правилам, чем человек в 3 часа ночи.

Промпт-инжиниринг — это итеративный процесс. Первая версия промпта будет плохой. И вторая тоже. Нужно смотреть, как модель ошибается, и закрывать дыры.

Риск-менеджмент важнее стратегии входа. Можно иметь 30% винрейт и быть в плюсе, если соотношение риск/прибыль хорошее.

Автоматизация не отменяет мониторинг. Бот должен быть под присмотром. Рынок меняется, API падают, модели обновляются.

Инфраструктура — это 80% работы. Красивый код логики сделок — это 20%. Остальное: логирование, дашборды, уведомления, обработка ошибок, бэкапы, деплой.

Что дальше

Я не опускаю руки. Проект продолжает развиваться.

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

Первые результаты обнадёживают. Не буду обещать иксы и пассивный доход — рынок слишком непредсказуем для таких заявлений. Но направление кажется перспективным, и я намерен копать дальше.

Если эта статья найдёт отклик — буду писать ещё. Про конкретные промпты, про бэктесты разных стратегий, про интеграцию с биржами.


Весь исходный код проекта доступен на GitHub: https://github.com/tot-gromov/llm-deepseek-trading

Полный разбор стратегии + код 8 гейтов: trades-trend.com/algotrading-what-is-it

Можете форкнуть, поэкспериментировать, предложить улучшения. Pull requests приветствуются.


Disclaimer. Это не финансовый совет. Всё описанное — эксперимент. Торговля криптовалютами несёт риск потери капитала. Любые результаты прошлых периодов не гарантируют будущей доходности. Используйте только те деньги, которые готовы потерять.

243

Читайте на SMART-LAB:
Фото
EUR/USD: пара прорвалась выше ключевого сопротивления и закрепляет успех
Евро продолжает восстанавливаться и вышел на очередные локальные максимумы, после чего начал корректироваться в поисках новой поддержки. Фактором...
Фото
Новая эра геймдева: пять игровых компаний для вашего портфеля на выбор
Главное 2026 год откроет «новую эру возможностей» для видеоигр. Ключевую роль сыграет ИИ, который принесет кардинальные перемены....
С 2026 года усилят контроль за СБП: на какие платежи обратят внимание
С 1 января 2026 года контроль за операциями через Систему быстрых платежей (СБП) станет строже. Цель новых правил — не усложнить жизнь обычным...

теги блога Kostya_Gromov

....все тэги



UPDONW
Новый дизайн