# Lot size in the base currency trading metals.

First of all, yes, I know there are thousands of similar posts here and I read it all (I think) and still haven't found a solution.

Second of all, I am using the following approach to calculate risks:

```double ValuePerPoint()
{
// Minimal price change (?)
double tickSize     = SymbolInfoDouble( Symbol(), SYMBOL_TRADE_TICK_SIZE );
// Money for a tick change in the BASE currency (?)
double tickValue    = SymbolInfoDouble( Symbol(), SYMBOL_TRADE_TICK_VALUE );
double point        = Point(); // Point value
double pointsPerTick = tickSize / point; // How many points in a tick
double pointValue   = tickValue / pointsPerTick; // How much money for a point change in the BASE currency for ONE LOT (?)

return pointValue;
}
```

So, for example, the currency pair is EURUSD and the deposit currency is USD. Then this gives me

1 LOT        = 100 000

pointValue = 1

And it seems correct : if I went long a 100 000 EUR's and the price have changed by 0.00001 (one point) the loss is 1\$

The currency pair is EURUSD, and the deposit currency is GBP. Then the results:

1 LOT        =100 000

pointValue = 0.731187

Seems correct again: I went long a 100 000 EUR's and the price have changed by 0.00001 (one point) the loss is 1\$ or 0.731187 GBP

But if the pair is XAUUSD and the deposit currency is whatever it is. Then the results are always:

1 LOT        = 100

pointValue = 0.1

Why is this so? Sorry if it is a stupid question

Because the lot size refers to XAU not USD.

One Lot is (in your case) 100 units.

Dominik Egert #:
Because the lot size refers to XAU not USD.

One Lot is (in your case) 100 units.
I think I don't understand something, but the function I mentioned above is supposed to return the point value in the account currency. Why does it work with everything but XAUUSD? How is it special?

LRDPRDX #:
I think I don't understand something, but the function I mentioned above is supposed to return the point value in the account currency. Why does it work with everything but XAUUSD? How is it special?

can you send a snapshot of the Gold chart from your terminal. Also it can vary form broker to broker. GOLD can have different number of digits in their chart. If the EA or indicator is not written in such a way to handle for GOLD then it might not work.

Also the contract size fr gold is usually different as compared with other FOREX pairs. So that also needs ot be effectively handled in the code.

```double PointValue(string symbol) {