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));
double 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
To add comments, please log in or register