Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan Oktober 31, 2026 – Posted in: Arbitrage Software, Forex trading

BJF TRADING GROUP · BACKTESTING FOREX

Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan

Sebuah backtest hanya bisa sejujur harga yang Anda masukkan ke dalamnya. Untuk scalping, arbitrase, dan strategi apa pun yang bergerak dalam rentang beberapa pip, bar satu menit tidaklah cukup: Anda membutuhkan urutan kuotasi bid dan ask yang sebenarnya. Panduan ini menjelaskan dari mana data tick forex berasal, mengapa dua dataset untuk pasangan mata uang yang sama tidak pernah cocok, pemeriksaan kualitas apa yang perlu dijalankan sebelum memercayai hasil, dan cara mengubah tick mentah menjadi pengujian yang menyerupai trading live.

Apa itu data tick forex

Jawaban singkat: data tick forex adalah catatan setiap perubahan kuotasi pada sebuah pasangan mata uang: timestamp (biasanya dalam milidetik), harga bid, harga ask, dan terkadang volume yang dikuotasikan di masing-masing sisi. Berbeda dengan data bar, yang hanya menyimpan harga pembukaan, tertinggi, terendah, dan penutupan setiap periode, data tick mempertahankan urutan, waktu, dan spread dari setiap pembaruan harga, dan itulah yang sebenarnya diperdagangkan oleh strategi jangka pendek.

Baris yang khas terlihat seperti ini:

2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25

Itu adalah waktu, bid, ask, serta volume yang tersedia di bid dan ask (dalam juta, jika sumbernya menyediakannya). Spread pada tick ini adalah 0.7 pip. Satu detik kemudian mungkin ada lima baris lagi, atau tidak ada sama sekali.

Ada satu hal yang perlu dipahami sebelum yang lainnya: pasar forex spot tidak memiliki pencatatan transaksi terpusat. Saham dan futures memiliki bursa yang memublikasikan urutan resmi transaksi. Forex diperdagangkan secara over the counter di antara banyak bank, ECN, dan broker, dan masing-masing mengalirkan kuotasinya sendiri. Jadi setiap dataset tick forex adalah pandangan satu venue atau satu agregator terhadap pasar. Dua sumber bisa berbeda sepersekian pip dan puluhan milidetik pada saat yang sama, dan keduanya bisa benar untuk venue masing-masing.

Fakta inilah yang mendasari sebagian besar panduan ini. “Apakah data tick ini akurat?” adalah pertanyaan yang keliru. Pertanyaan yang berguna adalah: akurat untuk venue eksekusi yang mana, direkam bagaimana, dan dibersihkan bagaimana?

Tick kuotasi vs tick transaksi

Sebagian besar dataset forex berisi tick kuotasi: perubahan bid terbaik atau ask terbaik. Itu bukan transaksi. Sebuah kuotasi bisa berubah sepuluh kali tanpa satu transaksi pun, dan transaksi besar mungkin sama sekali tidak mengubah harga teratas order book. Sebagian data FX berbasis futures atau yang diperdagangkan di bursa berisi tick transaksi (harga terakhir dan ukurannya), tetapi untuk backtesting forex spot Anda membutuhkan kuotasi bid dan ask, karena itulah harga tempat order Anda akan dieksekusi: beli di ask, jual di bid.

Data tick vs data bar: apa yang disembunyikan interpolasi

Banyak alat backtesting yang mengklaim menguji “setiap tick” sama sekali tidak menggunakan tick yang direkam. Alat tersebut mengambil bar satu menit dan menghasilkan tick sintetis di dalam setiap bar, biasanya berupa jalur mulus dari harga pembukaan ke tertinggi dan terendah lalu ke penutupan. Hasilnya tampak seperti data tick, tetapi tidak berisi informasi apa pun yang belum dimiliki bar tersebut.

Tick forex yang direkam dibandingkan dengan tick sintetis hasil interpolasi dari bar OHLC satu menit (ilustrasi)
Di dalam satu menit: tick bid yang direkam melompat, berhenti, dan berbalik; tick yang dihasilkan dari OHLC bar mengikuti jalur mulus dan mengarang urutan harga tertinggi dan terendah. Data ilustrasi.

