Predefiniowane zmienne i tablice:   _Digits

Predefiniowana zmienna int _Digits przechowuje ilość cyfr po znaku dziesiętnym, które określają dokładność notowania ceny instrumentu finansowego na tym wykresie notowań, gdzie program MQL4 został uruchomiony. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Jeśli poniższy skrypt uruchomić na EURUSD, gdzie dokładność notowania stanowiła by 5 cyfr, to wynik będzie 5 (rys. 1). Jeśli ten sam skrypt uruchomić na USDJPY, gdzie dokładność notowania stanowiła by 3, to wynik będzie odpowiednio 3 (rys. 2).

#property strict
void OnStart()
  {
   Print("Dla ",_Symbol," dokładność notowania ceny = ",_Digits);
  }

Rys. 1. Przykład stosowania predefiniowanej zmiennej _Digits.


Rys. 2. Przykład stosowania predefiniowanej zmiennej _Digits.


Jeśli trzeba znaleźć dokładność notowania ceny dla innego instrumentu finansowego niż na wykresie notowań, należy zastosować funkcję MarketInfo() z identyfikatorem MODE_DIGITS (przykład 2).


Przykład 2

Skrypt do wyświetlenia dokładności notowań dla USDJPY, USDCHF i GOLD.

#property strict
void OnStart()
  {
//--- znaleźć dokładność notowania dla poszczególnych symboli
//--- i prekonwertować je do wartości tekstowych
   string Precision_USDJPY = DoubleToString(MarketInfo("USDJPY", MODE_DIGITS), 0);
   string Precision_USDCHF = DoubleToString(MarketInfo("USDCHF", MODE_DIGITS), 0);
   string Precision_GOLD   = DoubleToString(MarketInfo("GOLD",   MODE_DIGITS), 0);

//--- wyświetlić wyniki
   Print("Dla USDJPY dokładność notowania ceny = ",Precision_USDJPY);
   Print("Dla USDCHF dokładność notowania ceny = ",Precision_USDCHF);
   Print("Dla GOLD dokładność notowania ceny = ",  Precision_GOLD);
  }