Need help trying to cut off the digits after the 2 digits after the decimal point.
The original result is 0.01526
I used this code:
double mxlots1 = NormalizeDouble((actfrmargin1*Leverage),2)
The result is 0.02 because NormalizeDouble rounded it off to the nearest 2 digits.
I need this to result in 0.01 because I don't have enough money in my account to do 0.02 lots.
Is there another function that will just cut off after the first 2 digits after the decimal point, without rounding it off to 0.02?
Pierre
How about this?
double mxlots1 = MathFloor(actfrmargin1*Leverage*100)/100
How about this?
Yes it works great now.
Success to all!!
Pierre
- In code (MT4): Risk depends on your initial stop loss, lot size, and the value of the pair. It does
not depend on margin and leverage.
- You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
- AccountBalance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the spread, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
- Do NOT use TickValue by itself - DeltaPerLot and verify
that
MODE_TICKVALUE is returning a value in your deposit currency, as promised by the documentation, or whether it is returning
a value in the instrument's base currency.
MODE_TICKVALUE is not reliable on non-fx instruments with many brokers. - You must normalize lots properly and check against min and max.
- You must also check FreeMargin to avoid stop out
Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5 or 0.1 Lots maximum.
- Use a GUI EA like mine (for MT4): Indicators: 'Money Manager Graphic Tool' indicator by 'takycard' Forum - Page 6
I have been trading for 13 years and blown 6 margin calls, so I have learned my lessons and I know what I'm doing. But thanks for your input.
Success to all!
Pierre

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Need help trying to cut off the digits after the 2 digits after the decimal point.
The original result is 0.01526
I used this code:
double mxlots1 = NormalizeDouble((actfrmargin1*Leverage),2)
The result is 0.02 because NormalizeDouble rounded it off to the nearest 2 digits.
I need this to result in 0.01 because I don't have enough money in my account to do 0.02 lots.
Is there another function that will just cut off after the first 2 digits after the decimal point, without rounding it off to 0.02?
Pierre