Stop Loss не работает больше - сливать, так сливать. - страница 4

 

Получил официальный ответ от брокера по данной ситуации, цитирую:

"

Удалось проанализировать логи и воссоздать ситуацию.

По логам мы видим, что начиная с 17:30 Ваш стоп пытался закрыть позицию огромное множество раз, однако каждый раз возвращалась ошибка "No many" - нехватка средств для совершения операции.

Анализ показал, что блокировка произошла из-за заявки sell limit которую Вы выставили в 16:43. Она не была снята, оставалась активной и блокировала имеющийся контракт. Т.е. этим ордером закрывалась позиция. поэтому при выставлении еще одного ордера на продажу(в результате срабатывания stop loss), торговая система возвращала сообщение о нехватке средств для совершения сделки на продажу на 2 контракта. 

Затем, после клиринга первая заявка была снята (все неисполненные заявки снимаются биржей в конце торговой сессии). После этого stop loss исполнился сразу и позиция была закрыта.

Скриншоты логов, и самой заявки приложены к письму.


"

Пока не знаю как реагировать, остались вопросы:

1. Почему в логе терминала не транслировалось сообщение о не хватки денег, а на сервере транслировалось.

2. Почему брокер пытался закрыться не по рынку, а ещё одни лимитным ордером.


Отмечу, что при закрытии по стопу у меня хватало денег на открытие позиции по лимитному ордеру.

Вообще ситуация странная, получается, что StopLoss при тейк профите через лимитный ордер невозможен, если позиция открыта на все ГО (загрузка ГО была не 100%, оставалось ещё примерно 900 пунктов на движение).

 
Aleksey Vyazmikin:

Получил официальный ответ от брокера по данной ситуации, цитирую:

"

Удалось проанализировать логи и воссоздать ситуацию.

По логам мы видим, что начиная с 17:30 Ваш стоп пытался закрыть позицию огромное множество раз, однако каждый раз возвращалась ошибка "No many" - нехватка средств для совершения операции.

Анализ показал, что блокировка произошла из-за заявки sell limit которую Вы выставили в 16:43. Она не была снята, оставалась активной и блокировала имеющийся контракт. Т.е. этим ордером закрывалась позиция. поэтому при выставлении еще одного ордера на продажу(в результате срабатывания stop loss), торговая система возвращала сообщение о нехватке средств для совершения сделки на продажу на 2 контракта. 

Затем, после клиринга первая заявка была снята (все неисполненные заявки снимаются биржей в конце торговой сессии). После этого stop loss исполнился сразу и позиция была закрыта.

Скриншоты логов, и самой заявки приложены к письму.


"

Пока не знаю как реагировать, остались вопросы:

1. Почему в логе терминала не транслировалось сообщение о не хватки денег, а на сервере транслировалось.

2. Почему брокер пытался закрыться не по рынку, а ещё одни лимитным ордером.


Отмечу, что при закрытии по стопу у меня хватало денег на открытие позиции по лимитному ордеру.

Вообще ситуация странная, получается, что StopLoss при тейк профите через лимитный ордер невозможен, если позиция открыта на все ГО (загрузка ГО была не 100%, оставалось ещё примерно 900 пунктов на движение).

так вам же русским по белому написано - 

поэтому при выставлении еще одного ордера на продажу(в результате срабатывания stop loss), торговая система возвращала сообщение о нехватке средств для совершения сделки на продажу на 2 контракта. 

А то что вам для операции денег не хватает - так это больше к разработчикам терминала вопросы чем к бирже. А еще больше вопросов к вам. Почему вы не изучили основные правила торговли ? 
 
Dmitiry Ananiev:

так вам же русским по белому написано - 

А то что вам для операции денег не хватает - так это больше к разработчикам терминала вопросы чем к бирже. А еще больше вопросов к вам. Почему вы не изучили основные правила торговли ? 

Вы вообще внимательно читаете - понимаете чем отличаются рыночные ордера от лимитных, не? В ответе они указывают, что хотели выставить ещё один лимитный ордер для обработки стоп лосса, поэтому и не ясно, с какого это праздника они решили так сделать - почему не по рынку закрывать решили.

 
Aleksey Vyazmikin:

Вы вообще внимательно читаете - понимаете чем отличаются рыночные ордера от лимитных, не? В ответе они указывают, что хотели выставить ещё один лимитный ордер для обработки стоп лосса, поэтому и не ясно, с какого это праздника они решили так сделать - почему не по рынку закрывать решили.

А лично я понял так, что Ваши стоп и лимитный совпали по цене. Поэтому обрабатывались сразу две заявки, на исполнение которых (двух сразу) не хватало средств. Ни о каком втором лимитнике речи нет.

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

А лично я понял так, что Ваши стоп и лимитный совпали по цене. Поэтому обрабатывались сразу две заявки, на исполнение которых (двух сразу) не хватало средств. Ни о каком втором лимитнике речи нет.

Посмотрите внимательно первый скрин - там видно, что открыта позиция на покупку, вместо тейк профита стоит лимитный ордер на продажу, а под позицией стоит стоп лосс.

 

Вот по сути скрин, как у них воспринимала ситуацию система - это сообщение шло по кругу - просто вырезал кусок.

Вопрос в том, откуда взялась эта расчетная маржа 6504,45? Из чего она сложилась? У лимитного ордера на продажу плюс минус такая же маржа, как и у лимитного на покупку - пусть 4500, а получается что маржа считалась так, как будто планировали совершить открытие по рынку в моменте! Почему так считалась плановая маржа?

 
Aleksey Vyazmikin:

