Reverse Backtester — руководство

Инструмент доступен по адресу: https://reverse.x-bots.tech. Не требует регистрации, работает в браузере.


Reverse Backtester — бесплатный онлайн‑инструмент для подбора параметров стратегии Reverse. При срабатывании SL позиция переворачивается (лонг ⇄ шорт), а объём увеличивается по множителю. Рост объёма ограничивается глубиной серии K (из неё получается максимальный рабочий объём MaxVol).


Содержание


Что делает бэктестер

  1. Загружает минутные свечи по выбранным парам:

    • по количеству свечей,

    • по готовому периоду (1–24 мес),

    • либо по диапазону дат через календарь.

  2. Перебирает диапазоны параметров (min/max/step) и симулирует сделки по логике Reverse.

  3. Считает PnL, ROI, DD, глубины серий, win‑rate, статистики по PnL.

  4. Учитывает комиссии (maker/taker) и фандинг (два режима).

  5. Показывает TOP‑10 по выбранному критерию, детали сделок, графики.

  6. Копирует готовую конфигурацию JSON для запуска в X‑Bots.

  7. Хранит свечи в локальном кэше (ускоряет повторные прогоны).


Быстрый старт

  1. Пары → Выбрать пары… Отметьте BTCUSDT (рекомендуется начинать с одной пары).

  2. Способ загрузки:

    • «По количеству свечей» → 20000, или «Период» → 2 года, или «Диапазон дат» → выберите даты в календаре.

  3. Старт‑направлениеЛонг.

  4. Критерий сортировкиДоходность (Profit) (или выберите свой).

  5. Проверьте диапазоны Base/Mult/TP/SL/K (можно оставить предустановки).

  6. Нажмите Старт. Дождитесь конца: полоса прогресса станет «шашечной», затем появится «Готово».

  7. В таблице откройте Детали понравившегося сета. Посмотрите графики/метрики и сделки.

  8. Нажмите Копировать конфигурацию — вставьте JSON в импорт X‑Bots.


Интерфейс и настройки

1) Пресеты

Верхний блок, компактная «панель запуска».

1.1. Локальные пресеты

  • Выбор пресета — список сохранённых локально.

  • Сохранить текущий — записывает все параметры формы.

  • Удалить — удаляет выделенный пресет.

  • Скопировать ссылку‑пресет — создаёт URL с закодированной конфигурацией. Получатель открывает ссылку — форма подставляется автоматически.

Пресеты хранятся в браузере. Ссылку можно отправлять коллегам.

1.2. Выбор пар

  • Фьючерсные пары Bybit (USDT)Выбрать пары… Откроется модальное окно с:

    • строкой поиска,

    • кнопками Все / Снять,

    • списком пар с чекбоксами.

  • Рекомендуется выбирать одну пару. Если выбрано несколько, расчёт идёт по очереди, результаты всех пар попадают в одну таблицу. В строках есть колонка «Пара».

1.3. История (какой объём свечей брать)

  • Способ загрузки:

    • По количеству свечей — укажите число в поле «Свечей (1m)». Рекомендуем 10–30 тыс. для быстрых прогонов. Больше — дольше.

    • Период — готовый список: 1, 2, 3, 6, 9 месяцев, 1 год, 1.5 года, 2 года, Другое (дней)…. Выберите нужное — система сама вычислит даты «с» и «по».

    • Диапазон дат — укажите даты с и по через календарь. Если указана только дата «по», начало берётся по выбранному периоду.

В статусе после загрузки отображается фактический диапазон дат и количество полученных свечей.

1.4. Старт‑направление

  • Лонг — первая сделка открывается в лонг.

  • Шорт — первая сделка открывается в шорт.

Правила переключения:

  • после TP направление сбрасывается к стартовому;

  • после SL — направление переворачивается.

1.5. Критерий сортировки

Определяет порядок строк TOP‑10 и общей таблицы.

Готовые варианты:

  • Доходность (Profit) — максимальный суммарный PnL.

  • ROI % — максимальный ROI.

  • Recovery‑Factor — максимальный Profit / |DD $|.

  • Минимальная DD % — приоритет у наименьшей относительной просадки; при равенстве — больше ROI.

  • Win‑rate % — максимальная доля прибыльных сделок.

  • Avg depth — минимальная средняя глубина серий.

  • Max depth — минимальная максимальная глубина серий.

  • DD $ — минимальная абсолютная просадка.

  • Пользовательский (строка) — задаёте порядок и направление сравнения самостоятельно.

Синтаксис кастомного критерия

Строка вида:ddPct, roi, -avgDepth, +profit

  • Список полей через запятую.

  • +максимизировать, -минимизировать.

  • Без знака допустимо, но лучше явно указывать направление.

Поддерживаемые поля (основные): profit, roi, ddAbs, ddPct, recFactor, winrate, dealsTotal, dealsTP, dealsSL, cyclesTotal, cyclesTP, cyclesFail, avgDepth, maxDepth, fAvgDepth, fMaxDepth, kUsed, fundTotal

Примеры:

  • Минимизировать просадку, потом максимизировать ROI, затем Profit

-ddPct, +roi, +profit

  • Максимизировать Recovery‑Factor, при равенстве минимизировать Max depth

+recFactor, -maxDepth


2) Кэш и риск‑алерты

  • Игнорировать кэш — всегда загружать данные заново.

  • Очистить кэш пары — удалить сохранённые свечи для отмеченных пар.

  • Кэш: используется / игнорируется — индикатор состояния.

  • Порог DD % — если DD % результата выше, строка подсвечивается как рискованная.

  • Мин. TP cycles — если число удачных серий меньше порога, строка тоже подсвечивается.

  • Алерты: включены — напоминание о подсветке риска в таблице.

TTL кэша: ~30 минут. По истечении — свечи будут запрошены снова.

Правила подсветки риска

Строка подчёркивается, если:

  • DD % > порога, или

  • TP cycles < минимума, или

  • F‑Max depth ≥ K-1 и Fail (SL) > 0.


3) Комиссии

Учитывать комиссииВключено / Выключено. При выключении комиссии в расчёт не включаются.

Профиль:

  • Bybit деривативы — maker 0.02 %, taker 0.055 % (подставляются автоматически).

  • Кастом — ручной ввод:

  • Maker, %

  • Taker, %

Режим исполнения:

  • Обе стороны — taker

  • Обе стороны — maker

  • Вход maker, выход taker (по умолчанию)

Включать комиссии в TP/SL:

  • Нет — только в PnL TP/SL считаются «по чистым уровням», комиссия списывается отдельно.

  • Да — корректировать цели Уровни TP/SL смещаются, чтобы «после комиссий» результат соответствовал введённым %.


4) Фандинг

Режим фандинга:

  • Выключено — фандинг игнорируется.

  • Дискретный (только в момент события) Если позиция открыта на момент события, списывается/начисляется полная ставка за событие.

  • Средняя ставка × число событий Берётся средняя ставка за весь период истории и умножается на число событий, попавших внутрь интервала сделки. Быстро и сглаженно.

Использовать mark‑price ставки — включить, чтобы опираться на ставки, рассчитанные по mark‑price.

Ставок загружено — количество событий в выбранном интервале.

Средняя ставка, % / событие — средняя ставка за событие (в процентах).

Знак начисления

  • При положительной ставке лонги платят, шорты получают.

  • При отрицательной — наоборот.


5) Диапазоны параметров

Каждый параметр задаётся min / max / step. Все комбинации перебираются.

  • Base — базовый объём (USDT) Стартовый объём в серии.

  • Mult — множитель Во сколько раз увеличивать объём после каждого SL. Объём ограничивается сверху — см. K и MaxVol.

  • TP % — тейк‑профит, в процентах.

  • SL % — стоп‑лосс, в процентах.

  • K — количество переворотов Максимальная длина серии. На каждом SL: dir *= -1, vol = min(MaxVol, vol * Mult). При достижении предела — серия помечается как Fail (SL).

  • Воркеров (параллельность) Сколько потоков использовать. Выбирайте 4–8 на средних ПК. Больше потоков — быстрее, но выше нагрузка на ЦП.

MaxVol (расчётный)

  • при K = 1: MaxVol = Base;

  • иначе приблизительно: MaxVol ≈ Base × Mult^(K-1) (берётся фактическое достигнутое значение в симуляции).


6) Старт, план и прогресс

  • Старт — запуск загрузки свечей (или кэша) и перебора сетов.

  • Всего комбинаций — «план» — точное число проверяемых комбинаций.

  • Прогресс — линия с процентом. На финальной сортировке отображается «шашечный» узор — это нормально.

  • Статус — текущая стадия: «Загрузка свечей…», «Перебор…», «Готово…».

  • Диапазон — временной интервал истории и фактическое число свечей.

При выборе нескольких пар в статусе видно, какая пара сейчас обрабатывается; результаты всех пар сводятся в одну таблицу.


7) Результаты, метрики, детали

7.1. Таблица TOP‑10

Показывает десять лучших строк по выбранному критерию. Колонки:

  • # — место в рейтинге.

  • Пара — символ инструмента.

  • Base (USDT), Mult, TP, SL, K.

  • K_used — максимальная достигнутая глубина в серии.

  • Deals / TP / SL — количество сделок, TP и SL.

  • WR % — win‑rate.

  • Fail (SL) — число серий, где дошли до предела и завершились SL.

  • MaxVol (USDT) — максимальный рабочий объём.

  • ROI %Profit / MaxVol × 100.

  • Профит — суммарный PnL.

  • DD $ — абсолютная просадка (минимум накопленного PnL).

  • DD %|DD $| / MaxVol × 100.

  • Детали — переход к подробному отчёту.

  • Конфигурация — копирование JSON для X‑Bots.

Подсветка риска — см. правила в разделе «Кэш и риск‑алерты».

7.2. Детали результата

Карточки метрик:

  • Profit, ROI %, DD $, DD %, Recovery‑Factor.

  • MaxVol, K_used.

  • Сделки, TP сделок, SL сделок, Win‑rate %.

  • Фандинг, USDT.

  • Cycles (всего), TP cycles, F‑серии (Fail = SL), Незавершённые серии (Tail).

  • Avg depth, Max depth, F‑Avg depth, F‑Max depth.

  • Средний / Медианный PnL, StdDev PnL.

  • Макс. подряд TP / SL.

  • P95 drawdown — 95‑й перцентиль просадки.

Графики:

  • Equity‑кривая — накопленный PnL по сделкам.

  • Месячный PnL — столбцы по месяцам.

  • Гистограмма PnL — распределение по сделкам.

Месячная сводка — таблица месяц → суммарный PnL.

Сделки — карточки:

  • тип (TP/SL), время;

  • dir (long/short);

  • entry / exit;

  • vol (USDT), qty;

  • fees, funding;

  • pnl. Есть пагинация (≈40 сделок на страницу).


8) Экспорт в X‑Bots

Кнопка «Копировать конфигурацию» формирует JSON:

  • positionSide = выбранное старт‑направление.

  • takeProfit.value = TP / 100.

  • stopLoss.value = SL / 100.

  • stopLoss.budgetMultiplier = Mult.

  • safety.baseOrderAmount = Base.

  • safety.baseOrderMaxAmount = округлённый MaxVol.

  • В имени автоматически вставляются пара и дата/время.

Скопируйте JSON → вставьте в импорт X‑Bots → при необходимости поправьте → сохраните и запустите.

Рекомендации по практике

  1. Стартуйте узко. С маленькими диапазонами и крупными шагами. Нашли область интереса — сузьте вокруг неё и уменьшите шаги.

  2. Следите за MaxVol. Это ваш «потолок» риска. Высокий MaxVol увеличивает Profit, но и DD тоже растёт. Сверяйте с реальным бюджетом.

  3. Смотрите на связку метрик. Profit/ROI сам по себе мало что говорит. Сравнивайте с DD %, Recovery‑Factor, depth, Fail (SL).

  4. Проверяйте устойчивость. Прогоняйте на других периодах (другая волатильность, тренды/флэты). Хорошие сеты остаются «в строю».

  5. Издержки включайте на верификации. На прикидке можно отключить комиссии/фандинг; перед внедрением — включите и убедитесь, что картина не «ломается».

  6. Не гонитесь за экстремальными глубинами K. Большой K тянет за собой экспоненциальный рост MaxVol и рисков. Лучше найти компромисс.

  7. Несколько пар гоняйте последовательно и сравнивайте итоги построчно, пока не нужен «портфельный отчёт».


⚙️ Количество потоков (воркеров)

Reverse Backtester позволяет управлять числом потоков, с помощью которых будет происходить перебор конфигураций.

Что это такое

Потоки (или воркеры) — это параллельные задачи, которые позволяют ускорить расчёт. Чем больше потоков — тем быстрее обработка параметров.

Как выбрать

🔢 В поле "Потоков" вы можете задать, сколько параллельных задач запустить:

  • На большинстве ноутбуков и ПК 4–8 потоков работают стабильно.

  • Если не уверены — укажите 4 как универсальное безопасное значение.

  • Если знаете, сколько ядер у вашего процессора — можно указать это число (например, 8).

Рекомендации

  • Больше потоков — быстрее расчёт, но и выше нагрузка на устройство.

  • Если браузер начал тормозить — уменьшите количество потоков и попробуйте снова.

  • На мобильных устройствах или слабых ноутбуках используйте 2–4 потока.

  • Не запускайте несколько вкладок с тестером одновременно — это снижает эффективность.

💡 Если оставить поле пустым или указать некорректное значение — система может не начать перебор. Убедитесь, что указано положительное целое число (1, 2, 4, 8...).

Ограничения и допущения

  • Тайм‑фрейм — 1m.

  • Данные — Bybit Linear, USDT.

  • Исполнение — без проскальзывания/спреда (используются уровни из свечи).

  • Кэш хранится локально и живёт около 30 минут.

  • При выборе нескольких пар расчёт идёт по очереди, сводного портфельного отчёта пока нет.


FAQ

Свечи не загружаются. Проверьте тикер. Если он верный — подождите 30–60 секунд и повторите. Публичный API может временно ограничивать частоту запросов. При необходимости включите «Игнорировать кэш».

Можно выбрать другой тайм‑фрейм? Нет. 1‑минутный ТФ оставляет максимально точную логику для реверса и выбора TP/SL.

Почему строка в таблице подсвечена? Сработало правило риска: DD % выше порога, или TP cycles ниже минимума, или был Fail на пределе глубины (F‑Max depth ≥ K-1 и Fail > 0).

Что означает Fail (SL)? Серия дошла до предельной глубины, увеличить объём дальше нельзя — и серия завершилась SL.

Зачем режим фандинга «Средняя ставка × число событий»? Быстрый и сглаженный способ оценить влияние. Если результат устраивает — перепроверьте «Дискретным» режимом.

Как ускорить работу? Снизить период/число свечей, сузить диапазоны, уменьшить число параметров, подобрать разумное число воркеров (обычно 4–8), использовать кэш.


