Bab F · Membuat EA
Cara membuat EA forex: dari aturan tertulis ke kode MQL4/MQL5, plus batas EA generator dan robot di Android
Edisi 28 September 2026 · Redaksi PelitaTrade
Transaksi valas dan CFD berjalan dengan leverage, sehingga gerak harga yang kecil sanggup menguras seluruh saldo akun, bahkan dalam hitungan menit. Mayoritas pelaku ritel pada produk semacam ini justru menutup tahun dengan rugi. Lembar ini menerangkan cara kerja alat, bukan ajakan membuka posisi, dan tidak ada alat, robot, atau master yang dapat menjamin hasil.
Membuat robot trading tidak dimulai dari kode, melainkan dari aturan yang cukup jelas untuk dipahami mesin. Lembar ini memandu cara membuat EA forex dari kalimat aturan, ke MetaEditor, ke kode MQL4 dan MQL5 yang mengikuti sintaks resminya, lalu ke pengujian. Di akhir, kami jelaskan apa yang bisa dan tidak bisa dilakukan EA generator serta “robot di Android”.
Isi kotak — siapkan dulu
- K1Terminal MetaTrader versi desktop beserta MetaEditor.
- K2Akun demo untuk menempelkan EA hasil kompilasi.
- K3Satu aturan tertulis yang bisa dijawab ya/tidak oleh komputer.
- K4Pengetahuan dasar variabel dan kondisi
if; lampiran OnInit/OnTick membantu.

