ФОРТС: retcode 10013. - страница 2

 
Sergey Chalyshev:

Типа того:

Михаил знает о чем речь

Спасибо, похоже, это может решить проблему. Кусок лога моего эксперта:

2015.11.20 12:19:30.999	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324331 выбран. Статус: ORDER_STATE_PLACED. Попытка #0 удаления ордера..
2015.11.20 12:19:31.033	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324331 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #0 удаления ордера..
2015.11.20 12:19:31.043	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324331 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #1 удаления ордера..
2015.11.20 12:19:51.201	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324536 выбран. Статус: ORDER_STATE_PLACED. Попытка #0 удаления ордера..
2015.11.20 12:19:51.355	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324536 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #0 удаления ордера..
2015.11.20 12:19:51.365	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324536 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #1 удаления ордера..
2015.11.20 12:19:51.375	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34324536 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #2 удаления ордера..
2015.11.20 12:27:57.984	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34326964 выбран. Статус: ORDER_STATE_PLACED. Попытка #0 удаления ордера..
2015.11.20 12:27:58.025	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34326964 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #0 удаления ордера..
2015.11.20 12:27:58.036	 (RTS-12.15,M1)	TradeRemoveCycle: Ордер #34326964 выбран. Статус: ORDER_STATE_REQUEST_CANCEL. Попытка #1 удаления ордера..

Нужно анализировать момент, когда ордер в состоянии удаления. Тогда и неэффективных транзакций меньше будет.

 
Alexey Kozitsyn:
Гм. Завтра проверю, спасибо. Вы сами ловите реткод 10013?

Если есть проверка статуса, то такого реткода нет.

Но проблема в том, что это ошибочная логика! Не должно так быть, что существующий ордер нельзя даже пытаться удалять если статус промежуточный.

Так быть не должно! Это структурная ошибка MT5

 
Fry_Антон:

Если есть проверка статуса, то такого реткода нет.

Но проблема в том, что это ошибочная логика! Не должно так быть, что существующий ордер нельзя даже пытаться удалять если статус промежуточный.

Так быть не должно! Это структурная ошибка MT5

Так пытайтесь, кто мешает?

А сервер ответит - ордер в состоянии удаления, запрос отклонен.

В чем проблема? 

 
Andrey Khatimlianskii:

Так пытайтесь, кто мешает?

А сервер ответит - ордер в состоянии удаления, запрос отклонен.

В чем проблема? 

сервер отвечает 10013. Всегда! (для FORTS)

Проблема в том, что именно 10013 приходит на 100% когда ордер:

    - проверен на корректность, но еще не принят брокером (скорее всего внутри секунды уже будет выставлен на биржу)
    - в состоянии регистрации (идёт выставление на биржу)

Не проверял, но подозреваю что 10013 будет и тут:

    - в состоянии модификации (идёт изменение параметров)

То есть нельзя удалять гарантировано существующий ордер! Пускай эти состояния длятся ~20 мс в штатном режиме. Не важно! Сам факт того, что в системе предусмотрены такие дырки, говорит о структурной ошибке.

Самая критически важная торговая операция должна иметь наивысший приоритет выполнения.

Код всей системы должен разрабатываться таким образом, чтобы на любом этапе, кроме факта сделки, можно было мгновенно отменить ордер. Пускай разработчики скажут, - мы не виноваты, это шлюз биржи нас подводит. Тогда надо долбать биржу, чтобы думала над кодом ещё.

 
Fry_Антон:

сервер отвечает 10013. Всегда! (для FORTS)

Проблема в том, что именно 10013 приходит на 100% когда ордер:

    - проверен на корректность, но еще не принят брокером (скорее всего внутри секунды уже будет выставлен на биржу)
    - в состоянии регистрации (идёт выставление на биржу)

Не проверял, но подозреваю что 10013 будет и тут:

    - в состоянии модификации (идёт изменение параметров)

То есть нельзя удалять гарантировано существующий ордер! Пускай эти состояния длятся ~20 мс в штатном режиме. Не важно! Сам факт того, что в системе предусмотрены такие дырки, говорит о структурной ошибке.

Самая критически важная торговая операция должна иметь наивысший приоритет выполнения.

Код всей системы должен разрабатываться таким образом, чтобы на любом этапе, кроме факта сделки, можно было мгновенно отменить ордер. Пускай разработчики скажут, - мы не виноваты, это шлюз биржи нас подводит. Тогда надо долбать биржу, чтобы думала над кодом ещё.

Все равно не понимаю, в чем проблема.

10013 возвращает сервер МТ5, правильно? В чем тогда проблема долбить его, пока ордер реально не удалится? О каких штрафах речь?

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

Или я чего-то недопонимаю? 

 
Andrey Khatimlianskii:

Все равно не понимаю, в чем проблема.

10013 возвращает сервер МТ5, правильно? В чем тогда проблема долбить его, пока ордер реально не удалится? О каких штрафах речь?

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

Или я чего-то недопонимаю? 

Штраф, за превышение 2000 установок, модификаций и удалений ордеров,

не приведших к сделке. 

(особенность рынка ФОРТС) 

http://moex.com/n8725 

 
Михаил:

Штраф, за превышение 2000 установок, модификаций и удалений ордеров,

не приведших к сделке. 

(особенность рынка ФОРТС) 

http://moex.com/n8725 

Можешь показать формулу расчета количества неэффективных  транзакций?

Обыскался, на сайте moex все законспирировано. Не нашел вразумительной формулы. 

 
Sergey Chalyshev:

Можешь показать формулу расчета количества неэффективных  транзакций?

Обыскался, на сайте moex все законспирировано. Не нашел вразумительной формулы. 

См.  вложение

Приложение № 2

к Условиям оказания услуг информационно-

технического обеспечения

Общества с ограниченной ответственностью

«МБ Технологии» 

 11.1.     Сбор за неэффективные Транзакции.

11.2.     Сбор за ошибочные транзакции. 

Файлы:
 
Михаил:

См.  вложение

Приложение № 2

к Условиям оказания услуг информационно-

технического обеспечения

Общества с ограниченной ответственностью

«МБ Технологии» 

 11.1.     Сбор за неэффективные Транзакции.

11.2.     Сбор за ошибочные транзакции. 

видел этот документ, формула или у меня не показывается или документ неправильный:

 

Расчет величины Сбора за неэффективные Транзакции производится по формуле:


где:

TranFee1 – величина Cбора за неэффективные Транзакции, совершенные в течение Торгового дня (в рублях с учетом НДС);

k – балл для Транзакции, совершенной с указанием соответствующих Разделов (определенный по типу Транзакции в соответствии с Таблицей 1);

f – сумма биржевого и клирингового сборов, подлежащих уплате за заключение Сделок с указанием Разделов, за соответствующий Торговый день;

l – балл для Сделки, заключенной с указанием одного из Разделов (определенный по типу Сделки в соответствии с Таблицей 1). 

самой формулы нет
 
Sergey Chalyshev:

видел этот документ, формула или у меня не показывается или документ неправильный:

самой формулы нет