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
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);