Stop Loss doesn't work any more - to lose is to lose. - page 4

 

Received an official response from the broker on this situation, and I quote:

"

We managed to analyse the logs and recreate the situation.

According to the logs we can see that starting from 17:30 your stop tried to close the position a huge number of times, but each time the error "No many" was returned - insufficient funds for the transaction.

The analysis showed that the blockage was due to a sell limit order which you had placed at 16:43. It was not deleted and remained active and blocked the existing contract. It means that this order was used to close the position. Therefore, when another sell order was placed(as a result of a stop loss triggering), the trading system returned a message about insufficient funds to complete a sell transaction on 2 contracts.

Then, after clearing the first order was removed (all unexecuted orders are removed by the exchange at the end of the trading session). After that the stop loss was executed immediately and the position was closed.

Screenshots of the logs, and the order itself are attached to the email.


"

I do not know yet how to react:

1. Why was not translated in the terminal log message about the lack of money, and broadcasted on the server.

2. Why was the broker trying to close not by the market, but by a limit order?


I would like to note that I had enough money to open a position by a limit order when I closed it by a stop loss.

In general the situation is strange, it turns out that StopLoss at take profit via limit order is not possible, if position is opened with full stop (loading of CS was not 100%, there were about 900 points for movement).

 
Aleksey Vyazmikin:

Received an official response from the broker on this situation, and I quote:

"

We managed to analyse the logs and recreate the situation.

According to the logs we can see that starting from 17:30 your stop tried to close the position a huge number of times, but each time the error "No many" was returned - insufficient funds for the transaction.

The analysis showed that the blockage was due to a sell limit order which you had placed at 16:43. It was not deleted and remained active and blocked the existing contract. It means that this order was used to close the position. Therefore, when another sell order was placed(as a result of a stop loss triggering), the trading system returned a message about insufficient funds to execute a sell order on 2 contracts.

Then, after clearing the first order was removed (all unexecuted orders are removed by the exchange at the end of the trading session). After that the stop loss was executed immediately and the position was closed.

Screenshots of the logs, and the order itself are attached to the email.


"

I do not know yet how to react:

1. Why was not translated in the terminal log message about the lack of money, and broadcasted on the server.

2. Why was the broker trying to close not by the market, but by a limit order?


I would like to note that I had enough money to open a position by a limit order when I closed it by a stop loss.

In general the situation is strange, it turns out that StopLoss at take profit via limit order is impossible if position is opened with full stop (CS was not 100% loaded, there were about 900 points left for take profit).

so it was written to you in clear white text -

so when another sell order was placed(as a result of a stop loss triggering), the trading system returned a message about insufficient funds to execute a 2 contract sell trade.

The fact that you don't have enough money for a transaction is more a question for the developers of the terminal than for the exchange. And even more questions to you. Why haven't you studied the basic rules of trading?
 
Dmitiry Ananiev:

It's written to you in plain English -

And the fact that you don't have enough money for a transaction - that's more of a question for the terminal's developers than for the exchange. And even more questions to you. Why haven't you studied the basic rules of trading?

Do you even read carefully - understand the difference between market orders and limit orders, don't you? In the response they indicate that they wanted to place another limit order to process a stop loss, so it is not clear why they decided to do so - why they decided not to close on the market.

 
Aleksey Vyazmikin:

Do you even read carefully - understand the difference between market orders and limit orders, do you? In the response they indicate that they wanted to place another limit order to process the stop loss, so it's not clear why they decided to do that - why they decided not to close on the market.

Personally, I understood that your stop and limit orders were the same price. That's why two orders were processed at once and there wasn't enough money to execute them (two at once). The second limit is out of the question.

 
Сергей Таболин:

My personal understanding was that your stop and limit were the same price. Therefore, two orders were processed at once and there was not enough money to execute them (two at once). The second limit is out of the question.

Look carefully at the first screenshot - you can see that there is a buy position, instead of a take profit there is a sell limit order, and there is a stop loss under the position.

 

Here is essentially a screenshot of how they had the situation perceived by the system - this message was going around - just cut the piece out.

The question is, where did this estimated margin of 6504.45 come from? What did it come from? The Sell Limit Order plus minus the same margin as the Buy Limit Order - let it be 4500, but it turns out that the margin was calculated as if it was planned to make an opening on the market at the moment! Why was the planned margin calculated that way?

 
Aleksey Vyazmikin:

Here is essentially a screenshot of how they had the situation perceived by the system - this message was going around - just cut the piece out.

The question is, where did this estimated margin of 6504.45 come from? What did it come from? The Sell Limit Order plus minus the same margin as the Buy Limit Order - let it be 4500, but it turns out that the margin was calculated as if it was planned to make an opening on the market at the moment! Why was the planned margin counted that way?

It all makes sense now.

That's correct, a stop order is essentially a market order, i.e., a limit order at the worst price. That is why we need 1.5 times the margin.

But why are such things not shown in the terminal? This is a question for the developers.

 
Sergey Chalyshev:

It all makes sense now.

That's right, a stop bid is essentially a market bid, i.e. a limit order at the worst price. That's why we need 1.5 times the margin.

But why are such things not shown in the terminal? This is a question for the developers.