Inilah mengapa hal itu penting. Ambil satu bar EUR/USD satu menit: pembukaan 1.08500, tertinggi 1.08540, terendah 1.08480, penutupan 1.08520. Sebuah posisi long terbuka dengan take-profit di 1.08530 dan stop-loss di 1.08485. Kedua level berada di dalam bar. Apakah transaksi itu untung atau rugi?

  • Jika harga terendah datang lebih dulu, stop tersentuh di 1.08485 dan transaksi rugi 1.5 pip.
  • Jika harga tertinggi datang lebih dulu, take-profit tersentuh di 1.08530 dan transaksi untung 3 pip.

Bar tidak bisa memberi tahu Anda. Generator memilih sebuah urutan (sering kali dengan aturan tetap, seperti “bar bullish menuju harga terendah lebih dulu”), dan backtest melaporkan hasil yang meyakinkan padahal sebagian merupakan lemparan koin. Untuk strategi swing dengan target 100 pip, hal ini jarang berpengaruh. Untuk strategi yang target dan stop-nya berada dalam beberapa pip dari entry, hal ini menentukan sebagian besar transaksi.

Interpolasi juga menghapus tiga hal yang dipertahankan oleh tick yang direkam:

Yang dibutuhkan strategi Tick yang direkam Tick yang dihasilkan dari bar
Urutan harga tertinggi dan terendah di dalam satu menit Tepat Ditebak dengan aturan
Lompatan harga (pergerakan 1.5 pip dalam satu kuotasi) Ada Dihaluskan menjadi langkah-langkah kecil
Spread pada setiap kuotasi Ada (bid dan ask) Biasanya satu spread tetap atau satu nilai per bar
Jarak waktu antar kuotasi (detik sepi vs detik ramai) Ada Berjarak sama atau dikarang
Aktivitas kuotasi di sekitar rilis berita dan rollover Ada Hilang

Lompatan adalah poin krusial untuk arbitrase latensi: sinyalnya adalah lompatan itu sendiri. Jalur sintetis yang bergerak dari 1.08500 ke 1.08515 dalam lima belas langkah kecil sama sekali tidak menghasilkan sinyal, sehingga strategi yang akan bertransaksi saat live tampak mati dalam pengujian, atau strategi yang membeli saat pullback tampak lebih baik daripada kenyataannya.

Dari mana data tick forex berasal

Ada lima sumber yang realistis. Kelimanya berbeda dalam biaya, kedalaman, dan yang terpenting, seberapa dekat kecocokannya dengan harga yang benar-benar akan Anda perdagangkan.

Sumber Yang Anda dapatkan Kelebihan Keterbatasan
Rekaman Anda sendiri (melalui API broker atau sesi FIX) Setiap kuotasi yang diterima akun Anda, dengan waktu penerimaan lokal Anda Cocok persis dengan venue eksekusi Anda; Anda mengendalikan timestamp dan format Baru tersedia sejak Anda mulai merekam; memerlukan mesin yang stabil; ada celah jika koneksi terputus
Unduhan riwayat dari broker Bid/ask historis dari feed milik broker sendiri Dekat dengan venue Anda; sering kali riwayat bertahun-tahun Kualitas bervariasi; sebagian broker menipiskan atau memfilter tick lama; timestamp mungkin dalam waktu server
Arsip publik gratis (disediakan oleh beberapa broker ECN dan agregator, misalnya Dukascopy, TrueFX, HistData.com) Tick bid/ask untuk pasangan mata uang utama, sering kali hingga tahun 2000-an Gratis, riwayat panjang, baik untuk riset dan uji ketahanan Pandangan satu venue atau agregator, bukan venue Anda; spread dan frekuensi kuotasi berbeda dari broker Anda; periksa konvensi zona waktu setiap sumber
Vendor data komersial Riwayat tick multi-venue yang sudah dibersihkan dan dinormalisasi Metodologi terdokumentasi, format konsisten, dukungan Mahal; tetap bukan feed broker Anda
Feed referensi / feed cepat (misalnya riwayat tick BJF Feed dari node London, Tokyo, dan New York) Aliran harga referensi yang cepat dan independen Diperlukan untuk menguji strategi yang membandingkan feed lambat dengan feed cepat Harus dipasangkan dengan tick milik broker sendiri untuk pengujian arbitrase

