MQL4 va MQL5 nima
MQL (MetaQuotes Language) MetaQuotes kompaniyasining dasturlash tili. Bu tilda MetaTrader platformalari uchun indikatorlar, savdo robotlari va skriptlar yoziladi.
- MQL4 nima: MetaTrader 4 uchun til. Sintaksisi C tiliga yaqin.
- MQL5 nima: MetaTrader 5 uchun til. U obyektga yo'naltirilgan dasturlashni (klasslar, merosxo'rlik) to'liqroq qo'llaydi va voqealar bilan ishlash modeli kengroq.
Bu tillarda yozilgan kod o'zaro to'liq mos emas. MQL4 dasturini MT5 da ishlatish uchun uni qayta yozish yoki moslashtirish kerak bo'ladi. Ayniqsa orderlar va pozitsiyalar bilan ishlash qismi farq qiladi. Platformalar orasidagi umumiy farqlar haqida MT4 va MT5 farqi sahifasida o'qing.
Real yoki demo hisobda sinab ko‘rishga tayyormisiz?
Hamkorlik havolasi · savdo yo‘qotishning yuqori riski bilan bog‘liq
MQL bilan nima yozish mumkin
| Dastur turi | Nima qiladi | Qachon ishlaydi |
|---|---|---|
| Indikator | Narx ma'lumotidan chiziq, gistogramma yoki belgi chizadi | Har bir yangi narx kelganda qayta hisoblanadi |
| Expert Advisor (EA) | Qoidalar asosida order ochadi, o'zgartiradi, yopadi | Grafikka biriktirilgan vaqt davomida |
| Skript | Bir martalik amalni bajaradi | Ishga tushirilganda, keyin to'xtaydi |
| Xizmat (faqat MQL5) | Grafikka bog'lanmagan holda fonda ishlaydi | Terminal ochiq turganda |
Expert Advisor savdo roboti degani. MT5 expert advisor qanday ulanishi va sozlanishi haqida Expert Advisor (EA) sahifasida batafsil yozilgan.
Yangi boshlovchi nimani avtomatlashtira oladi
Savdo qarorini emas, takrorlanadigan oddiy ishlarni avtomatlashtirishdan boshlash to'g'ri bo'ladi:
- belgilangan narx darajasiga yetganda ovozli yoki push xabar yuborish (narx signallari bilan solishtirib ko'ring);
- har bir yangi pozitsiyaga avtomatik stop loss qo'yish;
- grafikka kunlik yuqori va past narxni chizish;
- bir nechta pozitsiyani bir buyruq bilan yopadigan skript;
- spred yoki svop qiymatini grafik burchagida ko'rsatish (atamalar uchun treyding lug'ati sahifasiga qarang).
Bunday vazifalarda mantiq sodda bo'ladi, xatoni topish oson va zarar xavfi cheklangan.
O'rganish yo'li
- Asosiy tushunchalarni o'rganing. O'zgaruvchilar, shartlar, sikllar, funksiyalar. Boshqa tilda tajribangiz bo'lsa, bu bosqich tez o'tadi.
- MetaEditor bilan tanishing. Bu MetaTrader bilan birga keladigan kod muharriri. Odatda u terminal menyusidan yoki asboblar panelidagi tugmadan ochiladi. Menyu nomlari platforma versiyasiga qarab farq qilishi mumkin, shuning uchun o'zingizdagi build'ni tekshiring.
- Shablon yordamida yangi fayl yarating. MetaEditor ustasi indikator, EA yoki skript uchun tayyor karkas beradi.
- Voqea funksiyalarini tushuning. MQL5 da
OnInit,OnTick,OnCalculate,OnDeinitkabi funksiyalar dastur qachon nima qilishini belgilaydi. - Kompilyatsiya va xatolar. Kompilyator xato va ogohlantirishlarni ko'rsatadi. Ogohlantirishlarni ham e'tiborsiz qoldirmang.
- Strategiya testerida sinang. EA ni tarixiy ma'lumotda strategiya testeri orqali tekshiring, keyin demo hisobda kuzating.
- Hisob turini hisobga oling. MT5 da hedging va netting hisoblari pozitsiyalarni har xil yuritadi. Kod buni hisobga olishi kerak (hedging va netting).
Tajribali dasturchilar uchun: MQL5 da savdo so'rovi natijasini har doim tekshiring, requote va yetarli bo'lmagan marja holatlarini qayta ishlang, kontrakt spetsifikatsiyasidagi minimal lot va qadamni koddan oling. Qiymatlarni qo'lda yozib qo'ymang.
Tayyor kodni ko'chirib olish xavflari
Internetda tekin EA va indikatorlar ko'p. Ulardan foydalanishdan oldin quyidagilarni bilib qo'ying:
- Manba kodi yo'q fayl. Faqat kompilyatsiya qilingan fayl berilsa, uning ichida nima borligini tekshira olmaysiz.
- DLL importi. Tashqi kutubxonani chaqiradigan dastur kompyuteringizda MQL chegarasidan tashqaridagi amallarni bajarishi mumkin. Noma'lum manbadan kelgan dasturga DLL ruxsatini bermang.
- Hisob ma'lumotlarini so'rash. Login yoki parolni kiritishni talab qiladigan "robot" firibgarlik belgisi bo'lishi mumkin.
- Chiroyli test natijalari. Tarixga moslab haddan tashqari sozlangan (overfitting) strategiya real bozorda boshqacha ishlaydi.
- Eski kod. MQL4 kodi yoki eski build uchun yozilgan kod yangi versiyada xato berishi yoki noto'g'ri ishlashi mumkin.
EA xato qilsa, u buni tez va ko'p marta takrorlaydi. Leverajli CFD va forex savdosida bu qisqa vaqtda pul yo'qotishga olib kelishi mumkin. Robot riskni yo'qotmaydi, faqat uni avtomatlashtiradi. Batafsil: risklarni boshqarish.
Begona indikatorni ulash tartibi maxsus indikatorlar sahifasida, kompilyatsiya va ishga tushirish muammolari MetaTrader xatolari sahifasida yozilgan.
Tez-tez beriladigan savollar
MQL4 yoki MQL5: qaysi birini o'rganish kerak?
Qaysi platformada ishlashingizga bog'liq. MT5 uchun yozmoqchi bo'lsangiz, MQL5 ni o'rganing. MQL4 faqat MT4 da ishlaydi.
MQL5 dasturlash uchun oldindan dasturlash bilimi kerakmi?
Shart emas, lekin asosiy tushunchalarni bilish o'rganishni ancha tezlashtiradi. C yoki C++ tajribasi bo'lsa, sintaksis tanish bo'ladi.
MQL4 kodini MT5 da ishlatsa bo'ladimi?
To'g'ridan-to'g'ri ishlamaydi. Kodni MQL5 ga ko'chirish kerak, ayniqsa savdo funksiyalarini qayta yozish talab qilinadi.
EA foyda keltirishni kafolatlaydimi?
Yo'q. EA faqat siz bergan qoidalarni bajaradi. Qoidalar zararli bo'lsa, zarar ham avtomatik ravishda keladi.
Indikator va EA ni qayerda sinash kerak?
Avval strategiya testerida, keyin demo hisobda. Real hisobga faqat kodni tushunganingizdan va riskni hisoblaganingizdan keyin o'ting.
