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

MQL5 / Instrument

SYMBOL_TRADE_TICK_VALUE

Wartość jednego ticku w walucie rachunku, dla jednego lota. Ta wartość zmienia się w czasie. Dla instrumentów, których waluta zysku

double SymbolInfoDouble(string symbol, SYMBOL_TRADE_TICK_VALUE);

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

Podstawa każdego przeliczenia ryzyka na wolumen. Mówi, ile pieniędzy zyskujesz lub tracisz, gdy cena przesunie się o jeden krok notowania przy pozycji wielkości jednego lota.

Dlaczego to nie jest oczywiste

Ta wartość zmienia się w czasie. Dla instrumentów, których waluta zysku różni się od waluty rachunku, zależy od bieżącego kursu przeliczeniowego. Wyliczenie wolumenu na podstawie wartości zapamiętanej w OnInit będzie po tygodniu niepoprawne o tyle, o ile zmienił się ten kurs.

Są też dwie osobne właściwości, o których prawie nikt nie wie: SYMBOL_TRADE_TICK_VALUE_PROFIT i SYMBOL_TRADE_TICK_VALUE_LOSS. Na części instrumentów różnią się między sobą, a SYMBOL_TRADE_TICK_VALUE jest wtedy jedną z nich, nie średnią. Do liczenia ryzyka właściwa jest wersja _LOSS.

Kod

SYMBOL_TRADE_TICK_VALUE
//--- do ryzyka bierzemy wartość dla strat, nie uśrednioną
double wartoscStraty = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE_LOSS);
if(wartoscStraty <= 0.0)
   wartoscStraty = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);

//--- odczyt tuż przed obliczeniem, nigdy raz na starcie
PrintFormat("%s: tick value %.5f (zysk %.5f, strata %.5f)", symbol,
            SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE),
            SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE_PROFIT),
            wartoscStraty);

Powiązane