1. MQL4 dla początkujących. Część I.

1.5. Praca ze zmiennymi

Teraz zobaczmy co można robić ze zmiennymi po tym jak je zadeklarujemy. Oto kilka przykładów:

Kod 1
#property strict

double A = 50.0;    // deklarujemy zmienną A jako liczbę dziesiętną
                    // i inicjujemy ją wartością 50.0

double B = 2.0;     // deklarujemy zmienną B jako liczbę dziesiętną
                    // i inicjujemy ją wartością 2.0

double C;           // po prostu deklarujemy zmienną C
                    // domyślnie C będzie równe 0.0

void OnStart()      // funkcja główna skryptu
  {
//---
   C = A + B;             /* przypisujemy zmiennej C sumę zmiennych
                             A i B. Teraz C równa się 52.0
                             Podobnie jak po każdej innej instrukcji
                             trzeba zapisać średnik */


   C = A - B;             // odejmowanie, C = 50.0 - 2.0 = 48.0
   C = A * B;             // mnożenie, C = 50.0 * 2.0 = 100.0
   C = A / B;             // dzielenie, C = 50.0 / 2.0 = 25.0

   C = A + B * A;         /* zgodnie z zasadami matematyki najpierw
                             uzyskamy wartość mnożenia B na A, potem
                             dodamy do A i przypiszemy wynik zmiennej C
                             C = 50.0 + 2.0 * 50.0 = 50.0 + 100.0 = 150.0   */


   C = A + B / A - B;     // C = 50.0 + 2.0 / 50.0 - 2.0 = 50.0 + 0.04 - 2.0 = 48.04

   C = (A + B) * A;       /* w nawiasach trzeba zamieszczać operacje,
                             które powinny być wykonane w pierwszej
                             kolejności. W tym przypadku najpierw
                             uzyskamy sumę A i B, potem ta suma
                             zostanie pomnożona na A i przypisana
                             zmiennej C
                             C = (50.0 + 2.0) * 50.0 = 52.0 * 50.0 = 2600.0   */


   C = (A + B) / (A - B); // C = (50.0 + 2.0) / (50.0 - 2.0) = 52.0 / 48.0 = 1.083333333333330
  }

W tym kodzie przed OnStart() utworzyliśmy 3 zmienne A, B i C typu double i od razu A i B przypisaliśmy określone wartości. Następnie, w ciele głównej funkcji skryptu zapisaliśmy działania matematyczne. Po prawej stronie stosując symbole komentarza // oraz /* ... */ opisaliśmy te działania.

Jeśli trzeba przeprowadzić jakieś działanie matematyczne ze zmienną i tej samej zmiennej od razu przypisać wynik, to można postąpić w następujący sposób:

Kod 2
#property strict

int A = 10;  // deklarujemy zmienną A jako liczbę całkowitą
             // i przypisujemy jej wartość 10

void OnStart() // funkcja główna skryptu
  {
//---
   A = A + 5;  // zwiększamy A o 5 i przypisujemy A wynik, A = 10 + 5 = 15
   A += 5;     // początkową wartość A zwiększamy o 5, A = 15

   A = A - 5;  // zmniejszamy A o 5 i przypisujemy A wynik, A = 10 - 5 = 5
   A -= 5;     // początkową wartość A zmniejszamy o 5, A = 5

   A = A * 5;  // mnożymy A na 5 i przypisujemy A wynik, A = 10 * 5 = 50
   A *= 5;     // początkową wartość A mnożymy na 5, A = 50

   A = A / 5;  // dzielimy A na 5 i przypisujemy A wynik, A = 10 / 5 = 2
   A /= 5;     // początkową wartość A dzielimy na 5, A = 2
  }

Jeśli trzeba zwiększyć lub zmniejszyć tylko o 1, zastosuj następujące zapisy:

Kod 3
#property strict

int A = 10;
void OnStart()
  {
//---
   A++;   // zwiększenie A o 1 (inkrementacja), A = 10 + 1 = 11
   A--;   // zmniejszenie A o 1 (dekrementacja), A = 10 - 1 = 9
  }

W tym przykładzie zapis A++ jest identyczny w swoim działaniu zapisom A = A + 1 oraz A + = 1. Zapis A-- jest identyczny zapisom A = A - 1 oraz A - = 1. W następnym rozdziale pokażę jak można wyświetlić wyniki obliczeń na monitorze.