What is the real purpose of Slippage in OrderSend Function?

 

Just wondering what is the purpose of Slippage variable in ordersend function (http://docs.mql4.com/trading/ordersend).

I know it is integer type variable representing Maximum price slippage for buy or sell orders in points. My slippage variable is 1 pip (means 10 points) ... Theoretically as well as practically, if the slippage is more than 10 points then my orders should not be placed. I am getting almost 3 to 4 pips slippage and my slippage is 10 points .. See:

Before sending the Bid value I copied it to another variable for my analysis. Following is the message I got from the broker:

08:51:28 Swabi-2 EURUSD,M1: open #6059456 sell 3.05 USDCAD at 1.08958 ok

And surprisingly following is the print message right after the OrderSend function in which I printed the variable to which I passed the Bid value before OrderSend function:

08:51:28 Swabi-2 EURUSD,M1: 2014.06.10 10:51:30 => Swabi_2-EA: Sell Order Placed at 1.08986 in Currency Pair USDCAD


1.08986 - 1.08958 = 0.00028 ... Means 2.8 pips slippage ...

And I can give thousands of examples like this from Live as well from Demo trading accounts...

The question is How to control broker not to place my orders if slippage is more than I sent in OrderSend function?


OrderSend - MQL4 Documentation
  • docs.mql4.com
OrderSend - MQL4 Documentation
 

You are probably using a broker with Market execution type. Slippage is irrelevant in this case.

See http://forum.mql4.com/62441#946057

How to avoid the bad slippage? - MQL4 forum
  • www.mql5.com
How to avoid the bad slippage? - MQL4 forum
 
angevoyageur:

You are probably using a broker with Market execution type. Slippage is irrelevant in this case.

See http://forum.mql4.com/62441#946057

Thank you Angevoyageur,

Yes I use (so called) ECN brokers .. but it is still strange why metaqoutes don't provide any facility to make traders orders rejected in slippage? Also I am quite sure many brokers are using MT4 Server Build 500 series and NOT 600+ build. 500 Builds have executions delay due to one dead socket to re-activate when a terminal sends trading requests to mt4 server ... see (http://www.forexfactory.com/showthread.php?t=337102&page=8). My average execution delay is around 700 mili seconds on every trade. If traders been forced to upgrade mt4 terminals to build 600+ then brokers also must be forced to upgrade their mt4 servers to build 600+. As metaqoutes do not forcing brokers to upgrade their servers (http://www.forexfactory.com/showthread.php?p=7344588#post7344588), this make mt4 a broker friendly trading software and NOT trader's friendly software. Thats why brokers are making and made bucks. I am afraid if metaqoutes still stick with these strategies then we can see huge impact on their popularity.

 
bachapk:

Thank you Angevoyageur,

Yes I use (so called) ECN brokers .. but it is still strange why metaqoutes don't provide any facility to make traders orders rejected in slippage? Also I am quite sure many brokers are using MT4 Server Build 500 series and NOT 600+ build. 500 Builds have executions delay due to one dead socket to re-activate when a terminal sends trading requests to mt4 server ... see (http://www.forexfactory.com/showthread.php?t=337102&page=8). My average execution delay is around 700 mili seconds on every trade. If traders been forced to upgrade mt4 terminals to build 600+ then brokers also must be forced to upgrade their mt4 servers to build 600+. As metaqoutes do not forcing brokers to upgrade their servers (http://www.forexfactory.com/showthread.php?p=7344588#post7344588), this make mt4 a broker friendly trading software and NOT trader's friendly software. Thats why brokers are making and made bucks. I am afraid if metaqoutes still stick with these strategies then we can see huge impact on their popularity.

There is nothing strange. With a Market execution type, your order is sent to the market, and this order can only be filled at available price. If you don't like it don't use this type of execution.

 
angevoyageur:

There is nothing strange. With a Market execution type, your order is sent to the market, and this order can only be filled at available price. If you don't like it don't use this type of execution.

Thank you for clearing all questions.

The conclusive remarks is that brokers are kept free to play with you by either execution delays (in ECN) or reqoutes (in STP/MM). They are free to choose what mt4 server build to be used that best suits their goals to damage profitable traders. Nothing is provided to stop them :) 

 
bachapk:

Thank you for clearing all questions.

The conclusive remarks is that brokers are kept free to play with you by either execution delays (in ECN) or reqoutes (in STP/MM). They are free to choose what mt4 server build to be used that best suits their goals to damage profitable traders. Nothing is provided to stop them :) 

Just a reminder about the rules :

2. Negative discussions of any banking, brokerage and other financial institutions are not allowed.

Reason: