Kategori
Platform
Tingkat
Pemula
Digunakan pada
Operasional MT5Evaluasi EADesain strategi

Expert Advisor

Program trading otomatis yang ditulis dalam MQL5, berjalan di dalam MetaTrader 5, dan membuka, memodifikasi, serta menutup order sesuai aturan terprogram tanpa intervensi manual.

juga: EA, robot trading, bot trading, trader algoritmik

Diperbarui

Dengan bahasa sederhana

Program yang bertransaksi untuk Anda di dalam MetaTrader. Ia tidak punya pertimbangan dan tidak punya ingatan di luar apa yang Anda berikan: ia bangun ketika platform memanggilnya, melihat beberapa hal yang memang ditulis untuk dilihatnya, lalu bertindak.

Mengapa ini penting

Backtest, angka drawdown, magic number, uptime VPS — semuanya ada karena yang menempatkan order adalah sebuah program, bukan seseorang. Mengetahui apa yang diserahkan platform kepada sebuah EA, dan apa yang ditahannya, adalah beda antara membaca hasil dengan benar dan dikejutkan olehnya.

  • Ia mengeksekusi tanpa ragu, dan di situlah seluruh nilainya sekaligus seluruh risikonya. Kumpulan aturan yang tidak pernah melewatkan sinyal valid juga tidak pernah menyadari bahwa hari ini berbeda.
  • Ia melihat irisan yang sempit: harga simbolnya, nilai indikator yang dimintanya, posisi dan saldo akun itu sendiri. Berita, kuotasi broker lain, dan akun Anda yang lain berada di luar jendela itu kecuali kodenya menjemputnya.
  • Ia didistribusikan dalam bentuk terkompilasi. File .ex5 bisa dijalankan tetapi tidak bisa dibaca, sehingga keyakinan pembeli harus datang dari bukti pengujian yang diterbitkan, bukan dari kode sumber.
  • Ia hanya berjalan selama terminal berjalan. EA di laptop yang tertidur adalah EA yang tidak bertransaksi — itulah seluruh alasan memakai VPS.

Di MetaTrader 5

Letaknya di MT5

  • Navigator → Expert Advisors — EA terkompilasi yang bisa dilihat terminal
  • File → Buka Folder Data → MQL5/Experts — di situlah file .ex5 harus berada agar muncul
  • Toolbar → Algo Trading — sakelar utama; EA dengan wajah sedih di chart adalah EA yang sedang diblokir tombol ini
  • Chart → Properti EA (F7) → Inputs / Common — parameter dan izin per EA
  • View → Strategy Tester (Ctrl+R) — EA yang sama dijalankan di atas data historis

Cara EA memakainya

  • Terminal memanggil OnInit() sekali saat dilampirkan, OnTick() pada setiap kuotasi masuk untuk simbol chart, dan OnDeinit() saat dilepas.
  • Pekerjaan umumnya terjadi pada bar tertutup, bukan pada setiap tick: EA membandingkan waktu buka bar berjalan dengan waktu yang disimpannya dan langsung keluar bila belum ada bar baru.
  • Order keluar sebagai MqlTradeRequest yang sudah diisi, atau lewat pembungkus CTrade yang mengisi sebagian besarnya untuk Anda.
  • Setiap instance menandai ordernya dengan magic number agar hanya mengelola posisinya sendiri — tanpa itu, dua EA berebut tiket yang sama.

Pengaturan umum

Pengaturan Nilai umum Catatan
Algo Trading (terminal) aktif Mati setelah instalasi. Tidak ada yang bertransaksi sebelum ini dinyalakan.
Allow Algo Trading (per EA, F7 → Common) aktif Izin tersendiri, terpisah dari sakelar tingkat terminal.
Allow WebRequest for listed URL mati kecuali EA membutuhkannya Hanya EA yang mengambil data eksternal yang memerlukannya; berikan per URL, jangan pernah menyeluruh.
Timeframe chart timeframe yang dirancang untuk EA tersebut Strategi M15 di chart H1 adalah strategi yang berbeda — OnTick berjalan per tick, tetapi logika bar membaca periode chart.
MagicNumber unik untuk setiap instance yang berjalan Bukan per produk: dua chart yang menjalankan EA yang sama butuh dua nilai.

