Anda membangun Expert Advisor MACD di MT5 tanpa coding dengan meletakkan sebuah node Start, dua blok MACD — satu membaca garis utamanya, satu membaca garis sinyalnya — sebuah kondisi Cross di antara keduanya, dan sebuah blok order. Servernya yang menghasilkan dan mengompilasi MQL5-nya lalu menyerahkan .ex5 sungguhan kepada Anda. Lima belas menit, tanpa sintaks.
Sesudah itu barulah datang bagian yang menentukan apakah file-nya bernilai. Resep ini punya catatan terukur, dan angkanya yang paling memuji adalah angka yang paling tidak layak Anda percayai.
Apa yang akan Anda bangun
Sebuah EA satu posisi pada satu pasangan yang membeli ketika garis MACD memotong naik garis sinyalnya dan menjual ketika ia memotong turun, dengan stop dan target tetap, dikompilasi menjadi .ex5 sungguhan. Delapan blok.
Dua blok dari jumlah itu ada karena satu alasan: blok indikator MACD mengembalikan satu garis dalam satu waktu.
Sebelum mulai: apa yang dilaporkan MACD, dan garis mana yang sedang Anda baca
Anda butuh sebuah akun gratis dengan alamat email terverifikasi (merancang itu gratis dan tidak perlu masuk akun; mengompilasi ke .ex5 perlu), waktu sekitar lima belas menit, dan sebuah terminal MetaTrader 5.
MACD mengurangkan sebuah rata-rata bergerak lambat dari sebuah rata-rata cepat, lalu merata-ratakan lagi selisih itu. Jadi garis main mengukur seberapa jauh dua rata-rata itu telah saling menjauh, dan garis signal adalah pengukuran itu yang sudah dihaluskan. Segala yang bisa dinyatakan sebuah aturan MACD adalah pernyataan tentang jarak antara dua rata-rata — yang berarti ia sebuah alat tren yang mengenakan pakaian osilator, dan ia mewarisi kelambatan dari kedua rata-rata yang membangunnya.
Blok MACD milik Builder membuka setelan-setelan berikut:
| Setelan blok | Bawaan | Yang dikendalikannya |
|---|---|---|
fast_ema | 12 | Rata-rata yang lebih cepat. Rentang 1–999 |
slow_ema | 26 | Yang lebih lambat. Jarak antara keduanya adalah keseluruhan sinyalnya |
signal_period | 9 | Seberapa jauh selisihnya dihaluskan sebelum Anda membandingkannya |
line | MODE_MAIN | Garis mana yang dikeluarkan blok ini — MODE_MAIN atau MODE_SIGNAL |
applied_price | PRICE_CLOSE | Harga mana yang menyuapi perhitungannya |
shift | 0 | 0 adalah bar yang sedang terbentuk; 1 adalah bar terakhir yang sudah tertutup |
timeframe | chart saat ini | M1 sampai MN1 mana saja, dibaca terlepas dari chart-nya |
line adalah baris yang mengubah bentuk alur Anda. Ia sebuah pilihan bernilai dua, jadi satu blok memberi Anda satu garis. Karena itu persilangan garis sinyal butuh dua blok MACD; persilangan garis nol butuh satu, ditambah sebuah perbandingan terhadap sebuah konstanta.
Langkah demi langkah: membangun EA MACD-nya di Builder
- Buka EA Builder lalu muat template
macd_signaldari galeri, atau mulai dari kanvas kosong untuk mengkabelinya sendiri. - Letakkan sebuah node Start dari palet Utility. Tanpa satu pun node itu, validasinya menghentikan build dengan
EAB-E202. - Tambahkan sebuah blok MACD dan biarkan
linepadaMODE_MAIN. Biarkan 12/26/9 apa adanya untuk build pertama supaya hasil Anda tetap sebanding dengan baseline di bawah. - Tambahkan blok MACD kedua dengan periode yang identik lalu setel
linekeMODE_SIGNAL. Indikator yang sama, setelan yang sama, keluaran yang berbeda — inilah langkah yang dilewati orang, dan melewatinya adalah sebab alur mereka membandingkan sebuah garis dengan dirinya sendiri. - Sambungkan keduanya ke sebuah kondisi Cross. Cross mengambil dua masukan lalu menanyakan apakah yang satu memotong yang lain pada bar ini;
cross_type-nya adalahcrossoverataucrossunder, jadi sisi beli dan sisi jual adalah dua kondisi yang terpisah, bukan satu kondisi yang dibalik. - Sambungkan tiap kondisi ke blok Open Buy / Open Sell miliknya sendiri. Menyambungkan indikator langsung ke sebuah order ditolak dengan
EAB-E205— sebuah nilai mentah bukanlah sebuah keputusan. - Tetapkan risikonya di tab Settings. Bawaan bersamanya adalah stop 50 pip, target 100 pip, dan lot tetap
0.01; sebuah alur tanpa stop yang valid memunculkan diagnosis preflightCRITICALsebelum ia mau dibangun. - Tekan Measure lalu baca hasilnya terhadap ambang yang dicetak panelnya: faktor profit minimal 1,2, minimal 60 transaksi, drawdown tidak lebih buruk dari 20%.
- Tekan Compile .ex5, pindahkan file-nya ke
MQL5/Expertslewat File > Open Data Folder, segarkan Navigator, lalu ujilah di Strategy Tester sebelum ia menyentuh akun mana pun.
- Node Start
- Blok MACD, line = MODE_MAIN
- Blok MACD, line = MODE_SIGNAL
- Cross — crossover untuk beli, crossunder untuk jual
- Open Buy dan Open Sell
- Stop loss dan take profit
- Kompilasi ke .ex5
Kalau Anda justru menginginkan versi garis nol, hapus blok MACD kedua lalu ganti Cross dengan Compare, yang operatornya adalah > < >= <= == != dan yang offset-nya bawaannya 0. “MACD main di atas nol” adalah pernyataan bahwa rata-rata cepatnya berada di atas yang lambat sama sekali — sebuah peristiwa yang jauh lebih langka dan jauh lebih terlambat daripada kedua garis itu bersentuhan. Paletnya juga membawa OsMA, yang mengeluarkan selisih main dikurangi signal langsung sebagai satu nilai, jadi sebuah aturan histogram butuh satu blok, bukan dua.
Setelan masuk, keluar, dan parameter MACD
| Setelan | Nilai template | Akibat menggesernya |
|---|---|---|
fast_ema | 12 | Lebih rendah bereaksi lebih cepat dan memotong jauh lebih sering; jumlah transaksinya bergerak lebih dulu daripada win rate |
slow_ema | 26 | Menaikkannya melebarkan jarak yang harus ditempuh garis cepatnya, jadi sinyalnya datang lebih lambat dan lebih jarang |
signal_period | 9 | Penghalusan pada garis pembandingnya. Lebih pendek berarti lebih banyak persilangan, sebagian besarnya derau |
line | MODE_MAIN | Bukan tombol penyetelan — ia menentukan aturan mana yang Anda bangun |
shift | 0 | Setel ke 1 untuk memutuskan hanya pada bar yang sudah tertutup |
| Stop loss | 50 pip (bawaan bersama) | Rentang yang disisir adalah 30–80 |
| Take profit | 100 pip (bawaan bersama) | Rentang yang disisir adalah 60–250 |
Soal kelambatan, yang merupakan keluhan jujur atas indikator ini. Tiap nilai di sini adalah keluaran dua rata-rata yang ditumpuk di atas rata-rata ketiga. Karena itu sebuah persilangan adalah laporan bahwa sebuah pergerakan sudah terjadi — pertanyaannya tinggal seberapa terlambat. Memendekkan fast_ema membeli kecepatan dan membayarnya dengan persilangan palsu; memanjangkan slow_ema membeli keandalan dan membayarnya dengan entri yang datang setelah pergerakannya lewat. Catatan template itu sendiri menunjukkan di mana ia mendarat: 698 transaksi dalam satu tahun, jumlah tertinggi kedua dari tiga belas template tren dan momentum yang diukur di bawah kondisi yang identik. Itu sebuah desain yang menembak terus-menerus, dan menembak terus-menerus adalah ongkos dari kelambatan yang pendek.
Apa yang disentuh dan tidak disentuh penyisirannya. Penyisiran parameter yang tercatat hanya menggeser stop dan targetnya — SL30-80 × TP60-250, 12 kombinasi pada tiga jendela di H1. Ia tidak pernah memvariasikan fast_ema, slow_ema, maupun signal_period. Jadi tidak ada apa pun di halaman ini yang mendukung klaim bahwa 12/26/9 itu benar, salah, atau bisa diperbaiki. Yang ia dukung adalah klaim yang jauh lebih sempit dan jauh lebih berguna: tidak ada satu pun kombinasi stop dan target yang menyelamatkan desainnya.
Backtest EA MACD-nya
Ini catatan terukur milik Builder sendiri, bukan sebuah jalannya pengujian ulang, dan tiap template dalam perbandingan ini berbagi satu blok kondisi yang sama di bawah. Cara kami menguji menjelaskan standar yang berlaku bagi catatan-catatan itu.
Baseline macd_signal | Nilai |
|---|---|
| Faktor profit | 0,93 |
| Transaksi | 698 |
| Drawdown maksimum | -1,05% |
| Laba bersih | -93,93 |
| Peringkat di lingkungannya menurut faktor profit | ke-8 dari 13 |
| Peringkat di lingkungannya menurut jumlah transaksi | ke-2 dari 13 |
| Melewati ambang lulus panel Measure sendiri | tidak |
| Kondisi pengujian | |
|---|---|
| ID eksperimen | EXP-MACD-RECIPE-BASELINE-001 |
| Eksperimen induk | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Simbol / timeframe | USDJPYm M5 |
| Periode | 2025-06-01 – 2026-06-09 |
| Model | M1 OHLC (Model=1) |
| Deposit | 10,000 |
| Lingkungan | Exness MT5 |
| Baseline diukur | 2026-06-18 |
| Terakhir diverifikasi | 2026-08-25 |
Hasil penyisirannya layak lebih dari satu baris. Delapan template di galeri membawa penyisiran parameter yang tercatat, dan kedelapannya berakhir di no_robust_edge. Tetapi mereka gagal dengan dua cara yang berbeda, dan perbedaan itu lebih berarti daripada putusan yang mereka bagi bersama. Dua di antaranya tidak pernah menghasilkan setelan yang menang sama sekali, bahkan pada periode tempat penyisirannya dicocokkan. macd_signal adalah satu-satunya yang menghasilkan setelan yang melewati 1,0 di luar sampel — 1,14 sampai 1,15 pada target terlebar — lalu mencetak 0,74 sampai 0,77 pada jendela tepat sebelumnya. Kata yang dipakai manifesnya sendiri untuk ini adalah regime-dependent, bergantung pada rezim pasar.
Bacalah apa implikasinya terhadap cara menguji. Seandainya Anda membelah data Anda satu kali, mencocokkan pada paruh pertama dan memeriksa pada paruh kedua, template ini akan menyerahkan sebuah hasil yang lulus kepada Anda. Satu-satunya yang menangkapnya adalah memeriksa periode ketiga yang tidak pernah dilihat penyisirannya. Itulah argumen untuk analisis walk-forward dalam satu kasus yang konkret, dan itu lebih bernilai daripada peringatan umum apa pun tentang overfitting.
Di mana MACD duduk di antara tetangganya, semuanya diukur di bawah satu blok kondisi di atas:
| Template | Blok | Faktor profit | Drawdown | Transaksi |
|---|---|---|---|---|
ma_perfect_order_trend | 10 | 1,07 | -0,36% | 305 |
mtf_osc_filter | 27 | 1,04 | -0,64% | 187 |
consecutive_bars_momentum | 7 | 1,03 | -0,36% | 377 |
ao_ama_trend | 14 | 0,97 | -0,95% | 239 |
adx_trend | 12 | 0,96 | -0,76% | 534 |
multi_tf_trend | 15 | 0,96 | -0,51% | 247 |
ma_crossover | 9 | 0,95 | -0,84% | 420 |
macd_signal | 8 | 0,93 | -1,05% | 698 |
ma_slope_trend | 7 | 0,92 | -1,00% | 478 |
mtf_adx_filter | 14 | 0,92 | -0,84% | 343 |
elder_ray | 9 | 0,90 | -1,34% | 529 |
pitch_trail_trend | 9 | 0,77 | -1,61% | 467 |
dynamic_sl_trend | 9 | 0,68 | -1,62% | 708 |
Belah ketiga belas desain itu pada median jumlah transaksinya sendiri, yaitu 420, dan kedua paruhnya terpisah dengan bersih. Enam yang bertransaksi lebih sedikit rata-rata mencetak faktor profit 1,00 pada 283 transaksi dengan drawdown -0,61%. Enam yang bertransaksi lebih banyak rata-rata mencetak 0,86 pada 569 transaksi dengan -1,23% — hasil yang lebih buruk dan kedalaman dua kali lipat. Ketiga desain yang berada di atas 1,0 semuanya duduk di paruh yang lebih tenang. MACD duduk di paruh yang lebih sibuk.
Itu sebuah deskripsi atas tiga belas desain di bawah satu setup, bukan sebuah hukum: logika entri, jumlah node, dan cara keluarnya juga berbeda, jadi frekuensinya belum ditegakkan sebagai penyebabnya. Tetapi itulah pola yang ada di depan Anda, dan template MACD bawaannya berada di sisi yang salah dari pola itu.
Kesalahan umum yang harus dihindari
Memercayai satu kelulusan di luar sampel. Inilah kesalahan yang keberadaan template ini justru mendemonstrasikannya. Satu periode yang disisihkan adalah satu sampel, dan sebuah aturan momentum bisa memenangkan satu sampel karena pasarnya kebetulan sedang tren selama periode itu. Ujilah sebuah jendela ketiga yang tidak pernah dilihat penyisirannya sebelum Anda memercayai sebuah angka.
Membandingkan sebuah garis dengan dirinya sendiri. Kalau kedua blok MACD dibiarkan pada MODE_MAIN, kondisi Cross-nya membandingkan nilai yang identik dan tidak pernah menembak — atau menembak karena pembulatan. Periksa setelan line pada kedua bloknya sebelum Anda bertanya-tanya mengapa jumlah transaksinya nol.
Membaca sebuah persilangan sebagai sebuah ramalan. MACD adalah dua rata-rata dari sebuah rata-rata. Sebuah persilangan melaporkan bahwa sebuah pergerakan sudah berlangsung selama beberapa bar. Pilihan desainnya adalah seberapa banyak keterlambatan yang Anda terima, bukan apakah menerimanya sama sekali.
Mencocokkan stop dan target sampai kurva ekuitasnya terlihat benar. Penyisiran yang tercatat sudah melakukan hal itu secara sistematis pada 12 kombinasi dan tiga jendela, lalu melaporkan no_robust_edge. Kalau penyetelan manual Anda mengalahkan sebuah pencarian yang sistematis, curigai penyetelannya.
Menumpuk filter momentum. Komposisi di atas adalah versi terukur dari naluri itu: 3,76 kali drawdown demi faktor profit yang justru sedikit lebih buruk.
Menjalankannya berdampingan dengan EA lain tanpa memisahkannya. Tiap EA di satu akun butuh magic number sendiri, atau logika keluar milik satu EA akan menutup posisi milik EA yang lain.
Langkah selanjutnya dan variasinya
Kapan sebaiknya tidak memakai MACD. Di dalam sebuah range, dua rata-rata berpotongan berulang kali dan tiap persilangannya adalah derau — dan sebuah bawaan yang menembak cepat justru itulah yang dihukum oleh sebuah range. Kalau Anda tidak bisa menyatakan sebuah kondisi yang mematikan aturannya selama periode datar, tambahkanlah satu atau pakailah ide yang tidak bergantung pada kedua rata-rata itu saling menjauh.
Variasi yang layak dicoba, menurut urutan buktinya. Coba versi garis nolnya lebih dulu: ia lebih sederhana satu blok dan ia menembak jauh lebih jarang, dan paruh lingkungan yang lebih tenang adalah tempat setiap hasil di atas 1,0 berada. Setelah itu coba aturan yang sama pada timeframe yang lebih tinggi di dalam blok MACD-nya, yang memperlambat sinyalnya tanpa menyentuh chart-nya. Baru sesudah itu geser periodenya — dan ubah satu per satu.
Lalu ujilah dengan benar. Panel Measure adalah setingkat bar dan bersifat perkiraan; ia sebuah saringan, bukan sebuah putusan. Cara backtest EA di MT5 menelusuri satu jalannya pengujian nyata dari awal sampai akhir, termasuk angka drawdown mana dari dua yang dicetak laporannya yang layak dipercaya. Cara membuat EA RSI adalah resep saudaranya dengan mode kegagalan yang berlawanan — penyisirannya tidak pernah memenangkan apa pun, yang membuatnya lebih mudah ditolak dan kurang mengajarkan dibanding yang satu ini. Cara membuat EA MT5 tanpa coding mencakup kosakata blok yang lebih luas, dan panduan backtesting masuk lebih dalam ke langkah walk-forward yang diperjuangkan halaman ini.
Dan untuk mengalibrasi seperti apa rupa sebuah catatan yang terdokumentasi, tiap EA yang diterbitkan membawa daftar lengkap transaksi tertutupnya dan sebuah manifes eksekusi. Bandingkan salah satunya dengan tabel di atas sebelum memercayai strategi apa pun, termasuk strategi yang Anda bangun sendiri.