Боты для биржи и бизнеса
12 subscribers
2 photos
10 links
Разработка торговых, арбитражных и интеграционных ботов.
30 лет на бирже, 15 лет в .NET. Пишу, как автоматизируют торговлю
и бизнес-процессы: что работает, что ломается, сколько стоит.
Заказать: ngcorp.pro | Связь: @Snake0369
Download Telegram
Это ваш текст от 24.09 с двумя правками: условия оплаты приведены к тому, что сейчас на сайте, и добавлена строка про открытый бот — на Smart-Lab именно он привёл людей, а в описании канала его нет. Остальное не трогал.
Заменить закреплённый пост: отредактировать старый, если окно правки ещё открыто, иначе опубликовать заново и закрепить, а старый удалить.

Здесь о разработке ботов — без обещаний лёгких денег и «прибыльных роботов».
Что я делаю: торговые роботы под вашу стратегию (МосБиржа через QUIK, MetaTrader 5, Interactive Brokers, биржевые API), парсеры данных, интеграции с 1С, боты с ИИ, боты для тендерных площадок.
Как работаю: сначала разбор идеи и техническое задание, потом разработка этапами. Цена фиксируется в ТЗ. Перед стартом — предоплата, равная 50 % стоимости первого этапа; дальше этапы оплачиваются по мере исполнения. Гарантия на код 3 месяца, реакция на критический сбой — до 4 часов в любое время суток.
Чего не делаю: не торгую за клиента, не управляю деньгами, не обещаю доходность. Я разработчик: пишу программу, исходный код передаю вам.
Код можно посмотреть заранее: сеточный бот из моей системы выложен открыто, лицензия MIT — https://github.com/Snake0369/SimpleTradeBot
Подробно — ngcorp.pro. Написать — @Snake0369
❤1
Боты для биржи и бизнеса pinned «Это ваш текст от 24.09 с двумя правками: условия оплаты приведены к тому, что сейчас на сайте, и добавлена строка про открытый бот — на Smart-Lab именно он привёл людей, а в описании канала его нет. Остальное не трогал. Заменить закреплённый пост: отредактировать…»
🤖 Аренда сеточного бота
Не обязательно заказывать разработку с нуля. Тот же бот, который
работает на моих счетах, можно взять в аренду и настроить под себя:
шаг сетки, объём, границы диапазона, правила выхода — всё в ваших руках.
Торговля идёт на вашем счёте. Бот отправляет заявки через ваш ключ
доступа, вывода средств не делает — деньги остаются у вас.
Как он работает, видно на моих портфелях, они открыты:
MOEX — https://freyrfinance.com/bots/public/A30F65EC57BC3EBC250C44F577E6A9C1D5A51C7B7016EACA
Крипта — https://freyrfinance.com/bots/public/DF2CFBB952B65598C4C391D68AC0A09F58A9AC36B07F2A5A
Это мои собственные счета. Прошлые результаты ничего не обещают
на будущее: итог зависит от рынка и от настроек, которые зададите вы.
Подробности и условия — https://ngcorp.pro/bots/rent/
Написать напрямую — @Snake0369
Показываю, над чем работаю. Добавил на сайт три проекта.

🔹 Бот-сетка

Ставит сетку заявок и работает двумя способами сразу: часть заявок
набирает позицию на подборе, часть идёт по тренду. Направление —
лонг или шорт — выбирает сам, опираясь на индикатор, который задаётся
в настройках. Принимает сигналы из TradingView и меняет стратегию
на ходу, не останавливая работу.

https://ngcorp.pro/projects/grid-bot/

🔹 Арбитражный бот для криптобирж

Два режима. Первый: купить монету там, где дешевле, перевести
на другую биржу и продать там. Второй: работа с раздвижкой между
одинаковыми фьючерсами на разных площадках — позиции держатся, пока
расхождение есть, и закрываются, когда оно уходит. Бирж можно
подключать сколько угодно, коннекторы дописываются по мере роста.

https://ngcorp.pro/projects/arbitrage-bot/

🔹 Арбитраж в сети Solana

Здесь всё устроено иначе: это смарт-контракт на Rust, и связка
исполняется одной атомарной операцией — проходит целиком или не
проходит вовсе. Перевода монеты между биржами нет, все пулы живут
в одной сети, а расхождения держатся доли секунды. Сделка, застрявшая
на середине, означала бы позицию по плохой цене — одна транзакция
снимает этот риск. Работает с Raydium, Orca, Meteora, Lifinity,
Invariant, Crema, PumpSwap и ещё четырьмя площадками.

https://ngcorp.pro/projects/solana-arbitrage/

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

