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

MQL5 / Zlecenie

ORDER_PRICE_OPEN

Cena, przy której zlecenie ma zostać wykonane albo aktywowane. Przy zleceniach typu stop limit ta właściwość nie jest ceną wykonania,

double OrderGetDouble(ORDER_PRICE_OPEN);

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

Dla zlecenia rynkowego cena, po której je złożono. Dla oczekującego — poziom aktywacji.

Dlaczego to nie jest oczywiste

Przy zleceniach typu stop limit ta właściwość nie jest ceną wykonania, tylko ceną wyzwolenia. Cena, po której zostanie wystawione zlecenie limit po wyzwoleniu, siedzi osobno, w ORDER_PRICE_STOPLIMIT.

Pomylenie tych dwóch pól kończy się 10015 albo, gorzej, zleceniem wystawionym poprawnie i wykonanym w zupełnie innym miejscu, niż zakładała strategia.

Kod

ORDER_PRICE_OPEN
//--- ile brakuje do aktywacji zlecenia oczekujacego
double poziom = OrderGetDouble(ORDER_PRICE_OPEN);
double biezaca = OrderGetDouble(ORDER_PRICE_CURRENT);
double punkt = SymbolInfoDouble(OrderGetString(ORDER_SYMBOL), SYMBOL_POINT);

PrintFormat("do aktywacji brakuje %d punktow",
            (int)MathRound(MathAbs(biezaca - poziom) / punkt));

Powiązane