SYMBOL_BASIS
Instrument bazowy, na którym oparty jest ten instrument pochodny. To jest najprostszy sposób, żeby kod sam rozpoznał, że pracuje na
string SymbolInfoString(string symbol, SYMBOL_BASIS);
1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.
Dla kontraktów terminowych, opcji i CFD nazwa instrumentu bazowego. Dla instrumentów pierwotnych łańcuch pusty.
Dlaczego to nie jest oczywiste
To jest najprostszy sposób, żeby kod sam rozpoznał, że pracuje na instrumencie pochodnym, i sięgnął po dane bazowe. Przydaje się przy strategiach porównujących kontrakt z jego bazą oraz przy wykrywaniu rolowania: po zmianie serii nazwa kontraktu się zmienia, a instrument bazowy zostaje ten sam.
Warto pamiętać, że pole wypełniają nie wszyscy brokerzy. Pusty łańcuch nie dowodzi, że instrument nie jest pochodny — dowodzi tylko, że broker tej informacji nie podał.
Kod
string baza = SymbolInfoString(symbol, SYMBOL_BASIS);
if(baza != "" && SymbolSelect(baza, true))
{
MqlTick tick;
if(SymbolInfoTick(baza, tick))
PrintFormat("%s opiera sie na %s, cena bazy %.5f", symbol, baza, tick.bid);
}