https://www.mql5.com/en/articles/1571
...it may help.
In alternative I can suggest you a tool that will do the math for you and even get your order opened :)
Cheers,
Zyp
Zypkin:
https://www.mql5.com/en/articles/1571
...it may help.
In alternative I can suggest you a tool that will do the math for you and even get your order opened :)
Cheers,
Zyp
That's exactly what I was looking for.
Thanks a lot.
fftremblay:
MaxRisk = (MmRiskPercent * AccountEquity()) / 100;
Lots = MaxRisk / (StopLoss);
In that case, the lot size is in the currency of the account ?
double maxLossPerLot = SL_points/Point * MarketInfo( Symbol(), MODE_TICKVALUE ); double LotStep = MarketInfo( Symbol(), MODE_LOTSTEP ); double size = MathMin( MarketInfo( Symbol(), MODE_MAXLOT ) // No bigger , MathFloor( MaxRisk / maxLossPerLot )/ LotStep )*LotStep); // truncate if (size < MarketInfo( Symbol(), MODE_MINLOT )) size = 0.0; // Risk limit.You are mixing units. Lot size must be a unit less number.

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hi,
Let's assume that we have a forex account in Eur, Yen or GBP.
The Money Management to calculate the position size is the following.
MaxRisk = (MmRiskPercent * AccountEquity()) / 100;
Lots = MaxRisk / (StopLoss);
In that case, the lot size is in the currency of the account ?
If I want the true lot size to respect my money management, do i need to multiply that lot size by the current bid/ask price of the correct pair ?
For example, let's say we obtain Lots = 0.22 or 22 000 Euros. When we are going to buy or sell, the broker is going to place an order for 22 000 US Dollars. MaxRisk is not going to be the right one so we need to multiply Lots by EURUSD bid to obtain the right lot size.
Am i wrong ?
Thanks