trade context busy - page 2

 
Still no answer or any solution on this issue. I am using the isTradeAllowed() function to become true but it never does..even after 5, 10, 20 , 60 min...Here are the errors in the log:
2006.01.25 20:58:54 ATS2 GBPUSD,M15: OrderCloseExtended(): Waiting for isTradeAllowed;
2006.01.25 20:59:36 ATS2 EURUSD,M15: ATS2 : EURUSD error attemping to close order ; retryCount=7

Come on Metaquotes..instead of recommending to wait for isTradeAllowed() or suggesting a solution that does not work with the Semaphores, why not fix it? I mean this is the core of the platform...if the EA cannot place orders properly what kind of reliability does MT4 have? If a trader programs an EA and lets it trade, what does he/she expects the most out of it? yeah, you guessed it: for it to enter and exit properly and timely acting on its signals..why is that so difficult to grasp and so hard to prioritize as a fix?
 
This, to me, can be attributed to the laziness of the MT4 programmers. It has been said that it is the job of the EA programmer to implement a queue system, however, it is not the EA programmers fault that the trade context has not finished processing the previous order. The EA may be the only strategy running, it could also be one of many, but it should not have to worry about the actions of other EAs. It should be the role of the trading platform to manage the submission of trades instead of preventing them. That is, proactive NOT reactive.

Orders should be processed in a first come, first serve fashion. Instead, the EA must continue to bang at the door of the trading context until it achieves its goal. I believe this technique is called polling and I'm sure that its use here is not warranted. Why can't the OrderSend function simply be blocked until it reaches the head of the trading context manager queue? There should also be timeout after which control is passed back to the EA to reaffirm that the appropriate conditions still exist. Perhaps this could be implemented as a callback.

I'm sure I am in no position to dictate the direction of development but I believe this feature would be high up on an EA programmers wish list :) Feel free to release MT4 as open source so that we can all contribute to a bigger and better platform.


Forget about the open source idea..it will never happen..how does MQ make money with it?
 
They can open source the client while leaving some libraries closed to protect themselves (and the server). They would still make money by selling the server. It would really be nice if they opened the client source. But MQ doesn't directly gain from it, so they prob never will.

If MQ is not releasing an API "for security reasons" then there is no way they will open source it. Would be incredibly nice though.
 

So, that is no solution we can do to solve this error 146, context busy? 

 
louiseneoh:

So, that is no solution we can do to solve this error 146, context busy? 

This error is very rare nowadays. If you still have it you need to explain how.
Reason: