Скачать MetaTrader 5

Коды возврата торгового сервера

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подпишись на нашу страницу в Facebook. Следи за последними новостями!
kond777
346
kond777 2014.11.20 00:59 

Добрый день!

Московская биржа очень больно штрафует за ошибочные транзакции. Целиком положение можно посмотреть по ссылке http://fs.moex.com/files/4266 

Так например, биржа штрафует:

Тип Транзакции*

Результат выполнения (код ошибки)*

Балл Q

AddOrder

Возникла кросс-сделка (31)

Q1

Недостаточно средств клиента (332)

Q2

Недостаточно средств брокерской фирмы (333)

Q3

Заявка FOK не сведена (4103)

Q4

DelOrder

Заявка не найдена (14)

Q5

MoveOrder

Возникла кросс-сделка (31)

Q6

Заявка не найдена (50)

Q7

Недостаточно средств клиента (332)

Q8

Недостаточно средств брокерской фирмы (333)

Q9

DelUserOrders

Транзакция завершена успешно,

и не удалено ни одной заявки

Q10

 

 В кодах возврата торгового сервера МТ5 не все коды присутствуют. Например, нет кодов возврата по "кросс-сделке"  и "заявка FOK не сведена". Прошу пояснить, почему эти коды отсутствуют?

Andrey Khatimlianskii
56195
Andrey Khatimlianskii 2014.11.21 00:36  

Мне кажется, такие грубые проверки терминал и сервер брокера должны проводить самостоятельно.

Но лучше, конечно, уточнить у разработчиков. 

kond777
346
kond777 2014.11.21 17:06  

Не проводят, а отправляют на Биржу. После чего Биржа выкатывает штраф брокеру (если количество таких заявок превышает определенный рубеж), которой он в свою очередь выставляет клиенту. Из указанного списка есть только код возврата "недостаточно средств клиента". За пару минут легко можно настучать критическую массу ошибочных транзакций и попасть на значительную часть депозита. Кстати, КВИК выдает подобные оповещения. Полагаю, что и в данном случае это сделать не сложно.

Очень жаль, что нет никакой реакции на это сообщение со стороны разработчика. (( 

Mikhail Filimonov
5931
Mikhail Filimonov 2014.11.22 12:04  

Да, маловато кодов возврата торгового сервера.

Например, при кросс-сделке, сервер возвращает "0",

при этом, сам терминал, ВООБЩЕ ничего не сообщает! 

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Andrey Khatimlianskii
56195
Andrey Khatimlianskii 2014.11.24 03:36  
kond777:

Не проводят, а отправляют на Биржу. 

Это ваши догадки.

Уточните у разработчиков, так надежнее (кнопка Сервис-деск в профиле). 

Базовые проверки терминал проводит сам. Следующая ступень - сервер брокера (его тоже MQ писали), там тоже проводятся проверки (насколько я помню, проверка средств - именно отсюда). И только потом приказ отправляется на биржу.

Хотя, в случае нестандартного/сложного расчета маржи, например, сервер вполне может "ничего не знать" и в тупую транслировать заявки. Поэтому все-таки уточните.

А результатами (ответом), пожалуйста, поделитесь. 

Mikhail Filimonov
5931
Mikhail Filimonov 2014.11.26 17:29  

Разработчики.

Будет ли добавлены новые коды возврата( кросс-сделка, например )? 

kond777
346
kond777 2014.11.28 13:21  
Mikalas:

Разработчики.

Будет ли добавлены новые коды возврата( кросс-сделка, например )? 

Крайне важно не только добавить указанные коды возврата, но и сделать расшифровку всех возвратов по которым в настоящий момент приходит код 0, т.к. гадать каждый раз что в конкретный момент стоит за этим нулем не улыбается ни разу. 
Mikhail Filimonov
5931
Mikhail Filimonov 2014.11.30 22:24  

Вот так выглядят коды возврата, если лимитированный ордер "не нашел" свою цену:

void OnTradeTransaction( const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result )
{
  Print( "Type = ", EnumToString(trans.type), "; State = ", EnumToString( trans.order_state ), "; Retcode = ", result.retcode );
}

 

kond777
346
kond777 2014.12.04 17:47  
Mikalas:

Вот так выглядят коды возврата, если лимитированный ордер "не нашел" свою цену:

 

Видимо, комментариев не будет... ((
kond777
346
kond777 2014.12.22 13:10  
komposter:

Это ваши догадки.

Уточните у разработчиков, так надежнее (кнопка Сервис-деск в профиле). 

Базовые проверки терминал проводит сам. Следующая ступень - сервер брокера (его тоже MQ писали), там тоже проводятся проверки (насколько я помню, проверка средств - именно отсюда). И только потом приказ отправляется на биржу.

Хотя, в случае нестандартного/сложного расчета маржи, например, сервер вполне может "ничего не знать" и в тупую транслировать заявки. Поэтому все-таки уточните.

А результатами (ответом), пожалуйста, поделитесь. 

Делюсь ответом. ))

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

Полагаю, что это не реально большой срок. К тому же, это не блаж какая-то и абстрактная хотелка, а требование Московской Биржи, где за нарушение  жестко штрафуют и

терминал должно четко соответствовать требованиям Московской Биржи (в т.ч. и обрабатывать все ошибки).

kond777
346
kond777 2015.09.22 00:04  

Господа разработчики!

 С того момента, как я обратил Ваше внимание на эту проблему, прошло более 9 месяцев, но НИЧЕГО не было сделано по данной тематике!

 Учитывая, что Московская биржа с незавидной регулярностью дает сбои, мои советники так же дают сбои, что приводит к выставлению штрафов со стороны Биржи за неэффективные и ошибочные транзакции (например, сегодня).  

Убедительно прошу отнестись к этому вопросу с пониманием и реализовать в надлежащем объеме функционал кодов возврата сервера!!!!!  

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий