/api/signal/backtest/:coin
GETДоступен

Результаты бэктеста сигналов

Результаты бэктеста сигналов (только BTC / ETH)

GET/api/signal/backtest/:coin

Запрос

Параметры запроса

ИмяТипОбязательныйПо умолчаниюДопустимые значенияОписание
coin pathstringОбязательный—BTC, ETHМонета; прочие значения возвращают 400. Пример: BTC

Параметры с пометкой «path» являются частью URL.

Пример запроса

curl -s "https://www.coinboss.com/api/signal/backtest/BTC"

Поля ответа

Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.

ПолеТипЕдиницаОписание
successboolean—true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`.
coinstring—Символ монеты в верхнем регистре (например, BTC).
backtest_basisstring—Монета, на которой измерена статистика бэктеста (`ETH`).
basis_note_codestring—`basis_native`, если запрошенная монета совпадает с монетой бэктеста; `basis_borrowed`, если для другой монеты показана статистика ETH.
basisstring—Цена фьючерса минус спотовая цена либо блок базиса.
note_codestring—Фиксированный код `eth_only_basis`: вся статистика в этом ответе получена по истории ETHUSDT.
dailyobject—Дневные значения.
daily.datasetobject—Размер и диапазон дат истории дневных свечей, на которой основана дневная статистика (полная история и недавнее окно).
daily.dataset.bars_fullnumbercountЧисло дневных свечей в полной истории.
daily.dataset.range_fullstring—Первая и последняя даты полной истории, в виде текста.
daily.dataset.bars_recentnumbercountЧисло дневных свечей в недавнем окне.
daily.dataset.range_recentstring—Первая и последняя даты недавнего окна, в виде текста.
daily.dataset.srcstring—Источник.
daily.baselineobject—Эталонный результат покупки в любой день с удержанием 30 дней — для полной истории и для недавнего окна.
daily.baseline.fullobject—Данные в полном разрешении.
daily.baseline.full.nnumber—Число учтённых элементов.
daily.baseline.full.hold30_winratenumber%Доля всех 30-дневных удержаний в полной истории, завершившихся с прибылью.
daily.baseline.full.hold30_pfnumberratioПрофит-фактор всех 30-дневных удержаний в полной истории: сумма прибылей ÷ абсолютная сумма убытков.
daily.baseline.recentobject—Самые последние записи.
daily.baseline.recent.nnumber—Число учтённых элементов.
daily.baseline.recent.hold30_winratenumber%Доля всех 30-дневных удержаний в недавнем окне, завершившихся с прибылью.
daily.baseline.recent.hold30_pfnumberratioПрофит-фактор всех 30-дневных удержаний в недавнем окне: сумма прибылей ÷ абсолютная сумма убытков.
daily.timingobject—Доходность стратегии «купи и держи» в сравнении с простыми правилами трендового фильтра — для полной истории и для недавнего окна.
daily.timing.fullobject—Данные в полном разрешении.
daily.timing.full.buy_hold_pctnumber%Доходность «купи и держи» за полную историю, отсчитываемая с 210-й свечи.
daily.timing.full.above_ema200_pctnumber%Доходность за полную историю при удержании только в дни, когда закрытие выше 200-дневной EMA.
daily.timing.full.below_ema200_pctnumber%Доходность за полную историю при удержании только в дни, когда закрытие ниже 200-дневной EMA.
daily.timing.full.ema20_gt_ema50_pctnumber%Доходность за полную историю при удержании только пока 20-дневная EMA выше 50-дневной EMA.
daily.timing.full.days_abovestring—Текст вида `days held/total days` (дней удержания / всего дней) для правила «закрытие выше EMA200», полная история.
daily.timing.full.days_faststring—Текст вида `days held/total days` (дней удержания / всего дней) для правила «EMA20 выше EMA50», полная история.
daily.timing.recentobject—Самые последние записи.
daily.timing.recent.buy_hold_pctnumber%Доходность «купи и держи» за недавнее окно.
daily.timing.recent.above_ema200_pctnumber%Доходность за недавнее окно при удержании только в дни, когда закрытие выше 200-дневной EMA.
daily.timing.recent.below_ema200_pctnumber%Доходность за недавнее окно при удержании только в дни, когда закрытие ниже 200-дневной EMA.
daily.timing.recent.ema20_gt_ema50_pctnumber%Доходность за недавнее окно при удержании только пока 20-дневная EMA выше 50-дневной EMA.
daily.timing.recent.days_abovestring—Текст вида `days held/total days` (дней удержания / всего дней) для правила «закрытие выше EMA200», недавнее окно.
daily.timing.recent.days_faststring—Текст вида `days held/total days` (дней удержания / всего дней) для правила «EMA20 выше EMA50», недавнее окно.
daily.signalsobject—Записи сигналов. динамические ключи: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up
daily.signals.{*}object—Записи сигналов.
daily.signals.{*}.holdstring—Правило удержания, использованное в бэктесте сигнала, заданного ключом словаря, например `30d`, `7d` или правило тейк-профита / стоп-лосса в кратных ATR.
daily.signals.{*}.fullobject—Данные в полном разрешении.
daily.signals.{*}.full.nnumber—Число учтённых элементов.
daily.signals.{*}.full.winratenumber|null—Винрейт.
daily.signals.{*}.full.pfnumber|null—Профит-фактор.
daily.signals.{*}.recentobject—Самые последние записи.
daily.signals.{*}.recent.nnumber—Число учтённых элементов.
daily.signals.{*}.recent.winratenumber|null—Винрейт.
daily.signals.{*}.recent.pfnumber|null—Профит-фактор.
daily.signals.{*}.srcstring—Источник.
daily.signals.{*}.full.total_pctnumber%Доля в общем значении. может отсутствовать
daily.signals.{*}.full.mdd_pctnumber%Максимальная просадка. может отсутствовать
daily.signals.{*}.recent.total_pctnumber%Доля в общем значении. может отсутствовать
daily.signals.{*}.recent.mdd_pctnumber%Максимальная просадка. может отсутствовать
m15object—Бэктест на 15-минутных свечах ETHUSDT: выходы в кратных ATR(14), издержки на полный цикл сделки учтены.
m15.datasetobject—Размер, диапазон дат и полнота использованной истории 15-минутных свечей.
m15.dataset.barsnumber—Бары.
m15.dataset.rangestring—Запрошенное окно.
m15.dataset.completenessstring—Текст с числом имеющихся свечей в сравнении с ожидаемым числом свечей в 15-минутной истории.
m15.dataset.srcstring—Источник.
m15.signalsobject—Записи сигналов. динамические ключи: knife_25,knife_30,cum8_4,cum16_6
m15.signals.{*}object—Записи сигналов.
m15.signals.{*}.signalsnumber—Записи сигналов.
m15.signals.{*}.nnumber—Число учтённых элементов.
m15.signals.{*}.winratenumber—Винрейт.
m15.signals.{*}.pfnumber—Профит-фактор.
m15.signals.{*}.total_pctnumber%Доля в общем значении.
m15.signals.{*}.mdd_pctnumber%Максимальная просадка.
m15.signals.{*}.tpnumberxРасстояние до тейк-профита для сигнала, заданного ключом словаря, в кратных ATR(14).
m15.signals.{*}.slnumberxРасстояние до стоп-лосса для сигнала, заданного ключом словаря, в кратных ATR(14).
m15.signals.{*}.srcstring—Источник.
m15.threshold_scanarray—Результаты бэктеста по величине падения за одну свечу, которое запускает покупку.
m15.threshold_scan[]object—Результат для одного порога падения.
m15.threshold_scan[].thnumber%Изменение цены за одну свечу, запускающее вход (отрицательное).
m15.threshold_scan[].signalsnumber—Записи сигналов.
m15.threshold_scan[].nnumber—Число учтённых элементов.
m15.threshold_scan[].winratenumber—Винрейт.
m15.threshold_scan[].pfnumber—Профит-фактор.
m15.threshold_scan[].total_pctnumber%Доля в общем значении.
m15.filter_testarray—Результаты входа на просадке −2.0 %, каждый с одним дополнительным фильтром (RSI, объём, EMA200).
m15.filter_test[]object—Результат для одного варианта фильтра.
m15.filter_test[].codestring—Код.
m15.filter_test[].nnumber—Число учтённых элементов.
m15.filter_test[].winratenumber—Винрейт.
m15.filter_test[].pfnumber—Профит-фактор.
m15.filter_test[].total_pctnumber%Доля в общем значении.
m15.confirm_testarray—Результаты по моменту входа: сразу либо после ожидания одной или двух подтверждающих свечей.
m15.confirm_test[]object—Результат для одного варианта момента входа.
m15.confirm_test[].codestring—Код.
m15.confirm_test[].nnumber—Число учтённых элементов.
m15.confirm_test[].winratenumber—Винрейт.
m15.confirm_test[].pfnumber—Профит-фактор.
m15.confirm_test[].total_pctnumber%Доля в общем значении.
m15.cost_testarray—Результаты при разных предполагаемых торговых издержках на полный цикл сделки.
m15.cost_test[]object—Результат для одного предположения об издержках.
m15.cost_test[].cost_pctnumber%Торговые издержки на полный цикл сделки, принятые в этом прогоне, в процентах от номинала.
m15.cost_test[].pfnumber—Профит-фактор.
m15.cost_test[].total_pctnumber%Доля в общем значении.
m15.hour_testarray—Результаты входа на просадке −1.5 % в разбивке по окнам часов UTC.
m15.hour_test[]object—Результат для одного окна часов UTC.
m15.hour_test[].codestring—Код.
m15.hour_test[].nnumber—Число учтённых элементов.
m15.hour_test[].winratenumber—Винрейт.
m15.hour_test[].pfnumber—Профит-фактор.
m15.hour_test[].total_pctnumber%Доля в общем значении.
m15.short_sidearray—Результаты зеркальной сделки: шорт после резкого роста за одну свечу.
m15.short_side[]object—Результат для одного порога роста.
m15.short_side[].codestring—Код.
m15.short_side[].nnumber—Число учтённых элементов.
m15.short_side[].winratenumber—Винрейт.
m15.short_side[].pfnumber—Профит-фактор.
m15.short_side[].total_pctnumber%Доля в общем значении.
weekdayarray—День недели.
weekday[]object—День недели.
weekday[].dnumber—Календарная дата (UTC).
weekday[].up_ratenumber—Доля периодов, закрывшихся ростом.
weekday[].mean_pctnumber%Среднее дневное изменение цены в этот день недели (`d`: 1 = понедельник … 7 = воскресенье), полная история.
montharray—Календарный месяц.
month[]object—Календарный месяц.
month[].mnumber—Номер календарного месяца, 1–12.
month[].up_ratenumber—Доля периодов, закрывшихся ростом.
month[].median_pctnumber%Медиана накопленного изменения цены за этот календарный месяц по годам полной истории.

Сформировано 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": { … 5 },
      • "baseline": { … 2 },
      • "timing": { … 2 },
      • "signals": { … 2 }
      },
    • "m15": {
      • "dataset": { … 4 },
      • "signals": { … 2 },
      • "threshold_scan": [ … 2 ],
      • "filter_test": [ … 2 ],
      • "confirm_test": [ … 2 ],
      • "cost_test": [ … 2 ],
      • "hour_test": [ … 2 ],
      • "short_side": [ … 1 ]
      },
    • "weekday": [
      • { … 3 },
      • { … 3 }
      ],
    • "month": [
      • { … 3 },
      • { … 3 }
      ]
    }

Сведения

Аутентификация
Не требуется. Публичный эндпоинт.
Лимит запросов
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
Стабильность
Стабильный

Текущий статус

ДоступенПроверено: 2026-11-13 03:59:07 UTCHTTP 2008 msСхема совпадает

Доступность за последние 30 дней

Пройдено 100% из 408 проверок

Ошибки

Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →

КодHTTPЗначениеЧто делать
INVALID_PARAM400Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен.Не повторяйте запрос без изменений; исправьте его.
UNAUTHORIZED401Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ.Не повторяйте запрос без изменений.
FORBIDDEN403Маршрут не входит в публичный API (внутренний или только для аккаунта).Не повторяйте запрос.
NOT_FOUND404Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует.Не повторяйте запрос; сверьте путь и идентификаторы с каталогом.
RATE_LIMITED429Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать.Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой.
INTERNAL500Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`.Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса.
UPSTREAM_FAILED503Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются.Повторите запрос с нарастающей задержкой; проверьте страницу статуса.
UNAVAILABLE501 / 503Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника.Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению.
REQUEST_FAILED200Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP.Зависит от сообщения; считайте запрос неудачным.

Попробовать

GET/api/signal/backtest/:coinДоступен
Параметры

string — Coin; other values return 400.

URL запросаhttps://www.coinboss.com/api/signal/backtest/BTC
Выберите эндпоинт и нажмите «Отправить запрос». Здесь появятся ответ, заголовки и время выполнения.