demo vs live

 

Hello MQL4 community,

What are some major differences between testing EAs on demo vs live ?


Thank you

 
takes time (up to minutes depending on broker.) there is slippage.
 
WHRoeder:
takes time (up to minutes depending on broker.) there is slippage.

Thank you William for your response.


Are you saying there's slippage for live and not for demo? Isn't there a way to cancel an order and resend if the ordersend process is taking too long? I'm guessing this is OrderSend() parameter 'slippage''s function, am I right? If I adjusted the slippage parameter to 10 (assuming 5 digit broker is used), the ordersend function would resend if price slips 10 points, correct?

Thank you

 
  1. Until the orderSend returns, there is nothing an EA can do, it is stopped. It is not taking too long. It is taking how long the broker takes to open an order. This is especially noticeable on a fast market like during news. On a demo, there are no checks required, very fast, (basically communication round trip time.)
  2. Slippage only says if the current price (the broker has when it gets to your request in the queue) is too far from the order price (the pc had when it sent the request) then don't open. That does NOT affect whether there is slippage. If you make the slippage one pip, then you will get open failures instead. On a demo there is NO slippage, so you won't see any difference.
 
WHRoeder:
  1. Until the orderSend returns, there is nothing an EA can do, it is stopped. It is not taking too long. It is taking how long the broker takes to open an order. This is especially noticeable on a fast market like during news. On a demo, there are no checks required, very fast, (basically communication round trip time.)
  2. Slippage only says if the current price (the broker has when it gets to your request in the queue) is too far from the order price (the pc had when it sent the request) then don't open. That does NOT affect whether there is slippage. If you make the slippage one pip, then you will get open failures instead. On a demo there is NO slippage, so you won't see any difference.

"Until the orderSend returns, there is nothing an EA can do"

I want my EA order send/close functions executed as quickly as my broker will allow but I can't test proper slippage parameter values on a demo account. What is a solution?


Thank you

 
Define proper. If you're getting requotes it's too small.
 
WHRoeder:
Define proper. If you're getting requotes it's too small.
Proper defined - click me.


What I mean to write is to use a slippage parameter value (example based on 5 digit broker) slippage example: 10,20,30,etc.  which will help quickly and effectively open/close orders.

Is this clear?


Thank you

Reason: