Kategori
Teknis
Tingkat
Pemula
Digunakan pada
Desain strategiOperasional MT5

Exponential Moving Average

Rata-rata bergerak yang memberi bobot lebih besar pada harga terbaru daripada harga lama, sehingga berbalik lebih cepat daripada rata-rata sederhana. Filter tren dan entri persilangan pada EA dibangun di atasnya lebih sering daripada di atas indikator mana pun.

juga: EMA, MA eksponensial

Diperbarui · Ditinjau

Dengan bahasa sederhana

Rata-rata harga terbaru yang lebih memperhatikan apa yang baru saja terjadi daripada apa yang terjadi beberapa waktu lalu. Ia berbalik lebih cepat daripada rata-rata biasa, sehingga lebih berguna di dalam tren dan lebih cerewet di dalam rentang.

Mengapa ini penting

EMA adalah blok bangunan bawaan bagi logika tren sebuah EA: ia memasok arah yang sengaja tidak diberikan indikator seperti ADX. Ia juga komponen yang paling sering dipakai berlebihan dan paling sering dioptimalkan berlebihan pada EA ritel, karena aturan persilangan mudah ditulis dan kedua periodenya mudah disetel sampai riwayat mana pun tampak menguntungkan.

  • Ia memberi tanda pada strategi. Kekuatan tren dan volatilitas tidak punya arah; perbandingan harga terhadap EMA, atau cepat terhadap lambat, itulah yang memasukkan naik dan turun ke dalam aturan.
  • Ia bereaksi lebih cepat daripada rata-rata sederhana, dan itu penting di titik balik — tempat sebagian besar hasil strategi tren ditentukan.
  • Secara konstruksi ia ukuran yang tertinggal. Setiap rata-rata bergerak menggambarkan apa yang sudah terjadi, jadi persilangan mengonfirmasi alih-alih memprediksi.
  • Dua periode berarti dua parameter, dan pencarian grid atasnya selalu menemukan pasangan yang tampak luar biasa pada jendela mana pun. Itulah jebakan overfitting klasik dalam desain EA.

Di MetaTrader 5

Letaknya di MT5

  • Insert → Indicators → Trend → Moving Average, lalu setel Method ke Exponential
  • Dialog properti MA juga menetapkan applied price — Close adalah pilihan lazim dan mengubah nilainya secara nyata
  • Grafik menggambarnya di jendela utama, pada skala harga, tidak seperti ATR atau ADX
  • Strategy Tester → Inputs — periode cepat dan lambat adalah dua input yang paling mungkin dioptimalkan berlebihan

Cara EA memakainya

  • Buat handle di OnInit — iMA(_Symbol, PERIOD_CURRENT, 21, 0, MODE_EMA, PRICE_CLOSE) — satu untuk tiap periode, dan simpan selama umur EA.
  • Sebagai filter arah: ambil beli hanya selama harga atau EMA cepat berada di atas yang lambat, dan jual di bawahnya.
  • Sebagai entri persilangan: EMA cepat memotong yang lambat pada bar yang sudah tertutup, yang menuntut pembacaan bar 1 dan bar 2 untuk mendeteksi persilangan alih-alih keadaan.
  • Sebagai acuan trailing: keluar saat harga menutup di sisi lain sebuah EMA pilihan — aturan trailing yang menyesuaikan diri dengan irama tren itu sendiri.
  • EMA timeframe lebih tinggi dibaca dengan pemanggilan yang sama dan argumen periode berbeda; begitulah EA M15 mengambil arahnya dari H4.

Pengaturan umum

Pengaturan Nilai umum Catatan
Pasangan cepat/lambat, jangka pendek 8 / 21 Bereaksi cepat; menghasilkan banyak persilangan, dan sebagian besar bukan tren.
Pasangan cepat/lambat, jangka menengah 50 / 200 Pasangan yang diperhatikan luas. Sinyalnya sedikit, dan yang ada datang terlambat.
Filter tren tunggal EMA 200 pada timeframe entri Dipakai sebagai gerbang arah, bukan sebagai entri.
Applied price Close Lazim dan stabil. Median atau typical price menghaluskan lebih jauh dan mengubah setiap hasil backtest.
Bar sinyal bar terakhir yang sudah tertutup Membaca bar yang sedang terbentuk menghasilkan persilangan yang muncul lalu hilang di tengah bar.