Aturan praktisnya: gunakan riwayat bersih terpanjang yang bisa Anda dapatkan untuk riset, dan data yang paling dekat dengan venue Anda untuk keputusan akhir. Strategi yang hanya berhasil pada satu arsip gratis dan gagal pada tick yang direkam dari broker Anda tidaklah berhasil. Strategi yang bertahan pada keduanya, dengan biaya yang realistis, telah lulus pengujian yang bermakna.

Jika Anda berencana menjalankan sebuah strategi selama berbulan-bulan, mulailah merekam tick broker Anda sendiri hari ini, bahkan sebelum strateginya selesai. Tiga bulan feed Anda sendiri lebih berharga untuk pemeriksaan akhir daripada sepuluh tahun data milik orang lain.

Feed broker Anda vs feed referensi

Karena setiap venue mengalirkan kuotasinya sendiri, momen yang sama terlihat sedikit berbeda dari tempat yang berbeda. Perbedaan tersebut memiliki struktur:

  • Selisih harga. Harga tengah biasanya sama dalam sepersekian pip pada jam-jam likuid dan menjauh saat pasar tipis, saat rollover, dan di sekitar rilis berita.
  • Selisih waktu. Broker yang mengagregasi harga dari penyedia likuiditas, menambahkan markup sendiri, dan menjalankan pemeriksaan risiko sering kali menampilkan pergerakan lebih lambat daripada feed referensi yang cepat. Jedanya bisa beberapa milidetik atau beberapa ratus milidetik.
  • Frekuensi kuotasi. Sebagian feed mengirim setiap perubahan, yang lain membatasinya (misalnya, maksimal satu pembaruan per 100 ms per simbol). Feed yang dibatasi memiliki lebih sedikit tick dan lompatan yang lebih besar.
  • Profil spread. Feed ECN mentah dan feed ritel dengan markup bisa berbeda satu pip penuh dalam spread rata-rata, dan jauh lebih besar saat rollover.
Dua feed forex untuk menit yang sama: feed referensi mendahului feed broker, beserta distribusi jeda waktunya (ilustrasi)
Pasangan yang sama, menit yang sama, dua feed. Feed broker mengulangi pergerakan referensi dengan penundaan dan lebih sedikit pembaruan; panel kanan menunjukkan distribusi penundaan tersebut. Data ilustrasi, bukan pengukuran broker tertentu.

Bagi sebagian besar strategi, ini berarti Anda harus menguji pada feed yang akan Anda gunakan untuk trading. Bagi arbitrase latensi, artinya lebih kuat lagi: keunggulan strategi adalah selisih antara dua feed, sehingga Anda membutuhkan kedua aliran, direkam dengan timestamp dari jam yang sama. Menguji strategi arbitrase pada tick dari satu vendor tidak ada artinya. Kami menjelaskan cara membandingkan feed tick demi tick dalam artikel kami tentang perbandingan tick dalam arbitrase forex dan HFT, dan mengapa sisi referensi harus cepat dalam panduan tentang feed data cepat untuk arbitrase.

Timestamp, zona waktu, dan waktu musim panas

Masalah timestamp menyebabkan lebih banyak kesalahan backtest yang tidak disadari dibandingkan harga yang buruk. Empat hal yang perlu diperiksa:

1. Data dalam zona waktu apa?

Konvensi yang umum adalah UTC/GMT, waktu Timur AS (dengan atau tanpa waktu musim panas), dan “waktu server” broker, yang oleh banyak broker diatur ke GMT+2 pada musim dingin dan GMT+3 pada musim panas agar hari trading ditutup pukul 17:00 waktu New York. Jika strategi Anda berbunyi “trading saat pembukaan London pukul 08:00”, selisih satu jam berarti strategi itu memperdagangkan rezim pasar yang berbeda.

