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

MQL5 / Instrument

SYMBOL_TRADE_TICK_SIZE

Minimalny krok zmiany ceny w notowaniach. To jest właściwa podstawa do przeliczania pieniędzy, a nie punkt. Para

double SymbolInfoDouble(string symbol, SYMBOL_TRADE_TICK_SIZE);

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

Cena instrumentu porusza się wyłącznie o wielokrotności tej wartości. Na większości par walutowych równa się punktowi, ale na kontraktach terminowych i części instrumentów giełdowych bywa jego wielokrotnością.

Dlaczego to nie jest oczywiste

To jest właściwa podstawa do przeliczania pieniędzy, a nie punkt. Para SYMBOL_TRADE_TICK_SIZE i SYMBOL_TRADE_TICK_VALUE tworzy jedyny wzór działający na każdym instrumencie: ile pieniędzy zmienia się przy najmniejszym możliwym ruchu ceny, na jeden lot.

Kod krążący po forach liczy zwykle przez SYMBOL_TRADE_CONTRACT_SIZE, co działa na walutach i rozjeżdża się wszędzie indziej, bo nie uwzględnia przeliczenia na walutę rachunku.

Kod

SYMBOL_TRADE_TICK_SIZE
//--- ile pieniędzy na jednym locie przy ruchu o zadaną liczbę punktów
double StrataNaLot(const string symbol, const int punktow)
  {
   double punkt        = SymbolInfoDouble(symbol, SYMBOL_POINT);
   double rozmiarTicku = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE);
   double wartoscTicku = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);

   if(rozmiarTicku <= 0.0 || wartoscTicku <= 0.0)
      return 0.0;

   return (punktow * punkt / rozmiarTicku) * wartoscTicku;
  }

Powiązane