Masalah operasional yang sering terjadi

  • Terminal tertutup, tertidur, atau sedang restart untuk pembaruan — EA sama sekali tidak berjalan, dan tidak ada error yang tercatat.
  • Nama simbol tidak cocok antara broker dan pengaturan (EURUSD melawan EURUSD.m) membuat EA tetap terlampir dan diam.
  • Margin bebas tidak cukup: OrderSend gagal pada tiap percobaan dan EA terus mencoba, sehingga log penuh sementara akun tidak melakukan apa-apa.
  • Konteks trading sedang sibuk ketika beberapa EA mengirim bersamaan — kegagalan yang sesekali muncul dan sulit direproduksi.
  • EA diuji pada broker dengan model eksekusi atau ukuran kontrak berbeda, lalu berperilaku lain di akun riil tanpa satu pun perubahan kode.

Fungsi MT5 terkait

OnInit() / OnDeinit()
Dipanggil sekali saat dilampirkan dan sekali saat dilepas — di situ input divalidasi dan handle dibuat.
OnTick()
Dipanggil pada setiap kuotasi masuk untuk simbol chart; titik masuk utamanya.
OnTimer()
Dipanggil pada interval tetap yang diatur EventSetTimer(), untuk pekerjaan yang tidak boleh bergantung pada datangnya tick.
OrderSend(request, result)
Satu-satunya panggilan yang mengirim setiap operasi trading; struktur request menentukan jenisnya.
CTrade (Trade/Trade.mqh)
Pembungkus pustaka standar yang dipakai sebagian besar EA alih-alih mengisi MqlTradeRequest secara manual.

Contoh

Hampir setiap EA, disederhanakan menjadi urutan pemanggilan oleh platform. Tidak ada satu pun di sini yang merupakan strategi — ini kerangka tempat sebuah strategi duduk.

1. OnInit()
sekali, saat dilampirkan
Memvalidasi input, membuat handle indikator, menetapkan magic number.
2. OnTick()
setiap kuotasi
Langsung keluar selama belum terbentuk bar baru, lalu evaluasi aturannya.
3. OrderSend()
saat sebuah aturan terpicu
Satu MqlTradeRequest terisi per operasi — membuka, memodifikasi, atau menutup.
4. OnDeinit()
sekali, saat dilepas
Melepas handle. Posisi terbuka tidak ditutup oleh langkah ini — posisinya tetap ada.

Melepas EA dari chart tidak menutup apa yang sudah dibukanya. Posisinya tetap ada, dan tidak ada lagi yang mengelolanya.

Perhitungan if (iTime(_Symbol, PERIOD_CURRENT, 0) == lastBarTime) return;

Hasil EA berbasis penutupan bar yang mengabaikan ribuan tick di antara dua keputusan

Cara memakainya

Menilai EA yang bukan Anda tulis adalah soal bukti: file terkompilasi tidak memberi tahu apa pun. Berikut yang perlu diminta.

  • Tanyakan data apa yang dipakai backtest dan bagaimana pemodelannya. Tick nyata dan angka kualitas pemodelan itu berarti; kurva ekuitas tanpa keterangan tidak.
  • Tanyakan jumlah transaksi dan rentang waktunya. EA median yang diterbitkan di sini menutup 362 transaksi selama beberapa tahun; empat puluh transaksi dalam empat bulan hanyalah anekdot.
  • Periksa apakah strategi membiarkan posisi rugi tetap terbuka. Averaging down dan grid recovery menghasilkan kurva yang indah sampai muncul keranjang yang tidak pulih, dan tidak ada rasio dari transaksi tertutup yang memperingatkan Anda.
  • Jalankan di demo pada broker Anda sendiri sebelum menyetor dana. Model eksekusi, spread, ukuran kontrak, dan penamaan simbol semuanya berbeda, dan semuanya mengubah hasil.
  • Beri setiap instance magic number-nya sendiri, dan catat mana yang mana sebelum lebih dari dua berjalan.

