Открыть на GitHub

Схема стратегии Tape Reader

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

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

  • Тиковый поток несёт обе половины сигнала: один конвертер берёт объём каждого прошедшего принта, другой — его цену.
  • Скользящая средняя по объёмам последней сотни принтов даёт схеме текущее представление о том, как выглядит обычная сделка по этому инструменту, поэтому ничто в ней не привязано к конкретному уровню цены или размеру контракта.
  • Формула делит объём каждого принта на это среднее и превращает его в обычный множитель: единица — рядовой принт, пятёрка — принт впятеро крупнее недавней нормы.
  • Одна переменная держит этот множитель, вторая — цену принта, пока свеча не закроется. Свеча служит для них триггером, и именно это ставит измерение на тиковой скорости и решение на скорости свечи на одни часы.
  • Сравнение с Size factor отвечает, был ли принт крупным. Закрытие предыдущей свечи, взятое блоком Previous value и конвертером, отвечает, в какую сторону он прошёл.
  • Блок Position сравнивается с нулём трижды: это даёт проверку на нулевую позицию для входов и проверки на длинную и на короткую позицию для выходов.
  • Strategy trades сообщает о каждой собственной сделке и обнуляет счётчик свечей, который удерживает схему вне рынка заданное число свечей после любого исполнения — входа или выхода.
  • Оба входа — блоки Position modify в режиме только открытия, а выход — третий такой блок в режиме закрытия, поэтому одновременно удерживается одна позиция и она обнуляется прежде, чем можно будет взять противоположную сторону.

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

  • Вход в лонг: Принт, прошедший последним перед закрытием свечи, оказался как минимум в Size factor раз крупнее среднего объёма принта, его цена выше закрытия предыдущей свечи, позиция нулевая, а пауза истекла. Position modify покупает объём Order volume по рынку.
  • Вход в шорт: Тот же крупный принт, но по цене ниже закрытия предыдущей свечи, снова из нулевой позиции и с истёкшей паузой. Position modify продаёт объём Order volume по рынку.
  • Выход: Ни take-profit, ни stop-loss здесь нет. Длинная позиция закрывается, когда крупный принт проходит ниже предыдущего закрытия, а короткая — крупным принтом выше него. Оба условия выхода сходятся в одном блоке Combination, который запускает блок Position modify в режиме закрытия; сделка, обнуляющая позицию, заново запускает паузу, поэтому следующий вход выжидает то же число свечей.

Параметры

Параметр По умолчанию Описание
Candles 00:05:00 Таймфрейм свечей, на которых работает вся схема; каждое показание ленты снимается при закрытии одной из них.
Average Prints 100 Сколько последних принтов формируют средний объём, относительно которого считается множитель. Более короткое окно быстрее отслеживает смену активности и делает само среднее более дёрганым.
Size Factor 5 Во сколько раз принт должен превысить средний объём, чтобы считаться крупным. Повышайте его ради более редких и избирательных сигналов; понижайте, когда лента спокойна и ничто не проходит отбор.
Cooldown Bars 3 Сколько завершённых свечей должно пройти после любого исполнения, прежде чем разрешён следующий вход.
Order Volume 1 Объём каждой заявки на вход, в единицах инструмента. Объём закрывающей заявки берётся из открытой позиции, и это значение не читается.

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

  • Мера — это отношение, а не число контрактов, поэтому один и тот же Size factor читается одинаково и на инструменте, который торгуется долями единицы, и на том, что торгуется целыми лотами.
  • Среднее включает и тот принт, который с ним сравнивается, поэтому один очень крупный принт немного приподнимает собственную мерку; при сотне принтов в окне принт впятеро крупнее нормы всё равно читается выше четырёх.
  • Читается тот принт, который пришёл последним перед закрытием свечи. Переменная, которая его держит, и стоит между потоком, срабатывающим тысячи раз в день, и решением, которое принимается раз в бар; без неё проверка объёма и проверка цены отвечали бы по разным часам и никогда бы не сошлись.
  • Счётчик паузы сбрасывается от блока собственных сделок, а не от блоков входа, поэтому закрывающее исполнение тоже запускает ожидание. Без этого выход из одной сделки и вход в следующую попадали бы на соседние свечи.
  • Панель графика рисует свечи, средний объём принта, удерживаемый множитель и линию Size factor, заявки на вход и выход и каждую собственную сделку, поэтому принт, породивший сделку, можно найти рядом со свечой, которой он принадлежит.

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

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