Yes, you're right, market orders don't exist on the exchange, that's just slang!
There are only limit orders on the exchange, and by sending it at the worst price, it is obliged to execute immediately, i.e. at the market.
But the situation is interesting, the open position was blocked because of the margin of another limit order and there was not enough margin for a stop loss (limit) on the market.
Yes, not a refinement of the server side of MQ, stop loss as a server function should have priority in this case.
That is, the stop loss function should check if there is not enough margin to execute it, then do a check on the limit orders placed,
and if there are, take them out until the required margin is reached.
Just write the situation down in a notebook.

 
Sergey Chalyshev:

It all makes sense now.

That's right, a stop bid is essentially a market bid, i.e. a limit order at the worst price. That's why we need 1.5 times the margin.

Wait, from your logic it follows that the stop loss would not trigger in any case, regardless of the open Sell limit order?

However, this is not the case and a close always occurs.

My understanding is that if an opposite limit order (market or pending) is placed with the same volume, the S/L does not increase (maybe there are correction factors).

The pending order placed went to the exchange, while the stop loss remained in the broker's system. Further I think that the rule of not increasing of CS when closing a position in the market also exists.

As the result, the program which controls the broker's position has decided that the Sell limit will be considered as an order not increasing the SE, while the Stop Loss will not be considered as an order to close the position, but will be considered as a sell order, hence the overstated SE requirement!

I think it is wrong to try to count both limit order and market order at the same time, because two events cannot occur at the same time. If the Sell Limit is triggered, the Stop Loss will be cancelled, and if the Stop Loss is triggered, the GO will be enough for the Sell Limit, and the two events cannot occur at the same time.

I decided to look through the log once again, here the nuance is that the Sell limit was opened before the position opened, but I think the recalculation of the required margin and classification of each order in relation to it occurs at each request.

OM      0       16:52:49.442    Trades  '***': sell limit 1.00 Si-9.19 at 66992
PF      0       16:52:49.468    Trades  '***': accepted sell limit 1.00 Si-9.19 at 66992
DP      0       16:52:49.469    Trades  '***': sell limit 1.00 Si-9.19 at 66992 placed for execution
HS      0       16:52:49.474    Trades  '***': order #108360210 sell limit 1.00 / 1.00 Si-9.19 at 66992 done in 31.520 ms
JG      0       16:52:56.193    Trades  '***': deal #64625350 sell 1.00 Si-9.19 at 66992 done (based on order #108360210)
EK      0       16:53:31.179    Trades  '***': buy limit 1.00 Si-9.19 at 66982
PQ      0       16:53:31.214    Trades  '***': accepted buy limit 1.00 Si-9.19 at 66982
FF      0       16:53:31.215    Trades  '***': buy limit 1.00 Si-9.19 at 66982 placed for execution
LD      0       16:53:31.218    Trades  '***': order #108360263 buy limit 1.00 / 1.00 Si-9.19 at 66982 done in 38.649 ms
DS      0       16:53:31.857    Trades  '***': deal #64625365 buy 1.00 Si-9.19 at 66982 done (based on order #108360263)
MO      0       16:55:13.704    Trades  '***': modify #108360263 buy 1.00 Si-9.19 sl: 0, tp: 0 -> sl: 66855, tp: 0
KN      0       16:55:13.736    Trades  '***': accepted modify #108360263 buy 1.00 Si-9.19 sl: 0, tp: 0 -> sl: 66855, tp: 0
EI      0       16:55:13.738    Trades  '***': modify #108360263 buy 1.00 Si-9.19 -> sl: 66855, tp: 0 done in 34.064 ms

Logically unreasonable requirements, as I proved earlier, but the question is whether the broker acted according to the rules of the exchange and there are such logical errors in those rules, or is it a matter of setting up the broker's server.

Sergey Chalyshev:

Except why such things are not reflected in the terminal? That's a question for the developers.

Yes, that's exactly the biggest complaint - the lack of situation information!


Roman:

Yes, you are right, market orders do not exist on an exchange, that is just slang!
There are only limit orders on the exchange, and by sending it at the worst price, it must execute immediately, i.e. at the market.
But the situation is interesting, the open position was blocked because of the margin of another limit order and there was not enough margin for a stop loss (limit) on the market.
Yes, not a refinement of the server side of MQ, stop loss as a server function should have priority in this case.
That is, the stop loss function should check if there is not enough margin to execute it, then do a check on the limit orders placed,
and if there are, take them out until the required margin is reached.
Just write the situation down in a notebook.

Just the market ones exist and it's not slang, it's a document, but in the plaza2 protocol they don't exist by name.

The limit order is on the exchange, and it went there first, so it counts as a counter order without a load on the GO, and the stop loss is considered a market order with an increased GO - that's the problem! And the fact that the broker here started to lie in their response also suggests that it was their system that counted the GO wrong....


Here is a document"PRINCIPLES OF WARRANTY BENEFITS OF NCC (JSC) ON THE EMPLOYMENT MARKET" so far I managed to find about CS, but it is not so easy to get into calculations there.

 
It seems to me that Sell Limit should have a sign - it should be aimed at closing a position or opening a new one, if it exists, then when closing a position at Stop Loss or Take Profit, such an opposite Limit order with the sign should be removed from the market.