SL execution at ForInvest Group (http://www.forinvest.net)

I’ve been trading at ForInvest Group’s live account for 3 months.
I have an issue that I haven’t yet managed to resolve with this broker. I set a very short (actually shortest possible) SL for my order at its open. Usually everything is ok, but there were two orders (in all my trading history at this broker) when the price jumped 10 points or more and I found that my order’s SL is zeroed as if I didn’t set it. So I had to close it manually.
For the first time, I thought that setting SL failed and the support said to me the SL was too close to the market. But in this case the order shouldn’t open because the slippage is zero but it did. And the MT terminal’s log said that the order was opened with the requested SL.
For the second time I was checking in my EA order’s SL just after it’s opened - and the EA saw the SL is set! But by the time my EA closed order (far beyond the requested SL) the SL was zero! So my EA can’t even know that the requested SL is ignored! And it seems the SL is reset when the price crosses the requested SL with a gap.
Is that normal with other brokers?

A gap means there are no bids or offers to be had at the price you requested, and it happens with almost any broker. Your broker fills the order at the next available price, or fills it by taking the trade themselves.

Price gaps are usually seen at the highest volatility times, i.e. news announcements and such.

Ok, but what about closing the order automatically on stop-loss? It was not closed at the next available price. The SL was just cancelled and the order’s SL field changed to zero. Is that normal?
Yes it was high volatility and even when my EA tried to close the order itself (beyond the requested and ignored SL level) it got “Off qoutes” error two times. Is it worth demanding the broker to cancel that trade?
I just want what to be ready for if it’s common behaviour for all brokers…

That is most likely the fault of the EA, not the broker. The broker isn’t canceling your stop, the EA is.

If you had manually set a stop in that place, it wouldn’t have canceled, it would have been closed at the next available price.

I’m no expert at coding, but I know enough to think it’s probably a simple fix.

Getting Off Quotes, definitely means that the order you are trying to process is not getting filled, it doesn’t sound like your broker is performing to an acceptable standard, but you can probably improve the EA by making it repeat the order until the order is executed.

Try executing normal orders to see if you get the same problems, but remember to do so under the same conditions, like news and normal times.

No, I am a professional programmer and coded my EA entirely myself. I never call the OrderModify function in me EA, so no modification of my orders by my EA can happen. What’s more I can prove that by an excerpt from MT4’s log concerning hat order:

19:50:16 '91155': instant order buy 0.01 EURUSD at 1.4589 sl: 1.4582 tp: 0.0000
19:50:16 '91155': request was accepted by server
19:50:16 '91155': request in process
19:50:35 '91155': order was opened : #2143728 buy 0.01 EURUSD at 1.4589 sl: 1.4582 tp: 0.0000
19:50:36 '91155': close order #2143728 buy 0.01 EURUSD at 1.4589 sl: 1.4582 tp: 0.0000 at price 1.4590
19:50:36 '91155': request was accepted by server
19:50:37 '91155': request in process
19:51:04 '91155': order #2143728 buy 0.01 EURUSD closing at 1.4590 failed [Off quotes]
19:51:04 '91155': close order #2143728 buy 0.01 EURUSD at 1.4589 sl: 0.0000 tp: 0.0000 at price 1.4578
19:51:04 '91155': request was accepted by server
19:51:04 '91155': request in process
19:51:19 '91155': order #2143728 buy 0.01 EURUSD closing at 1.4578 failed [Off quotes]
19:51:19 '91155': close order #2143728 buy 0.01 EURUSD at 1.4589 sl: 0.0000 tp: 0.0000 at price 1.4568
19:51:19 '91155': request was accepted by server
19:51:20 '91155': request in process
19:51:25 '91155': order #2143728 buy 0.01 EURUSD at 1.4589 sl: 0.0000 tp: 0.0000 closed at price 1.4568

What do you think about all that?

Yes, your orders aren’t getting executed, I remember running an EA that was fine in Demo mode, but on live account I had to do a loop until order is closed - something like this:-

while(order exist)
{
closeorder
}

Not sure about the SL though - seems very strange!

Yes, and I do not mind requesting an order to close in a loop if there are errors until it’s closed. And I do that this way in EA - you can see that in the log.
But what about SL zeroing? At 19_50_36 you can see a close order request with sl = 1.4582, and the next request at 19_51_04 shows sl = 0.0000. This means SL was reset by the broker: there were no order modifications by my EA as you can see from the log. Is that behaviour the same as with any other abroker or rather an anomaly?

I’d say it’s poor broker performance, there’s likely to be a bug in their software or something as well as systems that quite aren’t up to the job, it’s annoying, but your best bet would be to change broker I’d say.

I would say if you called your broker about this and he wouldnt give you an explanation that is very poor customer service and you should take your account elsewhere.
In my EA’s that use a stop loss I code the EA to send market orders to close the position if it reaches stop loss level so even if the regular stop loss fails the EA will keep trying to close the order for as long as it still exists.

I’ve contacted the support and that’s what they replied: "Kindly note that current market price at TP/SL was 1.4584,
so minimum SL was 1.4579, any SL above 1.4579 will be cancelled automatically."
That means that even though I specify the SL at order open the whole thing is done two-step:

  1. the order is opened without SL;
  2. the SL is set (in fact it’s issing a separate order in the borker’s terms as far as understand).
    So if I set the SL at the minimal allowed distance, when the price moves in wrong direction between step 1 and step 2 (5 points in my case), setting the SL fails. And MT4 just reports a fake thing for SL for some time.
    Is this two-step operation is common for all brokers, to summarize? Before, I thought when I set SL at order open it means the open will fail if SL is invalid, but I see now that the order may open while setting SL may fail. Maybe on acute price jumps any broker may behave the same?

From what you say it sounds like their support is useless and their systems too, and neither understand each other, they’ve explained why about an order placed manually, plus I think it’s terrible they put the trade on without a SL if the SL is invalid, that leaves you technically exposed to a margin call.

Try another broker, run both and I bet the other one will run smooth, try Oanda.

If the broker is the one canceling your stop, leave them post haste.
Don’t wait for fond farewells, just pack your bags, and make tracks.

That’s a bucket shop trick, and will cost you your account eventually.