Вот по сути скрин, как у них воспринимала ситуацию система - это сообщение шло по кругу - просто вырезал кусок.

Вопрос в том, откуда взялась эта расчетная маржа 6504,45? Из чего она сложилась? У лимитного ордера на продажу плюс минус такая же маржа, как и у лимитного на покупку - пусть 4500, а получается что маржа считалась так, как будто планировали совершить открытие по рынку в моменте! Почему так считалась плановая маржа?

Теперь всё понятно.

Всё правильно, стоп заявка это по сути рыночная заявка, т.е. лимитный ордер по наихудшей цене. Поэтому и маржа такая требуется в 1,5 раза больше.

Вот только почему такие вещи не отражаются в терминале? Это вопрос к разработчикам.

 
Sergey Chalyshev:

Теперь всё понятно.

Всё правильно, стоп заявка это по сути рыночная заявка, т.е. лимитный ордер по наихудшей цене. Поэтому и маржа такая требуется в 1,5 раза больше.

Вот только почему такие вещи не отражаются в терминале? Это вопрос к разработчикам.

Да, вы правы, рыночных заявок не существует на бирже, это просто сленг!
На бирже только лимитные ордера, и отправив его по худшей цене, он обязан исполнится сразу, т.е. по рынку.
Но ситуация интересная, открытая позиция заблокировалась из за маржи другого лимитного ордера, а на стоп лос (лимит)по рынку, маржи не хватило.
Да, не доработка серверной части MQ, стоп лосс как серверная функция должна иметь приоритет в данном случае.
То есть функция стоп лосса должна проверять, если не хватает маржи для её выполнения, то делать проверку на выставленные лимитные ордера,
и если они есть, то снимать их до того момента пока не наберётся требуемая маржа.    
Прям в хоть в блокнот записывай ситуацию.

 
Sergey Chalyshev:

Теперь всё понятно.

Всё правильно, стоп заявка это по сути рыночная заявка, т.е. лимитный ордер по наихудшей цене. Поэтому и маржа такая требуется в 1,5 раза больше.

Подождите, из Вашей логики получается, что стоп лосс не сработал бы в любом случае, вне зависимости от открытого Sell limit ордера?

Однако, это не так и всегда происходит закрытие.

Как я понимаю, что если выставляется противоположный лимитный ордер (рыночный или отложенный) с тем же объемом, то ГО не увеличивается (возможно, есть поправочные коэффициенты).

Выставленная отложка ушла на биржу, в то время как stop loss остался в системе брокера. Дальше я думаю, что правило не увеличения ГО при закрытии позиции по рынку так же существует.

В итоге, программа, контролирующая позицию у брокера посчитала, что  Sell limit будет посчитан, как ордер не увеличивающий ГО, а вот Stop Loss не будет учитываться как ордер на закрытие позиции, а будет учитываться как ордер на продажу, отсюда и завышенное требование к ГО!

Я считаю, что именно в попытке единовременно считать риски и по лимитному ордеру и по ордеру по рынку, направленному на закрытие позиции, неверно в силу того, что два события одновременно не могут наступить. Если сработает Sell limit, то отменится Stop Loss, а если сработает Stop Loss, то ГО на Sell limit хватит, при этом два события одновременно не могут наступить.

Решил ещё раз посмотреть лог, тут нюанс, в том, что Sell limit был открыт до начала появления позиции, но думаю перерасчет требуемой маржи и классификация каждого ордера в связи с этим происходит при каждой заявке.

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

Логически не обоснованные требования, как я ранее доказал, но вопрос в том, действовал брокер по правилам биржи и в этих правилах такие логические ошибки, или это вопрос настройки сервера брокера.

Sergey Chalyshev:

Вот только почему такие вещи не отражаются в терминале? Это вопрос к разработчикам.

Да, это как раз самая большая претензия - отсутствие информации о ситуации!


Roman:

Да, вы правы, рыночных заявок не существует на бирже, это просто сленг!
На бирже только лимитные ордера, и отправив его по худшей цене, он обязан исполнится сразу, т.е. по рынку.
Но ситуация интересная, открытая позиция заблокировалась из за маржи другого лимитного ордера, а на стоп лос (лимит)по рынку, маржи не хватило.
Да, не доработка серверной части MQ, стоп лосс как серверная функция должна иметь приоритет в данном случае.
То есть функция стоп лосса должна проверять, если не хватает маржи для её выполнения, то делать проверку на выставленные лимитные ордера,
и если они есть, то снимать их до того момента пока не наберётся требуемая маржа.    
Прям в хоть в блокнот записывай ситуацию.

Как раз рыночные существуют и это не сленг, а документ, а вот в протоколе плаза2 не существуют по названию такие.

Лимитный ордер на бирже, и он ушел туда первым, поэтому он считается как встречный ордер без нагрузки на ГО, а stop loss считается ордером по рынку с увеличенным ГО - в этом и проблема! И то, что брокер тут начал в своем ответе лукавить, так же наводит на мысли, что именно их система не верно считала ГО....


Вот такой документ "ПРИНЦИПЫ РАСЧЕТА ГАРАНТИЙНОГО ОБЕСПЕЧЕНИЯ НКО НКЦ (АО) НА СРОЧНОМ РЫНКЕ" пока удалось найти про ГО, но там не так просто въехать в расчеты.

 
Мне кажется, что у Sell Limit'a должен быть признак - направлен он на закрытие позиции или открытие новой, если он есть, то при закрытии позиции по стоп лосс или тейк профит такой встречный лимитный ордер с признаком должен убираться с рынка.
Причина обращения: