Resultados do backtest de sinais
Resultados do backtest de sinais (somente BTC / ETH)
/api/signal/backtest/:coinRequisição
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Padrão | Valores aceitos | Descrição |
|---|---|---|---|---|---|
| coin path | string | Obrigatório | — | BTC, ETH | Moeda; 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.
| Campo | Tipo | Unidade | Descrição |
|---|---|---|---|
| success | boolean | — | true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`. |
| coin | string | — | Símbolo da moeda, em maiúsculas (por exemplo, BTC). |
| backtest_basis | string | — | Moeda na qual as estatísticas do backtest foram medidas (`ETH`). |
| basis_note_code | string | — | `basis_native` quando a moeda solicitada é a moeda do backtest; `basis_borrowed` quando as estatísticas do ETH são exibidas para outra moeda. |
| basis | string | — | Preço dos futuros menos o preço spot, ou o bloco de base. |
| note_code | string | — | Código fixo `eth_only_basis`: todas as estatísticas desta resposta vêm do histórico de ETHUSDT. |
| daily | object | — | Valores diários. |
| daily.dataset | object | — | 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_full | number | count | Número de candles diários no histórico completo. |
| daily.dataset.range_full | string | — | Primeira e última data do histórico completo, como texto. |
| daily.dataset.bars_recent | number | count | Número de candles diários na janela recente. |
| daily.dataset.range_recent | string | — | Primeira e última data da janela recente, como texto. |
| daily.dataset.src | string | — | Fonte. |
| daily.baseline | object | — | 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.full | object | — | Dados em resolução completa. |
| daily.baseline.full.n | number | — | Número de itens contados. |
| daily.baseline.full.hold30_winrate | number | % | Parcela de todas as posições mantidas por 30 dias no histórico completo que terminaram com lucro. |
| daily.baseline.full.hold30_pf | number | ratio | Fator de lucro de todas as posições mantidas por 30 dias no histórico completo: soma dos ganhos ÷ soma absoluta das perdas. |
| daily.baseline.recent | object | — | Registros mais recentes. |
| daily.baseline.recent.n | number | — | Número de itens contados. |
| daily.baseline.recent.hold30_winrate | number | % | Parcela de todas as posições mantidas por 30 dias na janela recente que terminaram com lucro. |
| daily.baseline.recent.hold30_pf | number | ratio | Fator de lucro de todas as posições mantidas por 30 dias na janela recente: soma dos ganhos ÷ soma absoluta das perdas. |
| daily.timing | object | — | 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.full | object | — | Dados em resolução completa. |
| daily.timing.full.buy_hold_pct | number | % | Retorno do buy-and-hold no histórico completo, medido a partir do 210º candle. |
| daily.timing.full.above_ema200_pct | number | % | 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_pct | number | % | 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_pct | number | % | 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_above | string | — | Texto `days held/total days` da regra de fechamento acima da EMA200, histórico completo. |
| daily.timing.full.days_fast | string | — | Texto `days held/total days` da regra de EMA20 acima da EMA50, histórico completo. |
| daily.timing.recent | object | — | Registros mais recentes. |
| daily.timing.recent.buy_hold_pct | number | % | Retorno do buy-and-hold na janela recente. |
| daily.timing.recent.above_ema200_pct | number | % | 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_pct | number | % | 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_pct | number | % | 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_above | string | — | Texto `days held/total days` da regra de fechamento acima da EMA200, janela recente. |
| daily.timing.recent.days_fast | string | — | Texto `days held/total days` da regra de EMA20 acima da EMA50, janela recente. |
| daily.signals | object | — | 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.{*}.hold | string | — | 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.{*}.full | object | — | Dados em resolução completa. |
| daily.signals.{*}.full.n | number | — | Número de itens contados. |
| daily.signals.{*}.full.winrate | number|null | — | Taxa de acerto. |
| daily.signals.{*}.full.pf | number|null | — | Fator de lucro. |
| daily.signals.{*}.recent | object | — | Registros mais recentes. |
| daily.signals.{*}.recent.n | number | — | Número de itens contados. |
| daily.signals.{*}.recent.winrate | number|null | — | Taxa de acerto. |
| daily.signals.{*}.recent.pf | number|null | — | Fator de lucro. |
| daily.signals.{*}.src | string | — | Fonte. |
| daily.signals.{*}.full.total_pct | number | % | Participação no total. pode estar ausente |
| daily.signals.{*}.full.mdd_pct | number | % | Drawdown máximo. pode estar ausente |
| daily.signals.{*}.recent.total_pct | number | % | Participação no total. pode estar ausente |
| daily.signals.{*}.recent.mdd_pct | number | % | Drawdown máximo. pode estar ausente |
| m15 | object | — | 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.dataset | object | — | Tamanho, intervalo de datas e completude do histórico de candles de 15 minutos utilizado. |
| m15.dataset.bars | number | — | Barras. |
| m15.dataset.range | string | — | Janela solicitada. |
| m15.dataset.completeness | string | — | Texto que informa os candles presentes em comparação com os candles esperados no histórico de 15 minutos. |
| m15.dataset.src | string | — | Fonte. |
| m15.signals | object | — | Registros de sinais. chaves dinâmicas: knife_25,knife_30,cum8_4,cum16_6 |
| m15.signals.{*} | object | — | Registros de sinais. |
| m15.signals.{*}.signals | number | — | Registros de sinais. |
| m15.signals.{*}.n | number | — | Número de itens contados. |
| m15.signals.{*}.winrate | number | — | Taxa de acerto. |
| m15.signals.{*}.pf | number | — | Fator de lucro. |
| m15.signals.{*}.total_pct | number | % | Participação no total. |
| m15.signals.{*}.mdd_pct | number | % | Drawdown máximo. |
| m15.signals.{*}.tp | number | x | Distância do take-profit usada para o sinal indicado pela chave do mapa, como múltiplo do ATR(14). |
| m15.signals.{*}.sl | number | x | Distância do stop-loss usada para o sinal indicado pela chave do mapa, como múltiplo do ATR(14). |
| m15.signals.{*}.src | string | — | Fonte. |
| m15.threshold_scan | array | — | 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[].th | number | % | Variação de preço em um único candle que aciona a entrada (negativa). |
| m15.threshold_scan[].signals | number | — | Registros de sinais. |
| m15.threshold_scan[].n | number | — | Número de itens contados. |
| m15.threshold_scan[].winrate | number | — | Taxa de acerto. |
| m15.threshold_scan[].pf | number | — | Fator de lucro. |
| m15.threshold_scan[].total_pct | number | % | Participação no total. |
| m15.filter_test | array | — | 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[].code | string | — | Código. |
| m15.filter_test[].n | number | — | Número de itens contados. |
| m15.filter_test[].winrate | number | — | Taxa de acerto. |
| m15.filter_test[].pf | number | — | Fator de lucro. |
| m15.filter_test[].total_pct | number | % | Participação no total. |
| m15.confirm_test | array | — | 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[].code | string | — | Código. |
| m15.confirm_test[].n | number | — | Número de itens contados. |
| m15.confirm_test[].winrate | number | — | Taxa de acerto. |
| m15.confirm_test[].pf | number | — | Fator de lucro. |
| m15.confirm_test[].total_pct | number | % | Participação no total. |
| m15.cost_test | array | — | 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_pct | number | % | Custo de negociação de ida e volta assumido nesta execução, como percentual do valor nocional. |
| m15.cost_test[].pf | number | — | Fator de lucro. |
| m15.cost_test[].total_pct | number | % | Participação no total. |
| m15.hour_test | array | — | 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[].code | string | — | Código. |
| m15.hour_test[].n | number | — | Número de itens contados. |
| m15.hour_test[].winrate | number | — | Taxa de acerto. |
| m15.hour_test[].pf | number | — | Fator de lucro. |
| m15.hour_test[].total_pct | number | % | Participação no total. |
| m15.short_side | array | — | 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[].code | string | — | Código. |
| m15.short_side[].n | number | — | Número de itens contados. |
| m15.short_side[].winrate | number | — | Taxa de acerto. |
| m15.short_side[].pf | number | — | Fator de lucro. |
| m15.short_side[].total_pct | number | % | Participação no total. |
| weekday | array | — | Dia da semana. |
| weekday[] | object | — | Dia da semana. |
| weekday[].d | number | — | Data do calendário (UTC). |
| weekday[].up_rate | number | — | Parcela dos períodos que fecharam em alta. |
| weekday[].mean_pct | number | % | Variação média diária de preço nesse dia da semana (`d` 1 = segunda-feira … 7 = domingo), histórico completo. |
| month | array | — | Mês de calendário. |
| month[] | object | — | Mês de calendário. |
| month[].m | number | — | Número do mês de calendário, 1–12. |
| month[].up_rate | number | — | Parcela dos períodos que fecharam em alta. |
| month[].median_pct | number | % | 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"
- "baseline"
- "timing"
- "signals"
- "m15"
- "dataset"
- "signals"
- "threshold_scan"
- "filter_test"
- "confirm_test"
- "cost_test"
- "hour_test"
- "short_side"
- "weekday"
- "month"
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
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ódigo | HTTP | Significado | O que fazer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta 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. |
| UNAUTHORIZED | 401 | O 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. |
| FORBIDDEN | 403 | A rota não faz parte da API pública (é interna ou exclusiva de conta). | Não tente novamente. |
| NOT_FOUND | 404 | Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe. | Não tente novamente; confira o caminho e os identificadores no catálogo. |
| RATE_LIMITED | 429 | Mais 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. |
| INTERNAL | 500 | Erro 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_FAILED | 503 | A 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. |
| UNAVAILABLE | 501 / 503 | O 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_FAILED | 200 | Alguns 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
/api/signal/backtest/:coinDisponívelstring — Coin; other values return 400.
https://www.coinboss.com/api/signal/backtest/BTCMais nesta categoria
- Série do indicador de acumulação AHR999 /api/indicators/ahr999
- Índice de bolha do Bitcoin /api/indicators/bitcoin-bubble
- Histórico completo de fechamentos diários do BTC /api/indicators/btc-history
- Checklist de sinais de topo do mercado de alta /api/indicators/bull-peak-signals
- Índice composto de ciclo de alta CBBI /api/indicators/cbbi
- Índice de risco de derivativos (método CoinBoss) /api/indicators/cdri
- Índice composto de derivativos (método CoinBoss) /api/indicators/cgdi
- Correlação do BTC com o ouro / S&P 500 /api/indicators/correlation
- Matriz de correlação dos principais ativos /api/indicators/correlation-matrix
- Situação legal das criptomoedas por país /api/indicators/crypto-legality
- Faixas de valuation de topo de ciclo /api/indicators/cycle-caps
- Série do tempo de duplicação do preço do BTC /api/indicators/doubling-time
- Tendência de interesse de busca no Google /api/indicators/google-trends
- Séries macro /api/indicators/macro-series
- Resultado do modelo de previsão de preço /api/indicators/price-forecast
- Série de drawdown em relação à máxima histórica /api/indicators/price-no-turning-back
- Número de inscritos no subreddit de Bitcoin do Reddit /api/indicators/reddit-subs
- Visualizações de página na Wikipedia /api/indicators/wikipedia-pageviews
- Índice de temporada de altcoins (método CoinBoss) /api/indices/altseason
- Radar de fundo /api/indices/bottom-radar
- Estudo de caso histórico do radar de fundo /api/indices/bottom-radar/case-0819
- Painel de sinais multifatoriais do BTC /api/indices/btc-signal
- Backtest do sinal do BTC /api/indices/btc-signal/backtest
- Índice de Medo e Ganância /api/indices/fear-greed
- Índice de Medo e Ganância (atual e histórico) /api/market/fear-greed
- Resultados do backtest de sinais /api/signal/backtest/:coin
- Painel de monitoramento de sinais /api/signal/monitor/:coin