MQL dasturlash tili
Rang turi Rang turi rang haqidagi ma'lumotlarni saqlashga mo'ljallangan va xotirada 4 baytni egallaydi. Birinchi baytga e'tibor berilmaydi, qolgan 3 baytda RGB-komponentlar mavjud. RGB nima? red qizil green yashil blue ko'k Rangli konstantalar uchta usulda…
RGB nima?
Anonymous Quiz
74%
3 xil rang
8%
Maxsus funksiya
13%
Rang nomi
5%
Oʻn oltilik sanoq tizimi
MQL dasturlash tili
⭕️ 2-boʻlim. MQL4 tili asoslari Ⓜ️ MQL4 tili asoslari haqida MetaQuotes Language 4 (MQL4) - bu avtomatlashtirilgan savdo strategiyalarini, turli xil moliyaviy bozorlarni tahlil qilish uchun maxsus texnik ko'rsatkichlarni yozish uchun mo'ljallangan yuqori…
Ⓜ Haqiqiy sonlar (double, float)
Haqiqiy son turlari (double, float) kasr qismi bo'lgan qiymatlarni ifodalaydi. MQL4 tilida haqiqiy sonlarining ikkita turi mavjud: kompyuter xotirasida haqiqiy sonlarni aks ettirish usuli IEEE 754 standarti bilan va platformalar, operatsion tizimlar yoki dasturlash tillaridan mustaqil belgilanadi.
http://telegra.ph/file/a357f0171cb51999aaf57.jpg
Double turi bu raqamlarning aniqligi float turidagi raqamlarning aniqligidan ikki baravar ko'p ekanligini anglatadi. Ko'pgina hollarda, double turi eng qulay hisoblanadi. Ko'p hollarda float turining cheklangan aniqligi etarli emas. Float turining hanuzgacha ishlatilishining sababi xotirani tejashdir (bu haqiqiy sonlarning katta massivlari uchun muhimdir).
Haqiqiy sonlar butun sonli qismdan, nuqta (.) va kasirli qismdan iborat. Butun sonli va kasrli qismlar o'nlik raqamlarning ketma-ketligi.
Misollar:
`double a=12.111;
double b=-956.1007;
float c =0.0001;
float d =16;`
Haqiqiy konstantalarni yozishning ilmiy usuli mavjud, ko'pincha bu yozuv usuli an'anaviyga qaraganda ixchamroq.
Misol:
`double c1=1.12123515e-25;
double c2=0.000000000000000000000000112123515;` // 24 ta 0 dan keyin boshqa raqamlar davom etyabdi
` Print("1. c1 =",DoubleToString(c1,16));
// Natija: 1. c1 = 0.0000000000000000
Print("2. c1 =",DoubleToString(c1,-16));
// Natija: 2. c1 = 1.1212351499999999e-025
Print("3. c2 =",DoubleToString(c2,-16));
// Natija: 3. c2 = 1.1212351499999999e-025`
Shuni esda tutish kerakki, haqiqiy sonlar ikkilik sanoq tizimda ba'zi bir cheklangan aniqlik bilan xotirada saqlanadi, umuman olganda o'nli raqamli yozuvlardan foydalaniladi. Shuning uchun o'nlik tizimda aniq ko'rsatilgan ko'p sonlar faqat ikkilik tizimda cheksiz kasr sifatida yozilishi mumkin.
Masalan, 0,3 va 0,7 raqamlari kompyuterda cheksiz kasrlar shaklida ifodalanadi lekin 0,25 soni esa aniq saqlanadi.
Shu munosabat bilan, tenglik uchun ikkita haqiqiy sonni taqqoslamaslik qat'iyan tavsiya etiladi, chunki bunday taqqoslash to'g'ri emas.
Misol:
`void OnStart()
{
//---
double three=3.0;
double x,y,z;
x=1/three;
y=4/three;
z=5/three;
if(x+y==z) Print("1/3 + 4/3 == 5/3");
else Print("1/3 + 4/3 != 5/3");
// Natija: 1/3 + 4/3 != 5/3
}`
Agar siz hali ham ikkita haqiqiy sonning tengligini taqqoslashingiz kerak bo'lsa, unda siz buni ikki xil usulda qilishingiz mumkin. Birinchi usul - bu taqqoslash aniqligini ko'rsatadigan ba'zi bir kichik miqdorlar bilan ikkala raqam o'rtasidagi farqni taqqoslash.
Misol:
`bool EqualDoubles(double d1,double d2,double epsilon)
{
if(epsilon<0) epsilon=-epsilon;
//---
if(d1-d2>epsilon) return false;
if(d1-d2<-epsilon) return false;
//---
return true;
}
void OnStart()
{
double d_val=0.7;
float f_val=0.7;
if(EqualDoubles(d_val,f_val,0.000000000000001)) Print(d_val," equals ",f_val);
else Print("Different: d_val = ",DoubleToString(d_val,16),
" f_val = ",DoubleToString(f_val,16));
// Natija: Different: d_val= 0.7000000000000000 f_val= 0.6999999880790710
}`
Yuqoridagi misolda epsilon qiymati oldindan belgilangan DBL_EPSILON doimiy qiymatidan kam bo'lmasligi kerakligini unutmang. Ushbu doimiyning qiymati 2.2204460492503131e-016 ga teng. Float turiga mos keladigan doimiy doimiy FLT_EPSILON = 1.192092896e-07. Ushbu sonning ma'nosi quyidagicha: bu 1.0 + DBL_EPSILON shartini qondiradigan eng past qiymat! = 1.0 (1.0 + FLT_EPSILON float turidagi raqamlar uchun! = 1.0).
Haqiqiy son turlari (double, float) kasr qismi bo'lgan qiymatlarni ifodalaydi. MQL4 tilida haqiqiy sonlarining ikkita turi mavjud: kompyuter xotirasida haqiqiy sonlarni aks ettirish usuli IEEE 754 standarti bilan va platformalar, operatsion tizimlar yoki dasturlash tillaridan mustaqil belgilanadi.
http://telegra.ph/file/a357f0171cb51999aaf57.jpg
Double turi bu raqamlarning aniqligi float turidagi raqamlarning aniqligidan ikki baravar ko'p ekanligini anglatadi. Ko'pgina hollarda, double turi eng qulay hisoblanadi. Ko'p hollarda float turining cheklangan aniqligi etarli emas. Float turining hanuzgacha ishlatilishining sababi xotirani tejashdir (bu haqiqiy sonlarning katta massivlari uchun muhimdir).
Haqiqiy sonlar butun sonli qismdan, nuqta (.) va kasirli qismdan iborat. Butun sonli va kasrli qismlar o'nlik raqamlarning ketma-ketligi.
Misollar:
`double a=12.111;
double b=-956.1007;
float c =0.0001;
float d =16;`
Haqiqiy konstantalarni yozishning ilmiy usuli mavjud, ko'pincha bu yozuv usuli an'anaviyga qaraganda ixchamroq.
Misol:
`double c1=1.12123515e-25;
double c2=0.000000000000000000000000112123515;` // 24 ta 0 dan keyin boshqa raqamlar davom etyabdi
` Print("1. c1 =",DoubleToString(c1,16));
// Natija: 1. c1 = 0.0000000000000000
Print("2. c1 =",DoubleToString(c1,-16));
// Natija: 2. c1 = 1.1212351499999999e-025
Print("3. c2 =",DoubleToString(c2,-16));
// Natija: 3. c2 = 1.1212351499999999e-025`
Shuni esda tutish kerakki, haqiqiy sonlar ikkilik sanoq tizimda ba'zi bir cheklangan aniqlik bilan xotirada saqlanadi, umuman olganda o'nli raqamli yozuvlardan foydalaniladi. Shuning uchun o'nlik tizimda aniq ko'rsatilgan ko'p sonlar faqat ikkilik tizimda cheksiz kasr sifatida yozilishi mumkin.
Masalan, 0,3 va 0,7 raqamlari kompyuterda cheksiz kasrlar shaklida ifodalanadi lekin 0,25 soni esa aniq saqlanadi.
Shu munosabat bilan, tenglik uchun ikkita haqiqiy sonni taqqoslamaslik qat'iyan tavsiya etiladi, chunki bunday taqqoslash to'g'ri emas.
Misol:
`void OnStart()
{
//---
double three=3.0;
double x,y,z;
x=1/three;
y=4/three;
z=5/three;
if(x+y==z) Print("1/3 + 4/3 == 5/3");
else Print("1/3 + 4/3 != 5/3");
// Natija: 1/3 + 4/3 != 5/3
}`
Agar siz hali ham ikkita haqiqiy sonning tengligini taqqoslashingiz kerak bo'lsa, unda siz buni ikki xil usulda qilishingiz mumkin. Birinchi usul - bu taqqoslash aniqligini ko'rsatadigan ba'zi bir kichik miqdorlar bilan ikkala raqam o'rtasidagi farqni taqqoslash.
Misol:
`bool EqualDoubles(double d1,double d2,double epsilon)
{
if(epsilon<0) epsilon=-epsilon;
//---
if(d1-d2>epsilon) return false;
if(d1-d2<-epsilon) return false;
//---
return true;
}
void OnStart()
{
double d_val=0.7;
float f_val=0.7;
if(EqualDoubles(d_val,f_val,0.000000000000001)) Print(d_val," equals ",f_val);
else Print("Different: d_val = ",DoubleToString(d_val,16),
" f_val = ",DoubleToString(f_val,16));
// Natija: Different: d_val= 0.7000000000000000 f_val= 0.6999999880790710
}`
Yuqoridagi misolda epsilon qiymati oldindan belgilangan DBL_EPSILON doimiy qiymatidan kam bo'lmasligi kerakligini unutmang. Ushbu doimiyning qiymati 2.2204460492503131e-016 ga teng. Float turiga mos keladigan doimiy doimiy FLT_EPSILON = 1.192092896e-07. Ushbu sonning ma'nosi quyidagicha: bu 1.0 + DBL_EPSILON shartini qondiradigan eng past qiymat! = 1.0 (1.0 + FLT_EPSILON float turidagi raqamlar uchun! = 1.0).
MQL dasturlash tili
⭕️ 2-boʻlim. MQL4 tili asoslari Ⓜ️ MQL4 tili asoslari haqida MetaQuotes Language 4 (MQL4) - bu avtomatlashtirilgan savdo strategiyalarini, turli xil moliyaviy bozorlarni tahlil qilish uchun maxsus texnik ko'rsatkichlarni yozish uchun mo'ljallangan yuqori…
Ikkinchi usul ikkita haqiqiy sonning normallashtirilgan farqini nol bilan taqqoslashni taklif qiladi. Normallashtirilgan sonlarning farqini nol bilan taqqoslash ma'nosiz, chunki normallashtirilgan sonlar bilan har qanday matematik operatsiya normallashmagan natija beradi.
Misol:
Matematik qo'shma protsessorning ba'zi operatsiyalari haqiqiy bo'lmagan songa olib kelishi mumkin, bu matematik operatsiyalarda va taqqoslash operatsiyalarida ishlatilishi mumkin emas, chunki yaroqsiz haqiqiy sonlar bilan ishlash natijalari aniqlanmagan. Masalan, 2 ning arkini hisoblashda natija manfiy cheksizlikka olib keladi.
Misol:
Minus cheksizlikdan tashqari ortiqcha cheksizlik va NaN mavjud (raqam emas). Ushbu raqam yaroqsiz ekanligini aniqlash uchun siz MathIsValidNumber() dan foydalanishingiz mumkin. IEEE standartiga muvofiq ular maxsus mashina funksiyasiga ega. Masalan, double tur uchun ortiqcha cheksizlik 0x7FF0 0000 0000 0000 bitli ko'rinishga ega.
Misollar:
Misol:
bool CompareDoubles(double number1,double number2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
else return(false);
}
void OnStart()
{
double d_val=0.3;
float f_val=0.3;
if(CompareDoubles(d_val,f_val)) Print(d_val," equals ",f_val);
else Print("Different: d_val = ",DoubleToString(d_val,16),
" f_val = ",DoubleToString(f_val,16));
// Natija: Different: d_val= 0.3000000000000000 f_val= 0.3000000119209290
}Matematik qo'shma protsessorning ba'zi operatsiyalari haqiqiy bo'lmagan songa olib kelishi mumkin, bu matematik operatsiyalarda va taqqoslash operatsiyalarida ishlatilishi mumkin emas, chunki yaroqsiz haqiqiy sonlar bilan ishlash natijalari aniqlanmagan. Masalan, 2 ning arkini hisoblashda natija manfiy cheksizlikka olib keladi.
Misol:
double abnormal = MathArcsin(2.0);
Print("MathArcsin(2.0) =",abnormal);
// Natija: MathArcsin(2.0) = -1.#INDMinus cheksizlikdan tashqari ortiqcha cheksizlik va NaN mavjud (raqam emas). Ushbu raqam yaroqsiz ekanligini aniqlash uchun siz MathIsValidNumber() dan foydalanishingiz mumkin. IEEE standartiga muvofiq ular maxsus mashina funksiyasiga ega. Masalan, double tur uchun ortiqcha cheksizlik 0x7FF0 0000 0000 0000 bitli ko'rinishga ega.
Misollar:
struct str1
{
double d;
};
struct str2
{
long l;
};
//--- Start
str1 s1;
str2 s2;
//---
s1.d=MathArcsin(2.0); // Get the invalid number -1.#IND
s2=s1;
printf("1. %f %I64X",s1.d,s2.l);
//---
s2.l=0xFFFF000000000000; // invalid number -1.#QNAN
s1=s2;
printf("2. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF7000000000000; // greatest non-number SNaN
s1=s2;
printf("3. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF8000000000000; // smallest non-number QNaN
s1=s2;
printf("4. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FFF000000000000; // greatest non-number QNaN
s1=s2;
printf("5. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF0000000000000; // Positive infinity 1.#INF and smallest non-number SNaN
s1=s2;
printf("6. %f %I64X",s1.d,s2.l);
//---
s2.l=0xFFF0000000000000; // Negative infinity -1.#INF
s1=s2;
printf("7. %f %I64X",s1.d,s2.l);
//---
s2.l=0x8000000000000000; // Negative zero -0.0
s1=s2;
printf("8. %f %I64X",s1.d,s2.l);
//---
s2.l=0x3FE0000000000000; // 0.5
s1=s2;
printf("9. %f %I64X",s1.d,s2.l);
//---
s2.l=0x3FF0000000000000; // 1.0
s1=s2;
printf("10. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FEFFFFFFFFFFFFF; // Greatest normalized number (MAX_DBL)
s1=s2;
printf("11. %.16e %I64X",s1.d,s2.l);
//---
s2.l=0x0010000000000000; // Smallest positive normalized (MIN_DBL)
s1=s2;
printf("12. %.16e %.16I64X",s1.d,s2.l);
//---
s1.d=0.7; // Show that the number of 0.7 - endless fraction
s2=s1;
printf("13. %.16e %.16I64X",s1.d,s2.l);
/*
1. -1.#IND00 FFF8000000000000
2. -1.#QNAN0 FFFF000000000000
3. 1.#SNAN0 7FF7000000000000
4. 1.#QNAN0 7FF8000000000000
5. 1.#QNAN0 7FFF000000000000
6. 1.#INF00 7FF0000000000000
7. -1.#INF00 FFF0000000000000
8. -0.000000 8000000000000000
9. 0.500000 3FE0000000000000
10. 1.000000 3FF0000000000000
11. 1.7976931348623157e+308 7FEFFFFFFFFFFFFF
12. 2.2250738585072014e-308 0010000000000000
13. 6.9999999999999996e-001 3FE6666666666666
*/
MQL dasturlash tili
Ⓜ Haqiqiy sonlar (double, float) Haqiqiy son turlari (double, float) kasr qismi bo'lgan qiymatlarni ifodalaydi. MQL4 tilida haqiqiy sonlarining ikkita turi mavjud: kompyuter xotirasida haqiqiy sonlarni aks ettirish usuli IEEE 754 standarti bilan va platformalar…
Ushbu haqiqiy sonni anʼanaviy holatini koʻrsating?
1.349e-6
1.349e-6
Anonymous Quiz
21%
0.00001349
49%
0.000001349
10%
1349
19%
1349000000
MQL dasturlash tili
Ikkinchi usul ikkita haqiqiy sonning normallashtirilgan farqini nol bilan taqqoslashni taklif qiladi. Normallashtirilgan sonlarning farqini nol bilan taqqoslash ma'nosiz, chunki normallashtirilgan sonlar bilan har qanday matematik operatsiya normallashmagan…
Haqiqiy son turi double xotiradan qancha joy egallaydi?
Anonymous Quiz
13%
2 bayt
30%
4 bayt
40%
8 bayt
17%
16 bayt
MQL dasturlash tili
Ikkinchi usul ikkita haqiqiy sonning normallashtirilgan farqini nol bilan taqqoslashni taklif qiladi. Normallashtirilgan sonlarning farqini nol bilan taqqoslash ma'nosiz, chunki normallashtirilgan sonlar bilan har qanday matematik operatsiya normallashmagan…
Haqiqiy son turi float xotiradan qancha joy egallaydi?
Anonymous Quiz
22%
2 bayt
47%
4 bayt
19%
8 bayt
13%
16 bayt
MQL dasturlash tili
Ikkinchi usul ikkita haqiqiy sonning normallashtirilgan farqini nol bilan taqqoslashni taklif qiladi. Normallashtirilgan sonlarning farqini nol bilan taqqoslash ma'nosiz, chunki normallashtirilgan sonlar bilan har qanday matematik operatsiya normallashmagan…
2 ta haqiqiy sonni tenglikka taqqoslash ...
Anonymous Quiz
35%
tavsiya etiladi
58%
tavsiya etilmaydi
8%
imkoni yoʻq
MQL dasturlash tili
Ⓜ Haqiqiy sonlar (double, float) Haqiqiy son turlari (double, float) kasr qismi bo'lgan qiymatlarni ifodalaydi. MQL4 tilida haqiqiy sonlarining ikkita turi mavjud: kompyuter xotirasida haqiqiy sonlarni aks ettirish usuli IEEE 754 standarti bilan va platformalar…
Raqam yaroqsiz ekanligini aniqlash uchun qaysi funksiyadan foydalaniladi?
Anonymous Quiz
19%
NumberNaN()
47%
NumberError()
13%
DBL_EPSILON
22%
MathIsValidNumber()
MQL dasturlash tili
Ikkinchi usul ikkita haqiqiy sonning normallashtirilgan farqini nol bilan taqqoslashni taklif qiladi. Normallashtirilgan sonlarning farqini nol bilan taqqoslash ma'nosiz, chunki normallashtirilgan sonlar bilan har qanday matematik operatsiya normallashmagan…
Qaysi javobda ushbu 0.0000000000011 haqiqiy son ilmiy usulda toʻgʻri yozilgan?
Anonymous Quiz
32%
1.1e-11
29%
1.1e-12
29%
1.1e-13
10%
1.1e-14
MQL dasturlash tili
⭕️ 2-boʻlim. MQL4 tili asoslari Ⓜ️ MQL4 tili asoslari haqida MetaQuotes Language 4 (MQL4) - bu avtomatlashtirilgan savdo strategiyalarini, turli xil moliyaviy bozorlarni tahlil qilish uchun maxsus texnik ko'rsatkichlarni yozish uchun mo'ljallangan yuqori…
Satr turi (String)
Satr turi matn satrlarini saqlash uchun ishlatiladi. Matn satri Unicode formatidagi belgilar ketma-ketligidan iborat.
Har qanday belgilardan oldin teskari chiziq belgisi qo'yilishi kerak (\). Satrlar qo'shtirnoq " ichida yoziladi.
Misollar:
Dastlabki kodni o'qilishi uchun uzun satrlarni qismlarga bo'lish mumkin. Kompilyatsiya paytida ushbu qismlar bitta uzun qatorga birlashtiriladi:
Satrning ichki ko'rinishi 12 bayt uzunlikdagi strukturadir:
Satr turi matn satrlarini saqlash uchun ishlatiladi. Matn satri Unicode formatidagi belgilar ketma-ketligidan iborat.
Har qanday belgilardan oldin teskari chiziq belgisi qo'yilishi kerak (\). Satrlar qo'shtirnoq " ichida yoziladi.
Misollar:
string svar = "Bu belgi qatori";
string svar2 = StringSubstr (svar, 0,4);
Print("Mualliflik huquqi belgisi\t\x00A9");
FileWrite (ishlov berish, "Ushbu satrda yangi qator belgisi mavjud \n");
string MT4path = "C:\\Program Files\\MetaTrader 4";Dastlabki kodni o'qilishi uchun uzun satrlarni qismlarga bo'lish mumkin. Kompilyatsiya paytida ushbu qismlar bitta uzun qatorga birlashtiriladi:
// --- Uzun qatorni e'lon qiling
string HTML_head="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\""
" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
"<head>\n"
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"
"<title>Trade Operations Report</title>\n"
"</head>";
// --- Doimiy qatorni jurnalga chiqaring
Print(HTML_head);
}Satrning ichki ko'rinishi 12 bayt uzunlikdagi strukturadir:
#pragma pack(push,1)
struct MqlString
{
int hajmi; // 32-bitli butun son, qator uchun ajratilgan bufer hajmini o'z ichiga oladi.
LPWSTR buferi; // qatorni o'z ichiga olgan buferning 32-bitli manzili.
int himoyalangan; // zaxiralangan 32-bitli butun son.
};
#pragma pack(pop,1)👍1
MQL dasturlash tili
Satr turi (String) Satr turi matn satrlarini saqlash uchun ishlatiladi. Matn satri Unicode formatidagi belgilar ketma-ketligidan iborat. Har qanday belgilardan oldin teskari chiziq belgisi qo'yilishi kerak (\). Satrlar qo'shtirnoq " ichida yoziladi. Misollar:…
Satrning yangi qatoriga yozish uchun qaysi belgidan foydalaniladi?
Anonymous Quiz
28%
\
49%
\n
23%
//
0%
\t
MQL4 dasturlash tilida yozilgan mutaxassis maslahatchi va telegram bot oʻrtasida aloqa hosil qilsa boʻladimi?
Anonymous Quiz
85%
Ha
15%
Yoʻq
MQL4 obektlar va tuzilmalar bilan ishlash darsiNI murakkabligi uchun keyinga qoldiraman.
Bular biz tuzadigan ilk robot uchun shart emas.
Bular biz tuzadigan ilk robot uchun shart emas.
MQL dasturlash tili
🗓 MUNDARIJA ⭕️ 1-boʻlim. MQL4 haqida ---------------------------------- Ⓜ️ MQL4 dasturlash tili haqida Ⓜ MQL4da yozilgan dastur turlari Ⓜ Mutaxassis maslahatchisi (советник) Ⓜ Maxsus ko'rsatkichlar (индикатор) Ⓜ Skript Ⓜ Kutubxonalar Ⓜ Includ fayli
⭕️ 3-boʻlim. Operatorlar va ifodalar
Ba'zi belgilar va belgilar ketma-ketligi alohida ahamiyatga ega. Ular operatoprlar deb ataladi, masalan:
Amaliy belgilar, tinish belgilari va bo'sh joylar til elementlarini bir-biridan ajratish uchun ishlatiladi.
Ushbu bo'lim quyidagi mavzularning tavsifini o'z ichiga oladi:
Ifodalar
Arifmetik operatoprlar
Topshiriq operatoprlari
Aloqa operatoprlari
Mantiqiy operatoprlar
Bitli operatoprlar
Boshqa operatoprlar
Operatoprlar afzalliklari
@MQLUZ
Ba'zi belgilar va belgilar ketma-ketligi alohida ahamiyatga ega. Ular operatoprlar deb ataladi, masalan:
+ - * /% Arifmetik operatoprlar && || Mantiqiy operatoprlar = + = * = Tayinlash operatorlarAmaliy belgilar, tinish belgilari va bo'sh joylar til elementlarini bir-biridan ajratish uchun ishlatiladi.
Ushbu bo'lim quyidagi mavzularning tavsifini o'z ichiga oladi:
Ifodalar
Arifmetik operatoprlar
Topshiriq operatoprlari
Aloqa operatoprlari
Mantiqiy operatoprlar
Bitli operatoprlar
Boshqa operatoprlar
Operatoprlar afzalliklari
@MQLUZ
MQL dasturlash tili
⭕️ 3-boʻlim. Operatorlar va ifodalar Ba'zi belgilar va belgilar ketma-ketligi alohida ahamiyatga ega. Ular operatoprlar deb ataladi, masalan: + - * /% Arifmetik operatoprlar && || Mantiqiy operatoprlar = + = * = Tayinlash operatorlar Amaliy…
Ifodalar
Ifoda bir yoki bir nechta operand va tuzilma belgilaridan iborat. Ifodani bir necha qatorga yozish mumkin.
Misollar:
Ifoda bir yoki bir nechta operand va tuzilma belgilaridan iborat. Ifodani bir necha qatorga yozish mumkin.
Misollar:
// bir nechta ifodalar bitta qatorda joylashgan
a ++; b = 10 ;
// --- bitta ifoda 2 ta qatorda joylashgan
x = (y * z) /
(w + 2 ) + 127 ;
Nuqta vergul (;) bilan tugaydigan ifoda operator hisoblanadi.MQL4 dasturlash tili uchun qulay IDE .Batafsil videoda 👇👉 https://youtu.be/z41oFYw6N2Y
JetBrains kompaniyasining barcha dasturlash muhiti (IDE) da MQL Idea plagini orqali MQL4 dasturlash tilida kod yozishingiz mumkin.
Funksional
Sintaksisni ajratib ko'rsatadi
Kontekst hujjatlari (Ctrl + Q) mavjud
Avtomatik yakunlanadi
MQL4 fayllari kompilyatsiyasi (Linux va Windows)
Kompilyatsiya xatolari haqida ogohlantiradi
Funksiyalar, usullar, sinflar nomlari bo'yicha navigatsiya (Ctrl-F12)
Mutaxassis maslahatchi
IDE dan maslahatchi tuzish
Ishga tushirish konfiguratsiyasi sifatida "MQL Build"ni tanlang
Konfiguratsiya oynasida kompilyatsiya qilingan fayl nomini tanlang
SDK maydonida MetaTraderga yo'lni ko'rsating
Xatolarni ajratib ko'rsatadi
Tahrirlash paytida ajratib ko'rsatiladigan xatolarni o'chirish uchun Fayl »Настройки» Языки и фреймы »MQL4» Анализ ошибок parametridan foydalaning.
Hujjatlar
Hujjatlarni ingliz tilidan rus tiliga yoki aksincha almashtirish uchun »Настройки» Языки и фреймы »MQL4» Язык документ
JetBrains kompaniyasining barcha dasturlash muhiti (IDE) da MQL Idea plagini orqali MQL4 dasturlash tilida kod yozishingiz mumkin.
Funksional
Sintaksisni ajratib ko'rsatadi
Kontekst hujjatlari (Ctrl + Q) mavjud
Avtomatik yakunlanadi
MQL4 fayllari kompilyatsiyasi (Linux va Windows)
Kompilyatsiya xatolari haqida ogohlantiradi
Funksiyalar, usullar, sinflar nomlari bo'yicha navigatsiya (Ctrl-F12)
Mutaxassis maslahatchi
IDE dan maslahatchi tuzish
Ishga tushirish konfiguratsiyasi sifatida "MQL Build"ni tanlang
Konfiguratsiya oynasida kompilyatsiya qilingan fayl nomini tanlang
SDK maydonida MetaTraderga yo'lni ko'rsating
Xatolarni ajratib ko'rsatadi
Tahrirlash paytida ajratib ko'rsatiladigan xatolarni o'chirish uchun Fayl »Настройки» Языки и фреймы »MQL4» Анализ ошибок parametridan foydalaning.
Hujjatlar
Hujjatlarni ingliz tilidan rus tiliga yoki aksincha almashtirish uchun »Настройки» Языки и фреймы »MQL4» Язык документ
👨💻 Faqat MQL4/5 dasturlash tilini biladiganlar uchun maxsus guruh va kanal .
🇺🇸 Suhbat faqat ingliz tilida bo'lishi kerak.
💩 Guruhga bachkana savollarni bermanglar.
Github mazillari:
🟢 FX31337
🟢 EA Tester
🟢 MQL Compile
🔵 MetaTraderga oid API va manzillar
🇺🇸 Suhbat faqat ingliz tilida bo'lishi kerak.
💩 Guruhga bachkana savollarni bermanglar.
Github mazillari:
🟢 FX31337
🟢 EA Tester
🟢 MQL Compile
🔵 MetaTraderga oid API va manzillar
MQL dasturlash tili
MQL4 dasturlash tili uchun qulay IDE .Batafsil videoda 👇👉 https://youtu.be/z41oFYw6N2Y JetBrains kompaniyasining barcha dasturlash muhiti (IDE) da MQL Idea plagini orqali MQL4 dasturlash tilida kod yozishingiz mumkin. Funksional Sintaksisni ajratib ko'rsatadi…
MQL Idea plaginini JetBrains IDElaridan birortasiga oʻrnatib koʻrdingizmi?
Anonymous Poll
10%
Oʻrnatdim
68%
Oʻrnatolmadim
22%
Menga bu kerak emas