Setiap EA yang terdaftar di sini menerbitkan rentang pengujian, sumber data, kualitas pemodelan, dan buku transaksi lengkapnya, sehingga bukti ini bisa diperiksa alih-alih diminta.

Kesalahan umum

Memperlakukan EA seperti trader yang punya pertimbangan

Ia adalah kumpulan aturan yang dipanggil platform pada setiap tick. Ia tidak bisa menyadari bahwa pasar sudah berubah, bahwa bank sentral bicara sepuluh menit lagi, atau bahwa hasilnya sendiri memburuk — kecuali ada orang yang menuliskan aturan persis untuk itu.

Menganggap hasil backtest otomatis berlaku di akun Anda

Spread, komisi, model eksekusi, ukuran kontrak, dan kumpulan simbol semuanya bagian dari hasil. Pengujian di satu broker adalah bukti tentang broker itu; menjalankannya di demo milik Anda sendiri adalah cara termurah melihat berapa banyak yang benar-benar berpindah.

Melepas EA untuk menghentikannya, lalu mengira transaksinya ikut berhenti

Melepas EA meninggalkan posisi terbukanya apa adanya. Setelah itu tidak ada lagi yang men-trailing atau menutupnya; posisi itu diam sampai menyentuh stop, target, atau stop out.

Menjalankan beberapa EA di satu akun tanpa memisahkannya

Tanpa magic number yang berbeda, setiap EA menganggap semua posisi sebagai miliknya untuk dikelola, dan mereka saling menutup transaksi. Kegagalannya senyap — tidak ada error, hanya hasil yang tidak cocok dengan strategi mana pun secara terpisah.

Penjelasan lengkap

Seperti apa catatan EA yang sebenarnya

Definisi menjelaskan mekanismenya; catatan menjelaskan pengalamannya. Empat belas EA yang diterbitkan di sini menyertakan daftar lengkap transaksi tertutupnya — 9.702 transaksi sejak 2019.

Dari 14 EA yang diterbitkanNilai
Transaksi tertutup9.702
Transaksi per EA (median)362, dari 108 hingga 4.725
Faktor profit (median)1,39, dari 1,27 hingga 1,52
Rentetan rugi terburuk (median)6 transaksi, terburuk 14
Periode terlama tanpa puncak ekuitas baru (median)423 hari, terburuk 775
Uji akun riil terverifikasi0

Apakah expert advisor menguntungkan menelusuri catatan itu EA per EA, dan EA versus trading manual memutar ulang transaksi yang sama dengan aturan berhenti yang benar-benar dipakai manusia.

Pertanyaan yang sering diajukan

Apa itu Expert Advisor di MetaTrader 5?
Program yang ditulis dalam MQL5 dan dikompilasi menjadi file .ex5, berjalan di dalam terminal dan bertransaksi menurut aturannya. Platform memanggilnya pada setiap kuotasi masuk untuk chart tempat ia dilampirkan, dan ia membuka, memodifikasi, serta menutup order tanpa siapa pun di depan papan ketik.
Apakah komputer saya harus tetap menyala agar EA bekerja?
Ya — EA berjalan di dalam terminal, jadi ia hanya bertransaksi selama terminal berjalan dan terhubung. Karena itulah EA yang tidak diawasi biasanya ditempatkan di VPS, bukan di komputer yang bisa tertidur atau restart.
Bisakah saya membaca strategi di dalam EA yang saya beli?
Tidak dari file .ex5. EA terkompilasi berjalan tanpa membuka logikanya, dan justru itulah alasan penjual mengirimkannya dalam bentuk tersebut. Strateginya harus dijelaskan dengan jujur di halaman produk dan didukung bukti pengujian yang diterbitkan.
Bisakah saya menjalankan lebih dari satu EA di akun yang sama?
Bisa, dan itu lazim. Setiap instance perlu magic number-nya sendiri agar hanya mengelola posisi yang dibukanya, dan akun perlu margin bebas untuk semuanya sekaligus — strateginya tidak saling mengetahui.