Робот не выставляет заявки через Quik на спотовом рынке. На учебном счете все работает хорошо. Не эмуляция, а обычный game счет. Я убрал в квике все возможные запросы на выставление заявок (всплывающие окна подтверждения), но увы. Код клиента тоже указан правильно, и в квике он береться всегда по умолчанию. Денег тоже достаточно. Игровой счет работает, транзакции проходят, а реальный - нет. Что это может быть?
コメント (33)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Счет один в квике?
нет, их несколько... спот, фьюч и демо
В логе что пишет? Попробуй вложенный файл, если не выставляет смотри что в логе?
Спасибо, завтра проверю.
Кто то знает, как это можно исправить? Спасибо.
По умолчанию. Бумага, Код бумаги, Код класса, Статус, Лот, Шаг цены Еще почему то не работает Strategy.CancelActiveOrders, ну работает, только медленно... Не успевает все заявки снять.
я не могу понять, почему код класса UX, если он должен быть GTS
На днях выйдет фикс этой ошибки.
спасибо большое =) жду с нетерпением!
Ошибка с кодом класса так и не была исправлена, по крайней мере на УБ.
А, извеняюсь... все правильно. Пример CEEN GTS UX Stock. Но вот заявки почему то не проходят.
Хотя в квике выставлено какой код клиента брать по умолчанию.
Проверил настройки шаблона в квике, Verifier написал что все работает правильно, но ошибка выскакивает все та же.
указав явно в транзакции код, как оказалось, пришлось указывать и обьем... все заработало, но теперь снимать эти заявки через trader.CancelOrders(фильтр) или еще как то - нельзя.
Выдает вот что:
но это при trader.IsAsyncMode = false.
если асинхронний режим включить, то все работает отлично, но только нужно указать в транзакциях код клиента и обьем. А это не удобно 😢
По коду клиента действительно баг. Если объем не указывать, то какая ошибка?
Вот такая ошибка если в транзакции не указывать обьем. Кратность лота акции CEEN 100, но пишет, что 1. Определял через MinLotSize.
Скажите пожалуйста, исправление выйдет или нет?
Смотрите, когда я определяю кратность лота по акции CEEN (Security.MinLotSize), то мне отображает 1, хотя должно быть 100.
Покажите ToString() для транзакции. Как вы объем задаете для заявки? Если неверной приходит MinLotSize, то какие данные в квике в этой колонке? таблицы правильно настроены?
По моему я нашел где ошибка. Иногда это бывает так очевидно =) В квике, в таблице лот, все значения равны 1. Верифаер ошибок не нашел. Но вместо колонки лот, должна быть колонка кратность лота.
Я заменил колонку и кратность лота теперь отображается правильно, но в транзакциях обьем все равно равен 1 (а не 100, как кратность лота).
Код ошибки:
Не знаю, что с этим делать.
Умножить вручную объем на кратность лота.
Я именно так и делаю при создании стратегии, но это игнорируется API. Приходиться указывать только таким способом:
И в SetVolume() прийдеться каждый раз передавать новое значение при смене инструмента, а это не очень удобно! Так же я не понимаю, почему при создании QuikTrader и отключении асинхронности виставления заявок, программа (робот) просто крэшиться?
trader.FormatTransaction += transaction => transaction.SetVolume(100);
Надо смотреть логи, какие ошибки приходят по событиям. А вообще, синхронный режим лучше не использовать.
Сначала я создаю стратегию и указываю обьем в ней:
Метод, выставляющий заявку:
Но транзакция содержит обьем, равный 1.
Про синхронность выставления заявок я задумался совсем недавно, так как, робот время от времени очень быстро выставляет и снимает заявки, а QUIK не успевает реагировать и лепит что попало. Знаю, что синхронный режим не желателен, так что буду искать другие способы решения проблемы.
Когда выйдет исправление?
На УБ для спотового рынка нужно использовать колонку кратность лота а не размер лота...
На последней версии ошибка с кодом клиента исчезла?
Ошибка с кодом исчезла. Спасибо) Я то колонку сменил, но возникает трабла на срочном рынке при трейде фьючем. Торговля идет по нескольким акциям и фьючу. Так вот, для фьюча кратность налл... Просто хочу узнать, как сделать так, что бы была таблица кратности и размера лота?
Экспорт доп. колонок.
Кроме шуток, я не нашел в DdeSecurityColumns колонку с кратностью лота =) this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.?);
Как быть?