Результаты бэктеста сигналов
Результаты бэктеста сигналов (только BTC / ETH)
/api/signal/backtest/:coinЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin path | string | Обязательный | — | BTC, ETH | Монета; прочие значения возвращают 400. Пример: BTC |
Параметры с пометкой «path» являются частью URL.
Пример запроса
curl -s "https://www.coinboss.com/api/signal/backtest/BTC"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| coin | string | — | Символ монеты в верхнем регистре (например, BTC). |
| backtest_basis | string | — | Монета, на которой измерена статистика бэктеста (`ETH`). |
| basis_note_code | string | — | `basis_native`, если запрошенная монета совпадает с монетой бэктеста; `basis_borrowed`, если для другой монеты показана статистика ETH. |
| basis | string | — | Цена фьючерса минус спотовая цена либо блок базиса. |
| note_code | string | — | Фиксированный код `eth_only_basis`: вся статистика в этом ответе получена по истории ETHUSDT. |
| daily | object | — | Дневные значения. |
| daily.dataset | object | — | Размер и диапазон дат истории дневных свечей, на которой основана дневная статистика (полная история и недавнее окно). |
| daily.dataset.bars_full | number | count | Число дневных свечей в полной истории. |
| daily.dataset.range_full | string | — | Первая и последняя даты полной истории, в виде текста. |
| daily.dataset.bars_recent | number | count | Число дневных свечей в недавнем окне. |
| daily.dataset.range_recent | string | — | Первая и последняя даты недавнего окна, в виде текста. |
| daily.dataset.src | string | — | Источник. |
| daily.baseline | object | — | Эталонный результат покупки в любой день с удержанием 30 дней — для полной истории и для недавнего окна. |
| daily.baseline.full | object | — | Данные в полном разрешении. |
| daily.baseline.full.n | number | — | Число учтённых элементов. |
| daily.baseline.full.hold30_winrate | number | % | Доля всех 30-дневных удержаний в полной истории, завершившихся с прибылью. |
| daily.baseline.full.hold30_pf | number | ratio | Профит-фактор всех 30-дневных удержаний в полной истории: сумма прибылей ÷ абсолютная сумма убытков. |
| daily.baseline.recent | object | — | Самые последние записи. |
| daily.baseline.recent.n | number | — | Число учтённых элементов. |
| daily.baseline.recent.hold30_winrate | number | % | Доля всех 30-дневных удержаний в недавнем окне, завершившихся с прибылью. |
| daily.baseline.recent.hold30_pf | number | ratio | Профит-фактор всех 30-дневных удержаний в недавнем окне: сумма прибылей ÷ абсолютная сумма убытков. |
| daily.timing | object | — | Доходность стратегии «купи и держи» в сравнении с простыми правилами трендового фильтра — для полной истории и для недавнего окна. |
| daily.timing.full | object | — | Данные в полном разрешении. |
| daily.timing.full.buy_hold_pct | number | % | Доходность «купи и держи» за полную историю, отсчитываемая с 210-й свечи. |
| daily.timing.full.above_ema200_pct | number | % | Доходность за полную историю при удержании только в дни, когда закрытие выше 200-дневной EMA. |
| daily.timing.full.below_ema200_pct | number | % | Доходность за полную историю при удержании только в дни, когда закрытие ниже 200-дневной EMA. |
| daily.timing.full.ema20_gt_ema50_pct | number | % | Доходность за полную историю при удержании только пока 20-дневная EMA выше 50-дневной EMA. |
| daily.timing.full.days_above | string | — | Текст вида `days held/total days` (дней удержания / всего дней) для правила «закрытие выше EMA200», полная история. |
| daily.timing.full.days_fast | string | — | Текст вида `days held/total days` (дней удержания / всего дней) для правила «EMA20 выше EMA50», полная история. |
| daily.timing.recent | object | — | Самые последние записи. |
| daily.timing.recent.buy_hold_pct | number | % | Доходность «купи и держи» за недавнее окно. |
| daily.timing.recent.above_ema200_pct | number | % | Доходность за недавнее окно при удержании только в дни, когда закрытие выше 200-дневной EMA. |
| daily.timing.recent.below_ema200_pct | number | % | Доходность за недавнее окно при удержании только в дни, когда закрытие ниже 200-дневной EMA. |
| daily.timing.recent.ema20_gt_ema50_pct | number | % | Доходность за недавнее окно при удержании только пока 20-дневная EMA выше 50-дневной EMA. |
| daily.timing.recent.days_above | string | — | Текст вида `days held/total days` (дней удержания / всего дней) для правила «закрытие выше EMA200», недавнее окно. |
| daily.timing.recent.days_fast | string | — | Текст вида `days held/total days` (дней удержания / всего дней) для правила «EMA20 выше EMA50», недавнее окно. |
| daily.signals | object | — | Записи сигналов. динамические ключи: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up |
| daily.signals.{*} | object | — | Записи сигналов. |
| daily.signals.{*}.hold | string | — | Правило удержания, использованное в бэктесте сигнала, заданного ключом словаря, например `30d`, `7d` или правило тейк-профита / стоп-лосса в кратных ATR. |
| daily.signals.{*}.full | object | — | Данные в полном разрешении. |
| daily.signals.{*}.full.n | number | — | Число учтённых элементов. |
| daily.signals.{*}.full.winrate | number|null | — | Винрейт. |
| daily.signals.{*}.full.pf | number|null | — | Профит-фактор. |
| daily.signals.{*}.recent | object | — | Самые последние записи. |
| daily.signals.{*}.recent.n | number | — | Число учтённых элементов. |
| daily.signals.{*}.recent.winrate | number|null | — | Винрейт. |
| daily.signals.{*}.recent.pf | number|null | — | Профит-фактор. |
| daily.signals.{*}.src | string | — | Источник. |
| daily.signals.{*}.full.total_pct | number | % | Доля в общем значении. может отсутствовать |
| daily.signals.{*}.full.mdd_pct | number | % | Максимальная просадка. может отсутствовать |
| daily.signals.{*}.recent.total_pct | number | % | Доля в общем значении. может отсутствовать |
| daily.signals.{*}.recent.mdd_pct | number | % | Максимальная просадка. может отсутствовать |
| m15 | object | — | Бэктест на 15-минутных свечах ETHUSDT: выходы в кратных ATR(14), издержки на полный цикл сделки учтены. |
| m15.dataset | object | — | Размер, диапазон дат и полнота использованной истории 15-минутных свечей. |
| m15.dataset.bars | number | — | Бары. |
| m15.dataset.range | string | — | Запрошенное окно. |
| m15.dataset.completeness | string | — | Текст с числом имеющихся свечей в сравнении с ожидаемым числом свечей в 15-минутной истории. |
| m15.dataset.src | string | — | Источник. |
| m15.signals | object | — | Записи сигналов. динамические ключи: knife_25,knife_30,cum8_4,cum16_6 |
| m15.signals.{*} | object | — | Записи сигналов. |
| m15.signals.{*}.signals | number | — | Записи сигналов. |
| m15.signals.{*}.n | number | — | Число учтённых элементов. |
| m15.signals.{*}.winrate | number | — | Винрейт. |
| m15.signals.{*}.pf | number | — | Профит-фактор. |
| m15.signals.{*}.total_pct | number | % | Доля в общем значении. |
| m15.signals.{*}.mdd_pct | number | % | Максимальная просадка. |
| m15.signals.{*}.tp | number | x | Расстояние до тейк-профита для сигнала, заданного ключом словаря, в кратных ATR(14). |
| m15.signals.{*}.sl | number | x | Расстояние до стоп-лосса для сигнала, заданного ключом словаря, в кратных ATR(14). |
| m15.signals.{*}.src | string | — | Источник. |
| m15.threshold_scan | array | — | Результаты бэктеста по величине падения за одну свечу, которое запускает покупку. |
| m15.threshold_scan[] | object | — | Результат для одного порога падения. |
| m15.threshold_scan[].th | number | % | Изменение цены за одну свечу, запускающее вход (отрицательное). |
| m15.threshold_scan[].signals | number | — | Записи сигналов. |
| m15.threshold_scan[].n | number | — | Число учтённых элементов. |
| m15.threshold_scan[].winrate | number | — | Винрейт. |
| m15.threshold_scan[].pf | number | — | Профит-фактор. |
| m15.threshold_scan[].total_pct | number | % | Доля в общем значении. |
| m15.filter_test | array | — | Результаты входа на просадке −2.0 %, каждый с одним дополнительным фильтром (RSI, объём, EMA200). |
| m15.filter_test[] | object | — | Результат для одного варианта фильтра. |
| m15.filter_test[].code | string | — | Код. |
| m15.filter_test[].n | number | — | Число учтённых элементов. |
| m15.filter_test[].winrate | number | — | Винрейт. |
| m15.filter_test[].pf | number | — | Профит-фактор. |
| m15.filter_test[].total_pct | number | % | Доля в общем значении. |
| m15.confirm_test | array | — | Результаты по моменту входа: сразу либо после ожидания одной или двух подтверждающих свечей. |
| m15.confirm_test[] | object | — | Результат для одного варианта момента входа. |
| m15.confirm_test[].code | string | — | Код. |
| m15.confirm_test[].n | number | — | Число учтённых элементов. |
| m15.confirm_test[].winrate | number | — | Винрейт. |
| m15.confirm_test[].pf | number | — | Профит-фактор. |
| m15.confirm_test[].total_pct | number | % | Доля в общем значении. |
| m15.cost_test | array | — | Результаты при разных предполагаемых торговых издержках на полный цикл сделки. |
| m15.cost_test[] | object | — | Результат для одного предположения об издержках. |
| m15.cost_test[].cost_pct | number | % | Торговые издержки на полный цикл сделки, принятые в этом прогоне, в процентах от номинала. |
| m15.cost_test[].pf | number | — | Профит-фактор. |
| m15.cost_test[].total_pct | number | % | Доля в общем значении. |
| m15.hour_test | array | — | Результаты входа на просадке −1.5 % в разбивке по окнам часов UTC. |
| m15.hour_test[] | object | — | Результат для одного окна часов UTC. |
| m15.hour_test[].code | string | — | Код. |
| m15.hour_test[].n | number | — | Число учтённых элементов. |
| m15.hour_test[].winrate | number | — | Винрейт. |
| m15.hour_test[].pf | number | — | Профит-фактор. |
| m15.hour_test[].total_pct | number | % | Доля в общем значении. |
| m15.short_side | array | — | Результаты зеркальной сделки: шорт после резкого роста за одну свечу. |
| m15.short_side[] | object | — | Результат для одного порога роста. |
| m15.short_side[].code | string | — | Код. |
| m15.short_side[].n | number | — | Число учтённых элементов. |
| m15.short_side[].winrate | number | — | Винрейт. |
| m15.short_side[].pf | number | — | Профит-фактор. |
| m15.short_side[].total_pct | number | % | Доля в общем значении. |
| weekday | array | — | День недели. |
| weekday[] | object | — | День недели. |
| weekday[].d | number | — | Календарная дата (UTC). |
| weekday[].up_rate | number | — | Доля периодов, закрывшихся ростом. |
| weekday[].mean_pct | number | % | Среднее дневное изменение цены в этот день недели (`d`: 1 = понедельник … 7 = воскресенье), полная история. |
| month | array | — | Календарный месяц. |
| month[] | object | — | Календарный месяц. |
| month[].m | number | — | Номер календарного месяца, 1–12. |
| month[].up_rate | number | — | Доля периодов, закрывшихся ростом. |
| month[].median_pct | number | % | Медиана накопленного изменения цены за этот календарный месяц по годам полной истории. |
Сформировано 2026-11-11 23:01 UTC; использовано реальных ответов: 1.
Пример ответа
/api/signal/backtest/BTC · Реальный ответ, получен 2026-11-13 03:59:07 UTC. Длинные массивы и словари сокращены для отображения: month: элементов было 12; weekday: элементов было 7; m15.signals: элементов было 4; daily.signals: элементов было 12; m15.cost_test: элементов было 5; m15.hour_test: элементов было 3.
- "success"true
- "coin""BTC"
- "backtest_basis""ETH"
- "basis_note_code""basis_borrowed"
- "basis""ETHUSDT"
- "note_code""eth_only_basis"
- "daily"
- "dataset"
- "baseline"
- "timing"
- "signals"
- "m15"
- "dataset"
- "signals"
- "threshold_scan"
- "filter_test"
- "confirm_test"
- "cost_test"
- "hour_test"
- "short_side"
- "weekday"
- "month"
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 60m
- Пограничный микрокеш
- 10s
- Окно
- фиксировано: дневные бары с 2017-08-17 по 2026-07-30, 15-минутные бары с 2023-01 по 2026-07
- Источники данных
- Статическая сводка офлайн-бэктеста на биржевых свечах ETHUSDT; не пересчитывается.
- Покрытие бирж
- Бэктест только по ETH; для BTC возвращаются те же значения, основанные на ETH.
- Единицы измерения
- win rate in percent, profit factor, sample counts
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
Текущий статус
Доступность за последние 30 дней
Пройдено 100% из 408 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | HTTP | Значение | Что делать |
|---|---|---|---|
| INVALID_PARAM | 400 | Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен. | Не повторяйте запрос без изменений; исправьте его. |
| UNAUTHORIZED | 401 | Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ. | Не повторяйте запрос без изменений. |
| FORBIDDEN | 403 | Маршрут не входит в публичный API (внутренний или только для аккаунта). | Не повторяйте запрос. |
| NOT_FOUND | 404 | Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует. | Не повторяйте запрос; сверьте путь и идентификаторы с каталогом. |
| RATE_LIMITED | 429 | Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать. | Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой. |
| INTERNAL | 500 | Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`. | Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса. |
| UPSTREAM_FAILED | 503 | Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются. | Повторите запрос с нарастающей задержкой; проверьте страницу статуса. |
| UNAVAILABLE | 501 / 503 | Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника. | Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению. |
| REQUEST_FAILED | 200 | Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/signal/backtest/:coinДоступенstring — Coin; other values return 400.
https://www.coinboss.com/api/signal/backtest/BTCДругие эндпоинты этой категории
- Ряд индикатора накопления AHR999 /api/indicators/ahr999
- Индекс пузыря Bitcoin /api/indicators/bitcoin-bubble
- Полная история дневных закрытий BTC /api/indicators/btc-history
- Чек-лист сигналов пика бычьего рынка /api/indicators/bull-peak-signals
- Составной индекс бычьего цикла CBBI /api/indicators/cbbi
- Индекс риска деривативов (методика CoinBoss) /api/indicators/cdri
- Составной индекс деривативов (методика CoinBoss) /api/indicators/cgdi
- Корреляция BTC с золотом / S&P 500 /api/indicators/correlation
- Матрица корреляций основных активов /api/indicators/correlation-matrix
- Правовой статус криптовалют по странам /api/indicators/crypto-legality
- Оценочные диапазоны вершины цикла /api/indicators/cycle-caps
- Ряд времени удвоения цены BTC /api/indicators/doubling-time
- Динамика поискового интереса в Google /api/indicators/google-trends
- Макроэкономические ряды /api/indicators/macro-series
- Результаты модели прогноза цены /api/indicators/price-forecast
- Ряд просадки от ATH /api/indicators/price-no-turning-back
- Число подписчиков сабреддита Bitcoin на Reddit /api/indicators/reddit-subs
- Просмотры страниц Wikipedia /api/indicators/wikipedia-pageviews
- Индекс сезона альткоинов (методика CoinBoss) /api/indices/altseason
- Радар дна /api/indices/bottom-radar
- Исторический пример работы радара дна /api/indices/bottom-radar/case-0819
- Дашборд многофакторного сигнала BTC /api/indices/btc-signal
- Бэктест сигнала BTC /api/indices/btc-signal/backtest
- Индекс страха и жадности /api/indices/fear-greed
- Индекс страха и жадности (текущее значение и история) /api/market/fear-greed
- Результаты бэктеста сигналов /api/signal/backtest/:coin
- Дашборд мониторинга сигналов /api/signal/monitor/:coin