Salut,
nous avons eu le meme genre de souci.
voilà ce que nous utilisons:
Code:
double Marketinfo = MarketInfo(Symbol(), MODE_MINLOT); //pour recuperer le lots mini, qui nous donnera notre decimale
if (Marketinfo == 0.1) //compte minilots
Lot1 = StrToDouble(DoubleToStr(Lot1,1));
if (Marketinfo == 0.01) //compte microlots
Lot1=StrToDouble(DoubleToStr(Lot1,2));
cette formule permet d'arrondir à 1 ou 2 decimale.
sinon tu as la fonction :
Code:
double MathRound( double value)
mais elle, elle arrondi a l'entier superieur ou inferieur.
en esperant que ca te convient 
@++