Нужна похожая система — напишите: @Snake0369
Все проекты: https://ngcorp.pro/projects/
Выложил в открытый доступ код сеточного бота. Того самого, что работает у меня в торговой системе — вынул стратегию в отдельный проект, причесал и отдал под MIT.
Что внутри: лесенка лимитных заявок на бессрочных контрактах Bybit, у каждого уровня свой тейк-профит, поверх — общий тейк, стоп-лосс и трейлинг по всей позиции. Плюс два ограничителя, без которых сетку вообще нельзя включать: сколько заявок держать в рынке и какой объём позиции не превышать.
C# и .NET 9, базы данных нет, всё состояние в памяти процесса. Это упрощение сознательное: такой код читается подряд, без миграций и очередей. Запускается на демо-счёте — настоящий рынок, виртуальные деньги.
И сразу, до вопросов: это не денежная машина. Сетка зарабатывает в коридоре и теряет в тренде, и на странице проекта я честно написал, где именно она теряет.
Разбор, снимок интерфейса и инструкция по запуску: https://ngcorp.pro/projects/simple-trade-bot/?utm_source=tg&utm_medium=post&utm_campaign=simple-trade-bot
Самый частый вопрос про сеточных ботов: почему они однажды заканчиваются одинаково.
Ответ не в том, что стратегия плохая. Он в том, что классическая сетка устроена наоборот по отношению к здравому смыслу.
Смотрите. Сетка делает ровно одно предположение: цена вернётся туда, откуда ушла. Рынок уходит и не возвращается — предположение опровергнуто. И ровно в этот момент позиция максимальна: уровни залиты все до одного.
У любой нормальной стратегии наоборот: подтвердилось — наращиваем, не подтвердилось — сокращаем. Здесь всё зеркально: чем убедительнее вы ошиблись, тем больше у вас набрано.
Добавьте к этому три вещи. Стоп, если он считается от средней цены, на каждом доборе отодвигается дальше от рынка. Мартингейл набирает самый крупный объём там, где рынок уже доказал вашу неправоту. А на бессрочных контрактах за висящую позицию ещё и идёт фандинг.
Сетка из десяти уровней с шагом в процент исчерпывает весь свой запас на движении 10 % против себя. Для бессрочного фьючерса это обычный вторник.
Вывод простой: сторона сетки должна совпадать со стороной движения, а когда движение ломается — сетку надо переставлять. И вот тут начинается самое интересное, потому что «когда переставлять» — это как раз та функция, которую нельзя написать так, чтобы потом проверить. Об этом в следующий раз.
Полный разбор механики: https://ngcorp.pro/blog/grid-bot-strategy/?utm_source=tg&utm_medium=post&utm_campaign=grid-bot-strategy
На Smart-Lab на прошлой неделе спорили, охотятся ли за стопами. Один автор прогнал 15 лет истории по 21 инструменту, другой уверенно назвал виновных.
Я прочитал оба и понял, что ответ ничего не меняет в моих действиях.
Охотится маркетмейкер — стоп вплотную за минимумом выбьет. Не охотится, а просто есть волатильность — тот же стоп выбьет точно так же. Разница только в том, на кого обижаться.
Цифры из того самого исследования по Мосбирже, часовые свечи акций. Запас за уровнем и доля проколов с возвратом, которые он переживает:
— 0,1 ATR — переживает 12 % — 0,35 ATR — 38 % — 1 ATR — 75 %
А теперь переведите привычное «поставлю на 0,1 % ниже минимума». Медианный часовой ATR ликвидной акции — около 0,6 % цены. Значит ваши 0,1 % — это примерно 0,17 ATR, то есть такой стоп переживает каждый пятый прокол. В четырёх случаях из пяти вас вынесет, а цена вернётся.
Почему не поставить подальше? Потому что обычно стоп ставят после выбора объёма, и отодвинуть его значит увеличить убыток.
Правильный порядок обратный:
сначала решаете, сколько готовы потерять → потом где стоп → и только потом объём
объём = (сколько готов потерять) / (расстояние до стопа)
В этой логике отодвинуть стоп ничего не стоит: риск в рублях тот же, просто позиция меньше. Хотите 1 ATR вместо 0,17 — берите впятеро меньший объём.
Большинство жалоб на снятие стопов упирается в нежелание уменьшать позицию. Желание понятное, но вопрос тогда не к маркетмейкеру.
Как это записывается в правила: https://ngcorp.pro/blog/rules-you-cannot-skip/?utm_source=tg&utm_medium=post&utm_campaign=rules-you-cannot-skip
Продолжение прошлого поста, и это та часть, которую обычно не упоминают.
Гэпы.
В исследовании по Мосбирже: в 9 % проколов на часовом графике свеча открылась уже за уровнем, а у максимумов прошлого дня — в 15 %. То есть ваш стоп исполнится по цене открытия, а не там, где вы его поставили. По медиане это на 0,35 ATR хуже, а в каждом десятом случае — дальше чем на 2 ATR.
От гэпа не спасает ни запас, ни умный уровень, ни «я поставлю стоп-лимит вместо стоп-маркета» — последнее вообще оставит вас в позиции.
Спасает только одно: размер позиции. Поэтому он и первичен, а не стоп.
Это, кстати, хороший критерий для любого торгового робота, своего или чужого. Спросите, что он делает, если инструмент открылся на 3 % против позиции. Если в ответе есть слова «такого не бывает» — робот не дописан.
В сентябре я давал здесь ссылки на два своих публичных счёта. Теперь их видно прямо на сайте: кривая, итог и список инструментов, обновление раз в минуту.
Смотреть стало проще, но показываю я их не для красоты. Один из счетов, Sun-DryRun-1, — демо: деньги туда не вложены, и на странице это подписано ярлыком. Второй боевой, и сегодня он в минусе.
Так и оставляю. Человек, который думает доверить деньги алгоритму, должен увидеть и просадку тоже — иначе он увидит её впервые уже на своём счёте.
Прошлые результаты не обещают будущих. В этом и смысл открытых счетов: смотрите сами, а не верьте скриншотам удачного дня.
https://ngcorp.pro/bots/rent/?utm_source=tg&utm_medium=post&utm_campaign=portfolios#portfolios
Коротко и по делу: 15 % от суммы, которую оплатил приведённый вами клиент. Одна ставка для всех направлений и площадок.
Как это работает: вы даёте человеку ссылку со своим кодом, код закрепляется за ним на 90 дней и приезжает вместе с заявкой. Регистрировать код заранее нигде не нужно, придумайте любой.
Кому это подходит: тем, кто и так консультирует трейдеров, ведёт канал или просто знает людей, которым нужен бот под их стратегию. Вы не продаёте — вы знакомите.
Условия, пример ссылки и форма: https://ngcorp.pro/partners/?utm_source=tg&utm_medium=post&utm_campaign=partners
Боты для биржи и бизнеса pinned «Это ваш текст от 24.09 с двумя правками: условия оплаты приведены к тому, что сейчас на сайте, и добавлена строка про открытый бот — на Smart-Lab именно он привёл людей, а в описании канала его нет. Остальное не трогал. Заменить закреплённый пост: отредактировать…»
Робот на домашнем компьютере — это когда в отпуске думаешь не о море, а о том, не прилетело ли Windows обновление.
Рассказываю, как мы делаем вместо этого.
Робот живёт на сервере. Терминал остаётся у клиента — в QUIK стоит скрипт на QLua, и больше ничего. Котировки сервер берёт не из терминала, а прямо с ISS МосБиржи: так они не запаздывают на активном рынке и приходят один раз на всех клиентов, а не по разу на каждого.
Через терминал идут только торговые команды: поставить заявку, снять, узнать позицию и остаток на счёте. Обратно — подтверждения и исполнения.
Отсюда главное, и это свойство схемы, а не обещание: робот не подключается к брокеру. Ни логина, ни пароля, ни ключа API. Он говорит только с терминалом, который клиент запустил сам. Вывод денег — операция личного кабинета, а не терминала, так что по этому каналу снять нечего. Выключается всё одной кнопкой в QUIK.
Что это даёт: стратегия правится в одном месте и сразу у всех, позиции по всем счетам видны в одной панели, а клиенту не надо ничего устанавливать и настраивать.
Где ломается — тоже написал честно: терминал всё равно должен быть включён, связь рвётся, скрипт в Lua падает молча, а после обрыва нельзя верить своей картине и нужно переспрашивать терминал. Всё это лечится, но знать об этом надо до запуска, а не после.
Разбор целиком, со схемой и слабыми местами: https://ngcorp.pro/blog/quik-bot-on-server/?utm_source=tg&utm_medium=post&utm_campaign=quik-bot-on-server
Парный трейдинг: отрицательный результат

