/api/signal/backtest/:coin
GETDisponibile

Risultati del backtest dei segnali

Risultati del backtest dei segnali (solo BTC / ETH)

GET/api/signal/backtest/:coin

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
coin pathstringObbligatorio—BTC, ETHMoneta; gli altri valori restituiscono 400. Esempio: BTC

I parametri contrassegnati con «path» fanno parte dell'URL.

Richiesta di esempio

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

Campi della risposta

La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.

CampoTipoUnitàDescrizione
successboolean—true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`.
coinstring—Simbolo della moneta, in maiuscolo (per esempio BTC).
backtest_basisstring—Moneta su cui sono state misurate le statistiche del backtest (`ETH`).
basis_note_codestring—`basis_native` quando la moneta richiesta è quella sottoposta a backtest, `basis_borrowed` quando per un'altra moneta vengono mostrate le statistiche di ETH.
basisstring—Prezzo futures meno prezzo spot, oppure il blocco della base.
note_codestring—Codice fisso `eth_only_basis`: ogni statistica di questa risposta proviene dallo storico di ETHUSDT.
dailyobject—Valori giornalieri.
daily.datasetobject—Dimensione e intervallo di date dello storico delle candele giornaliere alla base delle statistiche giornaliere (storico completo e finestra recente).
daily.dataset.bars_fullnumbercountNumero di candele giornaliere nello storico completo.
daily.dataset.range_fullstring—Prima e ultima data dello storico completo, come testo.
daily.dataset.bars_recentnumbercountNumero di candele giornaliere nella finestra recente.
daily.dataset.range_recentstring—Prima e ultima data della finestra recente, come testo.
daily.dataset.srcstring—Fonte.
daily.baselineobject—Risultato di riferimento dell'acquisto in un giorno qualsiasi con mantenimento per 30 giorni, per lo storico completo e per la finestra recente.
daily.baseline.fullobject—Dati a piena risoluzione.
daily.baseline.full.nnumber—Numero di elementi conteggiati.
daily.baseline.full.hold30_winratenumber%Quota di tutti i periodi di detenzione di 30 giorni dello storico completo chiusi in profitto.
daily.baseline.full.hold30_pfnumberratioProfit factor di tutti i periodi di detenzione di 30 giorni dello storico completo: somma dei guadagni ÷ somma assoluta delle perdite.
daily.baseline.recentobject—Voci più recenti.
daily.baseline.recent.nnumber—Numero di elementi conteggiati.
daily.baseline.recent.hold30_winratenumber%Quota di tutti i periodi di detenzione di 30 giorni della finestra recente chiusi in profitto.
daily.baseline.recent.hold30_pfnumberratioProfit factor di tutti i periodi di detenzione di 30 giorni della finestra recente: somma dei guadagni ÷ somma assoluta delle perdite.
daily.timingobject—Rendimento del buy-and-hold a confronto con semplici regole di filtro di tendenza, per lo storico completo e per la finestra recente.
daily.timing.fullobject—Dati a piena risoluzione.
daily.timing.full.buy_hold_pctnumber%Rendimento del buy-and-hold sullo storico completo, misurato a partire dalla 210ª candela.
daily.timing.full.above_ema200_pctnumber%Rendimento sullo storico completo mantenendo la posizione solo nei giorni in cui la chiusura è sopra l'EMA a 200 giorni.
daily.timing.full.below_ema200_pctnumber%Rendimento sullo storico completo mantenendo la posizione solo nei giorni in cui la chiusura è sotto l'EMA a 200 giorni.
daily.timing.full.ema20_gt_ema50_pctnumber%Rendimento sullo storico completo mantenendo la posizione solo finché l'EMA a 20 giorni è sopra l'EMA a 50 giorni.
daily.timing.full.days_abovestring—Testo `days held/total days` per la regola della chiusura sopra l'EMA200, storico completo.
daily.timing.full.days_faststring—Testo `days held/total days` per la regola dell'EMA20 sopra l'EMA50, storico completo.
daily.timing.recentobject—Voci più recenti.
daily.timing.recent.buy_hold_pctnumber%Rendimento del buy-and-hold sulla finestra recente.
daily.timing.recent.above_ema200_pctnumber%Rendimento sulla finestra recente mantenendo la posizione solo nei giorni in cui la chiusura è sopra l'EMA a 200 giorni.
daily.timing.recent.below_ema200_pctnumber%Rendimento sulla finestra recente mantenendo la posizione solo nei giorni in cui la chiusura è sotto l'EMA a 200 giorni.
daily.timing.recent.ema20_gt_ema50_pctnumber%Rendimento sulla finestra recente mantenendo la posizione solo finché l'EMA a 20 giorni è sopra l'EMA a 50 giorni.
daily.timing.recent.days_abovestring—Testo `days held/total days` per la regola della chiusura sopra l'EMA200, finestra recente.
daily.timing.recent.days_faststring—Testo `days held/total days` per la regola dell'EMA20 sopra l'EMA50, finestra recente.
daily.signalsobject—Voci dei segnali. chiavi dinamiche: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up
daily.signals.{*}object—Voci dei segnali.
daily.signals.{*}.holdstring—Regola di detenzione usata nel backtest del segnale indicato dalla chiave della mappa, per esempio `30d`, `7d` o una regola di take-profit / stop-loss in multipli dell'ATR.
daily.signals.{*}.fullobject—Dati a piena risoluzione.
daily.signals.{*}.full.nnumber—Numero di elementi conteggiati.
daily.signals.{*}.full.winratenumber|null—Tasso di successo.
daily.signals.{*}.full.pfnumber|null—Profit factor.
daily.signals.{*}.recentobject—Voci più recenti.
daily.signals.{*}.recent.nnumber—Numero di elementi conteggiati.
daily.signals.{*}.recent.winratenumber|null—Tasso di successo.
daily.signals.{*}.recent.pfnumber|null—Profit factor.
daily.signals.{*}.srcstring—Fonte.
daily.signals.{*}.full.total_pctnumber%Quota sul totale. può essere assente
daily.signals.{*}.full.mdd_pctnumber%Drawdown massimo. può essere assente
daily.signals.{*}.recent.total_pctnumber%Quota sul totale. può essere assente
daily.signals.{*}.recent.mdd_pctnumber%Drawdown massimo. può essere assente
m15object—Backtest su candele ETHUSDT a 15 minuti: uscite in multipli dell'ATR(14), costo di andata e ritorno incluso.
m15.datasetobject—Dimensione, intervallo di date e completezza dello storico delle candele a 15 minuti utilizzato.
m15.dataset.barsnumber—Barre.
m15.dataset.rangestring—Finestra richiesta.
m15.dataset.completenessstring—Testo che riporta le candele presenti rispetto a quelle attese nello storico a 15 minuti.
m15.dataset.srcstring—Fonte.
m15.signalsobject—Voci dei segnali. chiavi dinamiche: knife_25,knife_30,cum8_4,cum16_6
m15.signals.{*}object—Voci dei segnali.
m15.signals.{*}.signalsnumber—Voci dei segnali.
m15.signals.{*}.nnumber—Numero di elementi conteggiati.
m15.signals.{*}.winratenumber—Tasso di successo.
m15.signals.{*}.pfnumber—Profit factor.
m15.signals.{*}.total_pctnumber%Quota sul totale.
m15.signals.{*}.mdd_pctnumber%Drawdown massimo.
m15.signals.{*}.tpnumberxDistanza del take-profit usata per il segnale indicato dalla chiave della mappa, come multiplo dell'ATR(14).
m15.signals.{*}.slnumberxDistanza dello stop-loss usata per il segnale indicato dalla chiave della mappa, come multiplo dell'ATR(14).
m15.signals.{*}.srcstring—Fonte.
m15.threshold_scanarray—Risultati del backtest in base all'ampiezza del calo su singola candela che fa scattare un acquisto.
m15.threshold_scan[]object—Risultato per una soglia di calo.
m15.threshold_scan[].thnumber%Variazione di prezzo su singola candela che fa scattare l'ingresso (negativa).
m15.threshold_scan[].signalsnumber—Voci dei segnali.
m15.threshold_scan[].nnumber—Numero di elementi conteggiati.
m15.threshold_scan[].winratenumber—Tasso di successo.
m15.threshold_scan[].pfnumber—Profit factor.
m15.threshold_scan[].total_pctnumber%Quota sul totale.
m15.filter_testarray—Risultati dell'ingresso sul calo del −2.0 % con un filtro aggiuntivo ciascuno (RSI, volume, EMA200).
m15.filter_test[]object—Risultato per una variante di filtro.
m15.filter_test[].codestring—Codice.
m15.filter_test[].nnumber—Numero di elementi conteggiati.
m15.filter_test[].winratenumber—Tasso di successo.
m15.filter_test[].pfnumber—Profit factor.
m15.filter_test[].total_pctnumber%Quota sul totale.
m15.confirm_testarray—Risultati per tempistica di ingresso: immediato, oppure dopo l'attesa di una o due candele di conferma.
m15.confirm_test[]object—Risultato per una variante di tempistica di ingresso.
m15.confirm_test[].codestring—Codice.
m15.confirm_test[].nnumber—Numero di elementi conteggiati.
m15.confirm_test[].winratenumber—Tasso di successo.
m15.confirm_test[].pfnumber—Profit factor.
m15.confirm_test[].total_pctnumber%Quota sul totale.
m15.cost_testarray—Risultati con diverse ipotesi sui costi di trading di andata e ritorno.
m15.cost_test[]object—Risultato per un'ipotesi di costo.
m15.cost_test[].cost_pctnumber%Costo di trading di andata e ritorno ipotizzato in questa esecuzione, in percentuale del nozionale.
m15.cost_test[].pfnumber—Profit factor.
m15.cost_test[].total_pctnumber%Quota sul totale.
m15.hour_testarray—Risultati dell'ingresso sul calo del −1.5 % ripartiti per fascia oraria UTC.
m15.hour_test[]object—Risultato per una fascia oraria UTC.
m15.hour_test[].codestring—Codice.
m15.hour_test[].nnumber—Numero di elementi conteggiati.
m15.hour_test[].winratenumber—Tasso di successo.
m15.hour_test[].pfnumber—Profit factor.
m15.hour_test[].total_pctnumber%Quota sul totale.
m15.short_sidearray—Risultati dell'operazione speculare: apertura di uno short dopo un'impennata su singola candela.
m15.short_side[]object—Risultato per una soglia di impennata.
m15.short_side[].codestring—Codice.
m15.short_side[].nnumber—Numero di elementi conteggiati.
m15.short_side[].winratenumber—Tasso di successo.
m15.short_side[].pfnumber—Profit factor.
m15.short_side[].total_pctnumber%Quota sul totale.
weekdayarray—Giorno della settimana.
weekday[]object—Giorno della settimana.
weekday[].dnumber—Data di calendario (UTC).
weekday[].up_ratenumber—Quota dei periodi che hanno chiuso in rialzo.
weekday[].mean_pctnumber%Variazione media giornaliera del prezzo in quel giorno della settimana (`d` 1 = lunedì … 7 = domenica), storico completo.
montharray—Mese di calendario.
month[]object—Mese di calendario.
month[].mnumber—Numero del mese di calendario, 1–12.
month[].up_ratenumber—Quota dei periodi che hanno chiuso in rialzo.
month[].median_pctnumber%Variazione di prezzo cumulata mediana di quel mese di calendario sugli anni dello storico completo.

Generata 2026-11-11 23:01 UTC da 1 risposte reali.

Risposta di esempio

/api/signal/backtest/BTC · Risposta reale acquisita 2026-11-13 03:59:07 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: month conteneva 12 elementi; weekday conteneva 7 elementi; m15.signals conteneva 4 elementi; daily.signals conteneva 12 elementi; m15.cost_test conteneva 5 elementi; m15.hour_test conteneva 3 elementi.

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

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
60m
Micro-cache edge
10s
Finestra
fisso: barre giornaliere dal 2017-08-17 al 2026-07-30, barre a 15 minuti dal 2023-01 al 2026-07
Fonti dei dati
Riepilogo statico di un backtest offline sulle K-line ETHUSDT degli exchange; non viene ricalcolato.
Copertura degli exchange
Solo backtest su ETH; BTC restituisce gli stessi numeri basati su ETH.
Unità
win rate in percent, profit factor, sample counts
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile

Stato in tempo reale

DisponibileVerificato 2026-11-13 03:59:07 UTCHTTP 2008 msSchema conforme

Disponibilità, ultimi 30 giorni

100% di 408 verifiche superate

Errori

Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →

CodiceHTTPSignificatoChe cosa fare
INVALID_PARAM400Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto.Non riprovare senza modifiche; correggere la richiesta.
UNAUTHORIZED401L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida.Non riprovare senza modifiche.
FORBIDDEN403La route non fa parte dell'API pubblica (interna o riservata agli account).Non riprovare.
NOT_FOUND404Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste.Non riprovare; verificare il percorso e gli identificatori nel catalogo.
RATE_LIMITED429Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere.Attendere `Retry-After`, poi riprovare con backoff.
INTERNAL500Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala.Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta.
UPSTREAM_FAILED503La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi.Riprovare con backoff; controllare la pagina di stato.
UNAVAILABLE501 / 503Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita.Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale.
REQUEST_FAILED200Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP.Dipende dal messaggio; trattare come una richiesta non riuscita.

Prova

GET/api/signal/backtest/:coinDisponibile
Parametri

string — Coin; other values return 400.

URL della richiestahttps://www.coinboss.com/api/signal/backtest/BTC
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.