Кто-нибудь пробовал автоматизировать торговлю на покете?
Роботы и автоматическая торговля
#21
Срезать лоты на сквизах — это скорее костыль, чем решение. По сути, вы просто признаете, что софт не вывозит волатильность, и пытаетесь спасти депозит за счет прибыли. Я пробовал разные варианты с очередями, и TimofeyWave прав в одном: задержка никуда не девается, она просто меняет свою форму. Но проблема не в самом методе, а в том, как Пакет обрабатывает входящий поток. Если пытаться гнать туда всё без разбора, любой бот начнет «тупить» или вообще отвалится по таймауту в самый неподходящий момент. Я в итоге пришел к тому, что лучше вообще отказаться от попыток «победить» лаг программно. Сейчас просто ставлю жесткий фильтр по объему и игнорирую слишком резкие движения, потому что пытаться ловить такие импульсы автоматикой на этом API — это чистый мазохизм. Либо ты работаешь с консервативным алгоритмом, либо принимаешь, что часть сделок будет кривой из-за проскальзывания. Любые усложнения с буферами или очередями в итоге только плодят новые баги, которые вылезают в самый пик нагрузки. В общем, либо упрощайте логику до примитива, либо ищите другой терминал, где исполнение не превращается в лотерею при каждом чихе рынка.
Ну ты загнул про костыль. В реальности на Покете любой попыткой «идеального» кода заканчивается либо слив на первом же резком движении, либо бесконечный рерайт движка. Срезать лоты на сквизах — это не признание слабости софта, а нормальный риск-менеджмент. Зачем пытаться переиграть волатильность, если можно просто зайти объемом поменьше и не обнулить счет за пять секунд из-за одного лага?
По поводу очередей — вообще мимо. Они работают в высокочастотном трейдинге, где миллисекунды решают всё, а тут мы имеем дело с API, который сам по себе может тупить. Пока ты там выстраиваешь свою идеальную очередь, рынок улетает. Я пробовал и кэширование, и разные буферы, но в итоге пришел к тому, что проще ограничить риски, чем пытаться победить задержку, которая зашита в саму архитектуру платформы. Лучше забрать меньше прибыли, чем пытаться выжать максимум и поймать «галлюцинации», о которых Андрей писал.
Если честно, я тоже видел, как «чистый» код падает в первые секунды после новости. На моём тестовом стенде без реального депозита я добавил простой лимит‑фильтр и динамический стоп‑трейл – в итоге потери от сквиза снизились на 30 %. Но это уже не «идеальная» система, а набор «плюшек», которые требуют постоянного тюнинга. Так что срезать лоты – не слабость, а способ держать ядро стратегии живым, пока рынок не успокоится.
Ну не всегда проскальзывание всё съедает, я на покете полгода держу бота на мелких лотах и перед выходом новостей просто ставлю паузу скриптом — не идеал, но сливов не было. 30% в экселе это конечно сказка, на реале если честно выше 12-15% не вытягивал, и то пока не трогал волатильные пары. Тест без денег реально ничего не доказывает, но и сразу на полный депозит лезть глупо, я начинал с копеечных объемов и по логам видел где бот тупит. Костыли типа фильтра по спреду помогают, но движок всё равно приходится под каждую сессию подкручивать, иначе на азиате одно, на лондоне другое.
На покете ботов крутил ещё год назад, и зараза в том, что пауза перед новостями — это костыль, а не решение. Я делал похожее скриптом, но один раз таймер сбился и бот словил отскок на тонкой паре, чуть не ушёл в минус. Реально вытягивал около 10-14% на спокойных парах, выше просто риск неадекватный. 30% в экселе — это да, фантазия, там нет комиссий и гапов. Кто говорит, что тест без денег считается, тот просто не запускал на реале.
Если по факту, то риск здесь реально запредельный из-за специфики ликвидности. IgorFlow15 прав насчет стопов, но дело даже не в них, а в том, что на покете в моменты резких движений стакан просто пустеет. Ты можешь настроить хоть идеальный скрипт с паузами, но если рынок летит камнем, твой «костыль» с таймером не спасет, когда исполнение по рынку уйдет в глубокий минус. Я пробовал настраивать автоматизацию именно под спокойные движения, но как только начинается волатильность, любая логика ломается. 10-14% — это еще оптимистично, я на таких условиях выходил на плато и дальше просто не шел, потому что любая ошибка в коде или проскальзывание на тонком инструменте мгновенно съедают профит за неделю. В итоге имеем ситуацию, когда бот работает на износ, а профит перекрывается одним неудачным прыжком цены. Проще работать руками на волатильности, чем пытаться автоматизировать этот хаос на покете, где исполнение приказов — это лотерея.
Пауза — лишь временное оттягивание, а в момент резкого скачка стакан может просто исчезнуть. У меня скрипт сработал, но в таком режиме ликвидности бессмысленно.
Ну, про пустой стакан ты в точку попал, тут без вариантов. На покете это главная подстава. Можно настроить идеальные условия, но когда начинается дикий пролив, ордера просто висят в воздухе, потому что ликвидности тупо нет.
Я пробовал через API пытаться ловить микро-движения, но на таких объемах это реально лотерея. Если стакан пропадает, то никакой скрипт не спасет, вылетит по самому худшему прайсу. Тут либо работаешь с очень жирными парами, либо забудь о нормальной автоматизации, всё равно сольешь на проскальзывании.
Суть в том, что их движок не заточен под хай-фреквенсь вообще. Пробовал вешать лимитки за спайком — проскакивает раз в десять, остальное просто режет спред или реквизит меняется на лету. Маркет-ордера на просадке исполняются с таким слайджеем, что вся математика уходит к чертям. Остается только дольгие свинги держать, но тогда зачем апишник нужен — руками проще.
Слушайте, ну про слайдж вы прямо в точку попали, на покете с этим реально беда. У меня на мелких объемах тоже математика сыпалась, когда пытался по маркет-ордерам гнаться. Там движок просто не вывозит такую нагрузку, когда волатильность прет. Если уж пытаться автоматизацию заводить, то только через очень жесткие лимитки с широким запасом, но тогда профит вообще невнятный получается. В общем, для серьезного скальпинга площадка так себе вариант.