/api/signal/backtest/:coin
GETTersedia

Hasil backtest sinyal

Hasil backtest sinyal (hanya BTC / ETH)

GET/api/signal/backtest/:coin

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
coin pathstringWajib—BTC, ETHKoin; nilai lain mengembalikan 400. Contoh: BTC

Parameter bertanda “path” merupakan bagian dari URL.

Contoh permintaan

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

Kolom respons

Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.

KolomTipeSatuanDeskripsi
successboolean—true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`.
coinstring—Simbol koin, huruf besar (misalnya BTC).
backtest_basisstring—Koin yang menjadi dasar pengukuran statistik backtest (`ETH`).
basis_note_codestring—`basis_native` jika koin yang diminta adalah koin yang di-backtest, `basis_borrowed` jika statistik ETH ditampilkan untuk koin lain.
basisstring—Harga futures dikurangi harga spot, atau blok basis.
note_codestring—Kode tetap `eth_only_basis`: setiap statistik dalam respons ini berasal dari riwayat ETHUSDT.
dailyobject—Nilai harian.
daily.datasetobject—Ukuran dan rentang tanggal riwayat candlestick harian yang mendasari statistik harian (riwayat penuh dan jendela terbaru).
daily.dataset.bars_fullnumbercountJumlah candlestick harian dalam riwayat penuh.
daily.dataset.range_fullstring—Tanggal pertama dan terakhir riwayat penuh, berupa teks.
daily.dataset.bars_recentnumbercountJumlah candlestick harian dalam jendela terbaru.
daily.dataset.range_recentstring—Tanggal pertama dan terakhir jendela terbaru, berupa teks.
daily.dataset.srcstring—Sumber.
daily.baselineobject—Hasil acuan dari membeli pada hari mana pun dan menahannya 30 hari, untuk riwayat penuh dan jendela terbaru.
daily.baseline.fullobject—Data resolusi penuh.
daily.baseline.full.nnumber—Jumlah item yang dihitung.
daily.baseline.full.hold30_winratenumber%Pangsa dari semua periode tahan 30 hari dalam riwayat penuh yang berakhir untung.
daily.baseline.full.hold30_pfnumberratioProfit factor semua periode tahan 30 hari dalam riwayat penuh: jumlah keuntungan ÷ jumlah absolut kerugian.
daily.baseline.recentobject—Entri terbaru.
daily.baseline.recent.nnumber—Jumlah item yang dihitung.
daily.baseline.recent.hold30_winratenumber%Pangsa dari semua periode tahan 30 hari dalam jendela terbaru yang berakhir untung.
daily.baseline.recent.hold30_pfnumberratioProfit factor semua periode tahan 30 hari dalam jendela terbaru: jumlah keuntungan ÷ jumlah absolut kerugian.
daily.timingobject—Imbal hasil buy-and-hold dibandingkan dengan aturan filter tren sederhana, untuk riwayat penuh dan jendela terbaru.
daily.timing.fullobject—Data resolusi penuh.
daily.timing.full.buy_hold_pctnumber%Imbal hasil buy-and-hold selama riwayat penuh, diukur mulai dari candlestick ke-210.
daily.timing.full.above_ema200_pctnumber%Imbal hasil selama riwayat penuh jika hanya memegang posisi pada hari ketika penutupan berada di atas EMA 200 hari.
daily.timing.full.below_ema200_pctnumber%Imbal hasil selama riwayat penuh jika hanya memegang posisi pada hari ketika penutupan berada di bawah EMA 200 hari.
daily.timing.full.ema20_gt_ema50_pctnumber%Imbal hasil selama riwayat penuh jika hanya memegang posisi selama EMA 20 hari berada di atas EMA 50 hari.
daily.timing.full.days_abovestring—Teks `days held/total days` untuk aturan penutupan di atas EMA200, riwayat penuh.
daily.timing.full.days_faststring—Teks `days held/total days` untuk aturan EMA20 di atas EMA50, riwayat penuh.
daily.timing.recentobject—Entri terbaru.
daily.timing.recent.buy_hold_pctnumber%Imbal hasil buy-and-hold selama jendela terbaru.
daily.timing.recent.above_ema200_pctnumber%Imbal hasil selama jendela terbaru jika hanya memegang posisi pada hari ketika penutupan berada di atas EMA 200 hari.
daily.timing.recent.below_ema200_pctnumber%Imbal hasil selama jendela terbaru jika hanya memegang posisi pada hari ketika penutupan berada di bawah EMA 200 hari.
daily.timing.recent.ema20_gt_ema50_pctnumber%Imbal hasil selama jendela terbaru jika hanya memegang posisi selama EMA 20 hari berada di atas EMA 50 hari.
daily.timing.recent.days_abovestring—Teks `days held/total days` untuk aturan penutupan di atas EMA200, jendela terbaru.
daily.timing.recent.days_faststring—Teks `days held/total days` untuk aturan EMA20 di atas EMA50, jendela terbaru.
daily.signalsobject—Entri sinyal. kunci dinamis: bull_regime,bear_regime,multi_long,fast_filter,pullback_add,streak5_up
daily.signals.{*}object—Entri sinyal.
daily.signals.{*}.holdstring—Aturan tahan yang dipakai dalam backtest sinyal yang disebutkan kunci map, misalnya `30d`, `7d`, atau aturan take-profit / stop-loss dalam kelipatan ATR.
daily.signals.{*}.fullobject—Data resolusi penuh.
daily.signals.{*}.full.nnumber—Jumlah item yang dihitung.
daily.signals.{*}.full.winratenumber|null—Tingkat kemenangan.
daily.signals.{*}.full.pfnumber|null—Faktor profit.
daily.signals.{*}.recentobject—Entri terbaru.
daily.signals.{*}.recent.nnumber—Jumlah item yang dihitung.
daily.signals.{*}.recent.winratenumber|null—Tingkat kemenangan.
daily.signals.{*}.recent.pfnumber|null—Faktor profit.
daily.signals.{*}.srcstring—Sumber.
daily.signals.{*}.full.total_pctnumber%Pangsa dari total. bisa tidak ada
daily.signals.{*}.full.mdd_pctnumber%Drawdown maksimum. bisa tidak ada
daily.signals.{*}.recent.total_pctnumber%Pangsa dari total. bisa tidak ada
daily.signals.{*}.recent.mdd_pctnumber%Drawdown maksimum. bisa tidak ada
m15object—Backtest pada candlestick 15 menit ETHUSDT: keluar posisi dalam kelipatan ATR(14), biaya pulang-pergi sudah termasuk.
m15.datasetobject—Ukuran, rentang tanggal, dan kelengkapan riwayat candlestick 15 menit yang dipakai.
m15.dataset.barsnumber—Bar.
m15.dataset.rangestring—Jendela yang diminta.
m15.dataset.completenessstring—Teks yang menyatakan jumlah candlestick yang ada dibandingkan jumlah yang diharapkan dalam riwayat 15 menit.
m15.dataset.srcstring—Sumber.
m15.signalsobject—Entri sinyal. kunci dinamis: knife_25,knife_30,cum8_4,cum16_6
m15.signals.{*}object—Entri sinyal.
m15.signals.{*}.signalsnumber—Entri sinyal.
m15.signals.{*}.nnumber—Jumlah item yang dihitung.
m15.signals.{*}.winratenumber—Tingkat kemenangan.
m15.signals.{*}.pfnumber—Faktor profit.
m15.signals.{*}.total_pctnumber%Pangsa dari total.
m15.signals.{*}.mdd_pctnumber%Drawdown maksimum.
m15.signals.{*}.tpnumberxJarak take-profit yang dipakai untuk sinyal yang disebutkan kunci map, sebagai kelipatan ATR(14).
m15.signals.{*}.slnumberxJarak stop-loss yang dipakai untuk sinyal yang disebutkan kunci map, sebagai kelipatan ATR(14).
m15.signals.{*}.srcstring—Sumber.
m15.threshold_scanarray—Hasil backtest menurut besarnya penurunan satu candlestick yang memicu pembelian.
m15.threshold_scan[]object—Hasil untuk satu ambang penurunan.
m15.threshold_scan[].thnumber%Perubahan harga satu candlestick yang memicu entri (negatif).
m15.threshold_scan[].signalsnumber—Entri sinyal.
m15.threshold_scan[].nnumber—Jumlah item yang dihitung.
m15.threshold_scan[].winratenumber—Tingkat kemenangan.
m15.threshold_scan[].pfnumber—Faktor profit.
m15.threshold_scan[].total_pctnumber%Pangsa dari total.
m15.filter_testarray—Hasil entri saat penurunan −2.0 % dengan masing-masing satu filter tambahan (RSI, volume, EMA200).
m15.filter_test[]object—Hasil untuk satu varian filter.
m15.filter_test[].codestring—Kode.
m15.filter_test[].nnumber—Jumlah item yang dihitung.
m15.filter_test[].winratenumber—Tingkat kemenangan.
m15.filter_test[].pfnumber—Faktor profit.
m15.filter_test[].total_pctnumber%Pangsa dari total.
m15.confirm_testarray—Hasil menurut waktu entri: langsung, atau setelah menunggu satu atau dua candlestick konfirmasi.
m15.confirm_test[]object—Hasil untuk satu varian waktu entri.
m15.confirm_test[].codestring—Kode.
m15.confirm_test[].nnumber—Jumlah item yang dihitung.
m15.confirm_test[].winratenumber—Tingkat kemenangan.
m15.confirm_test[].pfnumber—Faktor profit.
m15.confirm_test[].total_pctnumber%Pangsa dari total.
m15.cost_testarray—Hasil dengan berbagai asumsi biaya perdagangan pulang-pergi.
m15.cost_test[]object—Hasil untuk satu asumsi biaya.
m15.cost_test[].cost_pctnumber%Biaya perdagangan pulang-pergi yang diasumsikan dalam pengujian ini, sebagai persentase dari nosional.
m15.cost_test[].pfnumber—Faktor profit.
m15.cost_test[].total_pctnumber%Pangsa dari total.
m15.hour_testarray—Hasil entri saat penurunan −1.5 % yang dipecah menurut jendela jam UTC.
m15.hour_test[]object—Hasil untuk satu jendela jam UTC.
m15.hour_test[].codestring—Kode.
m15.hour_test[].nnumber—Jumlah item yang dihitung.
m15.hour_test[].winratenumber—Tingkat kemenangan.
m15.hour_test[].pfnumber—Faktor profit.
m15.hour_test[].total_pctnumber%Pangsa dari total.
m15.short_sidearray—Hasil perdagangan cerminannya: membuka short setelah lonjakan satu candlestick.
m15.short_side[]object—Hasil untuk satu ambang lonjakan.
m15.short_side[].codestring—Kode.
m15.short_side[].nnumber—Jumlah item yang dihitung.
m15.short_side[].winratenumber—Tingkat kemenangan.
m15.short_side[].pfnumber—Faktor profit.
m15.short_side[].total_pctnumber%Pangsa dari total.
weekdayarray—Hari dalam seminggu.
weekday[]object—Hari dalam seminggu.
weekday[].dnumber—Tanggal kalender (UTC).
weekday[].up_ratenumber—Pangsa periode yang ditutup lebih tinggi.
weekday[].mean_pctnumber%Rata-rata perubahan harga harian pada hari tersebut dalam seminggu (`d` 1 = Senin … 7 = Minggu), riwayat penuh.
montharray—Bulan kalender.
month[]object—Bulan kalender.
month[].mnumber—Nomor bulan kalender, 1–12.
month[].up_ratenumber—Pangsa periode yang ditutup lebih tinggi.
month[].median_pctnumber%Median perubahan harga kumulatif bulan kalender tersebut di seluruh tahun dalam riwayat penuh.

Dihasilkan 2026-11-11 23:01 UTC dari 1 respons nyata.

Contoh respons

/api/signal/backtest/BTC · Respons nyata yang direkam 2026-11-13 03:59:07 UTC. Array dan map yang panjang dipersingkat untuk tampilan: month berisi 12 item; weekday berisi 7 item; m15.signals berisi 4 item; daily.signals berisi 12 item; m15.cost_test berisi 5 item; m15.hour_test berisi 3 item.

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

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
60m
Mikro-cache edge
10s
Jendela
tetap: bar harian 2017-08-17 hingga 2026-07-30, bar 15 menit 2023-01 hingga 2026-07
Sumber data
Ringkasan statis backtest offline pada K-line ETHUSDT bursa; tidak dihitung ulang.
Cakupan bursa
Hanya backtest ETH; BTC mengembalikan angka berbasis ETH yang sama.
Satuan
win rate in percent, profit factor, sample counts
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil

Status langsung

TersediaDiperiksa 2026-11-13 03:59:07 UTCHTTP 2008 msSkema sesuai

Ketersediaan, 30 hari terakhir

100% dari 408 pemeriksaan lolos

Error

Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →

KodeHTTPArtiTindakan
INVALID_PARAM400Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui.Jangan mengulang tanpa perubahan; perbaiki permintaannya.
UNAUTHORIZED401Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid.Jangan mengulang tanpa perubahan.
FORBIDDEN403Rute ini bukan bagian dari API publik (internal atau khusus akun).Jangan mengulang.
NOT_FOUND404Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada.Jangan mengulang; periksa path dan pengenal terhadap katalog.
RATE_LIMITED429Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu.Tunggu selama `Retry-After`, lalu ulangi dengan backoff.
INTERNAL500Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya.Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi.
UPSTREAM_FAILED503Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya.Ulangi dengan backoff; periksa halaman status.
UNAVAILABLE501 / 503Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah.Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain.
REQUEST_FAILED200Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP.Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal.

Coba

GET/api/signal/backtest/:coinTersedia
Parameter

string — Coin; other values return 400.

URL permintaanhttps://www.coinboss.com/api/signal/backtest/BTC
Pilih endpoint lalu tekan “Kirim permintaan”. Respons, header, dan waktu tempuhnya akan muncul di sini.