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.
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().
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().