How to code lot size in units?
- Questions from Beginners MQL5 MT5 MetaTrader 5
- Aggressive scalp ea
- Use Java In MQL4
You need to check minimal lot size defined by the broker and lot step.
If broker has lot step 0.01 lot, then you can have lot size on two decimals, providing that it is not less than minimum lot size required by the broker.
For example I saw brokers that have minimum lot size 0.10 and lot step 0.01 , so you could open order with 0.11 lots but not 0.09.
Here is excerpt from example you can find here: https://docs.mql4.com/constants/environment_state/marketinfoconstants
Print("Minimum permitted amount of a lot=",MarketInfo(Symbol(),MODE_MINLOT)); Print("Step for changing lots=",MarketInfo(Symbol(),MODE_LOTSTEP));
dekpips: 1000 units is 0.01 lot. Now if i wanted to enter a specific amount of units, lets say 1364 units | You can't. You can only trade multiples of LOTSTEP and a minimum of MINLOTdouble tradeSize = 1364; double cntrctSize = SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE); // 1000 double lots = NormalizeLots(0.01*tradeSize/cntrctSize); // 0.01 If lotstep=0.01 // 0.013 if lotstep=0.001 |