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

MQL5 / Transakcja

DEAL_PROFIT

Wynik finansowy transakcji w walucie rachunku. Ta wartość nie zawiera kosztów. Prowizja siedzi w `DEAL_COMMISSION`,

double HistoryDealGetDouble(ulong bilet, DEAL_PROFIT);

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

Kwota zysku lub straty zrealizowana przy zamknięciu. Przy transakcjach wejścia wynosi zero.

Dlaczego to nie jest oczywiste

Ta wartość nie zawiera kosztów. Prowizja siedzi w DEAL_COMMISSION, swap w DEAL_SWAP, a część brokerów dokłada jeszcze DEAL_FEE. Wynik netto to suma czterech pól, nie jednego.

Różnica bywa większa, niż się wydaje: przy strategii o średnim zysku rzędu kilku punktów prowizja potrafi zjeść połowę wyniku, a w raporcie opartym na samym DEAL_PROFIT nie widać jej wcale.

Kod

DEAL_PROFIT
double WynikNetto(const ulong bilet)
  {
   return HistoryDealGetDouble(bilet, DEAL_PROFIT)
        + HistoryDealGetDouble(bilet, DEAL_COMMISSION)
        + HistoryDealGetDouble(bilet, DEAL_SWAP)
        + HistoryDealGetDouble(bilet, DEAL_FEE);
  }

Powiązane