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

MQL5 / Transakcja

DEAL_VOLUME

Wolumen faktycznie wykonany w tej transakcji. To jest jedyne miejsce, gdzie widać, ile naprawdę weszło na rynek.

double HistoryDealGetDouble(ulong bilet, DEAL_VOLUME);

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

DEAL_VOLUME w MQL5 to wielkość, która realnie zmieniła stan pozycji. Może być mniejsza od wolumenu zlecenia.

Dlaczego to nie jest oczywiste

To jest jedyne miejsce, gdzie widać, ile naprawdę weszło na rynek. ORDER_VOLUME_INITIAL mówi, o ile prosiłeś, a suma wolumenów transakcji z tego zlecenia — ile dostałeś.

Przy strategii, która wylicza wielkość pozycji z ryzyka, ta różnica przekłada się wprost na ryzyko faktyczne. Wykonanie 0.7 lota zamiast zamówionego jednego oznacza, że ryzykujesz o trzydzieści procent mniej, niż zakłada twoja arytmetyka — i że stop loss wyliczony na jeden lot chroni kwotę, której nie masz.

Kod

DEAL_VOLUME
double wolumen = HistoryDealGetDouble(bilet, DEAL_VOLUME);
double cena = HistoryDealGetDouble(bilet, DEAL_PRICE);

PrintFormat("wykonano %.2f lota po %.5f", wolumen, cena);

Powiązane