There will be an update in next Metrader 5 build:
Signals: Modified behavior for received requotes and other errors when synchronizing positions and executing signals. When requote is received, a retry of trading operation is performed with an increased allowed slippage (0.5 of current spread for the instrument).
so How can I cancel current trading operation when requote is received? I need to monitor the spread when trading.
But this is not a best solution. Can I cancel the trades by MQL5 program ?
You're talking about canceling incoming mql5 trading signal right ?. AFAIK, there's nothing to stop incoming trades from MQ5 signal.
But your topic here may become good idea. There's option in MT for EA (but not for MQL5 signal), that is "Ask for manual confirmation", maybe you can ask that to Service Desk.
What kwang1 wanted was to cancel incoming trade from mql5 signal, so I think "Ask for manual confirmation" can be helpful in this case.
Aren't you forgetting something song__song ?, if we want to code "Ask for manual confirmation" we can simply use MessageBox ;)
When requote is received, a retry of trading operation is performed with an increased allowed slippage (0.5 of current spread for the instrument).
But I wanna cancel the trade if the splippage is increased.
How to monitor and handle it by MQL5 code?
Nope, there's no mql5 code for that.
You may want to use the same broker as signal provider or ask the signal provider to create signal (demo or live) using your broker. Though, you may still getting a retry but may be not as much as using different broker.