MT5 - point, pips and ticks

 
Hello everyone.

I have a problem that I can't solve. I use MT5.

I am creating a generic EA that I want to use for any product (forex - cfd - commodities - etc.).

The problem is that when calculating a Stop Loss or a Take Profit in monetary value I cannot then transform it into the value corresponding to the product (points, pips or ticks).


Let me give you an example:

I want to have a 2% stop loss. On 1000 euros I get € 20. How do I transform this value to use for any product, CFDs, Forex, Commodities or anything else?


I am sure that some of you will have had the same problem as me. If he solved it he could post at least an idea of code to use because I just can't find the solution.

Thank you all.


If there is something unclear in the question it is probably google translate
Basic Principles - Trading Operations - MetaTrader 5 Help
Basic Principles - Trading Operations - MetaTrader 5 Help
  • www.metatrader5.com
is an instruction given to a broker to buy or sell a financial instrument. There are two main types of orders: Market and Pending. In addition, there are special Take Profit and Stop Loss levels. is the commercial exchange (buying or selling) of a financial security. Buying is executed at the demand price (Ask), and Sell is performed at the...
 

Hello,

1 pip in a 5 decimal price broker is 10 points.

Pips and points are valued for distance.

Ticks are valued for time.

 
Nikolaos Pantzos:

Hello,

1 pip in a 5 decimal price broker is 10 points.

Pips and points are valued for distance.

Ticks are valued for time.

Thanks Nikolaos but that's not the question

 
Alecxander: I want to have a 2% stop loss. On 1000 euros I get € 20.

You have it backwards.

Never risk more than a small percentage of your trading funds, certainly less than 2% per trade, 6% total.

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.

 
William Roeder:

You have it backwards.

Never risk more than a small percentage of your trading funds, certainly less than 2% per trade, 6% total.

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.

Hi William. thanks for the answer but my problem, as I clarify in the question, is not forex. I can't understand how to use the calculated currency value and turn it into something useful for Stop Loss on CFDs (USA SP500, etc.), Commodities and Equities. If you have some code to show, I would be grateful, because I found your answer in many other posts, but I can't understand how to use it for CFDs and Commodities. Thanks

 
Alecxander: t I can't understand how to use it for CFDs and Commodities. Thanks

I don't understand your problem. You get one lot-value / tick. You have your risk (OOP-OSL) Those two times lot size is your risk. Solve for lot size.

 
Forex Calculators
Forex Calculators
  • www.mql5.com
MelBar EuroSwiss 1.85 Expert Advisor The MelBar™ EuroSwiss 1.85x 2Y™ Expert Advisor is a specific purpose profit-scalping tool which success depends on your understanding of its underlying strategy and your ability to configure it. Backtest results using historical data from 6 February 2018 15:00 to 19 February 2020 00:00 for the EUR/CHF (M30...