Словарь метрик

  • Profit — суммарный PnL (USDT).

  • ROI %Profit / MaxVol × 100.

  • DD $ — минимальное значение накопленного PnL (по модулю — глубина просадки в деньгах).

  • DD %|DD $| / MaxVol × 100.

  • Recovery‑FactorProfit / |DD $|.

  • Deals / TP / SL — сделки всего / успешные / убыточные.

  • WR % (Win‑rate)TP / Deals × 100.

  • Cycles — количество серий (вход → TP/SL).

  • TP cycles — число серий, закрывшихся TP.

  • Fail (SL) — число серий, дошедших до предельной глубины и завершившихся SL.

  • Tail — незавершённые на конце истории серии.

  • Avg depth — средняя глубина серий.

  • Max depth — максимальная глубина.

  • F‑Avg / F‑Max depth — средняя/максимальная глубина среди неудачных серий (Fail).

  • K_used — фактически достигнутая максимальная глубина.

  • MaxVol — максимальный рабочий объём в серии.

  • fundTotal — суммарный фандинг (USDT).

  • mean/median/std — средний/медианный/стандартное отклонение PnL по сделкам.

  • maxTPS / maxSLS — максимальные серии подряд по TP/SL.

  • P95 drawdown — 95‑й перцентиль просадки по equity.


История версий

1.7

  • Комиссии (maker/taker), режимы исполнения, опция «включать в TP/SL».

  • Фандинг: «Дискретный» и «Средняя ставка × число событий», mark‑price.

  • Расширенные метрики: win‑rate, средние/медианные/стандартное отклонение PnL, max подряд TP/SL, P95 DD, Recovery‑Factor, глубины серий.

  • Графики: Equity, месячный PnL, гистограмма PnL.

  • Кэш свечей с сжатием, ускорение повторных прогонов.

  • Пресеты, ссылки‑пресеты.

  • Риск‑алерты с подсветкой.

  • Периоды / Диапазон дат и модальный выбор пар.

  • Параллельные воркеры.

1.6

  • Фиксированный TF 1m.

  • Улучшенная сортировка по DD %.

  • Месячные сводки, пагинация.

  • Кнопка «Копировать конфигурацию».

  • Предустановленные значения для быстрого старта.


Дорожная карта

Ниже — направления, которые ещё не реализованы (всё добавленное в 1.7 из прежнего плана уже выполнено).

Ближайшие релизы

  • Портфельные отчёты

    • Сводные метрики по набору пар: суммарный Profit, агрегированные DD %, сводные графики, корреляции месячных PnL.

  • Walk‑Forward / Out‑of‑Sample

    • Деление истории на окна «обучение/тест», отчёт устойчивости по окнам.

  • Теплокарты параметров

    • 2D‑heatmap (например, TP × SL или Base × Mult) с метрикой по цвету.

  • Отчёты

    • Генерация HTML/PDF с ключевыми графиками и таблицами.

  • Публичный шаринг

    • Публичная ссылка на отчёт (по желанию, с анонимизацией имени).

Ускорение и точность

  • WASM‑ядро

    • Переписать симулятор на Rust/AssemblyScript → ускорение ×3–×5.

  • Проскальзывание/спред

    • Модели: фиксированный спред (bps), волатильностная, «только вход», «вход+выход».

  • Ценовая база

    • Выбор логики исполнения по Last/Mark/Mid, привязка фандинга к mark‑price.

  • Профили бирж

    • Предустановки комиссий/фандинга/лотов для разных бирж.

Автоматизация

  • Headless/CLI

    • Серверный режим, REST‑API, CLI для пакетных задач.

  • Прямой импорт в X‑Bots

    • Кнопка «Создать бота» с отправкой через API (по подтверждению пользователя).

R&D

  • Монте‑Карло‑стрессы

    • Перемешивание последовательностей, бутстрэп‑оценка устойчивости.

  • Границы безопасности

    • Автостоп перебора при достижении порогов (макс. подряд SL, DD %, время в просадке).

  • Композитные критерии

    • Взвешенные рейтинги, например: Score = ROI% – k × DD% – m × DurationP95.

  • Портфельный оптимизатор

    • Подбор наборов сетов с целевой метрикой и ограничениями на суммарную просадку.

  • Капитал‑менеджмент

    • Сценарии распределения капитала между ботами/сетами.

Обратная связь

Если есть идеи или вопросы — напишите в поддержку X‑Bots или оставьте пожелания в сообществе. Предложения по метрикам и улучшениям приветствуются.

Last updated