2. Apakah waktu musim panas diterapkan, dan milik siapa?

Eropa dan Amerika Serikat mengganti jam pada tanggal yang berbeda. Selama sekitar tiga minggu di bulan Maret dan satu minggu di sekitar akhir Oktober dan awal November, selisih antara London dan New York adalah empat jam, bukan lima. Dataset yang dikonversi dengan aturan yang salah menggeser logika berbasis sesi sebanyak satu jam selama minggu-minggu tersebut. Kesalahannya kecil, musiman, dan sangat sulit terlihat pada kurva ekuitas.

3. Di mana timestamp diambil?

Sebuah tick dapat membawa waktu saat venue menghasilkan kuotasi, waktu saat kuotasi meninggalkan server venue, atau waktu saat mesin Anda menerimanya. Untuk strategi tren, perbedaan ini tidak berpengaruh. Untuk strategi yang sensitif terhadap latensi, inilah inti persoalannya: dua feed hanya dapat dibandingkan jika keduanya diberi timestamp dari jam yang sama, idealnya waktu penerimaan Anda sendiri yang disinkronkan dengan NTP atau PTP.

4. Resolusi dan urutan

Timestamp beresolusi detik tidak cukup untuk analisis jangka pendek: puluhan kuotasi bisa berbagi detik yang sama, dan urutannya di dalam detik itu bisa hilang setelah pengurutan. Gunakan resolusi milidetik (atau lebih halus) dan pertahankan urutan asli file sebagai penentu ketika waktunya sama.

Pemeriksaan kualitas sebelum memercayai dataset

Data tick mentah selalu mengandung kesalahan. Tujuannya bukan kesempurnaan, melainkan mengetahui apa yang ada di dalam data dan menghapus apa yang akan mendistorsi pengujian. Berikut pemeriksaan yang kami jalankan pada setiap dataset baru sebelum menggunakannya dalam optimasi:

Pemeriksaan Yang perlu dicari Tindakan umum
Waktu monoton Timestamp yang mundur Urutkan ulang hanya jika penyebabnya diketahui; jika tidak, tandai file tersebut
Duplikat Baris identik (waktu, bid, ask sama) Hapus duplikat persis; pertahankan harga berulang dengan waktu berbeda
Spread terbalik atau nol Ask ≤ bid Hapus; kasus yang sering menunjukkan sumber yang rusak atau feed yang tercampur
Spread tidak normal Spread di atas, misalnya, 10× median per jam di luar peristiwa yang diketahui Tandai; pertahankan jika sesuai dengan rollover atau berita, hapus jika terisolasi
Lonjakan harga Lompatan harga tengah berkali-kali lipat volatilitas terkini yang berbalik dalam beberapa tick Hapus lonjakan yang terisolasi; jangan pernah memfilter pergerakan berita yang nyata
Celah Tidak ada tick selama lebih dari 60 detik pada jam-jam likuid Petakan celahnya; keluarkan periode tersebut dari pengujian atau tandai transaksi di dalamnya
Kuotasi basi Bid/ask yang sama berulang selama beberapa menit sementara sumber lain bergerak Perlakukan sebagai celah
Tick akhir pekan dan hari libur Kuotasi antara penutupan Jumat dan pembukaan Minggu Hapus, atau periksa zona waktu jika satu jam penuh muncul di sana
Kepadatan tick Jumlah tick per jam dibandingkan dengan jam yang sama pada hari lain Penurunan mendadak menandakan pembatasan atau masalah perekaman
Skala harga dan jumlah digit Kuotasi 4 digit vs 5 digit, pasangan JPY dengan 3 desimal Normalisasikan sebelum menggabungkan sumber

