P.S, those is the formulas I'm using for a long.
Your stop loss placement can be calculated in two different ways: cents/ticks/pips at risk, and account-dollars at risk.
DeepBass9: stoploss_exposure = (OrderStopLoss() - OrderOpenPrice()) * OrderLots() * LotSize * MarketInfo(Symbol(), MODE_TICKVALUE )
- When you post code please use the CODE button (Alt-S)!
(For large amounts of code, attach it.)
Please edit
your (original) post.
General rules and best pratices of the Forum. - General - MQL5 programming forum
Messages Editor - Code assumes sell order.
- Drop LotSize, it's already in TV.
- In code (MT4):
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
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
Hi All,
I hope this has not be answered somewhere before, but I can't seem to find the answer.
I have written an indicator that sums all of the positions in a particular instrument, and works out the cumulative target value, and risk in terms of the deposit currency (ZAR in this case).
I am using the following formulas which work about half the time, in some cases it is out by a factor or 10 or 100. I'm sure there is something that needs to be read from MarketInfo() but I can't figure it out. Can anyone help?
target = (OrderTakeProfit() - OrderOpenPrice()) * OrderLots()* LotSize * MarketInfo(Symbol(), MODE_TICKVALUE )
stoploss_exposure = (OrderStopLoss() - OrderOpenPrice()) * OrderLots() * LotSize * MarketInfo(Symbol(), MODE_TICKVALUE )
Thanks,
DB9