Pendahuluan
Banyak orang tertarik pada EA trading karena satu harapan sederhana: tidak ingin lagi mengambil keputusan trading secara emosional. Mereka lelah masuk posisi terlalu cepat, menutup posisi terlalu lambat, memperbesar lot setelah rugi, atau mengubah rencana hanya karena melihat candle bergerak cepat. Harapan itu masuk akal. Komputer memang sangat baik dalam menjalankan instruksi yang jelas, berulang, dan tidak berubah karena takut atau serakah.
Namun sejak awal kita perlu menempatkan harapan itu di tempat yang benar. Expert Advisor, atau sering disingkat EA, bukan mesin pencetak uang. EA adalah program yang berjalan di platform trading, dalam buku ini MetaTrader 5 atau MT5, untuk membaca kondisi pasar dan menjalankan aturan trading yang sudah kita tulis. Dalam dokumentasi MetaTrader 5, Expert Advisor dijelaskan sebagai program untuk otomatisasi aktivitas trading dan analisis di terminal MT5 (MetaQuotes, n.d.-a). Artinya, EA dapat membantu kita mengeksekusi rencana, tetapi kualitas hasilnya tetap bergantung pada kualitas rencana tersebut.
Bayangkan Anda menulis aturan sederhana:
Jika harga menembus high 20 candle terakhir, buka posisi buy. Jika harga turun 100 point dari entry, tutup rugi. Jika harga naik 200 point dari entry, ambil profit.
Aturan seperti ini bisa dijalankan manual. Tetapi saat manual, Anda mungkin ragu: “Apakah ini benar-benar breakout?” “Bagaimana kalau sebentar lagi berbalik?” “Mungkin saya tunggu satu candle lagi.” EA tidak punya dialog batin seperti itu. Jika aturan terpenuhi, EA mengeksekusi. Jika aturan tidak terpenuhi, EA diam.
Di sinilah kekuatan EA: konsistensi eksekusi. Tetapi konsistensi eksekusi tidak sama dengan konsistensi profit. EA yang konsisten menjalankan aturan buruk akan menghasilkan kerugian secara konsisten pula. Karena itu, buku ini tidak mengajarkan cara mencari “EA sakti”. Buku ini mengajarkan cara membangun, menguji, menjalankan, dan mengevaluasi EA secara disiplin.
Mengapa EA bukan jalan pintas
Sebelum belajar kode, indikator, backtest, dan VPS, kita perlu memahami satu prinsip dasar: pasar tidak memberikan kepastian. Harga bergerak karena keputusan banyak pelaku pasar yang memiliki tujuan, informasi, modal, batas risiko, dan horizon waktu yang berbeda-beda. Tidak ada satu indikator sederhana yang selalu benar dalam semua kondisi.
Misalnya, moving average crossover sering digunakan sebagai sinyal tren. Jika moving average cepat memotong moving average lambat dari bawah ke atas, trader menganggap pasar mulai naik. Dalam pasar yang benar-benar trending, sinyal seperti ini bisa bekerja baik. Namun dalam pasar sideways, harga bisa bolak-balik memotong moving average dan menghasilkan banyak sinyal palsu.
Contoh sederhana:
- Pada pasar naik kuat, EA trend-following bisa ikut menangkap pergerakan besar.
- Pada pasar datar, EA yang sama bisa rugi berkali-kali karena masuk buy dan sell terlalu sering.
- Pada saat berita besar, spread bisa melebar dan slippage bisa meningkat, sehingga hasil live berbeda dari hasil backtest.
Spread adalah selisih antara harga beli dan harga jual yang tersedia di broker. Jika EURUSD memiliki bid 1.10000 dan ask 1.10010, maka spread-nya 10 point. Slippage adalah perbedaan antara harga yang diharapkan saat order dikirim dan harga aktual saat order tereksekusi. Dua hal ini tampak kecil, tetapi sangat penting bagi EA, terutama EA yang sering membuka posisi atau mengejar profit kecil.
Karena itu, tujuan kita bukan membuat EA yang “tidak pernah kalah”. Tujuan yang lebih realistis adalah membuat sistem yang:
- punya aturan objektif,
- risikonya terukur,
- dapat diuji pada data historis,
- tetap masuk akal saat diuji di luar data optimasi,
- dapat diawasi saat berjalan live,
- dan dapat dihentikan jika perilakunya menyimpang dari rencana.
Pendekatan seperti ini sejalan dengan praktik evaluasi sistem trading yang menekankan pentingnya pengujian historis, validasi, optimasi yang hati-hati, dan evaluasi performa secara kuantitatif, bukan berdasarkan perasaan semata (Pardo, 2008).
Apa arti “konsisten” dalam trading
Kata konsisten sering disalahpahami. Banyak pemula mengira konsisten berarti profit setiap hari. Dalam trading, itu bukan definisi yang sehat. Strategi yang baik pun bisa mengalami hari rugi, minggu rugi, bahkan bulan rugi. Yang ingin kita bangun adalah konsistensi dalam proses.
Konsisten berarti:
- aturan entry tidak berubah karena emosi,
- ukuran lot dihitung berdasarkan risiko, bukan perasaan yakin,
- stop loss dipasang karena alasan yang jelas,
- backtest dibaca dengan kritis,
- hasil live dibandingkan dengan ekspektasi,
- dan EA dihentikan jika melewati batas risiko yang sudah ditentukan.
Misalnya, sebuah EA memiliki rata-rata win rate 45%. Artinya, dari 100 trade, sekitar 45 trade menang dan 55 trade kalah. Sekilas terlihat buruk. Tetapi jika rata-rata profit trade menang adalah 2 kali rata-rata loss trade kalah, sistem tersebut masih bisa punya ekspektasi positif sebelum biaya trading.
Contoh sederhana:
- Rata-rata menang: 200 ribu rupiah
- Rata-rata kalah: 100 ribu rupiah
- Win rate: 45%
- Loss rate: 55%
Ekspektasi per trade:
\[ (0{,}45 \times 200.000) - (0{,}55 \times 100.000) = 90.000 - 55.000 = 35.000 \]
Secara rata-rata, sistem menghasilkan 35 ribu rupiah per trade sebelum memperhitungkan biaya tambahan seperti komisi, spread, swap, dan slippage. Ini bukan jaminan trade berikutnya profit. Ini hanya gambaran statistik jangka panjang jika kondisi dan asumsi tetap cukup mirip.
Inilah sebabnya buku ini akan sering memakai istilah probabilitas. Probabilitas adalah cara berpikir tentang kemungkinan, bukan kepastian. Trader profesional tidak bertanya, “Apakah trade ini pasti profit?” Pertanyaan yang lebih sehat adalah, “Jika aturan ini dijalankan ratusan kali dengan risiko terkontrol, apakah hasilnya masuk akal?”
Peran MT5 dan MQL5 dalam buku ini
MetaTrader 5 adalah platform trading yang menyediakan chart, order, data harga, Strategy Tester, dan lingkungan untuk menjalankan program otomatis. Bahasa pemrograman yang digunakan untuk membuat EA di MT5 adalah MQL5. Dokumentasi resmi MQL5 menjelaskan struktur bahasa, fungsi trading, event seperti OnInit dan OnTick, serta berbagai fasilitas untuk mengakses harga, indikator, dan order (MetaQuotes, n.d.-b).
Kita akan belajar dari dasar. Anda tidak perlu menjadi programmer profesional sebelum membaca buku ini. Tetapi Anda perlu bersedia berpikir secara terstruktur. Komputer hanya melakukan apa yang kita instruksikan. Jika instruksi kita kabur, EA akan salah. Jika logika kita tidak lengkap, EA bisa membuka posisi ganda, salah membaca candle, atau mengabaikan kondisi pasar yang seharusnya dihindari.
Contoh instruksi yang kabur:
Buy jika tren naik.
Bagi manusia, kalimat ini terasa mudah. Tetapi bagi komputer, “tren naik” harus didefinisikan. Apakah tren naik berarti harga di atas moving average 200? Apakah moving average 50 lebih tinggi dari moving average 200? Apakah high dan low membentuk struktur naik? Apakah perlu konfirmasi timeframe lebih besar?
Instruksi yang lebih objektif:
Buy hanya jika candle terakhir yang sudah selesai ditutup di atas EMA 200, EMA 50 berada di atas EMA 200, dan RSI periode 14 berada di atas 50.
Instruksi kedua belum tentu profit, tetapi sudah bisa diuji. Inilah langkah penting dalam algoritma trading: mengubah ide yang samar menjadi aturan yang dapat diperiksa.
Backtest: berguna, tetapi mudah menipu
Salah satu fitur penting MT5 adalah Strategy Tester, yaitu alat untuk menguji EA pada data historis. Dokumentasi MetaTrader 5 menjelaskan bahwa Strategy Tester dapat digunakan untuk menguji dan mengoptimasi Expert Advisor menggunakan data pasar historis dengan berbagai pengaturan pengujian (MetaQuotes, n.d.-c).
Backtest sangat berguna karena kita dapat melihat bagaimana sebuah aturan mungkin bekerja di masa lalu. Tetapi backtest juga bisa menipu jika digunakan tanpa disiplin.
Misalnya, Anda menguji EA selama lima tahun dan mendapatkan hasil luar biasa. Lalu Anda mengubah parameter berkali-kali sampai equity curve terlihat sangat mulus. Masalahnya, Anda mungkin tidak menemukan strategi yang kuat; Anda mungkin hanya menyesuaikan EA terlalu spesifik terhadap data masa lalu. Ini disebut overfitting atau curve fitting.
Overfitting terjadi ketika sebuah model atau strategi terlalu cocok dengan data historis tertentu, termasuk kebisingan acak di dalamnya, sehingga performanya buruk saat menghadapi data baru. Dalam konteks strategi keuangan, bahaya backtest yang tampak terlalu bagus dan pemilihan model berdasarkan banyak percobaan telah dibahas secara luas dalam literatur evaluasi strategi dan machine learning keuangan (López de Prado, 2018).
Contoh sederhana:
Anda menguji moving average periode 5 sampai 200. Setelah mencoba ratusan kombinasi, kombinasi EMA 17 dan EMA 143 memberi hasil terbaik pada EURUSD tahun 2018–2022. Apakah kombinasi itu benar-benar punya alasan pasar yang kuat? Atau hanya kebetulan paling cocok dengan data tersebut? Kita tidak boleh langsung percaya. Kita perlu menguji pada periode lain, simbol lain jika relevan, variasi spread, variasi slippage, dan data out-of-sample.
Karena itu, buku ini tidak berhenti pada “backtest profit”. Kita akan membahas cara membaca statistik performa, optimasi yang sehat, walk-forward test, robustness test, dan forward test di akun demo sebelum mempertimbangkan live trading.
Risiko adalah pusat, bukan tambahan
Banyak pemula memulai dari pertanyaan, “Strategi apa yang paling profit?” Buku ini akan mengajak Anda memulai dari pertanyaan yang lebih penting: “Berapa banyak saya bisa rugi jika strategi ini salah?”
Dalam trading, kerugian bukan kegagalan moral. Kerugian adalah bagian dari distribusi hasil. Yang berbahaya bukan satu trade rugi, melainkan risiko yang terlalu besar sehingga beberapa kerugian beruntun menghancurkan akun.
Misalnya, jika Anda mengambil risiko 20% dari akun pada setiap trade, lima kekalahan beruntun dapat merusak modal secara serius. Jika modal awal 10 juta rupiah dan rugi 20% dari sisa modal setiap kali, maka:
- Setelah rugi pertama: 8 juta
- Setelah rugi kedua: 6,4 juta
- Setelah rugi ketiga: 5,12 juta
- Setelah rugi keempat: 4,096 juta
- Setelah rugi kelima: 3,2768 juta
Akun belum nol, tetapi sudah kehilangan lebih dari 67%. Untuk kembali dari 3,2768 juta ke 10 juta, Anda membutuhkan kenaikan sekitar 205%. Ini menunjukkan mengapa drawdown besar sangat sulit dipulihkan.
Drawdown adalah penurunan dari puncak equity ke titik terendah berikutnya. Jika akun naik dari 10 juta ke 15 juta, lalu turun ke 12 juta, drawdown dari puncak adalah 3 juta atau 20% dari puncak 15 juta. Dalam pengelolaan EA, drawdown adalah salah satu metrik paling penting karena menunjukkan tekanan nyata yang harus ditanggung akun dan mental pengelola.
Oleh karena itu, bab-bab awal buku ini akan menempatkan risiko sebelum kode yang kompleks. Kita akan membahas risk per trade, position sizing, stop loss, exposure, daily loss limit, equity stop, dan kill switch. EA yang baik bukan hanya pandai masuk pasar, tetapi juga tahu kapan harus diam dan kapan harus berhenti.
Trading manual dan trading otomatis
Trading manual berarti manusia mengambil keputusan langsung: melihat chart, menganalisis, lalu menekan tombol buy atau sell. Trading otomatis berarti keputusan itu dijalankan oleh program berdasarkan aturan yang sudah ditentukan.
Keduanya memiliki kelebihan dan kelemahan.
Trading manual lebih fleksibel. Manusia bisa membaca konteks yang sulit ditulis dalam kode, seperti perubahan suasana pasar setelah pidato bank sentral atau perilaku harga yang tidak biasa. Tetapi manusia juga mudah lelah, emosional, dan tidak konsisten.
Trading otomatis lebih disiplin dalam menjalankan aturan. EA tidak marah setelah rugi dan tidak euforia setelah profit. Tetapi EA juga kaku. Jika kondisi pasar berubah dan aturan EA tidak dirancang untuk mengenali perubahan itu, EA tetap bisa melakukan kesalahan yang sama berulang kali.
Contoh:
- Trader manual mungkin melihat spread melebar dan memutuskan tidak entry.
- EA yang tidak punya filter spread bisa tetap entry.
- Trader manual mungkin berhenti setelah tiga kerugian karena sadar kondisi pasar kacau.
- EA yang tidak punya daily loss limit bisa terus trading sampai kerugian membesar.
Karena itu, otomatisasi bukan berarti menyerahkan semua tanggung jawab kepada mesin. Otomatisasi justru menuntut tanggung jawab yang lebih sistematis. Kita harus menentukan aturan, menguji aturan, memantau perilaku, mencatat hasil, dan melakukan evaluasi.
Cara buku ini akan membawa Anda belajar
Buku ini disusun seperti perjalanan membangun sistem, bukan kumpulan trik. Kita mulai dari cara berpikir, lalu dasar pasar, risiko, MT5, algoritma, MQL5, struktur EA, pembacaan data, sinyal entry, exit, eksekusi order, position sizing, filter pasar, backtesting, statistik performa, optimasi, robustness test, forward test, jurnal, VPS, kontrol risiko live, portofolio EA, studi kasus, dan rutinitas profesional.
Urutannya sengaja dibuat demikian. Jika Anda langsung melompat ke kode tanpa memahami risiko, Anda bisa membuat EA yang berbahaya. Jika Anda langsung optimasi tanpa memahami overfitting, Anda bisa percaya pada hasil palsu. Jika Anda langsung live tanpa forward test, Anda bisa terkejut karena hasil nyata berbeda dari backtest.
Di sepanjang buku, kita akan memakai prinsip berikut:
Ide trading harus diubah menjadi aturan.
Aturan harus diuji.
Hasil uji harus dibaca dengan skeptis.
Risiko harus dibatasi.
Live trading harus dimulai kecil dan diawasi.
Skeptis bukan berarti pesimis. Skeptis berarti tidak mudah percaya sebelum ada bukti yang cukup. Dalam pengembangan EA, sikap skeptis adalah pelindung modal.
Apa yang tidak dijanjikan buku ini
Buku ini tidak menjanjikan EA yang selalu profit. Buku ini juga tidak menjanjikan hasil bulanan tertentu. Pasar terlalu kompleks untuk janji seperti itu. Selain itu, kondisi broker, simbol, spread, komisi, kualitas data, latency, regulasi, dan perilaku pasar dapat membuat hasil berbeda antara satu akun dan akun lain.
Buku ini juga bukan nasihat keuangan pribadi. Keputusan trading tetap menjadi tanggung jawab pembaca. Jika Anda menggunakan modal nyata, gunakan modal yang sanggup Anda risikokan, pahami produk yang diperdagangkan, dan perhatikan aturan hukum serta regulasi yang berlaku di tempat Anda.
Yang dijanjikan buku ini lebih sederhana tetapi lebih berharga: kerangka berpikir yang rapi untuk membangun EA secara bertanggung jawab.
Setelah menyelesaikan buku ini, Anda diharapkan mampu:
- menjelaskan apa itu EA dan batasannya,
- merancang aturan trading yang objektif,
- memahami risiko dasar dalam trading otomatis,
- membaca dan menulis struktur dasar MQL5,
- membuat EA sederhana yang dapat diuji,
- melakukan backtest dengan lebih kritis,
- menghindari overfitting yang terlalu jelas,
- menjalankan forward test di akun demo,
- mencatat performa EA secara disiplin,
- dan menerapkan kontrol risiko saat live trading.
Titik awal yang sehat
Jika Anda datang ke buku ini karena ingin berhenti trading manual yang impulsif, itu titik awal yang baik. Tetapi jangan mengganti impuls manual dengan impuls otomatis. Banyak orang tidak lagi overtrade dengan tangan, tetapi overtrade lewat EA yang tidak diuji dengan benar. Banyak orang tidak lagi memindahkan stop loss secara manual, tetapi membuat EA tanpa stop loss yang jelas. Kesalahan berubah bentuk, tetapi intinya sama: tidak disiplin terhadap risiko.
EA trading yang tangguh dimulai dari sikap sederhana:
Saya tidak tahu masa depan.
Karena itu saya akan membuat aturan.
Saya akan menguji aturan itu.
Saya akan membatasi risiko.
Saya akan mencatat hasilnya.
Saya akan memperbaiki sistem berdasarkan data, bukan emosi.
Dengan sikap itu, kita siap masuk ke Bab 1: cara berpikir yang benar tentang EA trading.
References
López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley.
MetaQuotes. (n.d.-a). Expert Advisors. MetaTrader 5 Help. https://www.metatrader5.com/en/terminal/help/algotrading/experts
MetaQuotes. (n.d.-b). MQL5 Reference. https://www.mql5.com/en/docs
MetaQuotes. (n.d.-c). Strategy Tester. MetaTrader 5 Help. https://www.metatrader5.com/en/terminal/help/algotrading/testing
Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). Wiley.