Account Currency not US Dollar and Money Management

 

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

 

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.
Reason: