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

MQL5 / Transakcja

DEAL_SYMBOL

Instrument, którego dotyczy transakcja. Przy transakcjach niehandlowych — wpłacie, wypłacie, korekcie brokera —

string HistoryDealGetString(ulong bilet, DEAL_SYMBOL);

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

Nazwa instrumentu, taka jak w oknie Rynek.

Dlaczego to nie jest oczywiste

Przy transakcjach niehandlowych — wpłacie, wypłacie, korekcie brokera — to pole jest puste. Kod odczytujący na jego podstawie właściwości instrumentu dostanie wtedy zera: punkt równy zeru, liczbę miejsc równą zeru.

Dzielenie przez taki punkt daje nieskończoność, a porównanie z _Symbol po cichu odsiewa te wpisy. Ta druga rzecz jest paradoksalnie ratunkiem: kod filtrujący po symbolu przypadkiem pomija operacje bilansowe i dlatego działa poprawnie, choć nie z tego powodu, z którego autor sądzi.

Kod

DEAL_SYMBOL
string symbol = HistoryDealGetString(bilet, DEAL_SYMBOL);

if(symbol == "")
   return;                   // wpis niehandlowy: wplata, korekta, dywidenda

double punkt = SymbolInfoDouble(symbol, SYMBOL_POINT);
if(punkt <= 0.0)
   return;                   // instrument nieznany terminalowi

Powiązane