Rotating Image Header

Why MT4 Rejects Orders and Trading Delays Continue

So a gain turns into a loss while trying to exit.

After two straight positive 25-lot transactions, one transaction wiped out all gains. See the section from the MT4 trade log that shows the losing transactions and the delay in exiting the trade.

15:52:48 ‘1002’: instant order sell 25.00 GBPUSD at 1.9121 sl: 0.0000 tp: 0.0000 (entry order placed at 15:52:48 UK time)
15:52:48 ‘1002’: request was accepted by server
15:52:48 ‘1002’: request in process
15:52:49 ‘1002’: order was opened : #66396 sell 25.00 GBPUSD at 1.9121 sl: 0.0000 tp: 0.0000 (entry order filled 1 sec or less later)
15:52:50 ‘1002’: modify order #66396 sell 25.00 GBPUSD at 1.9121 sl: 0.0000 tp: 0.0000 -> sl: 1.9129 tp: 0.0000 (EA enters 8-pip stop at 15:52:50 UK time)
15:52:50 ‘1002’: request was accepted by server
15:52:50 ‘1002’: request in process
15:52:55 ‘1002’: close order #66396 sell 25.00 GBPUSD at 1.9121 sl: 0.0000 tp: 0.0000 at price 1.9118 (exit order placed at 15:52:55 UK time while position is 3 pips positive – stop still not in system even though it was entered 5 seconds ago)
15:52:55 ‘1002’: request was accepted by server
15:53:14 ‘1002’: order #66396 sell 25.00 GBPUSD at 1.9121 was modified -> sl: 1.9129 tp: 0.0000 (stop loss is activated 24 seconds later)
15:53:15 ‘1002’: request in process
15:53:15 ‘1002’: order #66396 sell 25.00 GBPUSD closing at 1.9118 failed [Off quotes] (exit order rejected 25 seconds later)
15:53:47 ‘1002’: close order #66396 sell 25.00 GBPUSD at 1.9121 sl: 0.0000 tp: 0.0000 at price 1.9127
15:53:47 ‘1002’: request was accepted by server
15:53:48 ‘1002’: request in process
15:53:48 ‘1002’: order #66396 sell 25.00 GBPUSD at 1.9121 sl: 1.9129 tp: 0.0000 closed at price 1.9127

The example above is self explanatory. When the trader tried to exit at a 3-pip profit, it took 25 seconds for the system to reject his order. He got out of his trade later at a 6-pip loss. The stop also took 24 seconds to activate.

Discussion with Trader:

I discussed with the trader why we were getting so many trade rejections and the “off quotes” message. Not that many people understand the messages generated by MT4. MT4 is designed by Metaquotes, a Russian company that is very unfriendly when it comes to support. They are also very difficult to understand due to the language barrier. Despite these setbacks, it is still one of the most popular platforms to trade forex! Anyway, I thought about valid reasons why the “off quotes” message comes up on MT4. Here they are:

1) Because of MT4’s Deviation Setting

When a “Buy” or “Sell” order is submitted via MT4, the order is cancelled if the price has moved beyond the maximum “deviation” setting by the time the order gets to its destination. The maximum deviation setting allowed is set by the broker, but can be reduced by the trader. We have a 2-pip deviation setting currently in place. That means that if the trader is trying to buy GBPUSD at 1.9050 while the price is moving quickly up and the price jumps up to 1.9053 by the time the order gets to where it’s going, the order should be rejected and the “off quotes” message displayed in the trader’s log. This is a safety feature that’s in place for the trader’s protection and is especially useful when scalping. Since we are trading during active market times, it is obvious that some orders will naturally be rejected because of this – But this does not explain all of the “off quotes” rejections that we’re experiencing. It also does not explain the delays we experience sometimes in the execution or rejection of a trade.

2) Because of a liquidity shortage

All real financial markets have liquidity limits, even forex. That means that if you want to buy 25 lots of EURUSD at 1.2800 when someone only wants to sell 15, you can request to either get a “partial fill” for 15 lots at 1.2800 or none at all. Since MT4 does not accept partial fills, the former is not an option. In the example above, the order would be cancelled. This feature is called “Fill or Kill;” that is, fill my entire order or none at all. MT4 is a fill or kill system. This can obviously happen in the fx market, but since we have been trading a maximum of 25 lots at a time, I don’t know if this has been a factor or not in our “off quotes” rejection experience. This is impossible for me to know because MT4 does not display the size available at each price level (or “market depth”). So far, I have been relying on what FXLQ has told me: that 100-lot executions should not be a problem in general. This also has nothing to do with the reporting delay issue that we have been also experiencing.

3) Because of a dealer’s failure to respond or rejection

This reason was brought to my attention by Andrei Savitski from MetaQuotes (the company that makes MT4) on 8/18/2006 in an email answering my questions regarding the problems we were having back them with FXLQ’s first MT4 solution. This should only be the case when there’s a dealing desk behind the price feed that has the ability to manually control trade executions to some degree. This should not be the case here (as has been assured to me over and over by FXLQ), as the orders are supposed to go “straight through” (or STP) the market and execute automatically without manual intervention.

4) Unknown Technical Issue

Technology! We can’t live with it, but we can’t live without it. The MT4 system that FXLQ has made available to us is state-of-the-art. No other firm that I’m aware of has made so much progress in this field. Unfortunately, when “new frontiers” are explored in the technology world, there are always glitches and problems of all types that arise – sometimes these problems are not apparent right away and people take a long time to notice and then solve them. The reason why we are experiencing delays and so many “off quotes” rejections on MT4 might be a result of “unknown technical issues.” These issues should be corrected as we move forward with our DTT robot program.

NOTE:
When I spoke to Robert Gray on Saturday (11/11/06), he mentioned that an unknown technical issue might be the cause of these problems. See my comments on 11/11/06.