Tahap nol: menulis aturan yang bisa dihitung
Kalimat “beli saat tren naik” tidak bisa dieksekusi komputer. Ubah menjadi pertanyaan yang jawabannya pasti, misalnya “apakah harga bid lebih tinggi dari rata-rata sederhana 20 candle terakhir?”. Setiap kata sifat (kuat, jenuh, bagus) harus diganti angka atau perbandingan. Tulis juga kapan program tidak boleh melakukan apa pun.
| Kalimat awal | Versi yang bisa dihitung |
|---|---|
| Harga sedang naik | Bid > MA sederhana 20 candle pada timeframe grafik |
| Jangan terlalu sering transaksi | Maksimal satu posisi per simbol dengan magic number yang sama |
| Rugi jangan besar | Stop loss 30 pips dan ukuran lot dari hitungan risiko per transaksi |
Cara membuat expert advisor MT4 di MetaEditor
Buka MetaEditor
Dari terminal MT4, buka MetaEditor lewat ikon di toolbar atau tombol F4. Situs resmi MT4 menyebut MetaEditor sebagai lingkungan bawaan untuk mengembangkan strategi dalam MQL4, lengkap dengan debugger.
Buat berkas Expert Advisor baru
Pilih pembuatan berkas baru, jenis Expert Advisor (template), lalu beri nama. MetaEditor menyimpan berkas
.mq4di folder Experts dan membuat kerangka fungsi kosong.Tulis kode di dalam kerangka
Isi fungsi
OnInit,OnTick, danOnDeinit. Contoh lengkap ada tepat di bawah daftar langkah ini.Kompilasi dan baca pesan galat
Tekan tombol Compile (F7). Jika ada galat, panel bawah menunjukkan baris dan penyebabnya. EA baru muncul di Navigator terminal setelah kompilasi berhasil.
Tempelkan ke grafik akun demo
Seret EA dari Navigator ke grafik, periksa tab Inputs, dan pastikan tombol perdagangan otomatis di toolbar aktif bila EA memang dirancang membuka order.
Contoh code EA forex: versi MQL4 dan MQL5
Dua contoh berikut melakukan hal yang sama: setiap tick, program membandingkan harga bid dengan moving average lalu menulis hasilnya di pojok grafik. Tidak ada perintah order di dalamnya, sehingga aman dicoba.
//+------------------------------------------------------------------+
//| PelitaContoh.mq4 - contoh edukasi, bukan strategi siap pakai |
//| EA ini TIDAK membuka order; hanya menulis keterangan di grafik. |
//+------------------------------------------------------------------+
#property strict
input int PeriodeMA = 20; // periode moving average
int OnInit()
{
if(PeriodeMA < 1)
return(INIT_PARAMETERS_INCORRECT);
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
Comment("");
}
void OnTick()
{
double ma = iMA(NULL, 0, PeriodeMA, 0, MODE_SMA, PRICE_CLOSE, 0);
string posisi = (Bid > ma) ? "di atas" : "di bawah";
Comment("Bid ", DoubleToString(Bid, Digits), " berada ", posisi, " MA", PeriodeMA);
}Di MQL4, fungsi iMA langsung mengembalikan nilai rata-rata. Variabel bawaan Bid dan Digits berisi harga terbaru dan jumlah desimal simbol. INIT_PARAMETERS_INCORRECT menolak input yang tidak masuk akal sebelum EA berjalan.
//+------------------------------------------------------------------+
//| PelitaContoh.mq5 - contoh edukasi, bukan strategi siap pakai |
//| EA ini TIDAK membuka order; hanya menulis keterangan di grafik. |
//+------------------------------------------------------------------+
input int PeriodeMA = 20; // periode moving average
int handleMA = INVALID_HANDLE;
int OnInit()
{
handleMA = iMA(_Symbol, _Period, PeriodeMA, 0, MODE_SMA, PRICE_CLOSE);
if(handleMA == INVALID_HANDLE)
{
Print("Handle MA gagal dibuat, kode galat ", GetLastError());
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
if(handleMA != INVALID_HANDLE)
IndicatorRelease(handleMA);
Comment("");
}
void OnTick()
{
double ma[];
if(CopyBuffer(handleMA, 0, 0, 1, ma) != 1)
return;
double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
string posisi = (bid > ma[0]) ? "di atas" : "di bawah";
Comment("Bid ", DoubleToString(bid, _Digits), " berada ", posisi, " MA", PeriodeMA);
}Di MQL5, dokumentasi resmi menjelaskan bahwa iMA mengembalikan handle indikator, atau INVALID_HANDLE bila gagal. Nilainya diambil dengan CopyBuffer. Handle dibuat sekali di OnInit dan dilepas di OnDeinit, bukan dibuat ulang setiap tick.
Menguji hasilnya
Situs resmi MT4 menjelaskan Strategy Tester sebagai alat untuk menguji dan mengoptimalkan robot dengan data historis sebelum dipakai di pasar nyata, termasuk mode visual yang memperlihatkan EA bekerja di grafik. Cara membaca laporannya dijelaskan di lampiran membaca laporan backtest.
EA generator MT4 dan MT5: apa yang sebenarnya dihasilkan
Dokumentasi MetaEditor menyebut MQL5 Wizard dapat membuat templat program dan robot siap pakai; trader cukup memilih modul sinyal, manajemen dana, dan trailing stop, lalu kodenya dibuat otomatis. Di luar itu ada aplikasi EA forex generator pihak lain yang menyusun blok logika secara visual.
| Dikerjakan | Tidak dikerjakan |
|---|---|
| Menulis kerangka dan sintaks yang benar | Memastikan aturan Anda punya dasar yang masuk akal |
| Menggabungkan modul sinyal yang sudah ada | Menguji ketahanan di kondisi pasar berbeda |
| Mempercepat eksperimen | Menghilangkan kebutuhan membaca kode hasilnya |
Cara membuat robot forex di Android: batasnya
Pencarian “cara membuat robot forex di Android” biasanya berakhir pada kekecewaan. Halaman fitur seluler resmi MT4 menyebut grafik, order, alat analisis, riwayat, chat, dan notifikasi, tanpa MetaEditor dan tanpa menjalankan EA. Jadi alurnya: tulis dan uji di komputer, jalankan EA di terminal desktop, lalu pantau posisinya dari ponsel. Aplikasi pihak ketiga yang mengaku “menjalankan robot di HP” perlu diperiksa ekstra: siapa yang memegang kata sandi akun Anda?
Membuat EA sendiri tidak membuatnya lebih aman. Banyak EA buatan sendiri gagal karena lupa menangani order yang ditolak, spread yang melebar, atau posisi ganda. Jalankan di akun demo cukup lama sebelum mempertimbangkan hal lain.
Tanya jawab singkat
- Apakah saya bisa membuat robot trading tanpa bisa coding?
- Bisa, lewat MQL5 Wizard di MetaEditor atau EA generator lain yang menyusun kode dari pilihan modul. Namun Anda tetap perlu memahami logika yang dihasilkan, karena kesalahan aturan tidak hilang hanya karena kodenya dibuat otomatis.
- Apa beda berkas .mq4 dan .ex4?
- Berkas .mq4 adalah kode sumber yang bisa dibaca dan diubah. Berkas .ex4 adalah hasil kompilasi yang dijalankan terminal dan tidak bisa dibaca sebagai teks.
- Bisakah membuat robot forex di Android?
- Halaman fitur seluler resmi MT4 tidak mencantumkan MetaEditor maupun menjalankan EA. Menulis, mengompilasi, dan menguji EA dilakukan di versi desktop. Ponsel cocok untuk memantau posisi yang dibuka EA dari komputer.
- Apakah contoh kode di lembar ini bisa dipakai trading?
- Tidak. Kedua contoh sengaja dibuat tanpa perintah order agar aman dipelajari. Keduanya hanya menunjukkan struktur EA dan cara membaca data indikator.
Lembar berikutnya
- Lampiran 4 · Rangka EAOnInit, OnTick, dan OnDeinit: tiga fungsi peristiwa yang menjadi rangka setiap EA
- Lampiran 5 · Tab InputsMembaca tab Inputs sebuah EA: lot, magic number, SL/TP, dan jebakan satuan point
- Lampiran 1 · BacktestMembaca laporan backtest EA: profit factor, expected payoff, dan drawdown tanpa tertipu angka
- Bab E · MQL5Apa itu MQL5: bahasa pemrograman MetaTrader dan komunitas MQL5.com, dari daftar akun sampai portofolio