# Как Janorium считает бэктест

> Методика бэктестов Janorium: данные Binance с 2020 года, когда исполняется ордер, как работают стопы, комиссии, фандинг и ликвидация и чего движок не моделирует.

Руководство · Janorium · Опубликовано 2026-11-05  
Веб-страница: https://janorium.com/guides/how-janorium-backtests?lang=ru

Janorium прогоняет стратегию по свечам Binance — спот или бессрочные фьючерсы USDT-M — с 2020 года: условия проверяются на каждой закрытой свече, ордер по умолчанию исполняется по цене закрытия этой свечи, стопы сверяются с её максимумом и минимумом, а комиссии, проскальзывание, фандинг и ликвидация начисляются так, как описано ниже. Здесь перечислены все допущения, в том числе то, чего движок не моделирует, — прочтите, прежде чем доверять результату или ссылаться на него.

## Рыночные данные

- **Биржа и рынки.** Только Binance: спот и бессрочные фьючерсы USDT-M. Фьючерсов с маржой в монете и других бирж нет.
- **Период.** Бэктест начинается не раньше 2020-01-01. Для прогрева индикаторов может браться и более ранняя история, если она есть у Binance.
- **Таймфреймы.** Бэктест идёт на свечах 1m, 5m, 15m, 1h, 4h или 1d; условие может читать ещё недельные и месячные значения. Какие таймфреймы есть у монеты, зависит от загруженных данных — это видно на страницах графиков.
- **Фандинг.** Настоящие ставки фандинга Binance, одна запись на каждое начисление.
- **Монеты, снятые с торгов.** Бессрочные фьючерсы, которые Binance потом снял с торгов, остаются доступны на свечах 1h и 4h до даты делистинга — так тест на многих монетах может обойти [ошибку выжившего](https://janorium.com/articles/survivorship-bias-crypto-backtest).
- **Пропуски и дубли.** Пропущенные свечи не придумываются: движок переходит к следующей сохранённой свече. Если свеча сохранена дважды, берётся более новая копия.

## Когда исполняется ордер

Условия проверяются один раз на свечу, после её закрытия. Сигнал на свече исполняется **по цене её закрытия**, сдвинутой против вас на проскальзывание. Стратегию можно переключить на **открытие следующей свечи**: тогда ордер исполняется по открытию следующей свечи, а условие входа проверяется ещё раз уже на ней.

Стратегия может выставить и отложенный **лимитный** или **стоп**-вход на расстоянии от опорной цены, действующий заданное число свечей. Лимитная покупка исполняется, когда цена торгуется ниже уровня, — по уровню или по открытию, если свеча открылась ниже, — с комиссией мейкера и без проскальзывания. Стоп-покупка исполняется, когда цена доходит до уровня, — по уровню или по открытию за ним, с комиссией тейкера и проскальзыванием. Продажи — зеркально.

## Стоп-лосс и тейк-профит внутри свечи

- **Уровни сверяются с максимумом и минимумом** каждой свечи, а не только с закрытием.
- **При ничьей побеждает стоп.** Если одна свеча задела и стоп-лосс, и тейк-профит, движок считает, что первым сработал стоп. Отчёт показывает, сколько сделок это затронуло и каким был бы результат, если бы первым был тейк-профит, — видно, насколько выбор важен. Стратегия может попросить свечи 1m или 5m, чтобы разобрать именно такие свечи точно.
- **Гэп исполняется по открытию.** Если свеча открылась за стопом, выход — по открытию, а не по цене стопа.
- **Трейлинг-стоп** идёт за максимальным закрытием (минимальным для шорта) на кратное ATR расстояние, только подтягивается, а уровень, рассчитанный на одной свече, впервые проверяется на следующей.

## Комиссии и проскальзывание

- **Комиссия** — процент от стоимости сделки, берётся при входе и при выходе. Одна ставка означает комиссию тейкера на каждом исполнении; можно задать отдельно ставки мейкера и тейкера, и ставка мейкера действует только на исполненные лимитные входы. На споте комиссия платится в валюте котировки.
- **Проскальзывание** сдвигает каждое исполнение против вас, на входе и на выходе: фиксированный процент, доля ATR или влияние, растущее с размером ордера относительно объёма свечи. Необязательный предел пропускает или урезает ордера, которые заняли бы слишком большую долю объёма.
- **По умолчанию.** У новой стратегии в редакторе комиссия 0,1% и проскальзывание 0,05% на сторону. Конфиг, отправленный через API без них, считается вовсе без издержек. Реалистичные значения — в [пошаговом руководстве](https://janorium.com/guides/how-to-backtest-a-crypto-strategy).

## Фьючерсы: плечо, фандинг, ликвидация

- **Плечо и маржа.** Целое плечо от 1× до 125×, изолированная или кросс-маржа. Маржа — стоимость позиции, делённая на плечо. Кросс-маржа упрощена до счёта одной монеты.
- **Фандинг** начисляется в каждый записанный момент расчёта, пока позиция открыта: количество × mark price × ставка. Лонг платит при положительной ставке и получает при отрицательной. На изолированной марже уплаченный фандинг сдвигает цену ликвидации.
- **Цена ликвидации** = вход × (1 − 1/плечо + 0,4%) для лонга и вход × (1 + 1/плечо − 0,4%) для шорта — поддерживающая маржа фиксирована на 0,4%. Она проверяется внутри свечи по максимуму и минимуму последних сделок, раньше стопов, — если только стоп между открытием и ценой ликвидации не закрыл позицию первым. Ликвидация исполняется по цене ликвидации с комиссией тейкера и проскальзыванием.

## Размер позиции, капитал и прогрев

- **Размер** — процент от свободного капитала, фиксированная сумма, процент риска до стопа или целевая волатильность. Количество не округляется до шага лота биржи. Вход, который не помещается в свободный капитал, пропускается и никогда не исполняется частично.
- **Несколько входов** — слои, пирамидинг и усреднение (DCA) со страховочными ордерами — поддерживаются.
- **Капитал.** Форма нового бэктеста начинает с 10 000 USDT.
- **Прогрев.** Индикаторы считаются и на свечах до даты начала (до 50 000 штук), поэтому первая сделка не ждёт, пока наберётся 200-периодная средняя. Статистика, кривая капитала и buy & hold начинаются с даты начала.

## Как считаются метрики

| Метрика | Как |
| --- | --- |
| Общая доходность | Итоговый капитал ÷ начальный − 1 |
| CAGR | (итоговый ÷ начальный)^(365 ÷ дни) − 1, от первой до последней свечи бэктеста |
| Макс. просадка | Наибольшее падение от предыдущего пика капитала, переоценённого по закрытию каждой свечи (не внутри свечи) |
| Шарп, Сортино | Дневные доходности по последнему значению капитала за каждые сутки UTC, безрисковая ставка 0, годовые через √365 |
| Доля прибыльных (win rate) | Доля строк сделок с положительным чистым результатом; каждый частичный выход — отдельная строка; комиссии и фандинг учтены |
| Профит-фактор | Сумма прибыльных сделок ÷ сумма убыточных |
| Buy & hold | От закрытия первой свечи до закрытия последней, без комиссий и фандинга |

Что значат цифры и какие значения хорошие: [метрики бэктеста](https://janorium.com/guides/backtest-metrics-explained).

## Без заглядывания в будущее

- Значение старшего таймфрейма (дневная средняя в стратегии на 1h) берётся только с последней **закрытой** старшей свечи.
- Условие по другой монете читает только свечи, закрывшиеся не позже текущей.
- Условия по фандингу читают последнюю начисленную ставку, а не прогноз следующей; доля тейкеров сдвинута на один период, чтобы свеча никогда не видела собственного будущего.

## Чего движок не моделирует

- Глубину стакана и влияние на рынок — кроме необязательного проскальзывания от объёма.
- Спред между покупкой и продажей как отдельную издержку, частичные исполнения и задержки.
- Правила биржи: шаг лота, шаг цены и минимальную сумму ордера.
- Ликвидацию по mark price, ступенчатую поддерживающую маржу, ликвидационную комиссию биржи, автоделевередж и страховой фонд — настоящая ликвидация может наступить раньше и стоить дороже.
- Шорт на споте, фьючерсы с маржой в монете и общий маржинальный счёт на несколько монет.
- Сбои биржи: пропущенных свечей просто нет.

> **Результат пересчитывается, только когда вы запускаете бэктест заново**
>
> Когда движок исправляют, сохранённые бэктесты остаются с цифрами, с которыми были посчитаны. Перезапустите старый бэктест, прежде чем сравнивать его с новым.

## Вопросы

### Janorium исполняет ордер по закрытию или по открытию следующей свечи?

По закрытию свечи, давшей сигнал, плюс проскальзывание — если стратегия не выбрала «открытие следующей свечи»: тогда ордер исполняется по открытию следующей свечи.

### Что срабатывает первым, если одна свеча задела и стоп-лосс, и тейк-профит?

Стоп-лосс — осторожное допущение. Отчёт показывает, сколько сделок это затронуло и каким был бы результат, если бы первым был тейк-профит.

### Учитывается ли фандинг в бэктестах фьючерсов?

Да. Каждое настоящее начисление фандинга Binance, пока позиция открыта, списывается или зачисляется: количество × mark price × ставка.

### Есть ли в бэктестах Janorium ошибка выжившего?

Бессрочные фьючерсы, снятые с торгов, остаются доступны на свечах 1h и 4h до делистинга, поэтому тест на многих монетах может включать и те, что потом исчезли. Снятые со спота монеты не сохраняются.

### Как считается максимальная просадка?

По капиталу, переоценённому на закрытии каждой свечи, за вычетом комиссий: наибольшее падение от предыдущего пика. Движения внутри свечи не учитываются.
