Use the following:
MarketInfo( _Symbol, MODE_TICKSIZE )
However, the user WHRoeder usually posts informative links (including for tick size), so here is a quote from one of his posts with various pieces of useful information:
WHRoeder: Do NOT use NormalizeDouble, EVER. For ANY Reason. It's a kludge, don't use it. It's use is always wrongSL/TP (stops) need to be normalized to tick size (not Point.) (On 5Digit Broker Stops are only allowed to be placed on full pip values. How to find out in mql? - MQL4 forum) and abide by the limits Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial and that requires understanding floating point equality Can price != price ? - MQL4 forumOpen
price for pending orders need to be adjusted. On Currencies, Point ==
TickSize, so you will get the same answer, but it won't work on Metals.
So do it right: Trailing Bar Entry EA - MQL4 forum or Bid/Ask: (No Need) to use NormalizeDouble in OrderSend - MQL4 forumLot size must also be adjusted to a multiple of LotStep. If that is not a power of 1/10 then NormalizeDouble is wrong. You must normalize lots properly and check against min and max.Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerlot + CommissionPerLot) (Note OOP-OSL includes the SPREAD)Do NOT use TickValue by itself - DeltaPerlotYou must also check FreeMargin to avoid stop out
To add comments, please log in or register