Bagaimana cara melakukan backtest Expert Advisor MT4 secara bertanggung jawab?
Tentukan apa arti backtesting (dan apa yang tidak)
Backtesting Expert Advisor (EA) MT4 berarti menjalankan logika EA terhadap data pasar historis untuk memperkirakan bagaimana EA tersebut akan berperilaku berdasarkan asumsi tertentu. Ini bukan bukti kinerja masa depan. Ide utamanya adalah bahwa backtest hanya dapat diandalkan sejauh kualitas data, lingkungan trading yang dimodelkan, dan asumsi yang Anda gunakan.
EA adalah perangkat lunak yang membuat keputusan trading menggunakan input yang Anda berikan (misalnya, parameter strategi dan aturan risiko). Dalam backtest, keputusan tersebut dieksekusi oleh platform menggunakan harga historis dan asumsi Anda tentang eksekusi.
Tentukan input dan asumsi agar hasil dapat diinterpretasikan
Backtesting yang bertanggung jawab dimulai dengan memisahkan mekanisme yang stabil dari kondisi yang bervariasi.
- Definisi data: Tentukan rangkaian harga apa yang digunakan EA (misalnya, data bar dan/atau riwayat tick) dan zona waktu. Dokumentasikan apakah data bersumber secara konsisten.
- Kondisi awal: Nyatakan pengaturan akun awal, batas bagan/sesi yang digunakan EA, dan asumsi “transaksi pertama” apa pun.
- Cakupan parameter: Tentukan dengan jelas parameter mana yang Anda uji. Jika Anda menyetel banyak parameter, Anda meningkatkan risiko menyesuaikan dengan noise.
- Model eksekusi: Jika EA Anda bergantung pada aturan penempatan order, tentukan bagaimana order dipenuhi (misalnya, pada pembukaan/penutupan bar atau dengan waktu berbasis tick). Tanpa model eksekusi yang eksplisit, hasil bisa menyesatkan.
Keterbatasan material dan mode kegagalan sering kali berasal dari ketidakcocokan: misalnya, EA mungkin berhasil dalam backtest karena pengisian dan waktu terlalu menguntungkan dibandingkan dengan eksekusi yang realistis.
Modelkan biaya dan eksekusi secara realistis
Bahkan ketika logika strategi sudah benar, backtest dapat melebih-lebihkan kinerja jika gesekan trading diabaikan.
Biaya dapat mencakup spread, komisi, dan swap/pembiayaan jika berlaku. Realisme eksekusi juga penting: slippage, re-quote order, dan efek latensi dapat mengubah hasil trading.
Pendekatan yang bertanggung jawab adalah membuat asumsi ini eksplisit dan menguji sensitivitasnya. Misalnya, Anda dapat menjalankan EA yang sama dengan berbagai asumsi biaya dan slippage yang masuk akal untuk melihat apakah kinerja bergantung pada kondisi yang menguntungkan.
Kontrol bias: kurangi overfitting dan validasi di luar sampel
Kontrol bias diperlukan karena banyak backtest yang “bagus” adalah artefak dari overfitting.
Kontrol bias yang umum meliputi:
- Pengujian di luar sampel: Gunakan satu periode waktu untuk pengembangan/penyetelan dan periode berbeda untuk evaluasi.
- Validasi walk-forward: Berulang kali melatih/menyetel pada jendela bergulir dan menguji pada jendela berikutnya.
- Batasi ruang penyetelan: Kurangi jumlah parameter yang dapat disesuaikan atau batasi rentangnya.
- Ulangi dengan sampel berbeda: Validasi di beberapa segmen perilaku pasar.
Jika hasil hanya muncul pada periode pengembangan, EA mungkin menangkap pola historis yang tidak dapat digeneralisasi.
Periksa keterbatasan dengan verifikasi berbasis bukti
Backtest harus diperlakukan sebagai bukti untuk hipotesis: “Dengan asumsi ini, EA mungkin berperilaku dapat diterima.” Verifikasi berarti Anda memeriksa apakah perilaku EA kuat.
Carilah setidaknya satu keterbatasan material:
- Sensitivitas rezim: Kinerja dapat runtuh ketika volatilitas atau likuiditas berubah.
- Sensitivitas peristiwa: EA mungkin berperilaku berbeda di sekitar lonjakan seperti berita atau spread yang tidak biasa.
- Ketergantungan data: Hasil dapat berubah jika Anda menggunakan feed data yang berbeda atau granularitas yang berbeda.
Praktik yang berguna adalah mendokumentasikan mengapa EA membuat keputusan dan kemudian memverifikasi bahwa kondisi keputusan dievaluasi sebagaimana dimaksud dalam lingkungan backtest.
Apa yang harus dilakukan setelah backtesting: tentukan pertanyaan apa yang dapat Anda jawab
Setelah Anda menjalankan backtest, Anda harus dapat menyatakan: dalam asumsi apa, pada segmen data apa, dan dengan biaya yang dimodelkan seperti apa EA berkinerja lebih baik atau lebih buruk.
Jika hasil EA memerlukan asumsi yang sangat spesifik (misalnya, eksekusi yang luar biasa menguntungkan), itu adalah tanda peringatan kinerja yang rapuh. Karena hasil bervariasi dengan kondisi pasar, biaya, eksekusi, dan faktor lainnya, hubungan historis tidak menetapkan hasil masa depan.
Pertanyaan berikutnya yang harus diajukan bukanlah “Apakah ini menguntungkan?”, tetapi “Asumsi dan kondisi pasar mana yang secara material memengaruhi kinerja, dan apakah kami memvalidasi efek tersebut di luar sampel?”