hi,
I would like to convert point from currency pair to currency account. For example assuming my account is in USD what will be the value in USD of 200 points on the currency pair EURJPY.
I heard about MarketInfo(EURJPY, MODE_TICKVALUE)) which return value in USD for one tick and MarketInfo(EURJPY, MODE_TICKSIZE)).
However when I use the formula:
200xMarketInfo(EURJPY, MODE_TICKSIZE))xMarketInfo(EURJPY, MODE_TICKVALUE))
I do not get the expected result.
- How to calculate in $ the 1 PIP / 1 POINT value of EURUSD in Meta Trader 4 ?
- Calculate the profit in MT4
- MQL4: MarketInfo returns Zero for EURUSD!
Of course you don't. Look at your resulting units 200 something size Dollars: meaning less. You want (200 * _Point) * (tickValue/tickSize) (size Dollars/size = Dollars.)
- In code:
Risk depends on your initial stop loss, lot size, and the value of the pair.
- You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
- Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
-
Do NOT use TickValue by itself - DeltaPerLot
and verify that MODE_TICKVALUE is returning a value in your deposit
currency, as promised by the documentation, or whether it is returning a value
in the instrument's base currency.
MODE_TICKVALUE is not reliable on non-fx instruments with many brokers. - You must normalize lots properly and check against min and max.
- You must also check FreeMargin to avoid stop out
- Use a GUI EA like mine (for MT4): Indicators: 'Money Manager Graphic Tool' indicator by 'takycard' Forum - Page 6
This link is broken. You could change it into this link: https://www.mql5.com/en/forum/227407 or into another valid link.
Thanks for your replies. However when I use your formula I still not get the right value. Below is my code:
double point=MarketInfo("EURJPY",MODE_POINT); double ticksize=MarketInfo("EURJPY", MODE_TICKSIZE); double tickvalue=MarketInfo("EURJPY", MODE_TICKVALUE); double value200tickUSD=200*point*(tickvalue/ticksize); Print("Value in deposit currency for 200 points (0.200JPY=?): ",DoubleToString(value200tickUSD,2));
I am using a 5 digit account with an account currency is USD and this code return the value 186.95
however 0.200 JPY=0.0018695 USD
So what is missing ?
I have $187.04 USD per lot
whroeder1:
I have $187.04 USD per lot
I have $187.04 USD per lot
ok it makes more sense now.
Regards,
Dorian
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