SYMBOL_VISIBLE
Czy instrument jest widoczny na liście w oknie Rynek. Widoczność i wybranie to dwie różne rzeczy, choć nazwy sugerują inaczej.
long SymbolInfoInteger(string symbol, SYMBOL_VISIBLE);
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
Symbol może być wybrany do obserwacji, a mimo to ukryty na liście — na przykład gdy używa go otwarta pozycja albo wykres.
Dlaczego to nie jest oczywiste
Widoczność i wybranie to dwie różne rzeczy, choć nazwy sugerują inaczej. SYMBOL_SELECT mówi, czy terminal pobiera dla instrumentu dane. SYMBOL_VISIBLE mówi tylko, czy widać go na liście.
Terminal potrafi sam wybrać instrument bez pokazywania go: dzieje się tak, gdy otwierasz na nim pozycję albo wykres. Próba usunięcia takiego symbolu przez SymbolSelect(symbol, false) zwróci fałsz — i to nie jest błąd, tylko ochrona przed utratą danych o otwartej pozycji.
Kod
bool wybrany = (bool)SymbolInfoInteger(symbol, SYMBOL_SELECT);
bool widoczny = (bool)SymbolInfoInteger(symbol, SYMBOL_VISIBLE);
if(wybrany && !widoczny)
PrintFormat("%s jest obserwowany, ale ukryty na liscie "
"- zapewne uzywa go pozycja albo wykres", symbol);