Magic Number adalah bilangan bulat yang ditulis Expert Advisor ke order MT4 ketika transaksi dibuat. EA kemudian dapat memindai order terbuka dan historis, menemukan pengenalnya sendiri, dan menentukan posisi yang boleh dikelolanya.
Fungsi Magic Number
Nomor ini tidak membuat transaksi menguntungkan, membatasi drawdown, atau melisensikan akun. Tujuannya bersifat operasional: memisahkan satu strategi otomatis dari strategi lain dan, jika kode ditulis dengan benar, mencegah EA mengubah order yang tidak terkait.
Ukuran posisi, Stop Loss, korelasi, dan drawdown maksimum tetap memerlukan pengendalian risiko yang terpisah.
Alur kerja order
Gunakan bilangan bulat unik yang didokumentasikan untuk setiap strategi independen. Pertahankan nilai yang sama saat memulai ulang MT4 atau memindahkan instalasi yang sama ke VPS. Sufiks simbol sendiri tidak memerlukan Magic Number baru, tetapi instans strategi terpisah biasanya memerlukannya. Jika vendor menyediakan nilai tetap atau menyembunyikan input, ikuti rancangan tersebut alih-alih memaksakan penggantian.
Pilih model kepemilikan order
Baca petunjuk vendor terlebih dahulu. Sebagian EA mengharapkan satu Magic Number tetap, sementara sistem portofolio sengaja menggunakan nomor yang sama pada beberapa chart.
Catat setiap penetapan
Buat tabel sederhana berisi terminal, akun, EA, simbol, timeframe, dan Magic Number. Hal ini lebih andal daripada mencoba mengingat beberapa instalasi.
Tetapkan nilai sebelum pemasangan pada chart
Masukkan nomor pada Inputs EA sebelum penggunaan live. Jangan menyalin file set tanpa memeriksa jika EA lain sudah menggunakan nomor yang sama.
Pertahankan selama transaksi terbuka
Jika posisi aktif, jangan mengubah pengenal kecuali pengembang memberikan prosedur migrasi. Instans baru mungkin tidak lagi mengenali basket yang sudah ada.
Konflik umum
| Skenario | Penetapan yang disarankan | Risiko jika tertukar |
|---|---|---|
| Satu EA pada satu chart | Satu nomor stabil untuk instans strategi tersebut | Mengubahnya saat transaksi terbuka dapat membuat posisi tidak dikenali |
| EA yang sama pada dua pasangan | Nomor berbeda per simbol, kecuali vendor menyatakan sebaliknya | EA dapat menggabungkan basket atau menutup kelompok simbol yang salah |
| Dua EA berbeda | Nomor unik untuk setiap EA | Kedua program dapat mencoba mengelola order yang sama |
| Transaksi manual | Biasanya Magic Number 0 | EA yang dikodekan untuk mengelola 0 dapat memengaruhi order manual |
Kesalahan umum
Pengaturan yang aman
Periksa cakupan kepemilikan order EA yang didokumentasikan sebelum memilih pengenal. Sebagian program menyaring berdasarkan Magic Number dan simbol; EA portofolio mungkin sengaja mengelola beberapa simbol bersama. Pengenal hanya berfungsi ketika kode memeriksa cakupan yang dimaksud sebelum mengubah atau menutup order.
Jangan menggunakan komentar order sebagai kunci kepemilikan. Komentar dapat diubah oleh server, dan Magic Number 0 umumnya digunakan untuk order manual. Verifikasi field magic sebenarnya dengan skrip atau laporan diagnosis tepercaya, bukan hanya komentar yang ditampilkan.
Cara memverifikasi
Magic Number tidak mengunci terminal lain
Dua terminal yang login ke akun yang sama dapat membaca dan bertindak pada kumpulan order yang sama. Magic Number yang sama tidak membuat mutex di sisi server atau menetapkan satu terminal sebagai pemilik. Bahkan pengenal berbeda tidak mencegah dua salinan membuka eksposur strategi ganda jika keduanya mendeteksi sinyal yang sama secara independen.
Pertahankan satu instans trading yang dimaksud untuk suatu deployment, kecuali pengembang secara eksplisit mendukung koordinasi. Saat memindahkan ke VPS, pertahankan pengenal yang diperlukan untuk mengenali posisi terbuka, hentikan instans lama, dan pastikan instans baru mengelola posisi tersebut. Jangan mengubah pengenal basket live untuk mengatasi masalah terminal ganda.
Referensi OrderSend menjelaskan field magic sebagai pengenal yang ditentukan pengguna dan menyatakan bahwa server dapat mengubah bagian akhir komentar order.