{"id":15733,"date":"2026-10-31T20:42:04","date_gmt":"2026-10-31T20:42:04","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?p=15733"},"modified":"2026-10-31T20:42:04","modified_gmt":"2026-10-31T20:42:04","slug":"forex-tick-data-backtesting","status":"publish","type":"post","link":"https:\/\/bjftradinggroup.com\/id\/forex-tick-data-backtesting\/","title":{"rendered":"Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan"},"content":{"rendered":"<p><\/p>\n<div class=\"ftd-page\">\n<div class=\"ftd-hero\">\n<span class=\"ftd-hero-tag\">BJF TRADING GROUP \u00b7 BACKTESTING FOREX<\/span><\/p>\n<h2>Data Tick Forex untuk Backtesting: <span class=\"ftd-gold\">Sumber, Pemeriksaan Kualitas, dan Jebakan<\/span><\/h2>\n<p class=\"ftd-hero-sub\">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.<\/p>\n<\/div>\n<div class=\"ftd-toc\">\n<strong>Dalam panduan ini<\/strong><\/p>\n<ol>\n<li><a href=\"#ftd-what\">Apa itu data tick forex<\/a><\/li>\n<li><a href=\"#ftd-bars\">Data tick vs data bar: apa yang disembunyikan interpolasi<\/a><\/li>\n<li><a href=\"#ftd-sources\">Dari mana data tick forex berasal<\/a><\/li>\n<li><a href=\"#ftd-feeds\">Feed broker Anda vs feed referensi<\/a><\/li>\n<li><a href=\"#ftd-time\">Timestamp, zona waktu, dan waktu musim panas<\/a><\/li>\n<li><a href=\"#ftd-quality\">Pemeriksaan kualitas sebelum memercayai dataset<\/a><\/li>\n<li><a href=\"#ftd-steps\">Langkah demi langkah: menyiapkan data tick untuk backtest<\/a><\/li>\n<li><a href=\"#ftd-spread\">Spread variabel: biaya yang disembunyikan spread tetap<\/a><\/li>\n<li><a href=\"#ftd-impact\">Seberapa besar asumsi data mengubah hasil<\/a><\/li>\n<li><a href=\"#ftd-exec\">Tick itu perlu, tetapi tidak cukup: waktu eksekusi<\/a><\/li>\n<li><a href=\"#ftd-storage\">Penyimpanan, format, dan penanganan<\/a><\/li>\n<li><a href=\"#ftd-pitfalls\">Jebakan umum<\/a><\/li>\n<li><a href=\"#ftd-faq\">Pertanyaan yang sering diajukan<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"ftd-what\">Apa itu data tick forex<\/h2>\n<p class=\"ftd-answer\"><strong>Jawaban singkat:<\/strong> 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.<\/p>\n<p>Baris yang khas terlihat seperti ini:<\/p>\n<div class=\"ftd-code\">2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25<\/div>\n<p>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.<\/p>\n<p>Ada satu hal yang perlu dipahami sebelum yang lainnya: <strong>pasar forex spot tidak memiliki pencatatan transaksi terpusat<\/strong>. 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.<\/p>\n<p>Fakta inilah yang mendasari sebagian besar panduan ini. &#8220;Apakah data tick ini akurat?&#8221; adalah pertanyaan yang keliru. Pertanyaan yang berguna adalah: akurat <em>untuk venue eksekusi yang mana<\/em>, direkam <em>bagaimana<\/em>, dan dibersihkan <em>bagaimana<\/em>?<\/p>\n<h3>Tick kuotasi vs tick transaksi<\/h3>\n<p>Sebagian besar dataset forex berisi <strong>tick kuotasi<\/strong>: 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 <strong>tick transaksi<\/strong> (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.<\/p>\n<h2 id=\"ftd-bars\">Data tick vs data bar: apa yang disembunyikan interpolasi<\/h2>\n<p>Banyak alat backtesting yang mengklaim menguji &#8220;setiap tick&#8221; sama sekali tidak menggunakan tick yang direkam. Alat tersebut mengambil bar satu menit dan <strong>menghasilkan<\/strong> 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.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/interpolated-vs-recorded-ticks-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Tick forex yang direkam dibandingkan dengan tick sintetis hasil interpolasi dari bar OHLC satu menit (ilustrasi)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>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.<\/figcaption><\/figure>\n<p>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?<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Jika harga terendah datang lebih dulu<\/strong>, stop tersentuh di 1.08485 dan transaksi rugi 1.5 pip.<\/li>\n<li><strong>Jika harga tertinggi datang lebih dulu<\/strong>, take-profit tersentuh di 1.08530 dan transaksi untung 3 pip.<\/li>\n<\/ul>\n<p>Bar tidak bisa memberi tahu Anda. Generator memilih sebuah urutan (sering kali dengan aturan tetap, seperti &#8220;bar bullish menuju harga terendah lebih dulu&#8221;), 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.<\/p>\n<p>Interpolasi juga menghapus tiga hal yang dipertahankan oleh tick yang direkam:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Yang dibutuhkan strategi<\/th>\n<th>Tick yang direkam<\/th>\n<th>Tick yang dihasilkan dari bar<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Urutan harga tertinggi dan terendah di dalam satu menit<\/td>\n<td>Tepat<\/td>\n<td>Ditebak dengan aturan<\/td>\n<\/tr>\n<tr>\n<td>Lompatan harga (pergerakan 1.5 pip dalam satu kuotasi)<\/td>\n<td>Ada<\/td>\n<td>Dihaluskan menjadi langkah-langkah kecil<\/td>\n<\/tr>\n<tr>\n<td>Spread pada setiap kuotasi<\/td>\n<td>Ada (bid dan ask)<\/td>\n<td>Biasanya satu spread tetap atau satu nilai per bar<\/td>\n<\/tr>\n<tr>\n<td>Jarak waktu antar kuotasi (detik sepi vs detik ramai)<\/td>\n<td>Ada<\/td>\n<td>Berjarak sama atau dikarang<\/td>\n<\/tr>\n<tr>\n<td>Aktivitas kuotasi di sekitar rilis berita dan rollover<\/td>\n<td>Ada<\/td>\n<td>Hilang<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Lompatan adalah poin krusial untuk <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage\/\">arbitrase latensi<\/a>: sinyalnya <em>adalah<\/em> 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.<\/p>\n<h2 id=\"ftd-sources\">Dari mana data tick forex berasal<\/h2>\n<p>Ada lima sumber yang realistis. Kelimanya berbeda dalam biaya, kedalaman, dan yang terpenting, seberapa dekat kecocokannya dengan harga yang benar-benar akan Anda perdagangkan.<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Sumber<\/th>\n<th>Yang Anda dapatkan<\/th>\n<th>Kelebihan<\/th>\n<th>Keterbatasan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Rekaman Anda sendiri<\/strong> (melalui API broker atau sesi FIX)<\/td>\n<td>Setiap kuotasi yang diterima akun Anda, dengan waktu penerimaan lokal Anda<\/td>\n<td>Cocok persis dengan venue eksekusi Anda; Anda mengendalikan timestamp dan format<\/td>\n<td>Baru tersedia sejak Anda mulai merekam; memerlukan mesin yang stabil; ada celah jika koneksi terputus<\/td>\n<\/tr>\n<tr>\n<td><strong>Unduhan riwayat dari broker<\/strong><\/td>\n<td>Bid\/ask historis dari feed milik broker sendiri<\/td>\n<td>Dekat dengan venue Anda; sering kali riwayat bertahun-tahun<\/td>\n<td>Kualitas bervariasi; sebagian broker menipiskan atau memfilter tick lama; timestamp mungkin dalam waktu server<\/td>\n<\/tr>\n<tr>\n<td><strong>Arsip publik gratis<\/strong> (disediakan oleh beberapa broker ECN dan agregator, misalnya Dukascopy, TrueFX, HistData.com)<\/td>\n<td>Tick bid\/ask untuk pasangan mata uang utama, sering kali hingga tahun 2000-an<\/td>\n<td>Gratis, riwayat panjang, baik untuk riset dan uji ketahanan<\/td>\n<td>Pandangan satu venue atau agregator, bukan venue Anda; spread dan frekuensi kuotasi berbeda dari broker Anda; periksa konvensi zona waktu setiap sumber<\/td>\n<\/tr>\n<tr>\n<td><strong>Vendor data komersial<\/strong><\/td>\n<td>Riwayat tick multi-venue yang sudah dibersihkan dan dinormalisasi<\/td>\n<td>Metodologi terdokumentasi, format konsisten, dukungan<\/td>\n<td>Mahal; tetap bukan feed broker Anda<\/td>\n<\/tr>\n<tr>\n<td><strong>Feed referensi \/ feed cepat<\/strong> (misalnya riwayat tick BJF Feed dari node London, Tokyo, dan New York)<\/td>\n<td>Aliran harga referensi yang cepat dan independen<\/td>\n<td>Diperlukan untuk menguji strategi yang membandingkan feed lambat dengan feed cepat<\/td>\n<td>Harus dipasangkan dengan tick milik broker sendiri untuk pengujian arbitrase<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Aturan praktisnya: <strong>gunakan riwayat bersih terpanjang yang bisa Anda dapatkan untuk riset, dan data yang paling dekat dengan venue Anda untuk keputusan akhir.<\/strong> 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.<\/p>\n<p>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.<\/p>\n<h2 id=\"ftd-feeds\">Feed broker Anda vs feed referensi<\/h2>\n<p>Karena setiap venue mengalirkan kuotasinya sendiri, momen yang sama terlihat sedikit berbeda dari tempat yang berbeda. Perbedaan tersebut memiliki struktur:<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Selisih harga.<\/strong> Harga tengah biasanya sama dalam sepersekian pip pada jam-jam likuid dan menjauh saat pasar tipis, saat rollover, dan di sekitar rilis berita.<\/li>\n<li><strong>Selisih waktu.<\/strong> 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.<\/li>\n<li><strong>Frekuensi kuotasi.<\/strong> 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.<\/li>\n<li><strong>Profil spread.<\/strong> Feed ECN mentah dan feed ritel dengan markup bisa berbeda satu pip penuh dalam spread rata-rata, dan jauh lebih besar saat rollover.<\/li>\n<\/ul>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/broker-vs-reference-feed-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Dua feed forex untuk menit yang sama: feed referensi mendahului feed broker, beserta distribusi jeda waktunya (ilustrasi)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>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.<\/figcaption><\/figure>\n<p>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 <em>adalah<\/em> 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 <a href=\"https:\/\/bjftradinggroup.com\/the-critical-role-of-tick-comparison-in-forex-arbitrage-and-high-frequency-trading-hft\/\">perbandingan tick dalam arbitrase forex dan HFT<\/a>, dan mengapa sisi referensi harus cepat dalam panduan tentang <a href=\"https:\/\/bjftradinggroup.com\/fast-feed-for-arbitrage\/\">feed data cepat untuk arbitrase<\/a>.<\/p>\n<h2 id=\"ftd-time\">Timestamp, zona waktu, dan waktu musim panas<\/h2>\n<p>Masalah timestamp menyebabkan lebih banyak kesalahan backtest yang tidak disadari dibandingkan harga yang buruk. Empat hal yang perlu diperiksa:<\/p>\n<h3>1. Data dalam zona waktu apa?<\/h3>\n<p>Konvensi yang umum adalah UTC\/GMT, waktu Timur AS (dengan atau tanpa waktu musim panas), dan &#8220;waktu server&#8221; 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 &#8220;trading saat pembukaan London pukul 08:00&#8221;, selisih satu jam berarti strategi itu memperdagangkan rezim pasar yang berbeda.<\/p>\n<h3>2. Apakah waktu musim panas diterapkan, dan milik siapa?<\/h3>\n<p>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.<\/p>\n<h3>3. Di mana timestamp diambil?<\/h3>\n<p>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.<\/p>\n<h3>4. Resolusi dan urutan<\/h3>\n<p>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.<\/p>\n<h2 id=\"ftd-quality\">Pemeriksaan kualitas sebelum memercayai dataset<\/h2>\n<p>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:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Pemeriksaan<\/th>\n<th>Yang perlu dicari<\/th>\n<th>Tindakan umum<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Waktu monoton<\/td>\n<td>Timestamp yang mundur<\/td>\n<td>Urutkan ulang hanya jika penyebabnya diketahui; jika tidak, tandai file tersebut<\/td>\n<\/tr>\n<tr>\n<td>Duplikat<\/td>\n<td>Baris identik (waktu, bid, ask sama)<\/td>\n<td>Hapus duplikat persis; pertahankan harga berulang dengan waktu berbeda<\/td>\n<\/tr>\n<tr>\n<td>Spread terbalik atau nol<\/td>\n<td>Ask &le; bid<\/td>\n<td>Hapus; kasus yang sering menunjukkan sumber yang rusak atau feed yang tercampur<\/td>\n<\/tr>\n<tr>\n<td>Spread tidak normal<\/td>\n<td>Spread di atas, misalnya, 10&times; median per jam di luar peristiwa yang diketahui<\/td>\n<td>Tandai; pertahankan jika sesuai dengan rollover atau berita, hapus jika terisolasi<\/td>\n<\/tr>\n<tr>\n<td>Lonjakan harga<\/td>\n<td>Lompatan harga tengah berkali-kali lipat volatilitas terkini yang berbalik dalam beberapa tick<\/td>\n<td>Hapus lonjakan yang terisolasi; jangan pernah memfilter pergerakan berita yang nyata<\/td>\n<\/tr>\n<tr>\n<td>Celah<\/td>\n<td>Tidak ada tick selama lebih dari 60 detik pada jam-jam likuid<\/td>\n<td>Petakan celahnya; keluarkan periode tersebut dari pengujian atau tandai transaksi di dalamnya<\/td>\n<\/tr>\n<tr>\n<td>Kuotasi basi<\/td>\n<td>Bid\/ask yang sama berulang selama beberapa menit sementara sumber lain bergerak<\/td>\n<td>Perlakukan sebagai celah<\/td>\n<\/tr>\n<tr>\n<td>Tick akhir pekan dan hari libur<\/td>\n<td>Kuotasi antara penutupan Jumat dan pembukaan Minggu<\/td>\n<td>Hapus, atau periksa zona waktu jika satu jam penuh muncul di sana<\/td>\n<\/tr>\n<tr>\n<td>Kepadatan tick<\/td>\n<td>Jumlah tick per jam dibandingkan dengan jam yang sama pada hari lain<\/td>\n<td>Penurunan mendadak menandakan pembatasan atau masalah perekaman<\/td>\n<\/tr>\n<tr>\n<td>Skala harga dan jumlah digit<\/td>\n<td>Kuotasi 4 digit vs 5 digit, pasangan JPY dengan 3 desimal<\/td>\n<td>Normalisasikan sebelum menggabungkan sumber<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>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&times; MAD <em>dan<\/em> 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.<\/p>\n<div class=\"ftd-box\"><strong>Simpan log.<\/strong> 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.<\/div>\n<h2 id=\"ftd-steps\">Langkah demi langkah: menyiapkan data tick untuk backtest<\/h2>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/tick-data-cleaning-pipeline-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Alur pembersihan data tick forex dari file mentah hingga dataset backtest yang tervalidasi\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Dari file mentah menjadi dataset yang dapat Anda percayai: setiap tahap memperbaiki masalah yang diketahui atau mencatatnya.<\/figcaption><\/figure>\n<div class=\"ftd-steps\">\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">1<\/span><\/p>\n<div><strong>Pilih sumber sesuai pertanyaannya.<\/strong> 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.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">2<\/span><\/p>\n<div><strong>Normalisasikan timestamp.<\/strong> 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.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">3<\/span><\/p>\n<div><strong>Normalisasikan harga.<\/strong> Jumlah digit yang sama per simbol, bid dan ask sebagai kolom terpisah, dan tanpa data yang hanya berisi harga tengah jika strategi membayar spread.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">4<\/span><\/p>\n<div><strong>Hapus kesalahan yang jelas.<\/strong> Duplikat persis, spread terbalik atau nol, tick akhir pekan, lonjakan terisolasi yang berbalik.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">5<\/span><\/p>\n<div><strong>Petakan celah dan periode basi.<\/strong> Simpan sebagai daftar interval yang dikecualikan alih-alih mengisinya dengan harga karangan.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">6<\/span><\/p>\n<div><strong>Bandingkan dengan sumber kedua.<\/strong> Bandingkan harga tengah dan spread per jam dengan dataset lain; perbedaan besar yang terus-menerus menandakan masalah skala, zona waktu, atau feed.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">7<\/span><\/p>\n<div><strong>Bagi periodenya.<\/strong> Sisihkan jendela out-of-sample (misalnya 25% terakhir) dan jadwal walk-forward sebelum Anda mengoptimasi apa pun.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">8<\/span><\/p>\n<div><strong>Tetapkan asumsi eksekusi.<\/strong> Spread variabel dari tick, waktu eksekusi riil Anda dalam milidetik, komisi per lot. Lalu jalankan pengujian.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"ftd-spread\">Spread variabel: biaya yang disembunyikan spread tetap<\/h2>\n<p>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 <a href=\"https:\/\/bjftradinggroup.com\/forex-spread-widening\/\">mengapa spread forex melebar<\/a>.<\/p>\n<p>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.<\/p>\n<p><strong>Contoh perhitungan (angka ilustrasi).<\/strong> Sebuah strategi scalping melakukan 400 transaksi pulang-pergi per bulan pada EUR\/USD dengan 1 lot standar (sekitar $10 per pip).<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">0.8 pip<\/span><span class=\"ftd-card-l\">Spread tetap dalam pengujian<\/span><span class=\"ftd-card-n\">400 transaksi &times; 0.8 &times; $10 = $3,200 per bulan untuk biaya spread<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">1.1 pip<\/span><span class=\"ftd-card-l\">Spread rata-rata yang benar-benar dibayar<\/span><span class=\"ftd-card-n\">strategi lebih sering bertransaksi pada menit-menit yang volatil: 400 &times; 1.1 &times; $10 = $4,400<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">$1,200<\/span><span class=\"ftd-card-l\">Biaya bulanan yang terlewat oleh pengujian<\/span><span class=\"ftd-card-n\">per lot; jika keunggulan kotor adalah 1.5 pip per transaksi, kesalahan 0.3 pip menghapus 20% darinya<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">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.<\/p>\n<h2 id=\"ftd-impact\">Seberapa besar asumsi data mengubah hasil<\/h2>\n<p>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.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/data-assumption-impact-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"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)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Setiap langkah menambahkan satu unsur realitas: tick yang direkam, spread variabel, lalu waktu eksekusi. Angka ilustrasi.<\/figcaption><\/figure>\n<p>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.<\/p>\n<h2 id=\"ftd-exec\">Tick itu perlu, tetapi tidak cukup: waktu eksekusi<\/h2>\n<p>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.<\/p>\n<p>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 <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">kesenjangan waktu eksekusi dalam backtest arbitrase latensi<\/a>, serta cara mengukur slippage pada eksekusi live dalam <a href=\"https:\/\/bjftradinggroup.com\/forex-slippage-explained\/\">penjelasan slippage forex<\/a>.<\/p>\n<p>Ini juga merupakan jawaban paling umum untuk pertanyaan &#8220;mengapa hasil live saya berbeda dari backtest?&#8221; 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.<\/p>\n<h2 id=\"ftd-storage\">Penyimpanan, format, dan penanganan<\/h2>\n<p>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:<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~39 M<\/span><span class=\"ftd-card-l\">Tick per tahun<\/span><span class=\"ftd-card-n\">dengan sekitar 150,000 kuotasi per hari trading &times; 260 hari (feed yang ramai mengirim lebih banyak, feed yang dibatasi lebih sedikit)<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~2 GB<\/span><span class=\"ftd-card-l\">Sebagai teks CSV<\/span><span class=\"ftd-card-n\">sekitar 50 byte per baris dengan string tanggal-waktu lengkap, bid, dan ask<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~0.6 GB<\/span><span class=\"ftd-card-l\">Sebagai biner ringkas<\/span><span class=\"ftd-card-n\">timestamp 8 byte + dua harga integer 4 byte dalam poin = 16 byte per tick, sebelum kompresi<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Perkiraan tingkat orde besaran. Format kolumnar terkompresi biasanya menyusutkan file tick beberapa kali lipat lagi.<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Simpan harga sebagai integer dalam poin<\/strong> (1.08512 &rarr; 108512). Ini menghindari pembulatan floating-point saat Anda membandingkan harga dan memangkas ukurannya hingga separuh.<\/li>\n<li><strong>Partisi berdasarkan simbol dan hari.<\/strong> Satu file per simbol per hari membuat pemeriksaan celah, pemuatan ulang sebagian, dan optimasi paralel menjadi sederhana.<\/li>\n<li><strong>Biarkan file mentah tidak tersentuh.<\/strong> Lakukan pembersihan ke dataset terpisah dan simpan log pembersihannya, agar Anda dapat mereproduksi hasil apa pun.<\/li>\n<li><strong>Pertahankan CSV untuk pertukaran data.<\/strong> 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.<\/li>\n<\/ul>\n<h2 id=\"ftd-pitfalls\">Jebakan umum<\/h2>\n<ul class=\"ftd-checks\">\n<li><strong>Menyebut bar hasil interpolasi sebagai &#8220;data tick&#8221;.<\/strong> Periksa apakah alat Anda memutar ulang kuotasi yang direkam atau menghasilkannya dari bar.<\/li>\n<li><strong>Menguji pada harga tengah.<\/strong> Dataset yang hanya berisi harga tengah mengabaikan spread sepenuhnya; biaya harus berasal dari bid dan ask.<\/li>\n<li><strong>Mencampur sumber dalam satu pengujian.<\/strong> Menggabungkan file dari dua vendor menciptakan lompatan buatan di titik sambungan dan rezim spread yang berbeda dalam satu periode.<\/li>\n<li><strong>Mengabaikan zona waktu dan DST.<\/strong> Filter sesi dan logika rollover harian bergeser tanpa disadari.<\/li>\n<li><strong>Mengisi celah dengan harga karangan.<\/strong> Strategi bisa &#8220;bertransaksi&#8221; selama gangguan yang tidak pernah memiliki kuotasi nyata. Sebaliknya, kecualikan celah tersebut.<\/li>\n<li><strong>Pembersihan berlebihan.<\/strong> Menghapus setiap pergerakan besar akan menghilangkan lonjakan berita dan lompatan yang justru menjadi sasaran sebagian strategi.<\/li>\n<li><strong>Eksekusi tanpa latensi.<\/strong> Eksekusi sempurna pada tick sinyal membuat hampir semua strategi jangka pendek tampak menguntungkan.<\/li>\n<li><strong>Mengoptimasi pada seluruh data.<\/strong> 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.<\/li>\n<\/ul>\n<h2 id=\"ftd-tools\">Data tick di SharpTrader Optimizer<\/h2>\n<p>Kami membangun <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a> 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.<\/p>\n<p>Jika Anda sudah memiliki strategi sendiri, artikel tentang <a href=\"https:\/\/bjftradinggroup.com\/optimize-your-own-trading-bot-sharptrader\/\">menguji bot Anda sendiri di SharpTrader<\/a> menunjukkan alur kerja lengkap dari kode hingga optimasi tingkat tick.<\/p>\n<div class=\"ftd-cta\">\n<h3>Uji pada tick yang benar-benar akan dihadapi strategi Anda<\/h3>\n<p>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.<\/p>\n<p><a class=\"ftd-btn\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">Jelajahi SharpTrader Optimizer<\/a><a class=\"ftd-btn ftd-btn-alt\" href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">Baca: kesenjangan waktu eksekusi<\/a>\n<\/div>\n<div class=\"bjf-ff-wrap\"><div class=\"bjf-ff\" id=\"bjfff4140\" style=\"max-width:640px;margin:28px auto;padding:24px 26px;border:1px solid #d9e1ec;border-radius:12px;background:#f6f8fb\">\n<p style=\"margin:0 0 6px;font-size:20px;font-weight:700;color:#0f1b2d\">Scanner arbitrase gratis + kursus email singkat<\/p>\n<p style=\"margin:0 0 16px;font-size:15px;line-height:1.55;color:#44505f\">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.<\/p>\n<form method=\"post\" novalidate>\n<input type=\"hidden\" name=\"market\" value=\"forex\"><input type=\"hidden\" name=\"source\" value=\"blog\"><input type=\"hidden\" name=\"ts\" value=\"1793486939\"><input type=\"hidden\" name=\"ref\" value=\"forex-tick-data-backtesting\"><input type=\"hidden\" name=\"lang\" value=\"id\"><div style=\"position:absolute;left:-9999px\" aria-hidden=\"true\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<input type=\"text\" name=\"first_name\" placeholder=\"Nama depan\" aria-label=\"Nama depan\" autocomplete=\"given-name\" style=\"flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<input type=\"email\" name=\"email\" required placeholder=\"Email\" aria-label=\"Email\" autocomplete=\"email\" style=\"flex:2 1 220px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<button type=\"submit\" style=\"flex:1 1 160px;padding:11px 16px;border:0;border-radius:8px;background:#c9962a;color:#0f1b2d;font-weight:700;font-size:15px;cursor:pointer\">Kirimkan ke saya<\/button>\n<\/div>\n<p style=\"margin:10px 0 0;font-size:12px;line-height:1.5;color:#6b7785\">Dengan mengirim, Anda setuju menerima email dari BJF Trading Group tentang alat arbitrase dan perangkat lunak trading. Berhenti berlangganan kapan saja. Lihat <a href=\"https:\/\/bjftradinggroup.com\/id\/privacy-policy\/\">Kebijakan Privasi<\/a> kami.<\/p>\n<p class=\"bjf-ff-msg\" role=\"status\" style=\"margin:10px 0 0;font-size:15px;font-weight:600\"><\/p>\n<\/form><\/div>\n<script>(function(){var M={\"invalid\":\"Masukkan alamat email yang valid.\",\"sending\":\"Mengirim\\u2026\",\"done\":\"Selesai! Periksa kotak masuk Anda dalam beberapa menit.\",\"err\":\"Terjadi kesalahan, silakan coba lagi.\",\"net\":\"Kesalahan jaringan, silakan coba lagi.\",\"srv\":false};var b=document.getElementById('bjfff4140');if(!b)return;var f=b.querySelector('form'),m=b.querySelector('.bjf-ff-msg');f.addEventListener('submit',function(e){e.preventDefault();var d=new FormData(f);if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(d.get('email')||'')){m.style.color='#b42318';m.textContent=M.invalid;return;}var btn=f.querySelector('button');btn.disabled=true;m.style.color='#44505f';m.textContent=M.sending;fetch('\/wp-json\/bjf\/v1\/subscribe',{method:'POST',body:d}).then(function(r){return r.json()}).then(function(j){if(j&&j.ok){m.style.color='#1a7f4b';m.textContent=M.done;f.querySelectorAll('input,button').forEach(function(x){x.disabled=true});if(window.gtag)gtag('event','generate_lead',{form_source:d.get('source')});if(window.fbq)fbq('track','Lead',{content_name:d.get('source')});}else{btn.disabled=false;m.style.color='#b42318';m.textContent=(M.srv&&j&&j.msg)||M.err;}}).catch(function(){btn.disabled=false;m.style.color='#b42318';m.textContent=M.net;});});})();<\/script>\n<\/div>\n<h2 id=\"ftd-faq\">Pertanyaan yang sering diajukan<\/h2>\n<div class=\"ftd-faq\">\n<h3>Apa itu data tick forex?<\/h3>\n<p>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.<\/p>\n<h3>Di mana saya bisa mendapatkan data tick forex gratis?<\/h3>\n<p>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.<\/p>\n<h3>Apakah data tick lebih baik daripada data 1 menit untuk backtesting?<\/h3>\n<p>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.<\/p>\n<h3>Mengapa saya mendapatkan hasil backtest yang berbeda pada dua sumber data?<\/h3>\n<p>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.<\/p>\n<h3>Berapa banyak ruang penyimpanan yang dibutuhkan untuk data tick forex selama satu tahun?<\/h3>\n<p>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.<\/p>\n<h3>Mengapa backtest data tick saya menunjukkan eksekusi yang sempurna?<\/h3>\n<p>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.<\/p>\n<h3>Apakah saya membutuhkan bid dan ask sekaligus, atau harga tengah sudah cukup?<\/h3>\n<p>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.<\/p>\n<\/div>\n<p class=\"ftd-note\">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.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan\",\n      \"description\": \"Dari mana data tick forex berasal, mengapa dua dataset tidak pernah cocok, pemeriksaan kualitas sebelum memercayai backtest, zona waktu, spread variabel, dan waktu eksekusi.\",\n      \"image\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"datePublished\": \"2026-10-31\",\n      \"dateModified\": \"2026-10-31\",\n      \"mainEntityOfPage\": \"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/\"\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"name\": \"Cara menyiapkan data tick forex untuk backtest\",\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"Pilih sumber sesuai pertanyaannya\",\n          \"text\": \"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.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Normalisasikan timestamp\",\n          \"text\": \"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.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Normalisasikan harga\",\n          \"text\": \"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.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Hapus kesalahan yang jelas\",\n          \"text\": \"Hapus kesalahan yang jelas. Duplikat persis, spread terbalik atau nol, tick akhir pekan, lonjakan terisolasi yang berbalik.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Petakan celah dan periode basi\",\n          \"text\": \"Petakan celah dan periode basi. Simpan sebagai daftar interval yang dikecualikan alih-alih mengisinya dengan harga karangan.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 6,\n          \"name\": \"Bandingkan dengan sumber kedua\",\n          \"text\": \"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.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 7,\n          \"name\": \"Bagi periodenya\",\n          \"text\": \"Bagi periodenya. Sisihkan jendela out-of-sample (misalnya 25% terakhir) dan jadwal walk-forward sebelum Anda mengoptimasi apa pun.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 8,\n          \"name\": \"Tetapkan asumsi eksekusi\",\n          \"text\": \"Tetapkan asumsi eksekusi. Spread variabel dari tick, waktu eksekusi riil Anda dalam milidetik, komisi per lot. Lalu jalankan pengujian.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Apa itu data tick forex?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Di mana saya bisa mendapatkan data tick forex gratis?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Apakah data tick lebih baik daripada data 1 menit untuk backtesting?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mengapa saya mendapatkan hasil backtest yang berbeda pada dua sumber data?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Berapa banyak ruang penyimpanan yang dibutuhkan untuk data tick forex selama satu tahun?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mengapa backtest data tick saya menunjukkan eksekusi yang sempurna?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Apakah saya membutuhkan bid dan ask sekaligus, atau harga tengah sudah cukup?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"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.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Dari mana data tick forex berasal, mengapa dua dataset untuk pasangan mata uang yang sama tidak pernah cocok, dan cara memeriksa serta membersihkan tick sebelum memercayai backtest: bar hasil interpolasi vs tick yang direkam, feed broker vs feed referensi, zona waktu dan waktu musim panas, pemeriksaan kualitas, spread variabel, waktu eksekusi, dan penyimpanan.<\/p>\n","protected":false},"author":1,"featured_media":15734,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53,221],"tags":[],"class_list":["post-15733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arbitrage-software","category-forex-trading"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Data Tick Forex untuk Backtesting: Sumber &amp; Cek Kualitas<\/title>\n<meta name=\"description\" content=\"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/id\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Tick Forex untuk Backtesting: Sumber &amp; Cek Kualitas\" \/>\n<meta property=\"og:description\" content=\"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/id\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/bjftradinggroup\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-31T20:42:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Boris Fesenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"author\":{\"name\":\"Boris Fesenko\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"headline\":\"Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"wordCount\":45133,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"articleSection\":[\"Arbitrage Software\",\"Forex trading\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#respond\"]}],\"name\":\"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas\",\"description\":\"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"name\":\"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"description\":\"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"width\":1200,\"height\":630,\"caption\":\"Forex tick data for backtesting: bid and ask quote ticks\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"caption\":\"Boris Fesenko\"},\"description\":\"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.\",\"sameAs\":[\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\",\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.instagram.com\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCapi2ct0Iv7axHJ93wN_bsQ\"],\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/id\\\/author\\\/boris\\\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas","description":"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/id\/forex-tick-data-backtesting\/","og_locale":"id_ID","og_type":"article","og_title":"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas","og_description":"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.","og_url":"https:\/\/bjftradinggroup.com\/id\/forex-tick-data-backtesting\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_author":"https:\/\/www.facebook.com\/bjftradinggroup","article_published_time":"2026-10-31T20:42:04+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","type":"image\/webp"}],"author":"Boris Fesenko","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"Boris Fesenko","Estimasi waktu membaca":"19 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#article","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"author":{"name":"Boris Fesenko","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"headline":"Data Tick Forex untuk Backtesting: Sumber, Pemeriksaan Kualitas, dan Jebakan","datePublished":"2026-10-31T20:42:04+00:00","mainEntityOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"wordCount":45133,"commentCount":0,"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","articleSection":["Arbitrage Software","Forex trading"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#respond"]}],"name":"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas","description":"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.","publisher":{"@id":"https:\/\/bjftradinggroup.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","url":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","name":"Data Tick Forex untuk Backtesting: Sumber & Cek Kualitas","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","datePublished":"2026-10-31T20:42:04+00:00","author":{"@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"description":"Asal data tick forex, mengapa dataset berbeda, serta cek kualitas, koreksi zona waktu, dan pemodelan spread yang dibutuhkan backtest yang realistis.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","width":1200,"height":630,"caption":"Forex tick data for backtesting: bid and ask quote ticks"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","caption":"Boris Fesenko"},"description":"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.","sameAs":["https:\/\/bjftradinggroup.com\/about-boris-fesenko","https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/www.instagram.com\/bjftradinggroup\/","https:\/\/www.linkedin.com\/in\/bjftradinggroup\/","https:\/\/www.youtube.com\/channel\/UCapi2ct0Iv7axHJ93wN_bsQ"],"url":"https:\/\/bjftradinggroup.com\/id\/author\/boris\/"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/posts\/15733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/comments?post=15733"}],"version-history":[{"count":37,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/posts\/15733\/revisions"}],"predecessor-version":[{"id":15775,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/posts\/15733\/revisions\/15775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/media\/15734"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/media?parent=15733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/categories?post=15733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/tags?post=15733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}