Aturan lonjakan yang sederhana dan andal: hitung median absolute deviation (MAD) bergulir dari perubahan harga tengah selama 200 tick terakhir; tandai setiap tick yang perubahannya melebihi sekitar 15× MAD dan sebagian besar berbalik dalam tiga tick berikutnya. Pergerakan berita yang nyata tidak berbalik dalam tiga tick; harga yang salah biasanya berbalik. Sesuaikan ambang batas untuk setiap pasangan dan periksa apa yang Anda hapus, karena filter yang terlalu agresif justru menghapus pergerakan yang dibutuhkan strategi arbitrase atau berita.

Simpan log. Catat berapa banyak baris yang dihapus atau ditandai oleh setiap pemeriksaan per bulan. Jika satu bulan kehilangan 8% tick-nya sementara bulan lain hanya kehilangan 0.1%, bulan tersebut memiliki masalah sumber, dan setiap hasil strategi yang bergantung padanya patut dicurigai.

Langkah demi langkah: menyiapkan data tick untuk backtest

Alur pembersihan data tick forex dari file mentah hingga dataset backtest yang tervalidasi
Dari file mentah menjadi dataset yang dapat Anda percayai: setiap tahap memperbaiki masalah yang diketahui atau mencatatnya.
1
Pilih sumber sesuai pertanyaannya. Riwayat gratis yang panjang untuk riset dan uji ketahanan; tick yang direkam dari broker Anda untuk pemeriksaan akhir; ditambah feed referensi jika strategi membandingkan feed.
2
Normalisasikan timestamp. Konversikan semuanya ke UTC dengan resolusi milidetik, terapkan aturan waktu musim panas yang benar sesuai sumbernya, dan pertahankan urutan asli sebagai penentu ketika waktunya sama.
3
Normalisasikan harga. Jumlah digit yang sama per simbol, bid dan ask sebagai kolom terpisah, dan tanpa data yang hanya berisi harga tengah jika strategi membayar spread.
4
Hapus kesalahan yang jelas. Duplikat persis, spread terbalik atau nol, tick akhir pekan, lonjakan terisolasi yang berbalik.
5
Petakan celah dan periode basi. Simpan sebagai daftar interval yang dikecualikan alih-alih mengisinya dengan harga karangan.
6
Bandingkan dengan sumber kedua. Bandingkan harga tengah dan spread per jam dengan dataset lain; perbedaan besar yang terus-menerus menandakan masalah skala, zona waktu, atau feed.
7
Bagi periodenya. Sisihkan jendela out-of-sample (misalnya 25% terakhir) dan jadwal walk-forward sebelum Anda mengoptimasi apa pun.
8
Tetapkan asumsi eksekusi. Spread variabel dari tick, waktu eksekusi riil Anda dalam milidetik, komisi per lot. Lalu jalankan pengujian.

Spread variabel: biaya yang disembunyikan spread tetap

Banyak pengujian menggunakan satu nilai spread, misalnya 0.8 pip untuk EUR/USD. Spread riil bergerak sepanjang hari: sempit saat sesi London dan New York tumpang tindih, lebih lebar pada sesi Asia, dan melebar hingga beberapa pip selama beberapa menit di sekitar rollover harian dan rilis data utama. Penyebabnya dibahas dalam panduan kami tentang mengapa spread forex melebar.

Spread tetap keliru secara sistematis, karena strategi tidak bertransaksi pada waktu acak. Strategi breakout cenderung terpicu saat volatilitas naik, tepat ketika spread melebar. Strategi mean-reversion yang bertransaksi pada sesi Asia yang sepi menghadapi spread di atas rata-rata harian. Dengan tick bid/ask yang direkam, setiap transaksi membayar spread yang benar-benar dikuotasikan pada saat itu.

Contoh perhitungan (angka ilustrasi). Sebuah strategi scalping melakukan 400 transaksi pulang-pergi per bulan pada EUR/USD dengan 1 lot standar (sekitar $10 per pip).

