2. MQL4 dla początkujących. Część II.

2.1. Funkcja Print()

W tym rozdziale poznamy bardzo pożyteczną funkcję Print(). W MQL4 służy ona do wyświetlania tekstu w dzienniku logów terminala MetaTrader 4.


Wariant 1

Kod 1
// wariant 1
#property strict

void OnStart()
  {
//---
   Print("Mam 25 lat i 1.95 m wzrostu.");
  }

Zapisz ten kod w skrypcie Test, skompiluj i uruchom go w MT4.

Rys. 1. Dziennik logów w MetaTrader 4.


W zakładce Strategie zobaczymy wynik działania tego skryptu:

  • Najpierw terminal poinformuje, że skrypt o nazwie Test został z powodzeniem uruchomiony w oknie notowań EURUSD z 4-godzinnym przedziałem czasu (H4).
  • Następnie, idzie zapis o inicjalizacji skryptu.
  • Wynik działania skryptu, tj. komunikat zapisany w skrypcie.
  • Deinicjalizacja skryptu wraz z przyczyną (0 oznacza brak błędu).
  • Usunięcie skryptu z okna notowań.

Jeśli z jakiegoś powodu nie widzisz dziennika terminala, tj. całe dolne okno, wtedy wciśnij Ctrl + T lub w pasku menu Widok -> Terminal.

W powyższym przykładzie (kod 1) nagłówek funkcji Print() zawiera 1 argument typu tekstowego "Mam 25 lat i 1.95 m wzrostu.". Niżej pokażę kilka innych przykładów stosowania tej funkcji.


Wariant 2

W nagłówku Print() zapisano 2 argumenty typu tekstowego: pierwszy - "Mam 25 lat i ", po przecinku drugi - "1.95 m wzrostu.".

Kod 2
// wariant 2
#property strict

void OnStart()
  {
//---
   Print("Mam 25 lat i " , "1.95 m wzrostu.");
  }

Wariant 3

Najpierw zadeklarowano 2 zmienne Age_string oraz Height_string typu tekstowego string i przypisano im wartości tekstowe. Następnie, już w ciele głównej funkcji OnStart() do nagłówka Print() na miejsce pierwszego argumentu przekazano Age_string, a po przecinku na miejsce drugiego argumentu Height_string.

Kod 3
// wariant 3
#property strict

string Age_string    = "Mam 25 lat i ";
string Height_string = "1.95 m wzrostu.";

void OnStart()
  {
//---
   Print(Age_string , Height_string);
  }

Wariant 4

Najpierw zadeklarowano zmienną Age_int typu liczby całkowitej int oraz zmienną Height_double typu liczby zmiennoprzecinkowej double i przypisano im odpowiednie wartości. Następnie, w nagłówku funkcji Print() zapisano 5 argumentów: 1 - argument typu tekstowego "Mam ", 2 - zmienna Age_int, 3 - tekst " lat i ", 4 - zmienna Height_double i 5 - ostatni argument to tekst " m wzrostu.".

Kod 4
// wariant 4
#property strict

int    Age_int       = 25;
double Height_double = 1.95;

void OnStart()
  {
//---
   Print("Mam ",
         Age_int,
         " lat i ",
         Height_double,
         " m wzrostu.");
  }