Hi, I'm a bit confused with the "lots" unit, is there any way to get the total amount in USD or current currency for some order position?
I know we can get the OrderOpenPrice() and OrderLots() but I don't know how to use it.
For example, if OrderOpenPrice is $100 and OrderLots is 0.1, what is total invested in that order?
I want to know my net profit in %, not total amount, so I need the total initial amount invested to compare with OrderProfit()
Or you could help me to understand it faster so I don't lose too much money? :(
Right now I'm doing the math for % net profit with openPrice and closePrice, but it would be great to know the amount in USD to invest in an easier and clear way before opening the orders, that thing about "lot" is a really confusing for me, why is using that unit?? I don't care about lot, I need to know how much is on every position...
You can use these in your calculations
double tickSize=MarketInfo(_Symbol,MODE_TICKSIZE); //Size of 1 Tick in points
double tickValue=MarketInfo(_Symbol,MODE_TICKVALUE); //Value of 1 Tick for 1 lot (deposit currency
Note that with some brokers TickValue can be incorrect for some non-forex instruments
ie. If your deposit currency is GBP the TickValue returned for instruments such as Oil or Gold may be returned in Dollars. The DAX may be returned in Euros.
I think you want to know the risk you take when placing an order. The lot size in lots doesn't always friendly value and it is understandable why you are confused so much. I think it will be better if you try to calculate the risk you trade. For example: lets say your account balance is $1000. If you trade with 0.1 lots this means that you trade with 10% risk. If you lose 100 pips then you will lose 10% from your account. The formula is very simple.
Although that may be true for symbols ending with USD, it is not true for other Symbols.
Yes you are right. But the difference should not be very big and this calculation should work on most cases.
The problem is I want to know how much I am investing, not only the risk.
In your example, 0.1 for BTC will be more than $1000 ! so I can't even open a trade of 0.1lots, how can I know that in advance? I don't want to invest in lots, I want to invest in "money", I mean is not possible to tell the system: "I want to buy $1000 of this symbol (btc, apple etc)"? I don't want to buy 0.1 lot because I don't know how much is that in USD.
Hi Keith, thanks, so you are saying I can get "how much" is 1 lot with this formula?:
double lotPrice = MarketInfo(_Symbol,MODE_TICKSIZE) * Point();
Working in most cases is not really good enough is it?
I am guessing that you want to calculate how much you would lose if your SL is hit.
So calculate the loss that you can expect ie. with a buy OrderOpenPrice -StopLoss
divide that by TickSize to see how many ticks are at stake
multiply that by TickValue and you will get how much you will lose if you place an order of 1.00 Lots.