Проверил парный трейдинг на данных. Результат отрицательный, и мне кажется, это полезнее очередной истории успеха.
Коротко идея: две бумаги одного сектора ходят вместе, разошлись — покупаем отставшую, продаём убежавшую, ждём схождения. Направление рынка неважно, мы в лонге и в шорте сразу.
Взял фьючерсы на акции МосБиржи за 2026 год: 190 пар, 2,7 млн минутных баров. Потом повторил всё на бессрочных контрактах Bybit.
Что получилось:
Из 190 пар стационарны пять. А доля таких пар по месяцам колеблется вокруг 5 % — ровно столько ложных срабатываний тест Дики — Фуллера обязан давать на случайных блужданиях. То есть мы находим не связанные инструменты, а шум, который случайно сложился в форму возврата.
91 % прибыльных циклов и минус 277 тысяч по итогу. Средний выигрыш 732 ₽, средний стоп 13 049 ₽: один стоп съедает восемнадцать удачных циклов. Доля прибыльных сделок у сетки не значит ничего.
Возвратность не переносится во времени. Корреляция сводной оценки между полугодиями — минус 0,01. Из десяти лучших пар первого полугодия ни одна не попала в десятку второго, и в среднем они оказались хуже случайных.
На крипте то же самое. BTC / ETH, 324 комбинации параметров: обучение на первом полугодии, проверка на втором — прибыльных комбинаций ноль из 324.
Переносится ровно одна вещь — коэффициент хеджирования β, он держится на 0,85–0,93. Но бета только убирает зависимость от рынка; заработок должен прийти от возврата спреда, а он и не переносится. Надёжно предсказуема именно та часть конструкции, которая не приносит денег.
Полный разбор — методика, таблицы, издержки по спецификациям биржи и пять граблей, на которые я наступил сам: https://ngcorp.pro/blog/pair-trading-research/?utm_source=tg&utm_medium=post&utm_campaign=pair-trading