/api/signal/backtest/:coin
GETDisponível

Resultados do backtest de sinais

Resultados do backtest de sinais (somente BTC / ETH)

GET/api/signal/backtest/:coin

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
coin pathstringObrigatório—BTC, ETHMoeda; outros valores retornam 400. Exemplo: BTC

Os parâmetros marcados como “path” fazem parte da URL.

Exemplo de requisição

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

Campos da resposta

A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.

CampoTipoUnidadeDescrição
successboolean—true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`.
coinstring—Símbolo da moeda, em maiúsculas (por exemplo, BTC).
backtest_basisstring—Moeda na qual as estatísticas do backtest foram medidas (`ETH`).
basis_note_codestring—`basis_native` quando a moeda solicitada é a moeda do backtest; `basis_borrowed` quando as estatísticas do ETH são exibidas para outra moeda.
basisstring—Preço dos futuros menos o preço spot, ou o bloco de base.
note_codestring—Código fixo `eth_only_basis`: todas as estatísticas desta resposta vêm do histórico de ETHUSDT.
dailyobject—Valores diários.
daily.datasetobject—Tamanho e intervalo de datas do histórico de candles diários por trás das estatísticas diárias (histórico completo e janela recente).
daily.dataset.bars_fullnumbercountNúmero de candles diários no histórico completo.
daily.dataset.range_fullstring—Primeira e última data do histórico completo, como texto.
daily.dataset.bars_recentnumbercountNúmero de candles diários na janela recente.
daily.dataset.range_recentstring—Primeira e última data da janela recente, como texto.
daily.dataset.srcstring—Fonte.
daily.baselineobject—Resultado de referência de comprar em um dia qualquer e manter por 30 dias, para o histórico completo e para a janela recente.
daily.baseline.fullobject—Dados em resolução completa.
daily.baseline.full.nnumber—Número de itens contados.
daily.baseline.full.hold30_winratenumber%Parcela de todas as posições mantidas por 30 dias no histórico completo que terminaram com lucro.
daily.baseline.full.hold30_pfnumberratioFator de lucro de todas as posições mantidas por 30 dias no histórico completo: soma dos ganhos ÷ soma absoluta das perdas.
daily.baseline.recentobject—Registros mais recentes.
daily.baseline.recent.nnumber—Número de itens contados.
daily.baseline.recent.hold30_winratenumber%Parcela de todas as posições mantidas por 30 dias na janela recente que terminaram com lucro.
daily.baseline.recent.hold30_pfnumberratioFator de lucro de todas as posições mantidas por 30 dias na janela recente: soma dos ganhos ÷ soma absoluta das perdas.
daily.timingobject—Retorno do buy-and-hold comparado com regras simples de filtro de tendência, para o histórico completo e para a janela recente.
daily.timing.fullobject—Dados em resolução completa.
daily.timing.full.buy_hold_pctnumber%Retorno do buy-and-hold no histórico completo, medido a partir do 210º candle.
daily.timing.full.above_ema200_pctnumber%Retorno no histórico completo mantendo posição somente nos dias em que o fechamento está acima da EMA de 200 dias.
daily.timing.full.below_ema200_pctnumber%Retorno no histórico completo mantendo posição somente nos dias em que o fechamento está abaixo da EMA de 200 dias.
daily.timing.full.ema20_gt_ema50_pctnumber%Retorno no histórico completo mantendo posição somente enquanto a EMA de 20 dias está acima da EMA de 50 dias.
daily.timing.full.days_abovestring—Texto `days held/total days` da regra de fechamento acima da EMA200, histórico completo.
daily.timing.full.days_faststring—Texto `days held/total days` da regra de EMA20 acima da EMA50, histórico completo.
daily.timing.recentobject—Registros mais recentes.
daily.timing.recent.buy_hold_pctnumber%Retorno do buy-and-hold na janela recente.
daily.timing.recent.above_ema200_pctnumber%Retorno na janela recente mantendo posição somente nos dias em que o fechamento está acima da EMA de 200 dias.
daily.timing.recent.below_ema200_pctnumber%Retorno na janela recente mantendo posição somente nos dias em que o fechamento está abaixo da EMA de 200 dias.
daily.timing.recent.ema20_gt_ema50_pctnumber%Retorno na janela recente mantendo posição somente enquanto a EMA de 20 dias está acima da EMA de 50 dias.
daily.timing.recent.days_abovestring—Texto `days held/total days` da regra de fechamento acima da EMA200, janela recente.
daily.timing.recent.days_faststring—Texto `days held/total days` da regra de EMA20 acima da EMA50, janela recente.
daily.signalsobject—Registros de sinais. chaves dinâmicas: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up
daily.signals.{*}object—Registros de sinais.
daily.signals.{*}.holdstring—Regra de manutenção usada no backtest do sinal indicado pela chave do mapa, por exemplo, `30d`, `7d` ou uma regra de take-profit / stop-loss em múltiplos do ATR.
daily.signals.{*}.fullobject—Dados em resolução completa.
daily.signals.{*}.full.nnumber—Número de itens contados.
daily.signals.{*}.full.winratenumber|null—Taxa de acerto.
daily.signals.{*}.full.pfnumber|null—Fator de lucro.
daily.signals.{*}.recentobject—Registros mais recentes.
daily.signals.{*}.recent.nnumber—Número de itens contados.
daily.signals.{*}.recent.winratenumber|null—Taxa de acerto.
daily.signals.{*}.recent.pfnumber|null—Fator de lucro.
daily.signals.{*}.srcstring—Fonte.
daily.signals.{*}.full.total_pctnumber%Participação no total. pode estar ausente
daily.signals.{*}.full.mdd_pctnumber%Drawdown máximo. pode estar ausente
daily.signals.{*}.recent.total_pctnumber%Participação no total. pode estar ausente
daily.signals.{*}.recent.mdd_pctnumber%Drawdown máximo. pode estar ausente
m15object—Backtest em candles de 15 minutos de ETHUSDT: saídas em múltiplos do ATR(14), com o custo de ida e volta incluído.
m15.datasetobject—Tamanho, intervalo de datas e completude do histórico de candles de 15 minutos utilizado.
m15.dataset.barsnumber—Barras.
m15.dataset.rangestring—Janela solicitada.
m15.dataset.completenessstring—Texto que informa os candles presentes em comparação com os candles esperados no histórico de 15 minutos.
m15.dataset.srcstring—Fonte.
m15.signalsobject—Registros de sinais. chaves dinâmicas: knife_25,knife_30,cum8_4,cum16_6
m15.signals.{*}object—Registros de sinais.
m15.signals.{*}.signalsnumber—Registros de sinais.
m15.signals.{*}.nnumber—Número de itens contados.
m15.signals.{*}.winratenumber—Taxa de acerto.
m15.signals.{*}.pfnumber—Fator de lucro.
m15.signals.{*}.total_pctnumber%Participação no total.
m15.signals.{*}.mdd_pctnumber%Drawdown máximo.
m15.signals.{*}.tpnumberxDistância do take-profit usada para o sinal indicado pela chave do mapa, como múltiplo do ATR(14).
m15.signals.{*}.slnumberxDistância do stop-loss usada para o sinal indicado pela chave do mapa, como múltiplo do ATR(14).
m15.signals.{*}.srcstring—Fonte.
m15.threshold_scanarray—Resultados do backtest por tamanho da queda em um único candle que aciona uma compra.
m15.threshold_scan[]object—Resultado para um limiar de queda.
m15.threshold_scan[].thnumber%Variação de preço em um único candle que aciona a entrada (negativa).
m15.threshold_scan[].signalsnumber—Registros de sinais.
m15.threshold_scan[].nnumber—Número de itens contados.
m15.threshold_scan[].winratenumber—Taxa de acerto.
m15.threshold_scan[].pfnumber—Fator de lucro.
m15.threshold_scan[].total_pctnumber%Participação no total.
m15.filter_testarray—Resultados da entrada na queda de −2.0 %, cada um com um filtro adicional (RSI, volume, EMA200).
m15.filter_test[]object—Resultado para uma variante de filtro.
m15.filter_test[].codestring—Código.
m15.filter_test[].nnumber—Número de itens contados.
m15.filter_test[].winratenumber—Taxa de acerto.
m15.filter_test[].pfnumber—Fator de lucro.
m15.filter_test[].total_pctnumber%Participação no total.
m15.confirm_testarray—Resultados por momento de entrada: imediatamente, ou depois de aguardar um ou dois candles de confirmação.
m15.confirm_test[]object—Resultado para uma variante de momento de entrada.
m15.confirm_test[].codestring—Código.
m15.confirm_test[].nnumber—Número de itens contados.
m15.confirm_test[].winratenumber—Taxa de acerto.
m15.confirm_test[].pfnumber—Fator de lucro.
m15.confirm_test[].total_pctnumber%Participação no total.
m15.cost_testarray—Resultados sob diferentes premissas de custo de negociação de ida e volta.
m15.cost_test[]object—Resultado para uma premissa de custo.
m15.cost_test[].cost_pctnumber%Custo de negociação de ida e volta assumido nesta execução, como percentual do valor nocional.
m15.cost_test[].pfnumber—Fator de lucro.
m15.cost_test[].total_pctnumber%Participação no total.
m15.hour_testarray—Resultados da entrada na queda de −1.5 %, divididos por janela de horas em UTC.
m15.hour_test[]object—Resultado para uma janela de horas em UTC.
m15.hour_test[].codestring—Código.
m15.hour_test[].nnumber—Número de itens contados.
m15.hour_test[].winratenumber—Taxa de acerto.
m15.hour_test[].pfnumber—Fator de lucro.
m15.hour_test[].total_pctnumber%Participação no total.
m15.short_sidearray—Resultados da operação espelhada: abrir short após uma disparada em um único candle.
m15.short_side[]object—Resultado para um limiar de disparada.
m15.short_side[].codestring—Código.
m15.short_side[].nnumber—Número de itens contados.
m15.short_side[].winratenumber—Taxa de acerto.
m15.short_side[].pfnumber—Fator de lucro.
m15.short_side[].total_pctnumber%Participação no total.
weekdayarray—Dia da semana.
weekday[]object—Dia da semana.
weekday[].dnumber—Data do calendário (UTC).
weekday[].up_ratenumber—Parcela dos períodos que fecharam em alta.
weekday[].mean_pctnumber%Variação média diária de preço nesse dia da semana (`d` 1 = segunda-feira … 7 = domingo), histórico completo.
montharray—Mês de calendário.
month[]object—Mês de calendário.
month[].mnumber—Número do mês de calendário, 1–12.
month[].up_ratenumber—Parcela dos períodos que fecharam em alta.
month[].median_pctnumber%Mediana da variação de preço acumulada desse mês de calendário ao longo dos anos do histórico completo.

Gerada 2026-11-11 23:01 UTC a partir de 1 respostas reais.

Exemplo de resposta

/api/signal/backtest/BTC · Resposta real capturada 2026-11-13 03:59:07 UTC. Arrays e mapas longos são encurtados para exibição: month tinha 12 itens; weekday tinha 7 itens; m15.signals tinha 4 itens; daily.signals tinha 12 itens; m15.cost_test tinha 5 itens; m15.hour_test tinha 3 itens.

  • {
    • "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 }
      ]
    }

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
60m
Microcache de borda
10s
Janela
fixo: barras diárias de 2017-08-17 a 2026-07-30, barras de 15 minutos de 2023-01 a 2026-07
Fontes de dados
Resumo estático de um backtest offline sobre klines ETHUSDT de corretora; não é recalculado.
Cobertura de corretoras
Somente backtest de ETH; BTC retorna os mesmos números baseados em ETH.
Unidades
win rate in percent, profit factor, sample counts
Timestamps
Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
Formato da resposta
json
Estabilidade
Estável

Status ao vivo

DisponívelVerificado 2026-11-13 03:59:07 UTCHTTP 2008 msEsquema confere

Disponibilidade, últimos 30 dias

100% de 408 verificações aprovadas

Erros

As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →

CódigoHTTPSignificadoO que fazer
INVALID_PARAM400Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido.Não repita a requisição sem alterações; corrija-a.
UNAUTHORIZED401O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida.Não repita a requisição sem alterações.
FORBIDDEN403A rota não faz parte da API pública (é interna ou exclusiva de conta).Não tente novamente.
NOT_FOUND404Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe.Não tente novamente; confira o caminho e os identificadores no catálogo.
RATE_LIMITED429Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar.Aguarde `Retry-After` e então tente novamente com backoff.
INTERNAL500Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo.Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição.
UPSTREAM_FAILED503A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar.Tente novamente com backoff; consulte a página de status.
UNAVAILABLE501 / 503O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita.Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design.
REQUEST_FAILED200Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP.Depende da mensagem; trate como uma requisição com falha.

Experimente

GET/api/signal/backtest/:coinDisponível
Parâmetros

string — Coin; other values return 400.

URL da requisiçãohttps://www.coinboss.com/api/signal/backtest/BTC
Escolha um endpoint e clique em “Enviar requisição”. A resposta, os cabeçalhos e o tempo de resposta aparecerão aqui.