Using a currency pair data inside an expert for another instrument

 

I have a simple thing that I am struggling to figure out how to do (if possible)

As part of my expert in sizing my trade I need to account for the difference in currency from my base currency to the trade currency. Usually the AUD/USD pair. Effectively I am trying to achieve:

lot_size = sizing calculation * AUDUSD;

How do I import the value of AUDUSD or any other currency pair?

Thanks in advance

Damian

 
Damian.Lee: I need to account for the difference in currency from my base currency to the trade currency. 

No you don't.

Risk depends on your initial stop loss, lot size, and the value of the pair. It does not depend on margin and leverage. No SL means you have infinite risk.

  1. 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.
  2. AccountBalance * 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.)
  3. 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 - MQL4 programming forum 2017.10.10
              Is there an universal solution for Tick value? - Currency Pairs - General - MQL5 programming forum 2018.02.11
              Lot value calculation off by a factor of 100 - MQL5 programming forum 2019.07.19
  4. You must normalize lots properly and check against min and max.
  5. You must also check FreeMargin to avoid stop out

Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5 or 0.1 Lots maximum.

 

Thanks William for responding and taking some to do so.  I have all of the elements you mention, for example set stop distance, optimising based on minimum and max broker limits for lot size and minimum stop value.

However, as part of my risk management I manage risk in my base currency (AUD) when placing the trade.  If I am manually calculating position size, for example NASDAQ equities, this is simple  by looking up the current value and adjusting position size accordingly when entering (I trade equities on a weekly basis through other software / broker).  Given that the USDAUD is give or take 0.63 at the moment and the instruments I wish to trade are quoted in USD  eg NASDAQ index on a 1 or 4 hourly time frame,  I am looking to adjust lot size automatically for currency at time of entry. For example -  Lot size (adjusted) = Lot size * USDAUD

Note - I don't trade FX as part of trading universe. as part of my normal trading routine

Are you able to shed light on this?

Thanks heaps

Damian

Reason: