Przejdź do treści
MQL5 · MetaTrader 5 · po polsku
kod odczarowany

MQL5 / Instrument

SYMBOL_SPREAD_FLOAT

Czy spread jest zmienny, czy stały. Spread stały nie znaczy „zawsze taki sam". Znaczy, że broker deklaruje wartość

long SymbolInfoInteger(string symbol, SYMBOL_SPREAD_FLOAT);

1 fragment kodu z tej strony przeszedł przez kompilator MetaEditor build 6090, 2026-08-05.

Zwraca prawdę, gdy broker stosuje spread zmienny, i fałsz, gdy stały.

Dlaczego to nie jest oczywiste

Spread stały nie znaczy „zawsze taki sam". Znaczy, że broker deklaruje wartość i utrzymuje ją w normalnych warunkach rynkowych — a przy publikacji danych i w weekend rozszerza go tak samo jak każdy inny. Kod zakładający, że przy spreadzie stałym można pominąć filtr, przestaje działać dokładnie wtedy, gdy filtr jest potrzebny.

Praktyczne zastosowanie tej właściwości jest inne: przy spreadzie stałym warto testować w trybie stałego spreadu, przy zmiennym — z historii. Zgodność modelu testu z rzeczywistością zaczyna się od tej jednej liczby.

Kod

SYMBOL_SPREAD_FLOAT
bool zmienny = (bool)SymbolInfoInteger(symbol, SYMBOL_SPREAD_FLOAT);

PrintFormat("%s: spread %s, obecnie %d pkt", symbol,
            zmienny ? "zmienny" : "staly",
            (int)SymbolInfoInteger(symbol, SYMBOL_SPREAD));

Powiązane