Cara Mengetahui EA Repaint atau Tidak
Backtest yang bagus sering jadi alasan orang membeli EA, padahal angka di laporan belum tentu bisa diulang di akun sungguhan. Salah satu sebab paling umum adalah sinyal yang dihitung ulang setelah candle selesai, sehingga data historis tampak sempurna sementara entry itu tidak pernah tersedia saat Anda menunggu.
Masalahnya, repaint jarang diakui penjual. Halaman produk biasanya menampilkan tangkapan layar dengan panah di puncak dan lembah, dan justru itulah tampilan yang paling mudah muncul dari indikator yang menghitung ulang riwayatnya.
Dulu pisahkan tiga hal yang sering dianggap sama
Sebelum memeriksa apa pun, ada baiknya Anda tahu masalah mana yang sedang dihadapi.
| Masalah | Apa yang terjadi | Ciri saat diamati |
|---|---|---|
| Repaint | Nilai sinyal lama berubah | Panah hilang atau bergeser setelah candle tutup |
| Lag | Sinyal tetap, tetapi datang terlambat | Entry jauh dari titik balik, arah benar |
| Overfit | Sinyal konsisten, hasil tidak | Bagus di data lama, jeblok di data baru |
Repaint adalah persoalan revisi. Lag adalah persoalan waktu. Overfit adalah persoalan kecocokan parameter. Ketiganya bisa muncul bersamaan, tetapi cara mengujinya berbeda, jadi kalau Anda salah mengenali jenis masalahnya, Anda akan menghabiskan waktu menyetel parameter untuk sesuatu yang bukan penyebabnya.
Kenapa repaint terjadi di EA, bukan di order
Order yang sudah terkirim ke broker tidak bisa berubah. Yang berubah adalah bahan keputusan sebelum order dikirim. Jadi saat orang bertanya apakah sebuah EA repaint, yang sebenarnya dipertanyakan adalah dari mana EA mengambil angkanya: dari candle yang sudah final, atau dari candle yang masih berjalan.
Ada tiga sumber yang paling sering. Pertama, pembacaan indikator pada shift nol, yaitu candle aktif yang nilainya bergerak setiap tick. Kedua, indikator yang memang mendesain ulang titik terakhirnya, dengan ZigZag sebagai contoh paling dikenal. Ketiga, pembacaan timeframe lebih tinggi yang belum ditutup, misalnya EA di M5 yang membaca H1 berjalan.
Dari tiga itu, yang paling sulit disadari adalah yang ketiga. Di chart M5 semuanya tampak normal, tetapi angka H1 yang dipakai bisa berubah beberapa kali sebelum candle H1 selesai. Pada backtest, nilai akhir H1 itu sudah tersedia sejak awal candle, sehingga pengujian mendapat informasi yang di pasar nyata belum ada.
Satu baris kode yang menjawab banyak hal
Membaca parameter shift pada iCustom
Kalau file .mq4 atau .mq5 tersedia, Anda tidak perlu membaca seluruh kode. Cukup cari pemanggilan indikator, lalu lihat parameter shift-nya.
double buf[];
int h = iCustom(_Symbol, PERIOD_CURRENT, "NamaIndikator", 14);
if(CopyBuffer(h, 0, 1, 1, buf) == 1) // shift 1: candle sudah tutup
Print("nilai final: ", buf[0]);
Angka 1 pada CopyBuffer berarti nilai diambil dari candle yang sudah selesai. Kalau di situ tertulis 0, keputusan diambil dari candle yang masih berjalan, dan di situlah repaint biasanya mulai. Ini bukan bukti mutlak, karena sebagian EA memang bekerja intrabar dan menyaring sinyal dengan cara lain. Tetapi kalau EA mengklaim masuk tepat di titik balik, pembacaan shift nol hampir selalu jadi penyebabnya.
Untuk indikator yang memakai banyak buffer, periksa juga apakah nilai historisnya dihitung ulang setiap tick. Pola yang perlu dicurigai:
- Perulangan yang membaca puluhan candle ke belakang pada setiap tick.
- Fungsi pencari puncak dan lembah yang memeriksa candle setelah titik yang sedang dievaluasi.
- Pemanggilan
iHigh,iLow, atauCopyRatesuntuk timeframe lain tanpa memeriksa apakah candle itu sudah ditutup.
Uji tanpa kode: mode visual dan pembandingan
Strategy Tester dan pembandingan tanggal
Kalau yang Anda punya hanya .ex4 atau .ex5, ada dua cara yang tidak memerlukan kode sama sekali.
Cara pertama, jalankan di Strategy Tester dengan mode visual pada periode pendek, misalnya satu bulan. Dalam mode visual, terminal hanya menyuplai data sampai titik waktu yang sedang diputar, sehingga indikator tidak bisa melihat candle yang belum terjadi. Perhatikan apakah panah muncul lalu menghilang saat harga bergerak, kemudian buka chart biasa dengan indikator yang sama dan bandingkan hasilnya.
Cara kedua, bandingkan backtest dengan forward test pada rentang tanggal yang sama. Jalankan EA di akun demo beberapa hari, lalu backtest periode itu dengan data tick berkualitas baik. Cocokkan jam entry, arah posisi, dan jumlah trade.
Selisih beberapa point pada harga entry wajar, karena spread dan kualitas data tidak identik. Yang mencurigakan adalah perbedaan struktural: backtest membuka posisi yang di demo tidak pernah muncul, atau jumlah trade di backtest jauh lebih banyak. Perbedaan seperti itu menunjukkan pengujian memakai sinyal yang tidak tersedia secara real time.*
Urutan pemeriksaan yang masuk akal
Supaya tidak membuang waktu, lakukan dari biaya paling murah:
- Buka file dan periksa shift pembacaan indikator.
- Jalankan mode visual satu bulan, bandingkan dengan chart historis.
- Bandingkan backtest dan forward test pada tanggal yang sama.
- Restart terminal atau ganti timeframe, lihat apakah sinyal historis berubah.
- Minta penjual menjelaskan shift yang dipakai, lalu nilai jawabannya dari perilaku EA, bukan dari klaimnya.
Langkah keempat terlihat sepele, tetapi cukup sering memisahkan indikator jujur dari yang tidak. Indikator yang menyimpan sinyal final menampilkan hasil identik setelah terminal dimuat ulang. Indikator yang menghitung ulang riwayat menampilkan susunan panah berbeda, kadang lebih rapi, kadang lebih buruk.
Yang tidak membuktikan apa pun
Kurva ekuitas mulus dengan winrate tinggi sering dipakai sebagai bukti kualitas, padahal pola sama juga muncul pada EA martingale yang belum kena rentetan kerugian dan pada EA grid dengan lot yang diperbesar.
Tangkapan layar di halaman penjualan tidak banyak membantu. Gambar panah yang selalu tepat di puncak bisa berasal dari indikator repaint, dari pemilihan periode yang menguntungkan, atau dari pengambilan gambar setelah harga selesai bergerak. Yang lebih berguna adalah riwayat akun nyata yang bisa diverifikasi pihak ketiga, misalnya tautan Myfxbook dengan periode panjang, karena order yang sudah tercatat di sana tidak bisa dihapus.
Kalau ternyata repaint, apa yang bisa dilakukan
Dua pilihan yang realistis
Repaint tidak selalu berarti EA tidak berguna. Ada dua jalan yang realistis.
Jalan pertama, ubah pembacaan sinyal menjadi menunggu candle tutup. Ini mengubah karakter EA: entry lebih lambat, jumlah trade berkurang, dan sebagian keuntungan di backtest akan hilang. Itu wajar, karena keuntungan yang hilang justru yang dulu berasal dari informasi masa depan.
Jalan kedua, terima EA apa adanya tetapi turunkan ekspektasi. Bandingkan backtest dengan forward test, lalu pakai angka forward test sebagai perkiraan realistis, bukan angka backtest.
Yang tidak masuk akal adalah berharap hasil backtest kembali utuh sambil memakai pembacaan yang jujur. Kedua hal itu tidak bisa dimiliki bersamaan.
Penutup
Menilai EA repaint bukan soal mencari satu angka atau satu tangkapan layar yang meyakinkan. Yang perlu dilakukan adalah memeriksa asal sinyalnya, membandingkan tampilan historis dengan tampilan saat data berjalan, dan mencocokkan backtest dengan hasil demo pada tanggal yang sama. Kalau ketiga pemeriksaan itu konsisten, risiko repaint rendah, dan pertanyaan berikutnya baru layak diajukan: kualitas data pengujian, besarnya drawdown, dan apakah logikanya masih cocok dengan kondisi pasar sekarang.

Posting Komentar