MQL4 menyokong tujuh jenis data dalam program ini. Setiap jenis dikaitkan dengan tugas yang berbeza perdagangan yang pengaturcara perlu melakukan. Matlamat artikel ini adalah untuk menyediakan satu rujukan ringkas apabila menggunakan setiap jenis data.
Dua jenis data mungkin jenis yang paling biasa ditemui dalam program MQL. Ini kerana ia adalah jenis yang bertanggungjawab untuk mengira nombor titik terapung. Katakanlah misalnya, bahawa penasihat pakar perlu untuk menentukan bila untuk menyesuaikan trailing stop. Penasihat pakar kelihatan pada harga semasa dan menolak ia daripada stop loss semasa untuk mengekalkan jarak yang sesuai (1.3230-1.3209= 0,0021). Jarak memerlukan titik perpuluhan. Apabila penasihat pakar menjimatkan jarak ke memori, yang diperlukan untuk menyimpan maklumat yang selepas titik perpuluhan. Yang memaksa programmer untuk memilih pembolehubah jenis double.
Integer, atau int, adalah versi yang lebih mudah daripada dua. Nilai Double memerlukan tempat perpuluhan untuk memegang nilai nombor dengan tepat. Integer, atau jumlah keseluruhan, tidak mempunyai tempat perpuluhan. Integer sewajarnya digunakan apabila programmer MQL tahu melalui fakta tertentu yang jumlah tidak akan mengandungi perpuluhan. Satu contoh ialah jika anda mahu untuk melaksanakan dagangan max menampilkan. Jika jumlah dagangan terbuka di dalam akaun orang melebihi bilangan tertentu, kemudian menghalang perdagangan. Kita tahu terlebih dahulu bahawa tidak ada perkara seperti di 4.76 perdagangan yang terbuka. Hanya ada 4 perdagangan terbuka atau 5 perdagangan terbuka. Ini jelas menunjukkan keperluan untuk menggunakan integer.
Nilai datetime hanya apa yang mereka bunyi seperti. Mereka mewakili kedua-dua tarikh dan masa. Lebih khusus lagi, pembolehubah datetime mewakili bilangan saat yang telah berlalu sejak Januari 1, 1970. Ini adalah di mana ia mendapat rumit sedikit. Bilangan saat yang berlalu sebenarnya integer. Datetimes nilai integer kedai tetapi kemudian mengaitkannya dengan tarikh dan masa.
Satu nilai 0 menunjukkan bahawa masa adalah 00:00 pada Januari 1, 1970. Satu nilai 60 berdiri selama satu minit kemudian di 00:01 1/1/1970, dan sebagainya. Satu manfaat mengetahui bahawa maklumat jenis kedai datetime sebagai integer adalah bahawa anda boleh dengan mudah menentukan jumlah masa yang berlaku antara acara. Jika sekiranya daftar masuk bermula pada 15:35 dan berakhir di 18:12, anda hanya boleh menolak 18:12 – 15:35 dan menggulung dengan bilangan saat antara nilai-nilai. Maklumat yang kemudiannya boleh digunakan untuk menentukan jumlah minit / jam / hari antara kedua-dua acara.
Jenis data warna, tidak menghairankan, memegang maklumat warna seperti hitam, kuning, merah dan sebagainya. Sama seperti jenis datetime, warna juga menggunakan integer simpan maklumat itu. Perbezaannya, walaupun, ialah mengekstrak maklumat warna daripada integer adalah tidak di semua jelas. Meningkatkan jenis warna dari 32768 oleh seseorang tidak semestinya membuat ia lebih atau kurang hijau. Warna menggunakan maklumat integer untuk mengambil merah, komponen hijau dan biru warna dalam format perenambelasan. Menjelaskan hexadecimals dengan baik di luar skop artikel ini. Ia tidak mungkin untuk datang dalam pengaturcaraan MQL anda. Saya telah melakukan ini selama lebih lima tahun dan hanya terjumpa satu projek yang memerlukan memanipulasi warna dengan cara yang lebih rumit daripada seli antara dua set warna.
Rentetan A adalah apa-apa yang menyerupai perkataan atau ayat. Ia selalu menggunakan petikan mengandungi maklumat yang. Penggunaan kegemaran saya tali adalah untuk mengumpul maklumat untuk dipaparkan pada carta atau dalam fail log setiap kali saya perlu debug penasihat pakar.
Char adalah jenis data terakhir. Ia begitu berkait rapat dengan rentetan yang saya tidak menyedari jenis ini wujud sehingga saya melihat ke atas maklumat untuk artikel ini. Jika kita mengkaji perkataan “perdagangan”, maka kita akan mendapati bahawa ia terdiri daripada lima watak t, r, yang, d dan e.
Satu nota terakhir pada jenis data. Terdapat dua cara yang jenis diadakan dalam ingatan. Pembolehubah Luaran adalah salah satu yang akan kelihatan di skrin input apabila penasihat pakar atau beban penunjuk. Pembolehubah statik adalah bertentangan dengan. Mereka kekal di dalam program MQL dan di luar tidak pernah dilihat daripadanya.
George Tereshko berkata
With the advent of MQL5 we have to reconsider and reevaluate our ammo, MQL4 is still alive and well and dominates, but new data types (from version 5) are already in use. Please review, terima kasih.
Shaun Overton berkata
I’ll try to keep it mind, but there’s just not enough demand for MT5 to make the effort.