/api/signal/backtest/:coin
GETDisponible

Résultats du backtest des signaux

Résultats du backtest des signaux (BTC / ETH uniquement)

GET/api/signal/backtest/:coin

Requête

Paramètres de requête

NomTypeRequisPar défautValeurs autoriséesDescription
coin pathstringRequis—BTC, ETHCrypto ; les autres valeurs renvoient 400. Exemple: BTC

Les paramètres marqués « path » font partie de l'URL.

Exemple de requête

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

Champs de la réponse

Le tableau des champs est généré à partir de réponses réelles : il liste donc exactement ce que renvoie l'endpoint. Les chemins utilisent a[] pour les éléments d'un tableau et {*} pour les objets indexés par un nom dynamique, comme une crypto ou une plateforme.

ChampTypeUnitéDescription
successboolean—true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`.
coinstring—Symbole de la crypto, en majuscules (par exemple BTC).
backtest_basisstring—Crypto sur laquelle les statistiques du backtest ont été mesurées (`ETH`).
basis_note_codestring—`basis_native` lorsque la crypto demandée est celle du backtest, `basis_borrowed` lorsque les statistiques de l'ETH sont affichées pour une autre crypto.
basisstring—Prix futures moins prix spot, ou bloc basis.
note_codestring—Code fixe `eth_only_basis` : toutes les statistiques de cette réponse proviennent de l'historique ETHUSDT.
dailyobject—Valeurs quotidiennes.
daily.datasetobject—Taille et plage de dates de l'historique de bougies quotidiennes sur lequel reposent les statistiques quotidiennes (historique complet et fenêtre récente).
daily.dataset.bars_fullnumbercountNombre de bougies quotidiennes dans l'historique complet.
daily.dataset.range_fullstring—Première et dernière dates de l'historique complet, sous forme de texte.
daily.dataset.bars_recentnumbercountNombre de bougies quotidiennes dans la fenêtre récente.
daily.dataset.range_recentstring—Première et dernière dates de la fenêtre récente, sous forme de texte.
daily.dataset.srcstring—Source.
daily.baselineobject—Résultat de référence d'un achat effectué n'importe quel jour et conservé 30 jours, pour l'historique complet et la fenêtre récente.
daily.baseline.fullobject—Données en pleine résolution.
daily.baseline.full.nnumber—Nombre d'éléments comptés.
daily.baseline.full.hold30_winratenumber%Part de toutes les détentions de 30 jours de l'historique complet qui se sont soldées par un gain.
daily.baseline.full.hold30_pfnumberratioFacteur de profit de toutes les détentions de 30 jours de l'historique complet : somme des gains ÷ somme absolue des pertes.
daily.baseline.recentobject—Entrées les plus récentes.
daily.baseline.recent.nnumber—Nombre d'éléments comptés.
daily.baseline.recent.hold30_winratenumber%Part de toutes les détentions de 30 jours de la fenêtre récente qui se sont soldées par un gain.
daily.baseline.recent.hold30_pfnumberratioFacteur de profit de toutes les détentions de 30 jours de la fenêtre récente : somme des gains ÷ somme absolue des pertes.
daily.timingobject—Rendement du buy-and-hold comparé à des règles simples de filtre de tendance, pour l'historique complet et la fenêtre récente.
daily.timing.fullobject—Données en pleine résolution.
daily.timing.full.buy_hold_pctnumber%Rendement du buy-and-hold sur l'historique complet, mesuré à partir de la 210e bougie.
daily.timing.full.above_ema200_pctnumber%Rendement sur l'historique complet en ne détenant que les jours où la clôture est au-dessus de l'EMA 200 jours.
daily.timing.full.below_ema200_pctnumber%Rendement sur l'historique complet en ne détenant que les jours où la clôture est en dessous de l'EMA 200 jours.
daily.timing.full.ema20_gt_ema50_pctnumber%Rendement sur l'historique complet en ne détenant que lorsque l'EMA 20 jours est au-dessus de l'EMA 50 jours.
daily.timing.full.days_abovestring—Texte `days held/total days` pour la règle « clôture au-dessus de l'EMA200 », historique complet.
daily.timing.full.days_faststring—Texte `days held/total days` pour la règle « EMA20 au-dessus de l'EMA50 », historique complet.
daily.timing.recentobject—Entrées les plus récentes.
daily.timing.recent.buy_hold_pctnumber%Rendement du buy-and-hold sur la fenêtre récente.
daily.timing.recent.above_ema200_pctnumber%Rendement sur la fenêtre récente en ne détenant que les jours où la clôture est au-dessus de l'EMA 200 jours.
daily.timing.recent.below_ema200_pctnumber%Rendement sur la fenêtre récente en ne détenant que les jours où la clôture est en dessous de l'EMA 200 jours.
daily.timing.recent.ema20_gt_ema50_pctnumber%Rendement sur la fenêtre récente en ne détenant que lorsque l'EMA 20 jours est au-dessus de l'EMA 50 jours.
daily.timing.recent.days_abovestring—Texte `days held/total days` pour la règle « clôture au-dessus de l'EMA200 », fenêtre récente.
daily.timing.recent.days_faststring—Texte `days held/total days` pour la règle « EMA20 au-dessus de l'EMA50 », fenêtre récente.
daily.signalsobject—Entrées de signal. clés dynamiques: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up
daily.signals.{*}object—Entrées de signal.
daily.signals.{*}.holdstring—Règle de détention utilisée dans le backtest du signal désigné par la clé du dictionnaire, par exemple `30d`, `7d` ou une règle de take-profit / stop-loss en multiples d'ATR.
daily.signals.{*}.fullobject—Données en pleine résolution.
daily.signals.{*}.full.nnumber—Nombre d'éléments comptés.
daily.signals.{*}.full.winratenumber|null—Taux de réussite.
daily.signals.{*}.full.pfnumber|null—Facteur de profit.
daily.signals.{*}.recentobject—Entrées les plus récentes.
daily.signals.{*}.recent.nnumber—Nombre d'éléments comptés.
daily.signals.{*}.recent.winratenumber|null—Taux de réussite.
daily.signals.{*}.recent.pfnumber|null—Facteur de profit.
daily.signals.{*}.srcstring—Source.
daily.signals.{*}.full.total_pctnumber%Part du total. peut être absent
daily.signals.{*}.full.mdd_pctnumber%Drawdown maximal. peut être absent
daily.signals.{*}.recent.total_pctnumber%Part du total. peut être absent
daily.signals.{*}.recent.mdd_pctnumber%Drawdown maximal. peut être absent
m15object—Backtest sur bougies ETHUSDT 15 minutes : sorties en multiples d'ATR(14), coût aller-retour inclus.
m15.datasetobject—Taille, plage de dates et complétude de l'historique de bougies 15 minutes utilisé.
m15.dataset.barsnumber—Bougies.
m15.dataset.rangestring—Fenêtre demandée.
m15.dataset.completenessstring—Texte indiquant le nombre de bougies présentes par rapport au nombre attendu dans l'historique 15 minutes.
m15.dataset.srcstring—Source.
m15.signalsobject—Entrées de signal. clés dynamiques: knife_25,knife_30,cum8_4,cum16_6
m15.signals.{*}object—Entrées de signal.
m15.signals.{*}.signalsnumber—Entrées de signal.
m15.signals.{*}.nnumber—Nombre d'éléments comptés.
m15.signals.{*}.winratenumber—Taux de réussite.
m15.signals.{*}.pfnumber—Facteur de profit.
m15.signals.{*}.total_pctnumber%Part du total.
m15.signals.{*}.mdd_pctnumber%Drawdown maximal.
m15.signals.{*}.tpnumberxDistance de take-profit utilisée pour le signal désigné par la clé du dictionnaire, en multiple d'ATR(14).
m15.signals.{*}.slnumberxDistance de stop-loss utilisée pour le signal désigné par la clé du dictionnaire, en multiple d'ATR(14).
m15.signals.{*}.srcstring—Source.
m15.threshold_scanarray—Résultats du backtest selon l'ampleur de la baisse sur une seule bougie qui déclenche un achat.
m15.threshold_scan[]object—Résultat pour un seuil de baisse.
m15.threshold_scan[].thnumber%Variation de prix sur une seule bougie qui déclenche l'entrée (négative).
m15.threshold_scan[].signalsnumber—Entrées de signal.
m15.threshold_scan[].nnumber—Nombre d'éléments comptés.
m15.threshold_scan[].winratenumber—Taux de réussite.
m15.threshold_scan[].pfnumber—Facteur de profit.
m15.threshold_scan[].total_pctnumber%Part du total.
m15.filter_testarray—Résultats de l'entrée sur repli de −2.0 %, avec un filtre supplémentaire à chaque fois (RSI, volume, EMA200).
m15.filter_test[]object—Résultat pour une variante de filtre.
m15.filter_test[].codestring—Code.
m15.filter_test[].nnumber—Nombre d'éléments comptés.
m15.filter_test[].winratenumber—Taux de réussite.
m15.filter_test[].pfnumber—Facteur de profit.
m15.filter_test[].total_pctnumber%Part du total.
m15.confirm_testarray—Résultats selon le moment de l'entrée : immédiatement, ou après avoir attendu une ou deux bougies de confirmation.
m15.confirm_test[]object—Résultat pour une variante de moment d'entrée.
m15.confirm_test[].codestring—Code.
m15.confirm_test[].nnumber—Nombre d'éléments comptés.
m15.confirm_test[].winratenumber—Taux de réussite.
m15.confirm_test[].pfnumber—Facteur de profit.
m15.confirm_test[].total_pctnumber%Part du total.
m15.cost_testarray—Résultats selon différentes hypothèses de coût de trading aller-retour.
m15.cost_test[]object—Résultat pour une hypothèse de coût.
m15.cost_test[].cost_pctnumber%Coût de trading aller-retour retenu pour cette exécution, en pourcentage du notionnel.
m15.cost_test[].pfnumber—Facteur de profit.
m15.cost_test[].total_pctnumber%Part du total.
m15.hour_testarray—Résultats de l'entrée sur repli de −1.5 %, ventilés par plage horaire UTC.
m15.hour_test[]object—Résultat pour une plage horaire UTC.
m15.hour_test[].codestring—Code.
m15.hour_test[].nnumber—Nombre d'éléments comptés.
m15.hour_test[].winratenumber—Taux de réussite.
m15.hour_test[].pfnumber—Facteur de profit.
m15.hour_test[].total_pctnumber%Part du total.
m15.short_sidearray—Résultats du trade miroir : vente à découvert après une envolée sur une seule bougie.
m15.short_side[]object—Résultat pour un seuil d'envolée.
m15.short_side[].codestring—Code.
m15.short_side[].nnumber—Nombre d'éléments comptés.
m15.short_side[].winratenumber—Taux de réussite.
m15.short_side[].pfnumber—Facteur de profit.
m15.short_side[].total_pctnumber%Part du total.
weekdayarray—Jour de la semaine.
weekday[]object—Jour de la semaine.
weekday[].dnumber—Date calendaire (UTC).
weekday[].up_ratenumber—Part des périodes ayant clôturé en hausse.
weekday[].mean_pctnumber%Variation de prix quotidienne moyenne ce jour de la semaine (`d` 1 = lundi … 7 = dimanche), historique complet.
montharray—Mois calendaire.
month[]object—Mois calendaire.
month[].mnumber—Numéro du mois civil, 1–12.
month[].up_ratenumber—Part des périodes ayant clôturé en hausse.
month[].median_pctnumber%Médiane de la variation de prix cumulée de ce mois civil sur les années de l'historique complet.

Généré à partir de 1 réponses réelles (2026-11-11 23:01 UTC).

Exemple de réponse

/api/signal/backtest/BTC · Réponse réelle (capture : 2026-11-13 03:59:07 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : month comptait 12 éléments; weekday comptait 7 éléments; m15.signals comptait 4 éléments; daily.signals comptait 12 éléments; m15.cost_test comptait 5 éléments; m15.hour_test comptait 3 éléments.

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

Détails

Authentification
Aucune. Endpoint public.
Limite de requêtes
1200 requêtes par minute et par IP
Cache serveur
60m
Micro-cache en périphérie
10s
Fenêtre
fixe : bougies quotidiennes du 2017-08-17 au 2026-07-30, bougies de 15 minutes de 2023-01 à 2026-07
Sources de données
Synthèse statique d'un backtest hors ligne sur les bougies ETHUSDT des plateformes ; elle n'est pas recalculée.
Couverture des plateformes
Backtest sur ETH uniquement ; BTC renvoie les mêmes chiffres, fondés sur ETH.
Unités
win rate in percent, profit factor, sample counts
Horodatages
Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
Format de réponse
json
Stabilité
Stable

Statut en direct

DisponibleVérifié : 2026-11-13 03:59:07 UTCHTTP 2008 msSchéma conforme

Disponibilité, 30 derniers jours

100 % des 408 contrôles réussis

Erreurs

Les appels en échec ont la même structure sur tous les endpoints. La liste complète figure sur la page des erreurs. Erreurs et limites de requêtes →

CodeHTTPSignificationQue faire
INVALID_PARAM400Un paramètre requis est manquant ou une valeur n'est pas acceptée. `param` indique le nom du paramètre lorsqu'il est connu.Ne réessayez pas à l'identique ; corrigez la requête.
UNAUTHORIZED401L'en-tête `CB-API-KEY` a été envoyé, mais la clé est inconnue ou révoquée. Les données publiques ne nécessitent aucune clé — supprimez l'en-tête ou utilisez une clé valide.Ne réessayez pas à l'identique.
FORBIDDEN403La route ne fait pas partie de l'API publique (interne ou réservée aux comptes).Ne réessayez pas.
NOT_FOUND404Route inconnue, ou la crypto / la plateforme / le fonds demandé n'existe pas.Ne réessayez pas ; vérifiez le chemin et les identifiants dans le catalogue.
RATE_LIMITED429Plus de requêtes que la limite par minute. `Retry-After` indique le nombre de secondes à attendre.Attendez la durée indiquée par `Retry-After`, puis réessayez avec backoff.
INTERNAL500Erreur serveur inattendue. Le message est volontairement générique ; citez `request_id` lorsque vous la signalez.Réessayez une fois après quelques secondes ; si l'erreur persiste, signalez-la avec l'ID de requête.
UPSTREAM_FAILED503La source de données derrière cet endpoint n'a pas répondu à temps. Aucun chiffre périmé ni de substitution n'est renvoyé à sa place.Réessayez avec backoff ; consultez la page de statut.
UNAVAILABLE501 / 503Le jeu de données n'est temporairement pas prêt (préchauffage du cache) ou l'endpoint n'a pas encore de source publique licite.Réessayez plus tard ; le catalogue signale les endpoints indisponibles par conception.
REQUEST_FAILED200Certains endpoints plus anciens répondent HTTP 200 avec `success: false`. Vérifiez toujours `success`, et pas seulement le statut HTTP.Dépend du message ; à traiter comme une requête en échec.

Essayer

GET/api/signal/backtest/:coinDisponible
Paramètres

string — Coin; other values return 400.

URL de la requêtehttps://www.coinboss.com/api/signal/backtest/BTC
Choisissez un endpoint et cliquez sur « Envoyer la requête ». La réponse, les en-têtes et le temps de réponse s'afficheront ici.