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

MQL5 / Instrument

SYMBOL_ASK

Bieżąca cena kupna instrumentu. Odczyt ceny kupna i sprzedaży dwoma osobnymi wywołaniami daje dwie liczby

double SymbolInfoDouble(string symbol, SYMBOL_ASK);

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

Cena, po której otwiera się pozycję długą i zamyka krótką. Odpowiednikiem dla drugiej strony jest SYMBOL_BID.

Dlaczego to nie jest oczywiste

Odczyt ceny kupna i sprzedaży dwoma osobnymi wywołaniami daje dwie liczby z dwóch różnych momentów. Między nimi może przyjść tick, a wtedy wyliczony z nich spread będzie fikcją — czasem ujemną.

SymbolInfoTick wypełnia całą strukturę danymi z jednej chwili i przy okazji podaje czas kwotowania, więc od razu wiadomo, czy dane nie są przestarzałe. Nie ma powodu używać osobnych odczytów poza sytuacją, gdy naprawdę potrzebna jest jedna liczba.

Kod

SYMBOL_ASK
//--- jedna chwila, komplet danych
MqlTick tick;
if(!SymbolInfoTick(symbol, tick))
   return;

double spread = tick.ask - tick.bid;

//--- osobne odczyty: dwie chwile, spread bywa nieprawdziwy
double ask = SymbolInfoDouble(symbol, SYMBOL_ASK);
double bid = SymbolInfoDouble(symbol, SYMBOL_BID);

Powiązane