Az MQL4 programozási nyelv

Műveletek és kifejzések

Arithmetikai műveletek

Szinbólum Művelet Példa Analógia
+ Értékek összeadása x + 2
- Kivonás vagy előjelváltás x - 3, y = - y
* Szorzás 3 * x
/ Osztás x / 5
% Osztás maradéka A perc = az idő % 60
++ A változó értékének növelése 1-el y++ y = y + 1
-- A változó értékének csökkentése 1-el y-- y = y - 1

Értékadó műveletek

Szinbólum Művelet Példa Analógia
= Az y változó x értékét kapja y = x
+= Az y változó növelése x-el y += x y = y + x
-= Az y változó csökkentése x-el y -= x y = y - x
*= Az y változó szorzása x-el y *= x y = y * x
/= Az y változó osztása x-el y /= x y = y / x
%= Az y változó x-el történő osztásának a maradéka y %= x y = y % x

Relációs műveletek

Szinbólum Művelet Példa
== Igaz, ha x egyenlő y x == y
!= Igaz, ha x nem egyenlő y x != y
< Igaz, ha x kevesebb, mint y x < y
> Igaz, ha x nagyobb, mint y x > y
<= Igaz, ha x egyenlő vagy kevesebb mint y x <= y
>= Igaz, ha x egyenlő vagy nagyobb mint y x >= y

Boolean műveletek

Szinbólum Művelet Példa Magyarázat
! NOT (NEM) (logikai tagadás) !x Igaz(1), ha az operandus értéke Hamis(0) ; Hamis(0) ha az operandus értéke nem Hamis(0)
|| OR (VAGY) (logikai választás) x < 5 || x > 7 Igaz(1), ha bármelyik feltétel igaz
&& AND (ÉS) (logikai összeadás) x == 3 && y < 5 Igaz(1), ha minden feltétel igaz

Bitenkénti műveletek

Bitenkénti műveleteket csak egész számokkal hajthatunk végre. A következő műveletek a bitenkénti műveletekhez tartoznak:

A kettes számrendszerben ábrázolt számok értékének a komplemense. A kifejezés értéke 1 minden olyan helyen, ahol a változó értékei 0, és 0 minden olyan helyen, ahol a változó értéke 1.

b = ~n;

A kettes számrendszerben ábrázolt számok számjegyeinek elmozdítása jobbra. Ez a jobbra léptetés logikusan azt is jelenti, hogy minden helyet, ami kiürült a bal oldalon nullák fognak kitölteni.

x = x >> y;

A kettes számrendszerben ábrázolt számok számjegyeinek elmozdítása balra. Minden helyet, ami kiürült a jobb oldalon nullák fognak kitölteni.

x = x << y;

A kettes számrendszerben ábrázolt x és y változókon végrehajtott bitenkénti AND ( ÉS) művelet. A kifejezés értéke 1 (Igaz) minden helyen, ahol sem x sem y nem nulla; és a kifejezés értéke 0 (Hamis) minden másik helyen

b = ((x & y) != 0);

A kettes számrendszerben ábrázolt x és y változókon végrehajtott bitenkénti OR (VAGY) művelet. A kifejezés értéke 1 (Igaz) minden helyen, ahol x vagy y nem nulla; és a kifejezés értéke 0 (Hamis) minden másik helyen.

b = x | y;

A kettes számrendszerben ábrázolt x és y változókon végrehajtott bitenkénti EXCLUSIVE OR (KIZÁRÓ VAGY) művelet. A kifejezés értéke 1 (Igaz) minden helyen, ahol x és y különböző bináris értékű; és a kifejezés értéke 0 (Hamis) minden másik helyen.

b = x ^ y;

Comma (vessző művelet)

A vesszőkkel elválasztott kifejezéseket balról jobbra számolják ki. A bal oldali kifejezésben levő számítások eredménye hatással van a jobbra lévő kifejezésre. Az eredmény típusát és értékét a jobb oldalon lévő kifejezés fajtája és értéke adja.

Példakódok:

for (i=0, j=99; i<100; i++, j--) Print(array[i][j]); // Ciklus utasítás My_function (Alf, Bet, Gam, Del) // Függvényhívás a paraméterek megadásával