Slippage defined in index points

To add comments, please log in or register
ZetaTrader
178
ZetaTrader  

I have managed to read this thread: https://www.mql5.com/en/forum/138912 and not know how slippage for the OrderSend() function is defined in index points since it's about currency pairs in there.

For example: with my broker I am able to trade 2 symbols for the german DAX index (or Ger30, if you will).

One is rounded to 1/2 points, so if the price is 13210.0, the next step above would be 13210.5.

The second one allows the price to have 2 digits behind the comma, for example: 13210.23.


How would I define a slippage of 1 index points for both of these?

My assumption is, they have to be defined individually, being 10 for the first example and 100 for the second?

Is that correct? Thank you for the help!

OrderSend() slippage parameter, in points or in pips?
OrderSend() slippage parameter, in points or in pips?
  • 2012.04.08
  • www.mql5.com
I'm pretty sure it's in points, but I want to make absolutely certain! Thanks...
William Roeder
19976
William Roeder  
ZetaTrader:

One is rounded to 1/2 points, so if the price is 13210.0, the next step above would be 13210.5.

How would I define a slippage of 1 index points for both of these?
  1. Don't talk about "1/2 points." Point is defined in MT as the least quoted digit. (0.1 in your first case.) It could be quoted as 13210.50 and Point would be 0.01. The minimum price change is tick size.
               What is a TICK? - MQL4 and MetaTrader 4 - MQL4 programming forum

  2. Using Points means code breaks on 4 digit brokers, exotics (e.g. USDZAR where spread is over 500 points,) and metals. I Compute what a PIP is and use it, not points.
              How to manage JPY pairs with parameters? - MQL4 and MetaTrader 4 - MQL4 programming forum
  3. For your index, I'd compute "PIP" starting with tick size, and the slippage is n*pips/_Point
    CHANGE   gPip, gTS;     COUNT    gPipDigits;    COUNT    gPipToPoint;
    bool     compute_pip(void){ // Requires MarketInfo, don't call in OnInit.
       // pip = StringFind(_Symbol, "JPY") < 0 ? 0.0001 : 0.01; // Forex
          MONEY    dvpl  = DeltaValuePerLot();                  // \ +Metals/exotics
          if(dvpl == 0)  return false;
       gTS   = MarketInfo(_Symbol, MODE_TICKSIZE);
       gPip  = gTS;   while(dvpl * gPip < 5)  gPip *= 10;       // / USDMXN/USDZAR
       gPipToPoint = COUNT(gPip / _Point);
       gPipDigits  = COUNT(MathLog10(gPipToPoint) );
       return true;
    }
    
    Note that some brokers do not even use the slippage field.
ZetaTrader
178
ZetaTrader  
whroeder1:
  1. Don't talk about "1/2 points." Point is defined in MT as the least quoted digit. (0.1 in your first case.) It could be quoted as 13210.50 and point would be 0.01. The minimum change is tick size.
               What is a TICK? - MQL4 and MetaTrader 4 - MQL4 programming forum

  2. Using Points means code breaks on 4 digit brokers, exotics (e.g. USDZAR where spread is over 500 points,) and metals. I Compute what a PIP is and use it, not points.
              How to manage JPY pairs with parameters? - MQL4 and MetaTrader 4 - MQL4 programming forum


Thanks for the answer.

I was referring to points as in "index points", i.e. how the index price, in this case the DAX, is commonly measured.

Which, I see now, is different to a "point" as it is referred to in Meta Trader.

If I interpret correctly, in the first example I gave, if I gave the slippage of 20, a buy trade for 13210 would enter at 13212 at worst, higher than that it would not execute. Regarding the second example, the same trade would need a slippage of 200.

So, in other words, 1st example: 1 pip = 10 points, 2nd example: 1 pip = 100 points. And generally, slippage is entered in points.

Correct?

To add comments, please log in or register