Открыть на GitHub

Схема стратегии трендовой торговли взвешенной корзиной

Схема торгует двумя инструментами как одной корзиной и принимает решение по трём ценовым рядам, а не по двум. Из обоих торгуемых инструментов собирается синтетический инструмент, а внутри его выражения стоит делитель, который уменьшает дорогую ногу до тех пор, пока дешёвая всё ещё способна двигать результат; тренд этого синтетического инструмента схема и считает направлением корзины. Затем каждая нога измеряется тем же способом по отдельности. Нога покупается или продаётся только тогда, когда её собственный тренд совпадает с трендом корзины, а когда корзина разворачивается, закрывается каждая нога, оказавшаяся направленной не в ту сторону. Больше позицию не закрывает ничто: нет ни цели, ни стопа, и знак корзины — это и причина находиться в позиции, и причина из неё выйти.

Обзор стратегии

  • Кубик индекса инструментов строит из двух торгуемых инструментов один синтетический. Вес задан внутри его выражения, поэтому обе ноги вносят вклад в сопоставимом масштабе, а не так, что большая цена заглушает меньшую.
  • Три серии свечей идут на одном таймфрейме: одна по синтетической корзине и по одной на каждую ногу. Все три подписаны только на завершённые свечи, поэтому любое значение ниже по схеме относится к уже закрытому бару.
  • Каждая серия питает быструю и медленную сглаженные скользящие средние, а формула вычитает медленную из быстрой. Результат — знаковый трендовый разрыв, и таких разрывов три: один для корзины и по одному на каждую ногу.
  • Каждый разрыв перехватывается переменной, которая удерживает его и отдаёт в момент завершения свечи первой ноги, поэтому решение никогда не собирается из значения корзины, взятого в один момент, и значения ноги, взятого в другой.
  • Значение приходит из той серии, которая выдала его последней, момент — из торгуемой свечи, и потому всё ниже по схеме несёт метку времени того бара, на котором отправляется заявка.
  • Шесть сравнений превращают три зафиксированных разрыва в знаковые флаги относительно нуля: корзина вверх или вниз, первая нога вверх или вниз, вторая нога вверх или вниз.
  • Два кубика позиции, привязанные каждый к своему инструменту, сообщают, что уже удерживается, а ещё два сравнения говорят, пуста ли сейчас эта нога. Именно это не даёт повторному сигналу добавить в ту же ногу второй вход.
  • Четыре логических условия собирают по три флага каждое — направление корзины, направление ноги, нога пуста — и каждое запускает кубик рыночной заявки. Ещё четыре кубика заявок отвечают за выходы и управляются напрямую двумя флагами корзины.

Правила входа и выхода

  • Вход в лонг: Нога покупается, когда разрыв корзины положителен, собственный разрыв этой ноги положителен и в ней ничего не удерживается. Обе ноги решаются независимо на одном и том же баре, поэтому обе могут быть в длинной позиции одновременно, одна может быть в длинной позиции, пока вторая остаётся вне рынка, или не подойдёт ни одна.
  • Вход в шорт: Нога продаётся, когда разрыв корзины отрицателен, собственный разрыв этой ноги отрицателен и в ней ничего не удерживается. Короткая сторона — точное зеркало длинной, и та же независимость между ногами сохраняется.
  • Выход: Единственный выход — смена знака разрыва корзины. Отрицательная корзина запускает два кубика закрытия с направлением на продажу, а положительная — два кубика с направлением на покупку. Направление у кубика закрытия — это фильтр, а не команда: кубик действует только на позицию, направленную в противоположную сторону, поэтому кубик закрытия на продажу трогает длинную ногу и не делает ничего, если эта нога пуста или уже в короткой позиции. Нога, чей собственный разрыв уже развернулся, а корзина — ещё нет, остаётся нетронутой, пока корзина не согласится.

Параметры

Параметр По умолчанию Описание
First Leg BTCUSDT@BNBFT Первый торгуемый инструмент. Он питает собственную серию свечей, собственную пару средних, собственный кубик позиции и собственные четыре кубика заявок; его смена переносит всю эту ногу целиком.
Second Leg TONUSDT@BNBFT Второй торгуемый инструмент, подключённый так же, как первый. Обе ноги симметричны, и ни одна не подчинена другой.
Basket Index BTCUSDT@BNBFT / 20000 + TONUSDT@BNBFT Выражение, из которого строится синтетический инструмент корзины. Делитель приводит обе ноги к сопоставимому масштабу — увеличьте его, чтобы дать преобладание второй ноге, уменьшите, чтобы дать больше веса первой, — а знак этого ряда разрешает любой вход.
Basket Candles 00:15:00 Таймфрейм свечей корзины. Держите его равным таймфреймам ног: три потока задуманы так, чтобы читаться как один бар.
First Leg Candles 00:15:00 Таймфрейм свечей первой ноги. Эта серия одновременно служит торговыми часами: она запускает фиксацию значений, константы и, следовательно, момент отправки каждой заявки.
Second Leg Candles 00:15:00 Таймфрейм свечей второй ноги. Держится равным первой ноге, чтобы обе ноги оценивались на барах одинаковой длины.
Basket Fast Length 3 Период быстрой средней по корзине. Чем он короче, тем раньше реакция и тем чаще меняется знак корзины, а это чаще и открывает, и закрывает позиции.
Basket Slow Length 7 Период медленной средней по корзине. Расстояние между ним и быстрым периодом задаёт, насколько решительным должно быть движение, чтобы корзина считалась развернувшейся.
First Leg Fast Length 3 Период быстрой средней по первой ноге. Он лишь решает, согласна ли эта нога с корзиной, и никогда не задаёт направление самой корзины.
First Leg Slow Length 7 Период медленной средней по первой ноге. Расширение разрыва между двумя периодами заставляет эту ногу подтверждать реже, поэтому корзина может развернуться без её участия.
Second Leg Fast Length 3 Период быстрой средней по второй ноге, играющий ту же подтверждающую роль для этого инструмента.
Second Leg Slow Length 7 Период медленной средней по второй ноге. Ноги можно намеренно настроить по-разному, если одна из пары более шумная.
First Leg Volume 0.1 Размер заявки по первой ноге в собственных единицах этого инструмента. Его стоит задавать вместе с объёмом второй ноги, чтобы полная корзина вкладывала сопоставимые деньги в каждую сторону.
Second Leg Volume 2000 Размер заявки по второй ноге. Объёмы разделены, потому что инструменты оценены в совершенно разных масштабах, и одно общее число сделало бы одну из ног незначительной.

Детали диаграммы

  • Вес, который уравновешивает две ноги, — часть выражения индекса, а не число, заведённое на схему отдельной связью. Перебалансировка корзины сводится к правке одной строки параметра, и весь синтетический ряд перестраивается из неё.
  • Свечи подписаны только как завершённые. Заявка, отправленная по обновляющейся свече, несёт метку времени открытия бара, которая раньше момента фактической отправки, и по этой причине отклоняется; работа только с закрытыми барами оставляет каждую заявку помеченной тем моментом, которому она принадлежит.
  • Три фиксирующие переменные — это то, что вообще делает корзину пригодной к работе. Синтетический инструмент собирается из двух потоков, и его бар завершается позже, чем у обычного, поэтому кубик, который ждёт попадания всех трёх значений в одно окно, ждёт набор, который никогда не приходит. Фиксация каждого значения на торгуемой свече берёт значение как есть, а момент — из свечи, и сравнения, логические условия и заявки работают по часам торгуемого бара.
  • Кубики входа настроены на открытие позиции, поэтому вход срабатывает только из нулевой позиции. Сигнал, остающийся истинным несколько баров подряд, даёт одну заявку, а не по одной на каждый бар, и вернуться к нулевой позиции можно только через кубики выхода.
  • Панель графика рисует все три серии свечей, все шесть скользящих средних, а также все заявки и сделки со всех восьми кубиков заявок, поэтому бар можно читать вместе с корзиной, которая разрешила вход, и ногой, которая его подтвердила.

Использование

Импортируйте файл .json в Designer, прогоните схему на исторических данных в тестере, затем подстройте параметры или сами кубики под свой инструмент, прежде чем торговать вживую.