0.8 pipSpread tetap dalam pengujian400 transaksi × 0.8 × $10 = $3,200 per bulan untuk biaya spread
1.1 pipSpread rata-rata yang benar-benar dibayarstrategi lebih sering bertransaksi pada menit-menit yang volatil: 400 × 1.1 × $10 = $4,400
$1,200Biaya bulanan yang terlewat oleh pengujianper lot; jika keunggulan kotor adalah 1.5 pip per transaksi, kesalahan 0.3 pip menghapus 20% darinya

Angka 1.1 pip adalah contoh untuk menunjukkan mekanismenya, bukan nilai terukur dari broker mana pun. Ukurlah spread rata-rata yang benar-benar dihadapi transaksi strategi Anda di dalam data tick.

Seberapa besar asumsi data mengubah hasil

Untuk menunjukkan efek dari setiap asumsi, grafik di bawah mengambil satu strategi jangka pendek hipotetis dan hanya mengubah data serta model eksekusinya. Angka-angkanya bersifat ilustrasi, disusun untuk mencerminkan arah dan perkiraan besarnya efek yang rutin kami lihat ketika beralih dari pengujian berbasis bar ke pengujian berbasis tick dengan eksekusi yang realistis. Angka-angka ini bukan hasil dari strategi tertentu.

Hasil bersih rata-rata per transaksi dari satu strategi di bawah empat asumsi data dan eksekusi, dari bar hasil interpolasi hingga tick riil dengan waktu eksekusi (ilustrasi)
Setiap langkah menambahkan satu unsur realitas: tick yang direkam, spread variabel, lalu waktu eksekusi. Angka ilustrasi.

Yang penting adalah polanya. Setiap asumsi yang realistis menghapus sebagian keunggulan, dan langkah terakhir, waktu eksekusi, sering kali menghapus paling banyak untuk strategi jangka pendek. Jika sebuah strategi bertahan melewati keempat langkah dengan hasil positif dan jumlah transaksi yang wajar, strategi itu layak diuji live dalam skala kecil. Jika strategi hanya terlihat bagus di kolom pertama, keunggulannya berasal dari model data, bukan dari pasar.

Tick itu perlu, tetapi tidak cukup: waktu eksekusi

Bahkan dataset tick yang sempurna memberikan pengujian yang terlalu optimis jika setiap order dieksekusi pada harga tick yang memicunya. Saat live, selalu ada penundaan antara keputusan dan eksekusi: platform Anda, jaringan, pemrosesan oleh broker. Selama penundaan itu pasar terus bergerak. Pada hari yang sepi, efeknya sepersekian pip; pada pergerakan cepat, efeknya menjadi pembeda antara transaksi yang untung dan yang rugi.

Model yang benar bergerak maju di dalam aliran tick sejauh bagian permintaan (request) dari waktu eksekusi Anda dan mengeksekusi pada bid atau ask yang dikuotasikan pada saat yang lebih kemudian itu. Cara ini menghasilkan slippage yang realistis, positif maupun negatif, tanpa menebak angka slippage. Kami menjelaskan model ini, empat komponen latensi, dan contoh perhitungannya dalam artikel tentang kesenjangan waktu eksekusi dalam backtest arbitrase latensi, serta cara mengukur slippage pada eksekusi live dalam penjelasan slippage forex.

Ini juga merupakan jawaban paling umum untuk pertanyaan “mengapa hasil live saya berbeda dari backtest?” Datanya baik-baik saja; model eksekusinya mengasumsikan penundaan nol. Pedoman praktis yang baik adalah menguji pada waktu eksekusi yang Anda ukur, lalu sekali lagi pada 1.5 hingga 2 kali nilai tersebut. Strategi yang runtuh pada nilai yang lebih tinggi itu rapuh.

Penyimpanan, format, dan penanganan

Data tick berukuran besar, dan format yang Anda pilih memengaruhi ruang disk sekaligus seberapa cepat optimizer dapat memutarnya ulang. Perkiraan kasar untuk satu pasangan mata uang utama yang aktif:

~39 MTick per tahundengan sekitar 150,000 kuotasi per hari trading × 260 hari (feed yang ramai mengirim lebih banyak, feed yang dibatasi lebih sedikit)
~2 GBSebagai teks CSVsekitar 50 byte per baris dengan string tanggal-waktu lengkap, bid, dan ask
~0.6 GBSebagai biner ringkastimestamp 8 byte + dua harga integer 4 byte dalam poin = 16 byte per tick, sebelum kompresi

