Блог им. Sundancer0369
Посмотрите, что происходит с классической длинной сеткой, когда рынок уходит вниз и обратно не идёт. Заявки срабатывают одна за другой, выкупать их некому, объём в позиции прибавляется, а средняя цена тянется вслед за котировкой.
Теперь главное. Сетка делает ровно одно предположение: цена вернётся туда, откуда ушла. Рынок это предположение опровергает — и ровно в этот момент позиция максимальна. Чем убедительнее вы ошиблись, тем больше у вас набрано.
У любой осмысленной стратегии наоборот: подтвердилось — наращиваем, не подтвердилось — сокращаем. Сетка в одну сторону работает в обратную сторону, и это её встроенное свойство, а не следствие плохих настроек.
Дальше три вещи, которые это усиливают:
— Стоп, который уезжает. Если он считается от средней цены позиции, то каждый новый добор отодвигает его дальше от рынка. Сетка не просто набирает против движения, она ещё и сама отодвигает свой аварийный выход — тем дальше, чем хуже дела.
— Мартингейл. Увеличенный объём дальних уровней действительно подтягивает среднюю. Но набирается самый крупный объём там, где рынок доказал, что вы неправы. Процент просадки становится красивее, сумма убытка — несопоставимо больше.
— Плата за время. В бессрочных контрактах висящая сутками позиция стоит денег — идёт фандинг. А набранная против рынка как раз и велика по объёму, и держится дольше всего.
И отрезвляющая арифметика: сетка из десяти уровней с шагом в процент исчерпывает весь свой план на движении в 10 % против себя. Для бессрочного фьючерса это не чёрный лебедь, а обычный вторник.
Что я считаю правильнымСетка — не ставка на коридор, а техника входа частями на откате. Когда рынок после отката идёт дальше в вашу сторону, лесенка даёт среднюю лучше, чем одна заявка, и при этом вам не нужно угадывать, где именно откат закончится.
Отсюда всё встаёт на место:
— рынок идёт вверх — ставим длинную сетку, она добирает на откатах вниз; — рынок идёт вниз — ставим короткую, она добирает на отскоках вверх; — движение сломалось — сетку надо переставить на другую сторону: убрать заявки, выйти из позиции и начать цикл заново, зеркально.
Геометрия в обоих случаях одна и та же, меняется только сторона. И первые два пункта решаются один раз при запуске, а третий приходится решать всё время, пока бот работает.
Почему разворот дороже, чем кажетсяНа словах это смена одного параметра. На деле — снять заявки, закрыть позицию, взять новую опорную цену и построить зеркальную лесенку.
Вся тяжесть во втором шаге. Переставлять сетку приходится ровно в тот момент, когда цена ушла против вас, — а там позиция уже и самая крупная, и в минусе. Перевернуться означает взять этот минус на себя сознательно, не дожидаясь, пока его заберёт стоп.
И цена ошибки тут двойная. Сигнал о смене тренда оказался ложным — значит, сначала вы приняли на себя просадку старой стороны, а потом новая лесенка встала поперёк вернувшейся цены. Особенно скверно это выглядит на пиле: односторонняя сетка там хотя бы сидит и ждёт, а переворачивающаяся оплачивает каждое своё изменившееся мнение — комиссией, проскальзыванием на рыночных закрытиях и уже зафиксированным минусом. Счёт тает быстрее.
Поэтому, если разворот автоматический, обязательны две вещи: условие разворота должно быть строго строже условия удержания, иначе бот задребезжит на границе; и нужен предел на число переворотов за день, после которого робот встаёт и ждёт вас. Несколько переворотов подряд говорят уже не о рынке, а о том, что ваше представление о тренде на этом инструменте сейчас не работает.
Почему полностью автономным такой бот не становитсяЯ пишу роботов пятнадцать лет и скажу честно: сам разворот — работа на день. Снять, закрыть, перестроить — обычный код, который тестируется и дальше работает без человека.
Не пишется другое — функция, которая скажет, когда разворачиваться.
Её нельзя проверить так, как проверяется код. Фаза рынка видна однозначно только задним числом, на левом крае графика её нет. Она зависит от горизонта: на пятиминутке тренд, на часовике коридор, на дне снова тренд — и все три ответа верные. Ошибается такая функция ровно там, где режим меняется, то есть там, где позиция максимальна. А проверить её на истории толком не выйдет: у сетки убыточные события редкие, и на удачно выбранном периоде кривая выглядит прекрасно.
Отсюда простая проверка для любого «полностью автономного» бота: спросите, кто выбрал сторону. Окажется либо что она просто стоит в настройках по умолчанию и её не выбирал никто, либо что выбирает её человек — просто в описании об этом не пишут.
В моём открытом боте направление задаётся в конфигурации и само не меняется. Я специально не стал прятать это за «умным» автоопределением: строка в настройках честно показывает, где кончается автомат и начинается ваше решение.
Вопрос к тем, кто торгует сеткойВы её разворачиваете — или ждёте возврата? И если разворачиваете, то по какому признаку принимаете решение: индикатор, уровень, объёмы, просто руками по ощущению?
Спрашиваю без подвоха: у меня самого нет формального правила, которое я готов отдать машине без присмотра.
Полный разбор сетки — как считается доход, чем опасен мартингейл и какие ограничители обязательны — у меня в блоге:
Пока идет тренд, сетка должна молчать! Вот когда тренд закончился, тогда и сетку можно включать. Причем, в обе стороны с разными (динамически изменяемыми) интервалами и с разными целями (фиксация частями, наращивание позиции, предшествовавшей включению сетки, а также для возможного открытия новых позиций).
У себя в блоге я несколько раз разъяснял эту тему.