Data tick adalah catatan setiap perubahan harga pada sebuah simbol — masing-masing berstempel waktu, dengan bid dan ask-nya sendiri — dan itulah yang diputar ulang MT5 pada model 'Every tick based on real ticks', alih-alih mengarang jalur di antara bar.
juga: riwayat tick, data tick nyata
Diperbarui · Ditinjau
Dengan bahasa sederhana
Data bar hanya menyimpan empat harga per candle: open, high, low, dan close. Data tick menyimpan semua yang ada di antaranya — setiap perubahan harga, berurutan, membawa spread yang berlaku pada momen itu. Selisih antara keduanya baru menentukan sesuatu ketika sebuah transaksi dibuka dan ditutup di dalam satu bar, dan justru di situlah sebagian besar pemasaran EA hidup.
Mengapa ini penting
Sebuah backtest hanya bisa memperdagangkan harga yang Anda serahkan kepadanya. Data bar menyerahkan empat harga per candle lalu membiarkan tester mengarang rute di antaranya, sehingga strategi apa pun yang masuk dan keluar di dalam bar menjawab atas jalur yang tidak pernah dicatat siapa pun. Data tick menukar karangan itu dengan catatan. Eksekusi kami sendiri lalu menambahkan temuan kedua yang tidak nyaman: dari mana Anda mengambil tick-nya menggerakkan hasil jauh lebih besar daripada berpindah dari tick karangan ke tick yang terekam.
✓Ia menetapkan urutan peristiwa di dalam bar. Kalau rute yang sebenarnya menyentuh stop sebelum target, rute karangan yang menyentuh keduanya dalam urutan terbalik membalik tanda transaksinya.
✓Ia membawa spread yang benar-benar berlaku pada tiap momen. Pada satu eksekusi tick nyata USD/JPY di sini, file tick-nya memuat 227 nilai spread berbeda antara 10 dan 350 poin, dan tidak ada satu angka tetap pun yang bisa mewakili rentang selebar itu.
✓Ia menuntut persediaan nyata di dalam terminal. Sebelas eksekusi tick nyata yang dipublikasikan di sini semuanya memerlukan simbol kustom yang dibangun dari arsip impor; tidak satu pun simbol bawaan broker dalam katalog ini pernah mencapai model tick nyata.
✓Ia bukan tuas yang terbesar. Menukar sumber data di bawah model yang sama membawa salah satu eksekusi kami dari profit factor 1,35 ke 1,13; meningkatkan sumber yang sama itu dari tick hasil generate ke tick nyata kemudian menggesernya 0,02 lagi.
Memakainya untuk memvalidasi strategi
Di mana dipakai
Strategy Tester → Settings → Modelling, tempat 'Every tick based on real ticks' (Model 4) memutar ulang jalur yang terekam dan 'Every tick' biasa (Model 0) menghasilkan jalur itu dari bar M1.
View → Symbols (Ctrl+U) → tab Ticks, tempat Anda meminta riwayat tick sebuah simbol untuk satu rentang tanggal sebelum tester bisa menyentuhnya.
Membangun simbol kustom dari arsip tick yang diimpor — begitulah setiap eksekusi tick nyata dalam katalog ini memperoleh datanya.
Menjalankan ulang strategi yang sudah jadi pada sumber tick kedua, untuk mengetahui apakah hasilnya milik aturannya atau milik datanya.
Seperti apa hasil yang tepercaya
✓Listing menyebut sumber tick dan model tester dalam satu tarikan napas, sehingga pembaca bisa membangun ulang eksekusinya alih-alih mempercayainya.
✓Riwayat tick-nya benar-benar menutupi jendela itu. Setiap eksekusi yang dipublikasikan di sini dibuka pada 2019-01-01 kecuali satu, di atas sumber yang memang menjangkau sejauh itu.
✓Bid dan ask sama-sama selamat melewati impor, sehingga tester mengisi order pada spread yang terekam, bukan pada konstanta pengganti.
✓Sumber kedua mereproduksi hasilnya — dan ketika tidak, listing menyebutkan mana yang gagal.
Tanda bahaya
!'Data tick nyata' tanpa nama vendor. Vendor justru ternyata separuh klaim yang menentukan hasilnya.
!Persentase kualitas riwayat (history quality) yang dilambaikan sebagai bukti tick nyata. Satu eksekusi Model 0 dalam katalog ini mencetak 100%.
!Jendela pengujian yang dibuka sebelum tick sumbernya dimulai, yang diam-diam menyerahkan tahun-tahun awal kembali kepada interpolasi.
!Spread tetap yang dipasang di atas data tick. Pada Model 4 tester toh mengabaikan kolom itu, jadi pengaturannya lebih menyesatkan penulisnya daripada pembacanya.
Backtest vs perdagangan nyata
Data tick memaku jalur harga dan membiarkan eksekusi apa adanya. Latensi, requote, pengisian sebagian, dan kebijakan broker sendiri semuanya tetap berada di luar tester.
Spread yang terekam adalah milik siapa pun yang merekamnya. Broker lain yang mengutip momen yang sama bisa berbeda secara material, terutama di luar sesi utama.
Slippage tidak pernah masuk ke dalam file. Tester mengisi pada harga yang terekam; order live tiba sepersekian detik kemudian dan menerima apa pun yang ada di sana.
Perkirakan sisa jurang yang tertinggal menyangkut eksekusi, bukan harga — jurang yang lebih sempit dan jauh lebih bisa diperkirakan daripada yang ditinggalkan data bar.
Metode validasi yang disarankan
1Minta dulu riwayat tick simbol untuk seluruh jendela, lalu baca tab Ticks untuk memastikan rentang yang dikembalikannya memang menutupi jendela itu.
2Tulis nomor Model di samping nama sumbernya. 'Every tick' dan 'Every tick based on real ticks' hanya berjarak satu baris di dropdown yang sama dan menggambarkan dua eksperimen berbeda.
3Biarkan kolom spread milik tester apa adanya pada Model 4 dan tambahkan komisi secara manual. Menjalankan Spread=10 melawan Spread=100 di sini menghasilkan spread per tick yang identik.
4Jalankan ulang pada sumber kedua sebelum mempercayai angkanya. Ketidaksepakatan antar sumber itulah hasilnya, bukan gangguan.
Contoh
Satu EA, satu jendela, tiga eksekusi. TidewellSlack memperdagangkan GBP/JPY di M15 sejak 2019-01-01, dan kami menjalankannya dengan tiga cara untuk memisahkan dua hal yang rutin dilipat jadi satu oleh listing: dari mana tick-nya berasal, dan apakah tester memutar ulangnya atau mengarangnya.
Riwayat M1 broker, Model 0 (eksekusi yang dipublikasikan)
PF 1,35 — max drawdown 9,92%
303 transaksi, kualitas riwayat 99%, dan lolos gate kami.
Tick impor, tetap Model 0
PF 1,13 — max drawdown 18,18%
351 transaksi. Hanya sumbernya yang berubah.
Tick impor, Model 4 tick nyata
PF 1,11 — max drawdown 18,20%
345 transaksi. Hanya modelnya yang berubah.
Dua dari tiga eksekusi gagal di gate kami sendiri, dan yang selamat justru eksekusi di atas tick hasil generate. Itulah sebabnya listing kami memublikasikan simbol dan nomor modelnya, bukan kata sifat 'nyata'.
PerhitunganTukar sumber: −0,22 profit factor dan +8,26 poin drawdown. Peningkatan ke tick nyata di atasnya: −0,02 dan +0,02.
HasilSumber data menggeser hasil sebelas kali lebih jauh daripada model tick
Cara membacanya
Bacalah data tick pertama-tama terhadap lama penahanan posisi, dan kedua terhadap sumbernya. Makin halus target Anda relatif terhadap bar, makin besar bagian hasil yang ditentukan oleh jalurnya — tetapi sumberlah yang menentukan seberapa banyak dari hasil itu berlaku di tempat lain.
Rentang
Artinya
EA intraday atau scalping, tick nyata, vendor disebutkan
Kasus yang bisa dipertahankan. Jalurnya terekam dan orang asing pun bisa membangun ulang eksekusinya hanya dari listing-nya.
Sistem swing multi-hari di atas tick hasil generate dari bar
Biasanya memadai. Rute internal satu bar jarang menentukan transaksi yang ditahan seminggu.
Tick nyata, tetapi hanya dari satu sumber
Separuh jawaban. Eksekusi GBP/JPY kami lolos di satu sumber dan gagal di sumber lain dengan aturan identik dan jendela identik.
'Tick nyata' tanpa vendor dan tanpa nomor model
Tak terverifikasi, dan dua kolom yang hilang itu persis dua kolom yang menentukan angkanya.
Pastikan dulu rentang yang dikembalikan tab Ticks sebelum memilih model. Jendela yang dibuka sebelum tick sumbernya dimulai akan kembali kepada interpolasi untuk tahun-tahun awal dan tetap melaporkan satu angka untuk seluruh eksekusi.
Pertahankan bid dan ask. Pada Model 4 tester mengambil spread dari file tick dan mengabaikan angka yang Anda ketik — 227 nilai berbeda antara 10 dan 350 poin pada satu eksekusi USD/JPY, tak satu pun di antaranya angka yang dikonfigurasi.
Hitunglah betapa jarang ada orang yang mengukur spread sama sekali. Tepat satu dari 23 eksekusi yang dipublikasikan di sini membawa rata-rata terukur, 19,14 poin yang dicatat di dalam tester, dan eksekusi itu memakai Model 0.
Perlakukan sumber kedua sebagai eksperimennya, bukan sebagai pekerjaan tambahan. Kesepakatan menaikkan backtest data tick menjadi bukti; ketidaksepakatan mengajari Anda lebih banyak.
Sebelas dari 23 eksekusi yang dipublikasikan di sini memakai Model 4 dan dua belas memakai Model 0, dan setiap eksekusi Model 4 membawa akhiran _DUKA pada nama simbolnya karena tick impor hanya bisa hidup di simbol kustom. Sepuluh dari sebelas manifest itu masih menyebut riwayat M1 broker di kolom sumber harganya, sisa dari garis keturunan yang mereka tinggalkan. Bacalah nomor model dan simbolnya; prosa di sekitarnya menua lebih cepat.
Kesalahan umum
✕Membeli model tick dan mengabaikan sumber tick
Modelnya satu baris dropdown, sumbernya catatan pasar yang sama sekali lain. Pada eksekusi GBP/JPY di atas, mengubah sumbernya menelan 0,22 profit factor dan melipatgandakan drawdown-nya, sementara peningkatan ke tick nyata pada sumber yang sama menelan 0,02. Listing yang menyebut modelnya tetapi bukan vendornya baru memberi tahu Anda separuh yang lebih kecil.
✕Membaca angka kualitas riwayat sebagai bukti tick nyata
Persentase itu mengukur seberapa lengkap riwayat menutupi jendelanya, bukan model mana yang menghasilkannya. Eksekusi bayangan Model 0 di balik KestrelHover mencetak 100% — angka yang sama dengan yang dicetak saudara tick nyatanya. Angka yang bisa dicapai kedua model tidak bisa membedakan keduanya.
✕Memasang spread tetap di atas data tick
Pada Model 4 tester mengisi order dari ask dikurangi bid milik file tick itu sendiri dan sama sekali mengabaikan kolomnya; menjalankan satu pengujian USD/JPY pada Spread=10 lalu sekali lagi pada Spread=100 mengembalikan spread per tick yang identik. Pengaturan itu tidak mengubah apa pun di dalam eksekusinya, dan diam-diam mengubah apa yang penulisnya yakini telah diukur oleh eksekusi itu.
✕Menguji jendela yang tidak ditutupi oleh tick-nya
Pengujian sejak 2015 di atas sumber yang tick-nya baru dimulai pada 2019 menginterpolasi tahun-tahun awal, memutar ulang tahun-tahun berikutnya, lalu melaporkan keduanya sebagai satu hasil tunggal. Tab Ticks menyatakan rentang yang dimilikinya; tester tidak pernah memperingatkan Anda bahwa jendela Anda melampauinya.
✕Mengharapkan tick nyata menutup jurang menuju perdagangan live
Ia menutup separuh harga dan membiarkan separuh eksekusi tak tersentuh. Latensi, requote, pengisian sebagian, dan kebijakan broker tetap berada di luar simulasi, sehingga eksekusi tick nyata tetap merupakan laporan optimistis tentang bagaimana order akan terisi — hanya saja laporan optimistis yang dibangun di atas jalur yang memang benar-benar terjadi.
Penjelasan lengkap
Tiga eksekusi, satu variabel per langkah
TidewellSlack — GBP/JPY, M15, sejak 2019-01-01
Transaksi
Profit factor
Max drawdown
Kualitas riwayat
Gate kami
Riwayat M1 broker, Model 0 (dipublikasikan)
303
1,35
9,92%
99%
PASS
Tick impor, Model 0
351
1,13
18,18%
99%
FAIL
Tick impor, Model 4 tick nyata
345
1,11
18,20%
100%
FAIL
Baris satu ke baris dua mengubah datanya dan tidak ada yang lain: aturan sama, jendela
sama, model tester sama. Profit factor turun 0,22 dan drawdown-nya kira-kira berlipat
dua. Baris dua ke baris tiga mengubah modelnya dan tidak ada yang lain, meningkatkan
tick hasil generate menjadi tick terekam dari arsip yang sama, lalu profit factor turun
0,02 sementara drawdown bergeser dua per seratus poin. Kedua baris tick impor gagal di
gate kami; yang selamat justru eksekusi di atas tick hasil generate.
Urutan itu tidak berlaku universal, dan itulah bagian jujurnya. KestrelHover
bergerak ke arah sebaliknya: 291 transaksi dengan profit factor 1,33 di atas tick nyata,
melawan 292 transaksi dan 1,30 di atas tick hasil generate milik broker, dan kedua
eksekusi sama-sama lolos. Kadang sumbernya adalah keseluruhan cerita dan kadang ia
hanya derau — dan Anda baru mengetahuinya dengan menjalankannya dua kali. Baca listing
TidewellSlack berdampingan dengan yang itu, dan maksudnya
akan menjelaskan dirinya sendiri.
Tick nyata menuntut bayaran berupa simbol kustom
Sebelas dari 23 eksekusi yang dipublikasikan di sini memakai Model 4 dan dua belas
memakai Model 0. Setiap eksekusi Model 4 memperdagangkan simbol yang namanya berakhiran
_DUKA, karena tick impor tidak bisa hidup di simbol milik broker sendiri — Anda
membuat simbol kustom di jendela Symbols lalu mengimpor arsipnya ke sana. Tidak satu pun
simbol bawaan broker dalam katalog ini pernah mencapai model tick nyata, dan itulah
alasan praktis mengapa begitu banyak backtest yang dipublikasikan tidak memakainya:
modenya gratis, persediaan di baliknya tidak.
Hal itu sekaligus mematahkan jalan pintas yang biasa dipakai orang, yaitu mempercayai
sebuah persentase. Eksekusi bayangan Model 0 di balik KestrelHover mencetak kualitas
riwayat 100%, angka yang sama dengan yang dicetak saudara tick nyatanya, sehingga angka
itu tidak bisa membedakan keduanya. Kualitas pemodelan
menjawab pertanyaan yang berbeda — seberapa lengkap riwayat menutupi jendela itu — dan
menjawabnya untuk kedua model sekaligus.
Spread adalah separuh yang tak diperiksa siapa pun
Hadiah kedua dari data tick adalah bid dan ask yang terekam, dan justru itulah yang
paling sering dibuang. Pada Model 4 tester mengisi order dari ask dikurangi bid milik
tiap tick dan mengabaikan spread yang Anda atur: menjalankan satu pengujian USD/JPY pada
Spread=10 lalu mengulangnya pada Spread=100 menghasilkan spread per tick yang identik,
227 nilai berbeda yang terentang dari 10 sampai 350 poin. Kolom itu tampak seperti
kendali dan berperilaku seperti komentar.
Nyaris tidak ada pula yang mengukur biaya yang timbul darinya. Tepat satu dari 23
eksekusi di sini menyatakan rata-rata spread terukur — 19,14 poin, tercatat di dalam
tester — dan eksekusi itu memakai Model 0, bukan tick nyata. Jadi pembacaan jujur atas
sebagian besar klaim tick nyata, termasuk beberapa milik kami sendiri, adalah bahwa
jalurnya terekam sementara ongkos menempuhnya tidak pernah dijumlahkan.
Pertanyaan yang sering diajukan
Apakah saya perlu data tick nyata untuk mem-backtest sebuah EA?
Tergantung berapa lama strateginya menahan posisi. Apa pun yang membuka dan menutup dalam satu hari sebaiknya memakai tick nyata, karena jalur intra-bar menentukan terlalu banyak transaksinya untuk sekadar diandaikan. Sistem swing yang menahan berhari-hari nyaris tidak merasakannya. Bagaimanapun juga, sebutkan sumbernya: pada pengujian GBP/JPY kami, perubahan sumber menggeser profit factor 0,22 dan peningkatan ke tick nyata menggesernya 0,02.
Dari mana data tick MT5 berasal?
Dari dua tempat. Broker MetaTrader menyimpan riwayat tick di server mereka dan terminal mengunduhnya lewat View → Symbols (Ctrl+U) → Ticks untuk satu simbol dan satu rentang tanggal. Vendor independen menerbitkan arsip tick, yang Anda impor ke sebuah simbol kustom. Setiap eksekusi tick nyata dalam katalog ini menempuh jalur kedua, dan itulah sebabnya masing-masing membawa akhiran _DUKA pada nama simbolnya.
Mengapa dua sumber tick memberi hasil backtest yang berbeda?
Karena tiap sumber adalah catatan satu venue, dan harganya — terutama spread-nya — berbeda antar venue. EA GBP/JPY yang sama pada jendela yang sama mencetak profit factor 1,35 di atas riwayat milik broker sendiri dan 1,13 di atas arsip impor, dengan maximum drawdown naik dari 9,92% ke 18,18%. Membandingkan dua sumber adalah uji ketahanan termurah yang tersedia.
Apakah data tick nyata membuat sebuah backtest menjadi akurat?
Ia membuat deret harganya setia, dan itu bukan hal yang sama. Eksekusi tetap berada di luar tester, dan sumber yang Anda pilih tetap mendominasi. Dua EA kami yang dijalankan dengan kedua cara mendarat di tempat yang berlawanan: satu nyaris tidak bergerak sama sekali — 291 transaksi dan profit factor 1,33 di atas tick nyata, melawan 292 transaksi dan 1,30 di atas tick hasil generate — sementara yang lain gagal di gate-nya begitu sumbernya berubah.
Bagaimana saya bisa tahu data tick apa yang dipakai sebuah backtest yang dipublikasikan?
Tiga kolom, berurutan: nama model yang dicetak tester, simbol yang diperdagangkan eksekusi itu, dan vendor di balik simbol tersebut. Nama simbol kustom biasanya menjadi petunjuk bahwa tick-nya diimpor. Kalau sebuah listing menampilkan persentase dan kata sifat tetapi tidak satu pun dari ketiganya, perlakukan klaim itu sebagai belum terverifikasi, bukan sebagai salah.