Методология торговой системы

Не «набор ботов», а система: каждый edge доказан walk-forward, риск нормирован по эквити, исполнение и эволюция формализованы. Семь слоёв — привязаны к реальным модулям движка.

реализовано в коде ядро — не трогать приоритет развития
01

Философия

Core Thesis

Мы не предсказываем цену — эксплуатируем измеримые неэффективности и торгуем только те, что пережили out-of-sample. Четыре базовые: возврат к уровням (mean-reversion), ATR как реальная волатильность для адаптивных стопов, режим/тренд-фильтр против ложных входов, profit-lock (храповик) фиксирует edge на откате.

В системе
Тезис несёт тип edge: rsi2_mr/ibs = возврат, keltner_bo = пробой, tom = сезонность, wick_rej = фейд тени.
Генерация
edge-dsl.js — конструктор рецептов cx_<триггер>__<фильтр>: гипотеза → авто-валидация.
ядроПравило №1: ни один edge не идёт в торговлю без доказанного тезиса на невиданных данных.
02

Математическая модель

Quant Backbone

Формализованное ядро расчётов — то, что превращает правила в тестируемый алгоритм.

ATR (Wilder, p=14) — мера волатильностиATRᵢ = (ATRᵢ₋₁·(p−1) + TRᵢ) / p, TR = max(H−L, |H−Cₚᵣₑᵥ|, |L−Cₚᵣₑᵥ|)
Риск-сайзинг — размер от эквити (компаундинг)units = (equity · riskPct) / (ATR · slM · pip) → ATR-стоп = ровно riskPct·эквити
pfLow — нижняя граница Profit Factor (защита от везения)pfLow = 10-й перцентиль из bootstrap(B=200) переигровок сделок
Walk-forwardIS = первые 70% · OOS = последние 30% · edge обязан держаться на OOS
Фиксировано
ATR=14, split=0.7, bootstrap B=200, косты = spread×1.5 + swap. Константы честности.
Адаптивно
TP/SL в единицах ATR, размер от эквити, выбор храповика под конкретный edge.
03

Режимы рынка

Market Regimes

Один и тот же edge живёт в одном режиме и умирает в другом. Система классифицирует режим и гейтит вход.

Классификатор
regime.js → TREND · RANGE · HIGHVOL · NEUTRAL по ADX + Efficiency Ratio + ATR-перцентилю.
Соответствие
signal-ensemble.js — fit(family, regime): MR-edge → RANGE, пробой/тренд → TREND, mean-reversion в HIGHVOL режется.
реализованоРежим-гейт вплетён в исполнители крипты, Kraken и акций: вход пропускается, если fit < 0.7 (режим против семейства edge).
04

Риск-доктрина

Risk Doctrine

Размер от эквити, стоп от ATR, лимиты сверху, статус-множитель от уверенности в edge.

Риск / сделку
riskPct = 1% эквити ÷ ATR-стоп. Волатильный инструмент → меньше units автоматически.
Лимит позиций
MAX_CONCURRENT / MAX_POS — потолок одновременных сделок.
Дневной + недельный стоп
risk-guard.js: −6% от эквити за день / −12% за неделю → стоп новых входов (открытые ведём) + drawdown-monitor.js.
Корр-лимит
не стакать коррелирующие позиции: если кандидат сильно коррелирует (|ρ|>0.7) с ≥2 открытыми — вход блокируется.
Статус-множитель
forward-гейт: confirmed = полный размер · probation = микро · rejected = skip.
Profit-lock
exits.js — breakeven, chandelier, донч-трейл: фиксируют прибыль по мере хода.
реализованоЕдиная риск-доктрина на всех исполнителях (risk-guard.js): дневной + недельный стоп-лосс и жёсткий корреляционный лимит — крипта, Kraken, Alpaca, OANDA.
05

Протокол исполнения

Execution Protocol

Что отличает «идею» от «системы» — жёсткие условия входа, определение ложного сигнала, автоматизация.

Вход
Только на новом закрытом баре (dedup по lastBar), signal ≠ 0, ATR>0, режим-гейт пройден.
Ложный сигнал
Уже отработанный бар · без ATR · режим против edge · шорт на споте → пропуск.
Выход
ATR SL/TP + храповик (chand/be/donch/matrl) + тайм-стоп 60 баров.
Автоматизация
cron */5 per-venue; путь edge: shadow → forward-гейт → live.
06

Метрики эффективности

Performance Framework

Что делает стратегию доказуемой. Лаба считает по каждому edge:

pfLow
нижняя граница PF (главный ранжир)
Profit Factor
валовая прибыль / убыток
Expectancy
net/сделку в R
Sharpe
per-trade стабильность
Max Drawdown
в единицах R
Win Rate
доля прибыльных
Max Consec Loss
худшая серия убытков
PF по режимам
edge-stability across regimes
Стресс-тест
PF на высоковолат. барах (HIGHVOL)
порог ROBUSTPF_is ≥ 1.2 · PF_oos ≥ 1.1 · pfLow ≥ 1.0 · OOS-сделок ≥ 20.
реализованоEdge-stability по режимам: лаба разбивает OOS-сделки по режиму на входе и считает PF в каждом — видно, держится ли edge широко или только в одном режиме.
реализованоСтресс-тест: каждый edge отдельно прогоняется только по высоковолатильным барам (HIGHVOL) — видно, теряет ли edge деньги при шоке волатильности или держится (напр. vortex21 PF 0.79 — хрупкий, td9 PF 6.6 — крепкий).
07

Процесс улучшения

Evolution Path

Что можно тюнить, что трогать нельзя, и как изменение доходит до live.

Ядро (заморожено)
walk-forward гейт, честные косты, bootstrap pfLow, мин. OOS-сделки. Не трогаем.
Тюнинг
strategy_config.json (слайдеры в кабинете): riskPct, minPfOos, maxConcurrent, TP/SL, режим выхода.
Тест изменения
новый edge → лаба walk-forward → forward-гейт (live-paper) → авто-промоушен при подтверждении.
Расписание
crypto-lab ежедневно · stock-lab еженедельно · forward-гейт непрерывно (edge_confirmed.json).
решение о внедренииEdge выходит в live только автоматически — когда forward-гейт подтвердил его вживую. Ручных «а давай попробуем» нет.
×