Masalah operasional yang sering terjadi

  • Mendeteksi keadaan (cepat di atas lambat) alih-alih peristiwa (cepat memotong lambat), yang membuat EA masuk lagi pada tiap bar selama tren berlangsung.
  • Membaca indeks 0 sehingga persilangan berkedip tiap tick, memberi hasil backtest yang tak bisa direproduksi perdagangan nyata.
  • Handle dibuat di dalam OnTick sehingga bocor sampai iMA mengembalikan INVALID_HANDLE.
  • CopyBuffer saat start sebelum periode lambat punya cukup riwayat mengembalikan nol yang dibandingkan seolah-olah persilangan.
  • Mengoptimalkan kedua periode pada satu jendela lalu mengirim puncaknya — cara paling umum sebuah EA tampak luar biasa saat diuji dan langsung gagal sesudahnya.

Fungsi MT5 terkait

iMA(symbol, timeframe, period, shift, MODE_EMA, applied_price)
Membuat handle; MODE_EMA-lah yang membuatnya eksponensial alih-alih sederhana.
CopyBuffer(handle, 0, start, count, array)
Membaca rata-rata dari satu-satunya buffer yang dimilikinya.
ArraySetAsSeries(array, true)
Menjadikan indeks 0 sebagai bar saat ini, konvensi yang diasumsikan hampir semua kode persilangan.
iTime(symbol, timeframe, 0)
Dipakai untuk bertindak sekali per bar alih-alih sekali per tick.

Contoh

Perbedaan antara membaca keadaan dan membaca peristiwa — bug EMA paling umum dalam kode EA.

Bar 2 — cepat vs lambat
cepat di bawah lambat
Bar 1 — cepat vs lambat
cepat di atas lambat
Pasangan pembacaan itulah yang menjadikannya persilangan, bukan sekadar kondisi.
Hasil uji keadaan
menyala tiap bar
Selama tren bertahan, dan menambah satu posisi setiap kalinya.
Hasil uji peristiwa
menyala sekali

Kedua versi tampak menguntungkan dalam tren kuat saat diuji. Hanya satu di antaranya yang merupakan strategi yang dimaksudkan.

Perhitungan if (fast[2] <= slow[2] && fast[1] > slow[1]) → persilangan naik

Hasil Satu entri per persilangan, bukan satu per bar

Cara memakainya

Aturan EMA mudah ditulis dan mudah dipaskan. Semua yang layak diperiksa berkisar pada apakah parameternya selamat ketika digeser.

Rentang Artinya
Hasil runtuh saat satu periode digeser 10% Dipaskan ke jendela uji. Setelan yang kokoh punya tetangga yang juga bekerja.
Rentang lebar pasangan periode bekerja serupa Efeknya kemungkinan struktural alih-alih hasil pemaksaan — itulah arti sebuah dataran pada permukaan optimasi.
Persilangan tanpa filter rezim Sinyal juga menyala di rentang, tempat mereka sebagian besar gagal. Untuk itulah ADX atau filter volatilitas biasanya ditambahkan.
Dibaca pada bar yang sedang terbentuk Tidak dapat direproduksi. Pasar yang sama menghasilkan entri berbeda tergantung waktu datangnya tick.
  • Pilih dataran daripada puncak saat menentukan periode. Hasil tunggal terbaik pada sebuah backtest adalah yang paling kecil kemungkinannya terulang.
  • Pasangkan persilangan dengan filter rezim. Aturan tren tanpa filter melakukan transaksi terburuknya justru pada kondisi yang paling tidak cocok baginya.
  • Deteksi persilangan dengan dua bar, jangan pernah dengan satu perbandingan, dan bertindaklah hanya pada bar yang sudah tertutup.
  • Ingat bahwa rata-rata bergerak mengikuti harga. Ia tidak bisa memimpin, jadi strategi yang dibangun di atasnya adalah strategi partisipasi, bukan prediksi.

Halaman `/indicators` untuk moving average membahas perhitungan dan perbandingan dengan SMA; entri ini tentang bagaimana EMA dirangkai ke dalam logika EA.

Kesalahan umum

Mengacaukan keadaan dengan peristiwa

