Apabila anda mahu program Penasihat Pakar, ia adalah penting untuk mempertimbangkan bagaimana anda mungkin menggunakan fail. Kesilapan yang biasa yang saya lihat baru Pengaturcara MQL membuat adalah bahawa mereka banyak bergantung harap kepada ingatan. Acara seperti kegagalan kuasa, kerosakan cakera keras atau sambungan internet yang lemah boleh melampiaskan malapetaka apabila berdagang seorang Penasihat Pakar. EA ideal harus dapat mengambil dan menjalankan setiap kali anda mampu untuk memulihkan keadaan kepada normal.
Isu memori
Masalah kadang-kadang disebabkan oleh sesuatu yang biasa seperti menukar tetapan. Saya belajar bahawa cara yang sukar apabila pelanggan datang kepada kami Pejabat Dallas selama dua minggu untuk memesan EA sangat kompleks. Semua bekerja dengan sempurna dalam ujian kembali. Ujian semalaman, Walau bagaimanapun, pernah berlangsung selama lebih daripada beberapa jam sebelum sesuatu pergi Kusut. Saya mengarahkan pelanggan untuk tidak menukar tetapan; hanya hidupkannya dan biarkan dia bersendirian. Untuk apa-apa sebab, kepentingan arahan yang tidak pernah tenggelam dalam. Saya mengambil masa lama untuk menyedari bahawa definisi beliau “meninggalkannya seorang diri” tidak cukup dengan jaringan saya. Tweak sedikit bahawa dia dibuat dalam perdagangan merosakkan dengan tetapan yang saya disimpan dalam memori.
Saya boleh mengarahkan pelanggan untuk menggunakan perisian dalam cara yang tertentu. Lebih sering daripada tidak, mereka menyimpang dari penggunaan ke tahap yang tertentu. Ia adalah sifat manusia. Saya belajar daripada cabaran-cabaran, seperti mana-mana profesional perlu. Kami pengaturcaraan template berubah dalam struktur untuk mengurangkan keperluan untuk arahan khas.
Pembolehubah Global
Pembolehubah global adalah alat yang biasa untuk mengelakkan isu bergantung kepada memori. Apabila EA dikeluarkan daripada carta, pembolehubah global bahawa ia dicipta boleh diakses untuk anda, EA EA atau mana-mana lain untuk membaca dari mana-mana bahagian dalam MetaTrader.
Walaupun penggunaan pembolehubah global bunyi canggih, ia sebenarnya satu pendekatan yang mudah. MetaTrader mengekalkan fail teks tersembunyi di dalam direktori pemasangan dengan nama pembolehubah, nilai yang ia menyimpan dan masa ia diubah buat kali terakhir. Bila-bila masa lebih daripada 6 minggu berlalu sejak kali terakhir MQL menggunakan pembolehubah global, MetaTrader automatik memadam ia.
A Martingale sistem mungkin memilih untuk menggunakan pembolehubah global untuk mengesan statistik yang mudah. Martingales adalah liar dengan pendekatan mereka kepada risiko, jadi peniaga yang realistik boleh ingin tahu sepintas lalu tahap maksimum yang diniagakan. Pembolehubah global membuat tugas yang remeh daripada keperluan itu. Jika tahap yang seterusnya untuk perdagangan adalah lebih besar daripada yang berubah-ubah global, maka Kod MQL perlu mengemaskini ubah global.
Satu-satunya perkara yang perlu diingat ialah bahawa pembolehubah global tamat selepas enam minggu. EA mungkin perlu untuk muat semula maklumat dengan menetapkan semula nilai global kepada nilai semasa. Berbuat demikian akan menyimpan segar yang berubah-ubah dari perspektif MetaTrader ini.
Baca maklumat dan bukannya menyimpannya
Saya lebih suka bergantung kepada MQL'S OrderSelect() arahan untuk mencipta apa sahaja maklumat yang saya perlukan. Walaupun ia adalah lebih kompleks, kelebihan adalah bahawa EA boleh berfungsi bila-bila masa, mana-mana tempat, betul-betul seperti yang direka bentuk. Jika kemalangan cakera keras, ia bukan satu masalah dari perspektif pemulihan. Anda masih menghadapi masalah dalam masa yang turun, walaupun. Anda boleh memuatkan EA yang sama pada akaun MT4 anda dan telah ia segera membina semula maklumat.
Mengambil di atas Martingale senario, kita boleh membina semula bilangan peringkat yang diniagakan dengan membandingkan kali membuka dan menutup dagangan. Jika perdagangan #1 mempunyai masa yang terdekat 2011 Disember. 5 00:00 dan perdagangan #2 juga mempunyai masa yang terdekat 2011 Disember. 5 00:00, ia memberitahu kita bahawa mereka adalah sebahagian daripada kumpulan perdagangan yang sama. Setakat ini, kita mempunyai 2 tahap yang diniagakan. Jika perdagangan #5 ditutup pada 2011 Disember. 5 00:00 tetapi tiada posisi lakukan selepas itu, maka kita tahu bahawa kita diniagakan 5 tahap total. EA boleh maka gelung melalui semua kemungkinan kombinasi dan memilih yang paling banyak dari yang.
Pendekatan membaca dari sejarah perintah itu adalah sedikit pembunuhan besar-besaran bagi contoh mudah ini, tetapi ia amat berguna apabila anda perlu untuk mengira maklumat lebih rumit dan dinamik dengan risiko yang minimum kesilapan.
tinggalkan balasan