Perkiraan tingkat orde besaran. Format kolumnar terkompresi biasanya menyusutkan file tick beberapa kali lipat lagi.

  • Simpan harga sebagai integer dalam poin (1.08512 → 108512). Ini menghindari pembulatan floating-point saat Anda membandingkan harga dan memangkas ukurannya hingga separuh.
  • Partisi berdasarkan simbol dan hari. Satu file per simbol per hari membuat pemeriksaan celah, pemuatan ulang sebagian, dan optimasi paralel menjadi sederhana.
  • Biarkan file mentah tidak tersentuh. Lakukan pembersihan ke dataset terpisah dan simpan log pembersihannya, agar Anda dapat mereproduksi hasil apa pun.
  • Pertahankan CSV untuk pertukaran data. Format sederhana berisi timestamp, bid, dan ask adalah yang dapat diimpor oleh sebagian besar alat. SharpTrader Optimizer, misalnya, menerima data tick Anda sendiri dalam format CSV dengan timestamp, bid, dan ask.

Jebakan umum

  • Menyebut bar hasil interpolasi sebagai “data tick”. Periksa apakah alat Anda memutar ulang kuotasi yang direkam atau menghasilkannya dari bar.
  • Menguji pada harga tengah. Dataset yang hanya berisi harga tengah mengabaikan spread sepenuhnya; biaya harus berasal dari bid dan ask.
  • Mencampur sumber dalam satu pengujian. Menggabungkan file dari dua vendor menciptakan lompatan buatan di titik sambungan dan rezim spread yang berbeda dalam satu periode.
  • Mengabaikan zona waktu dan DST. Filter sesi dan logika rollover harian bergeser tanpa disadari.
  • Mengisi celah dengan harga karangan. Strategi bisa “bertransaksi” selama gangguan yang tidak pernah memiliki kuotasi nyata. Sebaliknya, kecualikan celah tersebut.
  • Pembersihan berlebihan. Menghapus setiap pergerakan besar akan menghilangkan lonjakan berita dan lompatan yang justru menjadi sasaran sebagian strategi.
  • Eksekusi tanpa latensi. Eksekusi sempurna pada tick sinyal membuat hampir semua strategi jangka pendek tampak menguntungkan.
  • Mengoptimasi pada seluruh data. Tanpa periode out-of-sample dan pemeriksaan walk-forward, grid parameter yang besar akan menemukan kurva yang cocok dengan masa lalu dan tidak dengan hal lain.

Data tick di SharpTrader Optimizer

Kami membangun SharpTrader Optimizer berdasarkan poin-poin dalam panduan ini. Alat ini memutar ulang tick bid/ask historis yang riil, bukan bar hasil interpolasi, mengambil spread dari setiap tick, dan memungkinkan Anda menetapkan waktu eksekusi order dalam milidetik sehingga setiap eksekusi berasal dari aliran tick setelah penundaan tersebut. Anda dapat menggunakan riwayat tick BJF Feed yang direkam di node London, Tokyo, dan New York, atau mengimpor tick broker Anda sendiri sebagai CSV. Grid parameter berjalan di semua inti CPU, yang penting ketika satu tahun data satu pasangan berisi puluhan juta tick.

Jika Anda sudah memiliki strategi sendiri, artikel tentang menguji bot Anda sendiri di SharpTrader menunjukkan alur kerja lengkap dari kode hingga optimasi tingkat tick.

Uji pada tick yang benar-benar akan dihadapi strategi Anda

Tick bid/ask riil, spread variabel pada setiap kuotasi, dan waktu eksekusi broker Anda dalam milidetik: tiga masukan yang menentukan apakah strategi jangka pendek bertahan dalam trading live.

Jelajahi SharpTrader OptimizerBaca: kesenjangan waktu eksekusi

