Kode Error MT5: 10027, 10030, 10016 & Lainnya
Daftar Isi
Kode Error MT5 / MQL5: Retcode 10004–10031 dan Runtime Error
MT5 melaporkan dua jenis error: retcode trading 5 digit (misalnya 10027 AutoTrading nonaktif, 10030 mode filling tidak didukung, 10016 stop tidak valid, 10019 dana tidak cukup) dan runtime error 4 digit dari GetLastError() (misalnya 4401, 4756) — tabel di bawah ini memetakan masing-masing ke solusinya.
Pencarian Cepat: Kode → Arti → Solusi
Nomor dan nama konstanta mengikuti referensi resmi MQL5 (kode balasan server trading dan runtime error).
Retcode trading (MqlTradeResult.retcode)
| Kode | Konstanta | Arti | Solusi | Detail |
|---|---|---|---|---|
| 10004 | TRADE_RETCODE_REQUOTE | Requote — harga bergerak sebelum eksekusi | Perlebar deviasi yang diizinkan, atau kirim ulang pada harga terbaru | Off quotes & requote |
| 10006 | TRADE_RETCODE_REJECT | Permintaan ditolak | Biasanya karena spread lebar atau pasar bergerak cepat; biarkan EA mencoba lagi pada tick berikutnya | — |
| 10013 | TRADE_RETCODE_INVALID | Permintaan tidak valid | Salah satu field permintaan (action, tipe order, simbol) keliru; validasi dengan OrderCheck() sebelum mengirim | — |
| 10014 | TRADE_RETCODE_INVALID_VOLUME | Volume tidak valid dalam permintaan | Bulatkan lot ke minimum, maksimum, dan step simbol (SYMBOL_VOLUME_MIN / MAX / STEP) | — |
| 10015 | TRADE_RETCODE_INVALID_PRICE | Harga tidak valid dalam permintaan | Normalisasi harga ke jumlah digit dan tick size simbol; pastikan pending order berada di sisi pasar yang benar | — |
| 10016 | TRADE_RETCODE_INVALID_STOPS | Stop tidak valid dalam permintaan | Jaga SL/TP lebih jauh dari stops level broker dan di sisi harga yang benar | Invalid stops |
| 10017 | TRADE_RETCODE_TRADE_DISABLED | Trading dinonaktifkan | Periksa trade mode simbol di Specification dan pastikan Anda login dengan password trading (bukan investor); jika tidak, tanyakan ke broker | — |
| 10018 | TRADE_RETCODE_MARKET_CLOSED | Pasar tutup | Tunggu sesi trading simbol tersebut dibuka | Pasar tutup |
| 10019 | TRADE_RETCODE_NO_MONEY | Dana tidak cukup untuk menyelesaikan permintaan | Kurangi ukuran lot, tutup posisi, atau tambah deposit | Dana tidak cukup |
| 10021 | TRADE_RETCODE_PRICE_OFF | Tidak ada kuotasi untuk memproses permintaan | Periksa koneksi dan apakah simbol sedang memiliki kuotasi, lalu coba lagi | Off quotes & requote |
| 10026 | TRADE_RETCODE_SERVER_DISABLES_AT | Autotrading dinonaktifkan oleh server | Broker memblokir trading algoritmik di akun ini; hubungi broker | AutoTrading nonaktif |
| 10027 | TRADE_RETCODE_CLIENT_DISABLES_AT | Autotrading dinonaktifkan oleh terminal klien | Nyalakan tombol Algo Trading dan izinkan algo trading di Options serta di properti EA | AutoTrading nonaktif |
| 10030 | TRADE_RETCODE_INVALID_FILL | Tipe filling order tidak valid | Atur type_filling ke mode yang didukung simbol (FOK / IOC / Return) | Mode filling tidak didukung |
| 10031 | TRADE_RETCODE_CONNECTION | Tidak ada koneksi dengan server trading | Periksa status bar koneksi, jaringan VPS, dan status server broker | — |
Runtime error (GetLastError())
| Kode | Konstanta | Arti | Solusi | Detail |
|---|---|---|---|---|
| 4001 | ERR_INTERNAL_ERROR | Error internal tak terduga | Tidak spesifik pada satu penyebab: panggil ResetLastError() sebelum fungsi yang sedang Anda periksa, lalu restart atau perbarui terminal jika masih berlanjut | — |
| 4401 | ERR_HISTORY_NOT_FOUND | Riwayat yang diminta tidak ditemukan | Panggil HistorySelect() untuk periode yang memuat deal atau order tersebut sebelum membacanya | — |
| 4752 | ERR_TRADE_DISABLED | Trading oleh Expert Advisor dilarang | Nyalakan Algo Trading dan centang "Allow Algo Trading" di properti EA | AutoTrading nonaktif |
| 4756 | ERR_TRADE_SEND_FAILED | Pengiriman permintaan trading gagal | OrderSend() mengembalikan false; baca MqlTradeResult.retcode untuk mengetahui alasan sebenarnya (sering kali 10027, 10030, atau 10016) | — |
Pindah dari MT4? MT4 memakai nomor yang berbeda, kebanyakan 3 digit, untuk situasi yang sama (134, 130, 132, 136, 4109 …). Setiap bagian di bawah mencantumkan padanannya di MT4, diambil dari referensi resmi MQL4. Perlu dicatat bahwa di MT5 nomor 4109 berarti ERR_CHART_WRONG_PROPERTY (error chart), bukan error trading.
Cara Memeriksa Tab Experts
Klik tab Experts di bagian bawah MT5 untuk melihat log kronologis seluruh aktivitas EA.
Format log:
2026.05.18 10:00:01.234 GOLD VIPER XAUUSD,M30: [ERROR] 10016
Waktu Nama EA Simbol Timeframe Pesan
Jika muncul error, gunakan nomor kodenya untuk mencari penyebabnya di tabel di atas.
Kode Error yang Sering Muncul dan Cara Mengatasinya
10019 — Dana tidak cukup (TRADE_RETCODE_NO_MONEY)
Padanan di MT4: 134 ERR_NOT_ENOUGH_MONEY. ERR_NO_MONEY adalah sebutan singkat yang banyak dipakai untuk situasi yang sama.
Contoh pesan: "Order failed: not enough money"
"No money"
Penyebab: Margin tidak mencukupi — EA tidak dapat membuka posisi baru.
Cara mengatasi:
- Periksa margin level saat ini di tab Trade MT5
- Jika margin mendekati atau di bawah 100%, pertimbangkan untuk menambah deposit
- Turunkan pengaturan
RiskPercentpada EA untuk memperkecil ukuran posisi - Tutup sebagian posisi terbuka secara manual untuk membebaskan margin
📖 Untuk mengetahui mengapa error ini muncul padahal saldo terlihat cukup, serta kode MQL5 yang mencegahnya, lihat Not enough money di MT5 — penyebab dan solusinya.
10027 — AutoTrading dinonaktifkan oleh klien (TRADE_RETCODE_CLIENT_DISABLES_AT)
Runtime error MT5 terkait: 4752 ERR_TRADE_DISABLED. Padanan di MT4: 4109 ERR_TRADE_NOT_ALLOWED.
Contoh pesan: "AutoTrading disabled by client"
"Trade is not allowed"
Penyebab: Trading otomatis dimatikan di MT5.
Cara mengatasi:
- Klik tombol Algo Trading di toolbar MT5 untuk mengaktifkannya (tombol akan berubah hijau)
- Buka Tools → Options → Expert Advisors → aktifkan Allow Algo Trading, lalu restart MT5
Error ini sering terjadi saat MT5 menyala otomatis setelah VPS di-reboot.
📖 Untuk rantai izin selengkapnya (pengaturan Options, Allow Algo Trading per chart, password investor, serta perbedaan 10027 dan 10026), lihat AutoTrading disabled di MT5 — solusi lengkap.
10018 — Pasar tutup (TRADE_RETCODE_MARKET_CLOSED)
Padanan di MT4: 132 ERR_MARKET_CLOSED.
Contoh pesan: "Market closed"
Penyebab: EA mencoba masuk posisi di luar jam pasar (akhir pekan atau hari libur).
Cara mengatasi: Tidak perlu tindakan. Pasar tutup selama akhir pekan, dan setiap percobaan entry dalam rentang waktu itu menghasilkan error ini; EA akan lanjut otomatis saat pasar dibuka kembali.
📖 Muncul pada hari kerja? Sesi trading simbol, waktu server, dan mode close-only dibahas di Market closed (10018/132) — penyebab dan solusinya.
10016 — Stop tidak valid (TRADE_RETCODE_INVALID_STOPS)
Padanan di MT4: 130 ERR_INVALID_STOPS.
Contoh pesan: "Invalid stops"
Penyebab: Nilai SL (stop loss) atau TP (take profit) melanggar ketentuan stop level minimum dari broker.
Cara mengatasi:
- Periksa stop level broker (jarak SL minimum): klik kanan simbol di MT5 → Specification → cari kolom Stops level
- Pastikan jarak SL pada EA lebih besar dari stop level tersebut
- Error ini paling sering terjadi pada periode volatilitas rendah ketika nilai ATR sangat kecil
📖 Untuk cara kerja stop level yang sebenarnya, perbedaan 10016 dan 130, serta kode MQL5 yang mencegahnya secara permanen, lihat Invalid stops (10016/130) — solusi lengkap.
10021 — Tidak ada kuotasi (TRADE_RETCODE_PRICE_OFF)
Padanan di MT4: 136 ERR_OFF_QUOTES.
Contoh pesan: "Off quotes"
Penyebab: Tidak ada kuotasi harga yang diterima dari server broker — masalah konektivitas.
Cara mengatasi:
- Periksa status koneksi di status bar MT5 di bagian bawah layar
- Jika terputus, restart MT5
- Cek halaman status server broker untuk melihat adanya gangguan
- Pastikan koneksi jaringan pada VPS Anda berjalan
📖 Untuk perbedaannya dengan requote (10004/138), penyetelan deviasi, dan implementasi retry, lihat Off quotes & requote (10021/10004) — solusi lengkap.
📖 Mendapat Unsupported filling mode (10030) tepat setelah pindah broker? Itu masalah yang berbeda — lihat Unsupported filling mode (10030) — cara memperbaikinya.
10012 — Permintaan timeout (TRADE_RETCODE_TIMEOUT)
Padanan di MT4: 128 ERR_TRADE_TIMEOUT.
Contoh pesan: "Request canceled by timeout"
Penyebab: Order mengalami timeout karena server padat atau latensi jaringan.
Cara mengatasi:
- Paling sering terjadi sesaat setelah rilis berita besar ketika beban server tinggi
- EA umumnya akan mencoba lagi pada tick berikutnya — tidak perlu tindakan
- Jika sering terjadi, tinjau lingkungan jaringan VPS Anda atau pertimbangkan broker lain
10006 — Permintaan ditolak (TRADE_RETCODE_REJECT)
Contoh pesan: "Request rejected"
Penyebab: Broker menolak order — biasanya karena spread melebihi batas atau harga bergerak terlalu cepat.
Cara mengatasi:
- Tinjau pengaturan
MaxSpreadPoints; error ini umum terjadi saat spread melebar signifikan - Selama dan sesaat setelah rilis berita, ini adalah perilaku yang wajar — boleh diabaikan
- Jika sering terjadi, naikkan sedikit nilai
MaxSpreadPoints
"Margin level too low"
Contoh pesan: "Margin level too low. Skip signal."
Penyebab: Pengaturan UseMarginCheck = true pada EA mendeteksi margin level turun di bawah MinMarginLevel (misalnya 200%), sehingga entry baru diblokir secara otomatis.
Cara mengatasi:
- Ini perilaku proteksi yang normal — bukan error
- Entry akan berlanjut otomatis setelah margin level pulih
- Solusi mendasar: tambah deposit atau turunkan
RiskPercent
"No signal on this bar" atau "Wait for next bar"
Ini bukan error — ini entri log debug.
"No signal. ATR=1245, EMA(50)=1998.23"
EA mengevaluasi chart pada setiap bar dan mencatat log ketika kondisi entry tidak terpenuhi. Ini operasi normal.
Klasifikasi Prioritas Error
| Prioritas | Error | Tindakan |
|---|---|---|
| Darurat | 10019 Dana tidak cukup (MT4: 134) | Segera tambah deposit atau kurangi ukuran lot |
| Darurat | 10027 AutoTrading nonaktif / 4752 (MT4: 4109) | Aktifkan Algo Trading |
| Perhatian | 10016 Stop tidak valid (MT4: 130) | Tinjau pengaturan SL |
| Perhatian | 10030 Tipe filling tidak valid | Atur mode filling yang didukung simbol |
| Perhatian | 10021 Tidak ada kuotasi (MT4: 136) berulang | Periksa koneksi |
| Normal | 10018 Pasar tutup (MT4: 132) hanya akhir pekan | Tidak perlu tindakan |
| Normal | 10012 Timeout (MT4: 128) sesekali | Tidak perlu tindakan |
| Normal | Margin level too low | Proteksi normal saat margin rendah |
Cara Efisien Membaca Tab Experts
Memfilter Log
Klik kanan di dalam tab Experts dan pilih Filter untuk menampilkan log EA atau jenis error tertentu saja.
Lokasi File Log
File log MT5 disimpan di sini:
C:\Users\[NamaUser]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Logs\
File dibuat otomatis berdasarkan tanggal. Buka folder ini saat menginvestigasi error.
Ringkasan
Sebagian besar error EA masuk ke dalam empat kategori:
- Margin tidak cukup (10019) — Tambah deposit atau kurangi ukuran lot
- AutoTrading mati (10027 / 4752) — Klik tombol Algo Trading untuk mengaktifkannya
- Masalah koneksi (10021 / 10031) — Restart MT5 atau periksa jaringan VPS
- Perilaku normal — Tidak perlu tindakan (pasar tutup akhir pekan, penghindaran spread, dll.)
Biasakan memeriksa tab Experts setiap hari agar Anda dapat segera menangkap error kritis (10019 dan 10027) sebelum menimbulkan masalah.
FAQ
T: Di mana saya bisa mencari kode error?
Referensi resmi MQL5 mencantumkan semua kode: kode balasan server trading untuk rentang 10004–10046 dan runtime error untuk rentang 4xxx. Anda juga dapat mencarinya lewat bantuan bawaan MT5 (tekan F1).
T: Apa perbedaan antara retcode dan GetLastError()?
Retcode (10004–10046) adalah jawaban server trading atas sebuah order dan disimpan di MqlTradeResult.retcode. GetLastError() mengembalikan runtime error dari program MQL5 itu sendiri (4xxx dan 5xxx). Ketika OrderSend() gagal, Anda sering mendapat keduanya: 4756 dari GetLastError() ditambah retcode yang memberi tahu alasan sebenarnya.
T: Haruskah saya menghentikan EA jika error sering muncul?
Jika 10018 (pasar tutup) atau 10012 (timeout) muncul sesekali, EA tidak perlu dihentikan. Namun, jika 10019 (dana tidak cukup) berulang, jeda EA, tinjau kondisi margin Anda, lalu jalankan kembali setelah teratasi.
T: Saya melihat error "Invalid account".
Kredensial login MT5 Anda (nama server, login ID, atau password) mungkin salah. Buka File → Open an Account untuk login ulang.
T: Tidak ada error yang tampil, tetapi EA tidak membuka posisi.
Jika tidak ada error dan tidak ada entry, EA hanya sedang menunggu kondisi entry-nya terpenuhi — ini sepenuhnya normal. EA tidak entry di setiap candle; EA hanya entry ketika semua kondisi selaras. Beri waktu. EA H1 yang entry satu sampai tiga kali per hari beroperasi secara normal.
Terkait
📧 Kursus email gratis (8 email) + paket 13 indikator MT5 khusus pelanggan
Segera setelah mendaftar, Anda menerima tautan unduhan paket khusus pelanggan berisi 13 indikator MT5 kami: file terkompilasi (.ex5), kode sumber, dan panduan pemasangan. Lalu 8 email tentang dasar-dasar trading algoritmik, cara membaca backtest dengan benar, dan memilih broker (satu per hari selama 5 hari pertama, lalu 7, 14, dan 30 hari setelah mendaftar). Anda juga mendapat pemberitahuan sebelum setiap kenaikan harga versi yang dijual di MQL5 Market (harga peluncuran yang naik bertahap seiring penjualan). Di situs ini EA kami gratis dengan akun riil di broker mitra.
* Privasi sangat dilindungi. Anda dapat berhenti berlangganan kapan saja.
Punya pertanyaan tentang EA atau Forex?
Anda bisa mengajukannya di forum trading Nattzy (daftar gratis). Pertanyaan di luar artikel ini juga dipersilakan — pengaturan EA, memilih broker, dan lainnya.
Tanya di Nattzy ↗