После прошлой записи прошло всего несколько дней, но по объёму работы это ощущается как отдельный этап.
В прошлый раз я описал общий путь: как после 10 октября пришёл к лаборатории, ботам, тестам, forward-проверкам и попытке уйти от самообмана.
Эта запись уже не про то, как я к этому пришёл.
Эта запись про то, что произошло дальше.
Если коротко: я ещё сильнее убедился, что главный вопрос не в том, чтобы найти очередной красивый сигнал. Главный вопрос — где вообще есть доступная экономика для ретейла.
Что изменилось с прошлой записиПараллельно шло несколько веток:
- фьючерсы / форекс и реальные данные Databento;
- проверка стакана, MBO, очереди и passive maker fills;
- Lighter market-making SIM;
- доводка FTMO momentum-бота;
- продолжение диагностики живого крипто-бота;
- первые ручные сделки на 1-step challenge.
Общий итог простой:
Гипотез стало меньше, но карта стала честнее.
Futures / FX / DatabentoПосле прошлой записи я решил отдельно проверить, есть ли вообще ретейл-доступный edge в FX / futures, если не смотреть на это через обычный брокерский график.
Сначала поднял бесплатные тики Dukascopy и прогнал несколько идей:
- fade экстремума;
- breakout;
- reclaim;
- range-бары;
- стохастик 3/2/3;
- уровни M1/M5;
- отскок;
- несколько вариантов контроля и detrend.
Результат был слабый.
На коротком окне что-то могло выглядеть живым, но после нормальной проверки всё разваливалось:
- где-то знак флипал train → OOS;
- где-то edge исчезал после дефляции;
- где-то стохастик просто не добавлял пользы.
После этого стало понятно: спот-FX прокси мало.
Нужны настоящие фьючерсные данные.
Так я дошёл до Databento.
Скриншот 1 — Databento pricing / общий экран тарифов
Скриншот 2 — Databento CME / usage-based / Standard / Plus / Unlimited
Купил реальные futures data и проверил похожие идеи уже на настоящем GC / 6E.
И там часть красивых сигналов умерла ещё быстрее. То, что на брокерском или spot-фиде могло выглядеть как преимущество, на реальном тейпе оказалось артефактом.
Потом пошёл глубже:
- trades;
- BBO;
- aggressor-flow;
- MBO;
- очередь;
- passive maker simulation по 6E и NQ.
И тут был один из самых важных выводов:
В стакане не лежит бесплатный edge.
Пассивные fills оказались токсичными. По симуляции получался минус даже при идеальной 0 мс латентности.
То есть проблема не только в том, что ретейл медленный.
Проблема в adverse selection.
Тебя исполняют тогда, когда твоя заявка уже, скорее всего, плохая.
Про Databento отдельно
Databento оказался полезным именно как инструмент проверки гипотез.
Из плюсов:
- usage-based модель;
- стартовые free сredits;
- можно брать trades, BBO, MBO/L3, settlement;
- нормальная история по futures.
Но важная оговорка:
Дорогие данные сами по себе edge не дают.
В моём случае они скорее помогли быстрее закрыть слабые идеи, чем найти "грааль".
Единственная живая зацепка во futures — carryПарадоксально, но единственный живой кандидат появился не в глубине стакана, а на самом грубом уровне данных — дневные settlement.
Это carry / term-structure на нефти.
По CL результат пока только in-sample, но выглядит хотя бы экономически осмысленно:
- Sharpe около 0.49 против always-long 0.29;
- просадка заметно ниже, чем у buy-and-hold;
- бэквордация даёт положительный средний день;
- контанго — отрицательный;
- train Sharpe 0.71 → OOS 0.28;
- плюс примерно в 6–7 годах из 10.
Это ещё не доказанный edge.
Но в отличие от коротких сигналов здесь есть понятная логика:
- term-structure;
- carry-премия;
- компенсация за риск.
Сейчас этот кандидат ждёт проверки на широте товаров.
Databento начал жёстко throttling на скачке, поэтому докачка меди / зерна / энергии стоит на cooldown.
Lighter market-making: L0 проверенВ прошлой записи я писал, что следующий большой поворот в крипте — это не угадывать long / short, а проверять maker-maker модель.
За эти дни был дописан честный SIM:
- latency;
- queue-fill модель;
- 200 мс постановка / отмена;
- 50 мс батчи;
- несколько режимов fill от optimistic до toxic;
- юнит-тесты прошли.
Отдельно выяснилась важная вещь:
В нашем WebSocket книга агрегирована по цене, без чужих order_id.
Значит, точный FIFO чужих заявок восстановить нельзя. Это было зафиксировано в спеке, чтобы не обманывать себя точностью, которой нет.
Потом был Data Quality по 9 активам.
Данные чистые:
- crossed book 0%;
- отрицательных size нет;
- линковка bid/ask_id нормальная;
- nonce почти идеальный;
- 6 активов готовы для тестов.
Дальше прогнал L0 — симметричный market-making без прогноза на:
- BTC;
- SOL;
- HYPE;
- XRP;
- SUI;
- AVAX.
Результат:
L0 не стратегия.
Net почти ноль, fill-rate маленький, знак нестабилен.
Главное — чем меньше fill, тем меньше потери. Это очень плохая подпись для market-making: значит, базовой экономики нет.
Zero-fee Lighter убирает комиссию, но не убирает:
- adverse selection;
- риск инвентаря;
- токсичные fills.
Сейчас L0 остаётся baseline.
L1 toxicity-filter заморожен, но не запускается до нормального OOS-окна.
Данные копятся стабильно, нужно примерно 2–3 недели.
FTMO momentum-бот: доводка защитыПо FTMO-ветке задача была не найти новую альфу, а довести momentum-бота до более безопасного состояния.
Первый слой — news-filter.
FMP на free-тарифе оказался бесполезен для economic calendar, поэтому подключил СoinGlass. Он нормально отдаёт календарь через API, время в UTC epoch-ms.
Но нашлась тонкая дыра:
NFP у СoinGlass называется не привычно Nonfarm Payrolls, а машинно-переведённо — что-то вроде "non-agricultural employment population".
Старый фильтр это не ловил.
Добавили ключевые слова, прогнали тесты, задеплоили только при open=0.
Хороший урок:
Даже новостной фильтр нельзя просто подключить и забыть. Название события тоже может стать дырой в защите.
Потом были две живые сделки по XAUUSD:
- первая — SELL, TP, +$763.72;
- вторая — SELL, SL, −$432.88.
После второй сделки хотелось добавить правило:
"после тейка не входить повторно в ту же сторону".
Но вместо эмоционального патча сделали read-only backtest.
И данные показали обратное: на XAUUSD такие повторные входы после TP в течение часа были плюсовыми.
Результат:
- 33 случая;
- 18 TP / 15 SL;
- +$7383;
- +0.45R;
- выше среднего по книге.
Любой lockout резал прибыль.
Вывод:
Post-TP lockout закрыт.
Вторая сделка была не багом, а обычным losing draw.
Дальше был P4 — мультитаймфрейм-гейт:
- M5 — вход;
- M30 — локальное подтверждение;
- H1 — главное направление;
- H4 — фильтр сильного встречного режима.
P4 прошёл тесты и задеплоен.
Текущий статус FTMO-бота:
- alpha не тронута;
- СoinGlass работает;
- XAUUSD и US100 активны;
- GER40 выключен;
- после P4 сделок пока мало;
- несколько кандидатов отфильтрованы корректно.
Это не баг, а нормальная работа фильтров.
Теперь ждём выборку:
- 20–30 кандидатов;
- или 5–10 реальных сделок.
Крипто-бот: свечная ветка окончательно закрытаПо живому крипто-боту главный вывод прошлой записи подтвердился ещё сильнее:
Свечной edge на коротком горизонте не выживает после cost.
За эти дни ещё раз проверялись разные попытки "спасти" свечной сигнал:
- LTF momentum;
- LTF pullback;
- YTC level retest;
- Сoinglass crowding filter;
- location-gate;
- trendline break/retest;
- primitive;
- range-bars на тиках;
- tick-flow / CVD / delta.
Почти всё умерло.
Коротко по выводам:
- LTF momentum убил винеров;
- pullback ухудшил вход;
- YTC-Level-Retest хуже текущего classifier;
- Сoinglass crowding train → OOS флипнул;
- trendline оказался hindsight;
- range-bars на настоящих тиках тоже не спасли.
Главный вывод:
Проблема была не в том, что "не тот индикатор".
Свечной сигнал сам по себе оказался примерно монетой.
Что выжило?
Не новый вход, а universe.
U5 cheap-majors:
- BTC;
- ETH;
- SOL;
- XRP;
- DОGE;
- BNB.
В бэктесте и OOS это дало первый более здоровый результат:
- net +0.0117 на сделку;
- PF 1.21;
- OOS +0.0121;
- cost съедает около 30% gross против 90% у текущего vol-first universe.
То есть иногда важнее торговать не самое волатильное, а то, где исполнение не убивает математику.
Сейчас live-бот около breakeven.
Статус:
- свечная ветка закрыта;
- U5 forward-shadow копит статистику;
- на 20 сигналов — предварительный отчёт;
- на 30 — серьёзный;
- на 50 — финальный verdict;
- live не трогаем.
Первые ручные сделки на 1-step challengeОтдельно были первые ручные сделки на 1-step challenge.
Сейчас общий итог чуть больше +2%.
Первая цель — дойти до +10%, но без желания "добить" любой ценой. После всех тестов стало понятно: на пропе важнее не сломать счёт.
Скриншот 3 — EURNZD long, неудачная сделка
Тренд был сильный, но вход поздний, почти в вертикальный вынос. Это классическая ошибка: график выглядит очевидно bullish, но по факту ты заходишь тогда, когда движение уже почти съедено.
Скриншот 4 — AUDNZD short, ночной спред
Здесь особенно запомнился ночной спред. На графике идея может выглядеть нормально, но реальное исполнение ночью ломает математику.
Скриншот 5 — AUDJPY long, попытка отскока
Попытка поймать отскок после сильного падения. Больше похоже на угадывание дна, чем на системный вход.
Скриншот 6 — EURUSD: fail + вторая удачная попытка
EURUSD — сначала fail, потом со второй попытки одна из самых чистых ручных сделок последнего времени.
Цена дала хороший импульс, вход совпал с направлением, движение отработало красиво.
Главный вывод по ручной торговле:
Иногда руками я вижу рынок лучше, чем бот в отдельный момент. Но без правил легко спутать хороший контекст с поздним входом, а красивый график — с реальным преимуществом.
Сейчас challenge в плюсе чуть больше +2%, но это только начало.
Задача — пройти к +10% спокойно:
- без нарушения риска;
- без эмоциональной серии;
- без желания срочно "добить" цель.
Общий вывод после этих нескольких днейЕсли предыдущая запись была про переход от хаоса к лаборатории, то эта — про то, как лаборатория начинает убивать гипотезы быстрее, чем я успеваю в них влюбиться.
Главные выводы:
Короткий свечной directional edge почти везде умирает после cost.
Микроструктура не бесплатный грааль.
Там живёт adverse selection.
Execution и universe важнее, чем казалось.
Медленные премии вроде carry выглядят здоровее, чем попытка угадать следующую свечу.
Патчить систему по одной последней сделке опасно.
Иногда правильное действие — ничего не менять и ждать выборку.
Где всё сейчасFTMO-бот:
- здоров;
- P3/P4 задеплоены;
- СoinGlass работает;
- XAUUSD и US100 активны;
- ждём кандидатов.
Крипто-бот:
- около breakeven;
- свечная ветка закрыта;
- U5 shadow копит статистику.
Lighter MM:
- L0 закрыт;
- L1 ждёт OOS-окно;
- данные копятся.
Futures:
- короткие сигналы закрыты;
- MBO/maker/очередь no-go;
- carry на нефти ждёт товарной валидации.
1-step challenge:
- ручные сделки;
- сейчас чуть больше +2%;
- цель +10%, но без погони.
План дальше
План простой:
- не плодить новые ветки;
- не покупать дорогие данные без доказанной гипотезы;
- не менять live по одному скрину;
- копить forward;
- проверить carry на широте товаров;
- дождаться OOS-окна по Lighter;
- дождаться 30–50 сигналов по U5;
- вести 1-step challenge аккуратно.
Прибыльной машины ещё нет.
Но иллюзий стало меньше, карта стала честнее, а путь стал понятнее:
искать не красивую свечку, а экономику, исполнение, правильный universe и дисциплину.
Продолжение будет.