Scanner arbitrase gratis + kursus email singkat

Dapatkan tautan scanner gratis dan beberapa email singkat dan praktis dari Boris: arti sebenarnya selisih harga setelah biaya, cara menguji strategi sebelum mempertaruhkan uang sungguhan, dan alat mana yang cocok untuk pasar Anda. Tanpa janji berlebihan. Email dikirim dalam bahasa Inggris.

Dengan mengirim, Anda setuju menerima email dari BJF Trading Group tentang alat arbitrase dan perangkat lunak trading. Berhenti berlangganan kapan saja. Lihat Kebijakan Privasi kami.

Pertanyaan yang sering diajukan

Apa itu data tick forex?

Data tick forex adalah catatan setiap perubahan kuotasi pada sebuah pasangan mata uang, dengan timestamp, harga bid, harga ask, dan terkadang volume yang dikuotasikan. Data ini mempertahankan urutan, waktu, dan spread yang tepat dari pembaruan harga, yang hilang pada data bar.

Di mana saya bisa mendapatkan data tick forex gratis?

Beberapa broker ECN dan agregator memublikasikan tick bid/ask historis gratis untuk pasangan mata uang utama, dan banyak broker memungkinkan Anda mengunduh riwayat mereka sendiri. Arsip gratis berguna untuk riset, tetapi hanya menunjukkan harga satu venue, jadi konfirmasikan hasil akhir pada tick yang direkam dari broker Anda sendiri.

Apakah data tick lebih baik daripada data 1 menit untuk backtesting?

Untuk strategi dengan target dan stop dalam beberapa pip, scalping, trading berita, dan arbitrase, ya: bar satu menit menyembunyikan urutan harga tertinggi dan terendah, lompatan harga, dan spread yang sebenarnya. Untuk strategi swing dengan stop yang lebar, data satu menit yang bersih dengan spread yang realistis sering kali sudah cukup.

Mengapa saya mendapatkan hasil backtest yang berbeda pada dua sumber data?

Forex spot tidak memiliki pencatatan transaksi terpusat, sehingga setiap sumber merupakan pandangan venue yang berbeda. Spread, frekuensi kuotasi, zona waktu, penanganan waktu musim panas, dan aturan pembersihan semuanya berbeda. Bandingkan harga dan spread per jam antara kedua dataset untuk menemukan penyebabnya, dan percayai sumber yang paling dekat dengan venue eksekusi Anda.

Berapa banyak ruang penyimpanan yang dibutuhkan untuk data tick forex selama satu tahun?

Untuk satu pasangan mata uang utama yang aktif, kira-kira puluhan juta tick per tahun: sekitar 2 GB sebagai teks CSV atau sekitar 0.6 GB dalam format biner ringkas sebelum kompresi. Beberapa pasangan selama beberapa tahun dengan cepat mencapai puluhan gigabyte.

Mengapa backtest data tick saya menunjukkan eksekusi yang sempurna?

Karena pengujian mengeksekusi setiap order pada tick yang menghasilkan sinyal. Order riil membutuhkan waktu untuk mencapai broker, dan harga bergerak di antaranya. Modelkan waktu eksekusi dengan bergerak maju di dalam aliran tick dan mengeksekusi pada bid atau ask yang lebih kemudian, lalu uji pada 1.5 hingga 2 kali penundaan yang Anda ukur.

Apakah saya membutuhkan bid dan ask sekaligus, atau harga tengah sudah cukup?

Anda membutuhkan keduanya. Pembelian dieksekusi di ask dan penjualan di bid, sehingga spread adalah biaya nyata pada setiap transaksi. Dataset yang hanya berisi harga tengah menghilangkan biaya tersebut dan membuat strategi jangka pendek tampak lebih baik daripada kenyataannya.

Artikel ini bersifat edukatif dan bukan merupakan nasihat keuangan. Contoh, grafik, dan angka yang ditandai sebagai ilustrasi bukanlah pengukuran broker atau strategi tertentu; sumber data, konvensi, dan biaya berbeda antar penyedia dan berubah seiring waktu.