Formula For Calculating Lot Size

Hello,

Apologies if this is in the wrong forum.

I’m having trouble understanding the lot size calculation in the babypips education so customer support told me I should ask the awesome people of this forum.

If I’m trading a $100,000 account and have a risk of 2% that’s $2000 I’m risking.

Let’s say I’m trading EUR/GBP and I have a Canadian account. (Trading in CAD).

What is the formula (I’m trying to input in spreadsheet) so that I get the correct lot size for MT4?

I know I need my:

  • account balance
  • risk amount (in $ and/or pips)

Do I need the exchange rate for CAD to EUR?

Can anyone teach me the formula for calculating the lot size I need without using a lot size calculator?

Thank you in advanced.

1 Like

I’m brand spanking new but maybe this will help. Search how to determine lot size in the search bar and this discussion comes up:

Apparently, you understand that if risk = $50, and risk = 30 pips, then (for this trade) 1 pip = $1.67 (rounded off).

(Actually, $50 ÷ 30 = $1.6666…, and we will need the extra decimal places in a moment.)

So, the next step is to determine what position size will make each pip of price movement worth $1.67

For this, you have to know the pip-value of the pair you are trading.

1. If your account is denominated in USD, and if the USD is the cross-currency of the pair you are trading, then determining pip-value is easy, and the example you posted is correct. In fact, you can do the math in your head. Let’s walk through it.

If you are trading any pair of the form XXX/USD (such as EUR/USD, GBP/USD, etc.), then pip-values are as follows:

$10 per pip per STANDARD LOT (100,000 units of base currency)

$1 per pip per MINI-LOT (10,000 units of base currency) = 0.1 standard lot

$0.10 per pip per MICRO-LOT (1,000 units of base currency) = 0.01 standard lot

$0.0001 per pip per unit of base currency

Let’s say that you have a MICRO ACCOUNT —that is, your account allows you to trade in whole numbers of micro-lots (1,000 units, 2,000 units, etc.). If the pip-value of the XXX/USD pair that you are trading is $0.10 per pip per micro-lot, and you want a position size which will make each pip worth $1.67, then you can trade 16 micro-lots, in which case each pip will be worth $1.60.

But, you cannot trade 17 micro-lots, because this would make each pip worth $1.70, and a 30-pip price move would exceed your specified 5% risk limit.

So, the answer for an account trading micro-lots is 16 micro lots, which equals 0.16 standard lots (the answer given in the post which you quoted).

Let’s say that you have an account with Oanda, in which you can trade any number of UNITS. In other words, with this type of account, you don’t have to trade in increments of lots, or mini-lots, or micro-lots.

With this account, the answer to your position-size question would be 16,667 units of base currency.

Let’s check that answer. Earlier we said that, for your XXX/USD pair, the pip-value is $0.0001 per pip per unit of currency. And we said that $50 ÷ 30 pips = $1.6666…per pip (including the extra decimal places).

If you divide $1.6666… by $0.0001, you get 16,666.666…, or 16,667 UNITS (rounded off) for your position size.

2. If your account is denominated in USD, but the USD is not the cross-currency of the pair you are trading, then the math is more complicated. That’s why we have Position Size Calculators, such as [this one ]

You should practice with this Calculator. Start with the example above, and see whether you get the same answer that we got here, that is, 16 micro-lots, or 16,667 units of currency.

Then try the calculator with a different pair, say GBP/JPY, and see how the lot size changes. Notice that, for this calculation, you have to figure in the current price of the USD/JPY, in order to convert the answer to your USD account currency. This is the part you probably don’t want to do on your pocket calculator. Let the POSITION SIZE CALCULATOR do it all for you.

1 Like

You first need to know your risk. This as you know is a certain percentage of your trading capital. I always keep it at 1% so for $5000 of trade it is $50. Then I use the pip calculator on fxview to calculate dollars per pip. So if my stop loss is at 200 pips, then $0.25 per pip will be the value I’d need. Finally you’ll need to know the number of units. The formula for this is:
Dollars per pip * 10,000 units of currency that you are trading / USD per pip.
The first dollars per pip will be what you would have calculated ($0.25 here in my case) and the last will be $1 per pip. And for 2500 units here, 2.5 or 0.25 micro lots is what I would be trading.
But to make matters simple, just use the pip size calculator which almost all brokers offer. If you trade actively you can’t possibly be doing this manually every time.

Thank you for this breakdown. I’m coming in (noobie) from only seeing Oanda and could not figure out all of the talk about lot sizes. I’ve only dealt with Oanda and I can trade any number so I was very confused. Thanks for clearing that up.

Thank you guys for your explanations, but as I stated in my original post, I’m trying to find the calculation without using the lot size calculator in case there is a currency that is not there, or is not working.

I’m also trying to find the calculation in CAD for pairs other than the home country being traded.
I understand the USD, but again, as stated in my original post, I need to convert for example, EUR/GBP into CAD.

It’s a lot of ideas, but the way I trade is the compounding effect. If I can continue it, my account will double.

Lot size needs to be maintained. You can make trading entries by doing money management and risk calculation.

Me too. Compounding is one strategy that, regardless of the position size, takes positive pips overtime. Works well for me.

If it suits you, you definitely must be one of those patient traders who prefer the larger, long term earnings option. I too tried it out and was positive about the results too, but soon realized I’m not the wait and watch typa trader.

Here is my 2 cents:

here is the formula I am using in my code (MQL 4/5):

double maxRisk = 0.01; //or 1% per trade
double stopLossInPoints = 200;// this is the stoploss from the current price
double accountBalance = AccountBalance();
double TickValue = (MarketInfo(Symbol(), MODE_TICKVALUE));

double lotSize = NormalizeDouble(accountBalance * maxRisk / stopLossInPoints / TickValue, 2);

When I use this to find the stoploss and then made a trade and move SL level to the specified amount of pips, I got the right stoploss value if the price hit the SL.

Haven’t tested yet with different pairs for now, but probably you need to adjust it too

I know the guy didn’t want to use calculators, but doesn’t it take all of what was requested into account? Account currency, what you want to trade, and the bid of that pair? If not here, there’s plenty of others to look at if you’re pair isn’t listed. Seems way easier than trying to calc it manually.