Идея коротко
Matteo Conti семь лет работал маркет-мейкером и сейчас управляет квант-фондом. Его стратегия торгует фьючерс на Nasdaq-100 (NQ) внутри дня. Сначала на 15-минутном графике определяется, есть ли у дня направление: цена по одну сторону VWAP, VWAP наклонён туда же, за последний час цена прошла не меньше 0.1%. Если направление есть, на 5-минутном графике ждём первую свечу против него и входим по рынку на открытии следующей.
Цели маленькие, стоп в два раза больше цели. Прибыльных сделок около двух третей. Автор строил систему под прохождение проп-челленджей и прямо говорит, что для своих денег средняя сделка слишком мала.
Почему это может работать
Объяснение автора лежит в микроструктуре. Крупные заявки фондов исполняют трейдеры банков и брокеров, и почти все используют алгоритмы, которые стараются исполнить объём около VWAP. Когда цена откатывает к VWAP, эти алгоритмы становятся активнее. Если покупающих алгоритмов больше, откат быстро выкупают. Условия режима отвечают на три вопроса: где уровень (цена против VWAP), куда направление (наклон VWAP), есть ли скорость (изменение за час).
Долю заявок через VWAP-алгоритмы мы не проверяли. Это заявление автора.
Правила
Все правила ниже названы автором. Места, где его описание допускает два прочтения, помечены Finetiq.
Индикатор и режим
// инструмент: фьючерс NQ, основная сессия 09:30–16:00 ET
// VWAP с привязкой к 09:30 ET, считается по 15-минутным барам
VWAP = Σ(TypicalPrice × Volume) / Σ(Volume) от 09:30 ET
// режим проверяется на закрытии каждой 15-минутной свечи
LongDrift = Close15 > VWAP
AND VWAP > VWAP[1] // VWAP вырос за последние 15 минут
AND Close15 / Close15[4] - 1 >= +0.1% // четыре 15-минутных бара = час
ShortDrift = Close15 < VWAP
AND VWAP < VWAP[1]
AND Close15 / Close15[4] - 1 <= -0.1%
// Finetiq: на 5-минутном графике используем значения последней ЗАКРЫТОЙ 15-минутной свечи
Вход
// торгуем с 10:30 до 15:30 ET: первый час VWAP ещё формируется
IF Time5 between 10:30 and 15:30 ET
IF LongDrift AND закрылась первая красная 5-минутная свеча (Close < Open)
BUY AT NEXT BAR OPEN // по рынку
IF ShortDrift AND закрылась первая зелёная 5-минутная свеча (Close > Open)
SELL SHORT AT NEXT BAR OPEN
// «первая» свеча: первая после того, как режим включился.
// Finetiq: после закрытия сделки ждём следующую свечу против направления, пока режим активен.
// Насколько близко откат подошёл к VWAP, по словам автора, неважно
Выход и ограничители
Long: StopLoss = EntryPrice - 80 пунктов; Target = EntryPrice + 40 пунктов
Short: StopLoss = EntryPrice + 80 пунктов; Target = EntryPrice - 50 пунктов
EXIT все позиции at 15:55 ET
// ограничители
не больше 1 позиции одновременно
не больше 4 сделок за день
после 2 убыточных сделок за день новых входов нет
// Finetiq: автор говорит и «два убытка за день», и «две убыточные подряд».
// При лимите 4 сделки это разные правила, проверьте оба
новых входов после 15:30 ET нет
Параметры
| Параметр | Значение | Откуда |
|---|---|---|
| Инструмент | NQ (или 10 MNQ) | автор |
| Таймфрейм режима | 15 минут | автор |
| Таймфрейм входа | 5 минут | автор |
| Привязка VWAP | 09:30 ET | автор |
| Порог изменения за час | 0.1% | автор (подобран на 2020–2024) |
| Окно торговли | 10:30–15:30 ET | автор |
| Стоп | 80 пунктов | автор |
| Цель лонга | 40 пунктов | автор |
| Цель шорта | 50 пунктов | автор |
| Принудительный выход | 15:55 ET | автор |
| Максимум сделок в день | 4 | автор |
| Стоп на день | 2 убытка | автор, трактовка Finetiq |
| Повторный вход после сделки | следующая свеча против направления | Finetiq |
Что проверить
- Издержки. По цифрам автора ожидание около $86 на сделку до издержек (0.64 × $866 − 0.36 × $1300). Комиссия и проскальзывание в один тик на входе по рынку и на стопе дают примерно $15 на круг. Прогоните тест с реалистичными издержками и посмотрите, сколько остаётся.
- Стоп и цель в пунктах. NQ в 2020 году стоил примерно от 6.6 до 13 тысяч, сейчас намного дороже. 80 пунктов тогда и сейчас это разный риск. Сравните фиксированные пункты с тем же стопом и целью в долях ATR(14) 15-минутного графика.
- Порог 0.1%. Автор подобрал его на in-sample. Проверьте 0.05%, 0.15%, 0.2%. Если результат держится только около 0.1%, это подгонка.
- Out-of-sample заново. Возьмите параметры как есть и прогоните только период после 2024 года. Отдельно посмотрите 2025 и 2026 годы.
- Два прочтения дневного стопа. «Два убытка за день» против «двух убытков подряд».
- Какой VWAP. VWAP по 15-минутным барам против VWAP по 5-минутным. Если разницы нет, реализация сильно упрощается.
- Проп-математика. Вероятности прохождения зависят от правил конкретной фирмы (цель, максимальная просадка, трейлинг). Автор фирму не назвал. Свою симуляцию стройте на правилах той фирмы, куда пойдёте.
Особенности платформ
TradingView (Pine Script)
- Стандартный
ta.vwapсбрасывается в начале сессии символа. У фьючерсов CME сессия начинается в 18:00 ET предыдущего дня, а не в 09:30. Нужен якорный вариант:ta.vwap(hlc3, anchor), гдеanchorистинно на первом баре после 09:30 по"America/New_York". - Значения 15-минутного графика на 5-минутном берите без заглядывания вперёд:
request.security(syminfo.tickerid, "15", expr[1], lookahead = barmerge.lookahead_on). - Лимит сделок за день:
strategy.risk.max_intraday_filled_orders(8)(вход и выход это два ордера). Лимит убытков считайте сами черезstrategy.losstrades.
MultiCharts и TradeStation (EasyLanguage)
- 15-минутный ряд подключается вторым потоком данных (
Data2), значения берутся какClose of Data2. - VWAP с 09:30 проще посчитать самим: накапливать сумму
TypicalPrice * объёми объём, сбрасывать на первом баре сессии.Timeэто время закрытия бара, первый 5-минутный бар имеетTime = 935. - Проверьте, какое поле даёт полный объём. В TradeStation на внутридневных барах полный объём исторически лежит в
Ticks, аVolumeможет содержать только объём на повышении. В MultiCharts это зависит от настройки символа (Build Volume On). - Стоп и цель задавайте ценой:
Sell next bar at EntryPrice - 80 stop,Sell next bar at EntryPrice + 40 limit.SetStopLossработает в долларах, и в зависимости от режима на контракт или на позицию. - Выход в 15:55:
If Time >= 1555 then Sell next bar at market.SetExitOnCloseв реальной торговле не срабатывает.
MetaTrader 5 (MQL5)
- Настоящий объём есть только у биржевых фьючерсов, которые дают немногие брокеры. У CFD на Nasdaq-100 (USTEC, NAS100) доступен лишь тиковый объём (
iTickVolume), и VWAP по нему это приближение. - Цена CFD отличается от фьючерса на базис, и пункты у брокера могут быть другого размера. Пороги 80, 40 и 50 пунктов заданы для NQ.
- Время 09:30 ET переводите в серверное время брокера с учётом летнего времени. В тестере
TimeGMT()не помогает, он равен серверному времени. - Сигнал считайте на закрытых барах (индекс 1) и проверяйте появление нового 5-минутного бара, иначе вход повторится на каждом тике.
Где идея может сломаться
- Все результаты озвучены в интервью на канале проп-фирмы, где стратегия показана как способ пройти челлендж. Отчётов о сделках в открытом доступе нет.
- Стоп в два раза больше цели. Такая система особенно чувствительна к проскальзыванию на стопах и к издержкам. Небольшое ухудшение процента прибыльных сделок быстро обнуляет ожидание.
- Автор предупреждает: на собственном капитале стратегия, скорее всего, не заработает. Это не противоречие, а следствие маленькой средней сделки.
- Фиксированные пункты не следят за ростом цены NQ. Параметры, подобранные на 2020–2024, могут означать совсем другой риск в 2026 году.
- На CFD в MetaTrader 5 без реального объёма и с другой ценой это уже другая стратегия. Её нужно проверять заново, а не переносить цифры автора.