Penanganan kesalahan trading
Pahami eksekusi, order tertunda, dan penolakan broker. Baca hasil sebelum mengirim transaksi berikutnya.
Panduan tertulis
- 0:00
Penanganan kesalahan trading
Tutorial ini menjelaskan hasil dan kesalahan trading MT5. Kita akan membedakan eksekusi penuh, eksekusi sebagian, order tertunda, penolakan broker, dan hasil yang belum pasti.
- 0:15
Buka panduan metode trading
Buka em ti lima titik em er pe ce titik pro. Pilih Order Send pada bantuan trading, lalu perluas panduan di bawah contoh kode. Untuk metode trading lain, buka panduan metode tersebut.
- 0:33
1. Periksa kode status HTTP
Pertama, periksa kode status HTTP. Kode status HTTP dua ratus berarti API menerima permintaan dan mengembalikan respons. Berikutnya, baca isi JSON. Untuk kode lain, periksa kesalahan HTTP dan isi respons terlebih dahulu.
- 0:55
2. Periksa error dan rincian broker
Jika error tidak null, baca errorCode dan errorMessage. Jika tersedia, baca juga mqlErrorTradeIntCode dan penjelasannya. Penolakan broker bisa muncul dalam struktur error ini. Gunakan kode yang sebenarnya untuk menentukan perbaikan.
- 1:17
3. Baca hasil dari broker
Pada permintaan trading, kode status HTTP dua ratus tanpa kesalahan API berarti permintaan telah disampaikan ke broker. Ini belum berarti order tereksekusi. Baca returnedCode, returnedStringCode, dan hasil khusus metode tersebut di dalam data.
- 1:39
Order pasar: penuh atau sebagian?
Untuk Buy atau Sell pasar, sepuluh ribu sembilan, Done, berarti selesai. Sepuluh ribu sepuluh, Done Partial, berarti hanya sebagian tereksekusi. Baca volume, harga, dan transaksi eksekusi. Periksa posisi terbuka serta riwayat untuk mengetahui sisa order.
- 2:03
Order tertunda bukan eksekusi pasar
Untuk order pasar, sepuluh ribu delapan, Placed, berarti diterima untuk dieksekusi, belum konfirmasi eksekusi. Untuk order tertunda, Placed atau Done mengonfirmasi penempatan. Simpan data order dan periksa Opened Orders. Order masih menunggu harga pemicunya.
- 2:25
Pasar tutup berarti penolakan broker
Penolakan broker bisa berada dalam data meski error tidak ada. Sepuluh ribu delapan belas berarti pasar tutup. Tunggu sesi perdagangan simbol tersebut. Keberadaan data bukan bukti transaksi berhasil; kodenya menjelaskan hasil sebenarnya.
- 2:45
Perbaiki masalah yang dilaporkan
Jika dana kurang, kurangi volume atau sediakan margin bebas yang cukup. Untuk stop tidak valid, perbaiki harga dan jaraknya. Untuk volume tidak valid, ikuti ukuran dan kelipatan yang diizinkan. Jika tidak ada kuotasi, tunggu harga terbaru. Panduan menyandingkan kode dengan langkah berikutnya.
- 3:10
Waktu habis memerlukan pemeriksaan status
Waktu habis atau koneksi broker terputus dapat meninggalkan hasil yang belum pasti. Periksa order, posisi, dan riwayat sebelum mengirim ulang agar tidak membuat transaksi ganda. Kode broker yang sama dapat muncul dalam returnedCode pada data atau mqlErrorTradeIntCode pada error.
- 3:35
Penutupan dan perubahan punya aturan sendiri
Untuk Order Close, baca hasil penutupan lalu periksa posisi tersisa. Penutupan sebagian menyisakan volume. Untuk Order Modify, Done berarti diubah, sedangkan No Changes berarti nilai yang diminta sudah terpasang. Jangan menerapkan aturan Order Send pada semua metode.
- 3:59
Pemeriksaan awal tidak mengirim transaksi
Order Check berbeda dari Order Send. Baca kode hasil dan komentar di dalam mqlTradeCheckResult pada data. Kode nol dengan Done berarti pemeriksaan awal lolos, bukan order telah dibuat. Kirim transaksi secara terpisah dan periksa hasil eksekusinya.
- 4:21
Tiga pemeriksaan trading
Setiap transaksi perlu pemeriksaan kode status HTTP, error, dan hasil broker sesuai metodenya. Simpan pengenal order, transaksi eksekusi, atau posisi yang sesuai. Setelah waktu habis atau koneksi terputus, periksa status akun sebelum mengirim ulang.