Dostęp do danych handlowych:   SymbolName()

Funkcja string SymbolName() zwraca nazwę instrumentu finansowego wybranego w oknie "Rynek" (MarketWatch) lub z ogólnej listy wszystkich instrumentów dostępnych na rachunku handlowym. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

Skrypt do wyświetlenia nazw instrumentów finansowych z indeksem 0, wybranych w oknie "Rynek" (true) i z ogólnej listy (false).

#property strict
void OnStart()
  {
//---
   int  index      = 0;
   bool selectedMW = true;
   bool selectedGL = false;

//--- znaleźć nazwę instrumentu finansowego w oknie Rynek
   string symbolMW = SymbolName(index, selectedMW);
//--- znaleźć nazwę instrumentu finansowego na ogólnej liście rachunku
   string symbolGL = SymbolName(index, selectedGL);

//--- wyświetlić wyniki
   Print("W MarketWatch instrument finansowy z indeksem ",index," = ",symbolMW);
   Print("W ogólnej liście instrument finansowy z indeksem ",index," = ",symbolGL);
  }

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


Przykład 2

Skrypt do sprawdzenia, czy wybrane instrumenty finansowe są dostępnych na rachunku handlowym.

#property strict
void OnStart()
  {
//---
   if(IsSymbolAvailable("EURUSD") == true)
      Print("EURUSD jest dostępny.");
   else
      Print("EURUSD nie jest dostępny!");
//---
   if(IsSymbolAvailable("NoSymbol") == true)
      Print("NoSymbol jest dostępny.");
   else
      Print("NoSymbol nie jest dostępny!");
  }

//=== funkcja własna do sprawdzenia czy instrument finansowy
//=== jest dostępny na rachunku handlowym
bool IsSymbolAvailable(string f_symbol)
  {
//--- znaleźć ilość instrumentów finansowych
//--- dostępnych na rachunku handlowym (false)
   int f_total = SymbolsTotal(false);

//--- sprawdzić czy instrument finansowy jest dostępny
   for(int i=0; i<f_total; i++)
     {
      if(f_symbol == SymbolName(i,false))
         return(true);
     }
   return(false);
  }

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