Creation of a Normal Program

By | 10/09/2019

Sebagai peraturan, setelah mengodkan beberapa program aplikasi mudah dalam MQL4, seorang pengaturcara pergi ke projek yang lebih kompleks – untuk mencipta program mudah untuk kegunaan praktikal. Program mudah, dalam beberapa keadaan, tidak memenuhi keperluan seorang pengaturcara perdagangan sekurang-kurangnya dua sebab:

  1. Keterbatasan fungsi program mudah tidak membenarkan mereka memberikan pedagang dengan semua maklumat pengurusan maklumat dan perdagangan yang diperlukan, yang tidak membuat penggunaan program tersebut cukup cekap.
  2. Ketidaksempurnaan kod program mudah menjadikan pembangunan lebih lanjut mereka bertujuan untuk memperluaskan perkhidmatan

Dalam bahagian ini, kami mewakili salah satu kemungkinan alternatif untuk merealisasikan Penasihat Pakar perdagangan yang boleh dianggap sebagai asas bagi projek anda sendiri.

Struktur Program Biasa

Ketersediaan banyak fungsi yang ditetapkan pengguna dalam program membolehkan anda membuat algoritma yang kuat dan fleksibel untuk memproses maklumat. Arahan kompilasi #include membolehkan anda menggunakan fungsi anda (sekali ditulis dan dibahaskan) dalam program lain. Dengan cara ini, anda boleh membuat perpustakaan anda sendiri atau menggunakan perkembangan sumber terbuka dari pengaturcara lain.

Perintah

Bahagian ini menimbangkan contoh fungsi pengguna yang ditakrifkan Terminal () yang direalisasikan dalam fail yang berasingan termasuk dengan sambungan .mqh. Fail sedemikian disambungkan ke kod program semasa penyusunan menggunakan arahan #include .

Fungsi Data

Contoh satu fungsi yang lebih jelas pengguna yang membantu mengatur keluaran maklumat teks mengenai kerja semasa EA. Fungsi ini membolehkan anda meninggalkan fungsi Comment () untuk memaparkan teks dalam tetingkap carta. Fungsi ini direalisasikan sebagai penunjuk dalam subwindow berasingan pada tetingkap carta.

Fungsi Penjejakan Acara

Seorang pedagang tidak boleh selalu melihat semua peristiwa semasa berdagang. Program yang ditulis dalam MQL4 membolehkan anda mengesan perubahan dalam sebarang keadaan atau situasi dagangan. fungsi yang ditetapkan pengguna Peristiwa () menghubungkan kepada EA menggunakan arahan #include dan memohon panggilan ke fungsi lain termasuk, Memaklumkan ().

Fungsi Menentukan Volum

Pengiraan jumlah jawatan yang akan dibuka adalah salah satu tugas pengurusan ekuiti / risiko. Fungsi yang ditentukan oleh pengguna Lot () adalah contoh kecil yang digunakan untuk tujuan ini.

Kriteria Perdagangan Menentukan Fungsi

Bahagian yang paling penting dalam mana-mana perdagangan adalah pengesanan masa memasuki pasaran dan penutupan kedudukan. Penciptaan peraturan atau kriteria perdagangan adalah inti dari mana-mana Penasihat Pakar. Kriteria fungsi yang ditentukan pengguna disambungkan dengan menggunakan #include arahan. Ia menunjukkan bagaimana EA boleh menentukan berdasarkan nilai penunjuk tentang sama ada situasi semasa mematuhi satu atau satu lagi kriteria.

Fungsi Perdagangan

Keadaan semasa telah dianalisis dengan fungsi Kriteria (), jadi sekarang kita perlu membuat perdagangan: buka, tutup, ubah suai atau padamkan pesanan yang belum selesai. Semua operasi ini boleh dimasukkan ke dalam fungsi yang ditentukan pengguna berasingan: Perdagangan (), Close_All () dan Open_Ord (). Pesanan berhenti melindungi dipindahkan menggunakan fungsi yang ditetapkan pengguna Tral_Stop ().

Fungsi Kesalahan Pemprosesan

Kawalan ralat adalah sebahagian daripada Penasihat Pakar. Inilah yang menentukan cara memproses mesej tentang konteks perdagangan yang sibuk, tentang harga tidak untuk simbol yang diminta, dan sebagainya. Dalam beberapa kes, sudah memadai untuk memaparkan pesan tentang kesalahan. Dalam kes lain, adalah munasabah untuk mencuba dan mengulangi permintaan perdagangan selepas masa tertentu. Adalah perlu untuk menentukan bagaimana satu atau satu lagi kesilapan akan diproses. Kesalahan fungsi yang ditentukan pengguna () yang ditunjukkan dalam bahagian ini memproses kesilapan menggunakan suis pengendali pemilihan ().

Leave a Reply

Your email address will not be published. Required fields are marked *