5298

17205

1091

I'm pretty sure it's in points, but I want to make absolutely certain!

Thanks!! :)

17205

Are you sure you wouldn't like to delete that post?

No, I think I'm happy with it.

In my limited experience Pips are what many people understand as being the last digit on a 4 digit Broker . . . so on a 5 digit broker Slippage would be specified in terms of the 4 digit . . . but then multiplied by 10.

1091

"Pip" has been described as "percentage in points" because for a pair with a value around 1.0000 the last digit is 0.01%, one hundredth of a percent. Now bring in 5 digit brokers and this definition still holds but traders now get **sub-pip** price changes. And you now see spreads of 1.6 pips instead of 2 pips.

https://alpari.com/en/forex-trading/spreads-and-margins.html

Notice how they are all in** tenths of a pip** resolution. That is what all this "pip to point conversion" is all about. Points are always the smallest movement on FOREX. You just have to stay clear of wretched **XAUUSD** which moves in 5 point intervals just to be annoying!

20089

On a 4 digit broker Point == pip. On a 5 digit broker Point = 1/10 pip. The unit for slippage is points. Thus I repeatedly say 'EA's must adjust TP, SL, AND slippage.'

//++++ These are adjusted for 5 digit brokers. int pips2points; // slippage 3 pips 3=points 30=points double pips2dbl; // Stoploss 15 pips 0.015 0.0150 int Digits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips) int init(){ OptParameters(); if (Digits % 2 == 1){ // DE30=1/JPY=3/EURUSD=5 forum.mql4.com/43064#515262 pips2dbl = Point*10; pips2points = 10; Digits.pips = 1; } else { pips2dbl = Point; pips2points = 1; Digits.pips = 0; } // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl //---- These are adjusted for 5 digit brokers. /* On ECN brokers you must open first and THEN set stops int ticket = OrderSend(..., 0,0,...) if (ticket < 0) Alert("OrderSend failed: ", GetLastError()); else if (!OrderSelect(ticket, SELECT_BY_TICKET)) Alert("OrderSelect failed: ", GetLastError()); else if (!OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0) Alert("OrderModify failed: ", GetLastError()); */

20089

Points are always the smallest movement on FOREX. You just have to stay clear of wretched

The smallest movement is always TICKSIZE not Point. On Forex they're numerically the same. Not necessarily so for XAUUSD, XAGUSD, DE30, etc.

For Pending orders, the open price must be a multiple of TickSize

double NormalizePrice(double p, string pair=""){ // https://forum.mql4.com/43064#515262 zzuegg reports for non-currency DE30: // MarketInfo(chart.symbol,MODE_TICKSIZE) returns 0.5 // MarketInfo(chart.symbol,MODE_DIGITS) return 1 // Point = 0.1 // Prices to open must be a multiple of ticksize if (pair == "") pair = Symbol(); double ts = MarketInfo(pair, MODE_TICKSIZE) return( MathRound(p/ts) * ts ); }

6626

I'm pretty sure it's in points, but I want to make absolutely certain!

Thanks!! :)

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Maybe you know it already first to know is why you use Slippage in a OrderSend or OrderClose function....

It is an integer so basically a whole positive number you can choose 0,1,2,3,..... for Slippage

not 0.0001, 0.0002, 0.0003, or 0.00001, 0.00002, 0.00003

The prices in forex are changing very fast in a second it can change a several times

If we send our order to buy at the last price and we haven't use Slippage and the price has been changed a little then a requote will happen...

Using Slippage makes it to allow to buy when the price is between " lastknownprice - Slippage * Points " and " lastknownprice + Slippage * Points "

So the conclusion must be that Slippage is basically not Points ==== POINTS IS NOT AN INTEGER ====

1091

17205

You were doing so well until this last line.

:-)

Interesting how such a simple thing can be viewed the same but differently by so many people.

I'm pretty sure it's in points, but I want to make absolutely certain!

Thanks!! :)