Dostęp do danych handlowych:   MarketInfo()

Funkcja double MarketInfo() zwraca informację o instrumentach finansowych, znajdujących się w oknie "Rynek" (MarketWatch). Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Skrypt do wyświetlenia bieżącej ceny rynkowej kupna MODE_ASK, bieżącej ceny rynkowej sprzedaży MODE_BID, wartości jednego punktu MODE_POINT, ilości cyfr po znaku dziesiętnym MODE_DIGITS oraz różnicy pomiędzy Ask i Bid w punktach MODE_SPREAD dla EURUSD.

#property strict
void OnStart()
  {
//--- znaleźć wartości
   double CurrentAsk_EURUSD = MarketInfo("EURUSD", MODE_ASK);
   double CurrentBid_EURUSD = MarketInfo("EURUSD", MODE_BID);
   double Point_EURUSD      = MarketInfo("EURUSD", MODE_POINT);
   double Digits_EURUSD     = MarketInfo("EURUSD", MODE_DIGITS);
   double Spread_EURUSD     = MarketInfo("EURUSD", MODE_SPREAD);

//--- wyświetlić wyniki
   Print("EURUSD: bieżąca cena Ask = ",CurrentAsk_EURUSD);
   Print("EURUSD: bieżąca cena Bid = ",CurrentBid_EURUSD);
   Print("EURUSD: wartość 1 punktu = ",Point_EURUSD);
   Print("EURUSD: dokładność notowania ceny = ",(int)Digits_EURUSD);
   Print("EURUSD: spread = ",(int)Spread_EURUSD);
  }

Rys. 1. Przykład stosowania funkcji MarketInfo().


Przykład 2

Skrypt do wyświetlenia ilości cyfr po znaku dziesiętnym (MODE_DIGITS) dla wybranych instrumentów finansowych.

#property strict
void OnStart()
  {
//--- tablica z symbolami
   string SymbolsArray[] = {"GBPUSD", "USDCHF", "USDJPY", "EURJPY", "GOLD"};

//--- znaleźć i wyświetlić dokładność notowania dla każdego symbolu
   for(int i = ArraySize(SymbolsArray)-1; i >= 0; i--)
     {
      string DigitsSymbol = DoubleToString(MarketInfo(SymbolsArray[i], MODE_DIGITS), 0);
      Print("Dla ",SymbolsArray[i]," dokładność notowania ceny = ",DigitsSymbol," cyfr po przecinku.");
     }
  }

Rys. 2. Przykład stosowania funkcji MarketInfo().