Menguji apakah EMA cepat berada di atas yang lambat bernilai benar sepanjang tren. Menguji apakah ia baru saja memotong menuntut bar sebelumnya juga, dan selisih keduanya adalah satu entri berbanding puluhan.

Mengoptimalkan kedua periode lalu mengirim pasangan terbaik

Dua parameter bebas pada permukaan yang mulus selalu menghasilkan backtest yang mengesankan. Yang bernilai adalah apakah pasangan tetangganya berperilaku serupa — itulah beda antara efek dan pemaksaan.

Memakai persilangan tanpa filter kondisi pasar

Rata-rata bergerak berpotongan terus-menerus di rentang, dan hampir semua perpotongan itu merugi. Filter bukan optimasi strategi — filter itulah yang membuat strategi dapat diterapkan.

Menganggap EMA pasti lebih baik daripada SMA

Ia bereaksi lebih cepat, dan itu memotong dua arah: entri lebih awal pada tren sungguhan, lebih banyak sinyal palsu pada derau. Mana yang lebih disukai bergantung pada strateginya, dan selisihnya lebih kecil daripada pilihan periode.

Penjelasan lengkap

Apa yang dipakai EA yang diterbitkan untuk menentukan arah

Empat belas EA diterbitkan di sini beserta catatan transaksi tertutupnya secara penuh. Tidak satu pun mengambil arahnya dari exponential moving average.

Mekanisme arahEAApa itu
Persilangan Tenkan/Kijun Ichimoku5Kestrel Hover, Orrery, Peregrine, Tessera, Zerqon
Rata-rata bergerak sederhana bertumpuk1Lanternfish — SMA 25/50/75 di M30, entri di M5
Sebuah exponential moving average0
Sesuatu selain persilangan8Ekstrem RSI, fade envelope, pola candle

Kelima EA itu mempertahankan persilangannya dan membuang penyetelannya: periode Tenkan/Kijun berasal dari definisi indikatornya, bukan dari pencarian grid. Kelimanya membaca bar yang tertutup, dan Orrery serta Peregrine baru bertindak ketika badan bar sinyal melampaui kelipatan rata-rata terkininya — filter rezim yang dibutuhkan sebuah persilangan telanjang. Profit factor mereka berkisar 1,27 sampai 1,46, pita yang sama dengan sisa katalog.

Tab Inputs pada Strategy Tester menerima nilai Start, Step, dan Stop untuk tiap periode. Bacalah seluruh kumpulan hasilnya, bukan baris teratasnya: dataran pasangan yang bertetangga adalah efek, sedangkan puncak tunggal adalah pemaksaan. Itulah overfitting dalam bentuk praktisnya, dan sebabnya filter seperti ADX datang sebelum satu periode lagi disetel.

Pertanyaan yang sering diajukan

Periode EMA apa yang dipakai EA MT5?
Pasangan 8/21 untuk sistem jangka pendek dan 50/200 untuk deteksi tren jangka menengah adalah yang paling umum, dengan EMA 200 tunggal sering dipakai murni sebagai gerbang arah. Angka spesifiknya kurang penting dibanding apakah strategi masih bekerja ketika angka itu digeser — hasil yang bergantung pada satu pasangan persis berarti dipaskan ke jendela uji.
Apakah EMA lebih baik daripada SMA untuk EA?
EMA bereaksi lebih cepat, yang menghasilkan entri lebih awal pada tren sungguhan dan lebih banyak sinyal palsu pada derau. Tidak ada yang lebih baik secara universal, dan beda keduanya biasanya lebih kecil daripada beda antara dua pilihan periode di dalam salah satunya.
Mengapa EA persilangan EMA saya membuka begitu banyak posisi?
Hampir selalu karena kodenya menguji apakah EMA cepat berada di atas yang lambat, bukan apakah ia baru saja memotong. Kondisi pertama tetap benar sepanjang tren dan menyala tiap bar; mendeteksi persilangan menuntut perbandingan dengan bar sebelumnya juga.
Bisakah EMA memprediksi pembalikan tren?
Tidak. Ia rata-rata harga yang sudah terjadi, jadi mau tak mau ia mengikuti. Persilangan mengonfirmasi bahwa perubahan sudah terjadi, bukan bahwa perubahan akan datang, dan keterlambatan itu adalah harga dari penghalusan.