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

MQL5 / Instrument

SYMBOL_CURRENCY_PROFIT

Waluta, w której liczony jest wynik pozycji. Jeśli waluta zysku różni się od waluty rachunku, wynik jest przeliczany po

string SymbolInfoString(string symbol, SYMBOL_CURRENCY_PROFIT);

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

Dla EURUSD jest to dolar, dla USDJPY jen. Obok niej instrument ma walutę bazową (SYMBOL_CURRENCY_BASE) i walutę depozytu (SYMBOL_CURRENCY_MARGIN).

Dlaczego to nie jest oczywiste

Jeśli waluta zysku różni się od waluty rachunku, wynik jest przeliczany po bieżącym kursie — i ten kurs zmienia się w trakcie życia pozycji. Ta sama liczba punktów daje inną kwotę w poniedziałek i w piątek.

Praktyczna konsekwencja dotyczy wyliczania ryzyka: wartość ticku, na której opiera się cały wzór, jest już przeliczona na walutę rachunku i też się zmienia. Zapamiętanie jej przy starcie eksperta to najczęstszy sposób na ciche rozjechanie się ryzyka.

Waluty przydają się też do filtra wiadomości: instrument dotyczą publikacje dla obu jego walut.

Kod

SYMBOL_CURRENCY_PROFIT
string bazowa = SymbolInfoString(symbol, SYMBOL_CURRENCY_BASE);
string zysku  = SymbolInfoString(symbol, SYMBOL_CURRENCY_PROFIT);
string konta  = AccountInfoString(ACCOUNT_CURRENCY);

if(zysku != konta)
   PrintFormat("%s: wynik w %s, rachunek w %s - kurs przeliczeniowy zmienny",
               symbol, zysku, konta);

Powiązane