Проблема с выставлением ордеров для коннектора MT4 в версии 4.4.17


Проблема с выставлением ордеров для коннектора MT4 в версии 4.4.17
Atom
1/22/2020


Есть торговый робот, который успешно работает для коннектора к Quik. Сейчас пытаюсь адаптировать его под коннектор для MT4 c версией 4.4.17.
Столкнулся со следующей проблемой. Ордера выставляются, передаются в MT4 и исполняются там.

Но почему то после второго или третьего ордера (закономерность не понятна) ордера перестают передаваться в торговую систему и остаются в коннекторе со статусом Pending. По всей видимости обрывается связь с торговой системой.
Логи от коннектора прикрепил. В чем может быть проблема?!

Спасибо!
FixServer.txt 21 KB (219) MqlServer.txt 8 KB (294)



Thanks:


1 2  >
LevNNN

Avatar
Date: 1/29/2020
Reply


Добрый день!
Вчера прислали новую версию коннектора для MT4. Пока ничего нового не произошло, выставленные ордера по прежнему остаются в статусе Pending
Иногда ордера проходят, но вместо одного ордера - срабатывают четыре!
Кстати, хочу сообщить , что все ордера, которые я выставляю, имеют цену 0. Т.е. я покупаю или продаю по рынку.

Вчерашние логи от новой версии коннектора прикрепил.
Хотелось бы получить работающую версию!
MqlServer.txt 63 KB (226) FixServer.txt 31 KB (329)
Thanks:

Support

Avatar
Date: 1/29/2020
Reply


Добрый день

Ошибку определили, мы пока не выложили обновление. Как только закончим работу, мы напишем в этом топике. Нотификация была, вероятно, от автоматического обновления файлов нашей системы выкладывания релизов.
Thanks:

Support

Avatar
Date: 1/29/2020
Reply


Ошибка связана с терминалом МТ4. Ваши заявки не принимаются терминалом по причине Неправильные стопы at commandNewOrder Where="commandNewOrder"" для ORD Ошибка коннектора в том, что он не транслирует статус заявки. Могли бы вы или на нашем примере SampleConnection указать какие именно параметры передаются в заявке? Или указать их ввиде кода. Так же просьба включить уровень логирования Verbose в LUA части и FIX сервера.
Thanks:

LevNNN

Avatar
Date: 1/30/2020
Reply


Код в моей программе очень простой :
Order order = new Order
{
Portfolio = ordPortfolio,
Security = sec,
Volume = volume,
Direction = sides,
ClientCode = _clientCode,
Price = price
};
Trader.RegisterOrder(order);

Точно такой же код я применяю для коннектора Quik, там все работает. Причем price обычно равна 0, т.е. покупаю или продаю по рынку.

Thanks:

Support

Avatar
Date: 1/30/2020
Reply


У вас разнонаправленные заявки? Просьба прислать логи под Verbose.
Thanks:

LevNNN

Avatar
Date: 1/30/2020
Reply


В общем случае заявки могут быть и однонаправленные и разнонаправленные - все зависит от состояния рынка. К сожалению класс StockSharp.Logging я не использую, поэтому логи под Verbose прислать не могу.
Что конкретно Вас интересует?!
Thanks:

Support

Avatar
Date: 1/31/2020
Reply


Логи выставляются из эксперта. Для этого при запуске эксперта в терминале нужно выставить в выпадающем списке уровень логирования.

Заявки отвергаются системой МТ4. Это не ошибка коннектора. В вашем случае ошибка в коннекторе в том, что не транслируется ошибочный статус. Мы это поправим, поэтому просим прислать логи под уровнем Verbose.
Thanks:

LevNNN

Avatar
Date: 1/31/2020
Reply


Прикрепил логи.
MqlServer.txt 4 MB (288) FixServer.txt 2 KB (194)
Thanks:

Support

Avatar
Date: 2/20/2020
Reply


Добрый день

Пожалуйста, возьмите последнюю версию. Подробнее, информация указана в соседнем топике https://stocksharp.com/posts/m/49569/
Thanks:

Support

Avatar
Date: 2/20/2020
Reply


Для информации. Изменился файл mq4, поэтому закешированную версию ex4 необходимо удалить.
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy