Выставление заявок в Quik
Atom
29.05.2013
yar1k0v


Робот не выставляет заявки через Quik на спотовом рынке.
На учебном счете все работает хорошо. Не эмуляция, а обычный game счет.
Я убрал в квике все возможные запросы на выставление заявок (всплывающие окна подтверждения), но увы.
Код клиента тоже указан правильно, и в квике он береться всегда по умолчанию.
Денег тоже достаточно.
Игровой счет работает, транзакции проходят, а реальный - нет.
Что это может быть?

Теги:


Спасибо:


< 1 2 3 4  >
yar1k0v

Фотография
Дата: 06.06.2013
Ответить


Цитата:

Выложили 4.1.13.2 (фикс версии 4.1.13.1)

Баги:

•SciChart. Падает при рисовании на пустом графике.

•Plaza. Не принимается ExpiryDate.

Ошибка выставления заявок в Quik

•FinamHistorySource. Поддержка Т+ инструментов.



Ошибка с кодом класса так и не была исправлена, по крайней мере на УБ.
Спасибо:

esper

Фотография
Дата: 06.06.2013
Ответить


yar1k0v
Ошибка с кодом класса так и не была исправлена, по крайней мере на УБ.

Какие параметры у инструмента Type, ExchangeBoard?
Спасибо:

yar1k0v

Фотография
Дата: 06.06.2013
Ответить


А, извеняюсь... все правильно.
Пример CEEN GTS UX Stock.
Но вот заявки почему то не проходят.
Спасибо:

esper

Фотография
Дата: 06.06.2013
Ответить


yar1k0v
А, извеняюсь... все правильно.
Пример CEEN GTS UX Stock.
Но вот заявки почему то не проходят.

Что в Debug логах? Через события ошибки приходят?
Спасибо:

yar1k0v

Фотография
Дата: 06.06.2013
Ответить


Код

2013/06/06 12:54:56.345|       |MQS_CEEN@UX_100820|Регистрация новой Limit (0xBF2074) заявки на Buy с ценой 4,394 и объемом 1. 
2013/06/06 12:54:56.346|       |MQS_CEEN@UX_100820|Заявка 46442904 больше не активна.
2013/06/06 12:54:56.352|Error  |MQS_CEEN@UX_100820|Заявка 46442905 (0xBF2074) не была принята по причине StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Не указан код клиента.
2013/06/06 12:54:56.353|Error  |MQS_CEEN@UX_100820|Заявка 46442905 не принята биржей по причине 'Код ошибки Failed Сообщение Не указан код клиента'.


Хотя в квике выставлено какой код клиента брать по умолчанию.

Проверил настройки шаблона в квике, Verifier написал что все работает правильно, но ошибка выскакивает все та же.
Спасибо:

yar1k0v

Фотография
Дата: 06.06.2013
Ответить


Код

trader.FormatTransaction += transaction => transaction.SetClientCode("100820");
trader.FormatTransaction += transaction => transaction.SetVolume(100);


указав явно в транзакции код, как оказалось, пришлось указывать и обьем...
все заработало, но теперь снимать эти заявки через trader.CancelOrders(фильтр) или еще как то - нельзя.

Выдает вот что:

Код

2013/06/06 13:59:20.237|       |SSS_CEEN@UX_100820|Стратегия запущена. [0,-1]. Позиция при старте 0.
2013/06/06 13:59:20.282|       |MQS_CEEN@UX_100820|Стратегия запущена. [0,1]. Позиция при старте 0.
2013/06/06 13:59:20.283|       |MQS_CEEN@UX_100820|Котирование на Sell объема 1.
2013/06/06 13:59:20.284|       |MQS_CEEN@UX_100820|Приостановка правил. _rulesSuspendCount 1.
2013/06/06 13:59:20.302|       |MQS_CEEN@UX_100820|Возобновление правил. _rulesSuspendCount 0.
2013/06/06 13:59:20.317|       |MQS_CEEN@UX_100820|Цена текущей NULL и лучшей 4,403.
2013/06/06 13:59:20.317|       |MQS_CEEN@UX_100820|Лучший бид NULL и лучший аск NULL.
2013/06/06 13:59:20.324|       |MQS_CEEN@UX_100820|Регистрация новой Limit (0x374A867) заявки на Sell с ценой 4,403 и объемом 1. 
2013/06/06 13:59:20.461|Error  |MQS_CEEN@UX_100820|Заявка 50352676 (0x374A867) не была принята по причине System.Threading.LockRecursionException: В этом режиме не разрешены рекурсивные приобретения блокировки записи.
   в StockSharp.Quik.QuikTrader.RegisterTransaction(Transaction transaction)
   в StockSharp.Quik.QuikTrader.OnRegisterOrder(Order order)
   в StockSharp.Algo.BaseTrader.RegisterOrder(Order order).
2013/06/06 13:59:20.466|Error  |MQS_CEEN@UX_100820|Заявка 50352676 не принята биржей по причине 'В этом режиме не разрешены рекурсивные приобретения блокировки записи.'.
2013/06/06 13:59:20.467|       |MQS_CEEN@UX_100820|Текущее кол-во ошибок 1. Максимальное 100.
2013/06/06 13:59:20.467|       |MQS_CEEN@UX_100820|Цена текущей NULL и лучшей 4,403.
2013/06/06 13:59:20.467|       |MQS_CEEN@UX_100820|Лучший бид 4,38 и лучший аск 4,404.
2013/06/06 13:59:20.467|       |MQS_CEEN@UX_100820|Регистрация новой Limit (0x341345D) заявки на Sell с ценой 4,403 и объемом 1. 
2013/06/06 13:59:20.721|       |SSS_CEEN@UX_100820|Новая позиция: 100820-CEEN@UX=99.
2013/06/06 13:59:20.726|       |MQS_CEEN@UX_100820|Новая позиция: 100820-CEEN@UX=99.
2013/06/06 13:59:20.914|       |MQS_CEEN@UX_100820|Позиция изменилась на 99. Оставшийся объем -98.
2013/06/06 13:59:20.914|       |MQS_CEEN@UX_100820|Заканчиваем котирование.
2013/06/06 13:59:20.916|       |MQS_CEEN@UX_100820|Стратегия останавливается. [0,1]. Позиция при старте 99.
2013/06/06 13:59:20.920|       |MQS_CEEN@UX_100820|Правило 'Изменение стакана инструмента CEEN@UX (0x21AF1A5)'. Приостановлено.
2013/06/06 13:59:20.925|       |MQS_CEEN@UX_100820|Ожидание снятия всех активных заявок.
2013/06/06 13:59:20.931|       |MQS_CEEN@UX_100820|Отмена заявки 50352676.
2013/06/06 13:59:20.989|Error  |MQS_CEEN@UX_100820|System.InvalidOperationException: Транзакция 'CLASSCODE=GTS; SECCODE=CEEN; ORDER_KEY=0; ACTION=KILL_ORDER; TRANS_ID=50352678; CLIENT_CODE=100820; QUANTITY=100;' не была зарегистрирована. Причина 'Вы не можете снять данную заявку'.
   в StockSharp.Quik.QuikTrader.RegisterTransaction(Transaction transaction)
   в StockSharp.Quik.QuikTrader.OnCancelOrder(Order order)
   в StockSharp.Algo.BaseTrader.CancelOrder(Order order)
   в StockSharp.Algo.Strategies.Strategy.#=qxzPu2iHWuvn_zxvI9KER6E7zV7ZeSx0lx5gmJPCzrF8=(Order #=qmCVH59OmTnP6dM_iH$xuyQ==)
   в StockSharp.Algo.Strategies.Strategy.#=qfEdBj0Rc7NnXhD7vCfecDE$T$IQub7LkWbO$_STdqytwqbW4CaJq0mIRYZosAt7T(Order #=qSy7qlVSDDWQnWqFCXlcV0A==)
   в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
   в StockSharp.Algo.Strategies.Strategy.#=q_SvJvUxJcrg5geypnfdBT$0TD_AmaMmMkIlPreredgI=()
   в StockSharp.Algo.Strategies.Strategy.#=q4Vjqp5booV7IQdXIgyGlo85pWPA8SEOTHD7k7HoqLVw=(ProcessStates #=qXPUjcWlGh9Cr6gtJEwp6Mg==)
   в StockSharp.Algo.Strategies.Strategy.Stop()
   в StockSharp.Algo.Strategies.QuotingStrategy.#=quJJ66$B0UoPkEWPFMUbYFUYA4yv4Mnws4aVcYx3xyKw=()
   в StockSharp.Algo.MarketRule`2.#=q7L98I26Wj9gUHVZVvYhjfNmvDWVbzzwXggGYrb6OKyQ=.#=qlYQnxf18dU6h8iYG0VgkAQ==(#=qvr5BgeY6d49b0wPGzxamhw== #=ql6p6agGBfPKLz1XmB5CubA==)
   в StockSharp.Algo.MarketRule`2.#=q$EDkGbMRa981JHTAbo$_bZPD5A4kZHGnLjsL$YqXasw=()
   в StockSharp.Algo.MarketRuleHelper.#=qH2Y4Je3rhWV957$s7ps2yw==(IMarketRuleContainer #=qJpv0YbmmXNN9ri$CoYbEXw==, IMarketRule #=qWka7BzS$FJQ4leJX6BPhPg==, Func`1 #=qdJohKodKMjdrTUKlaOZXCg==)
   в StockSharp.Algo.Strategies.Strategy.#=qhBqOxQ5SIAbyY2y6N4BACOwIZpzjdVxd3qFW06_7OgM0tQM6wJbNghxpuK7RYc7MClbCYLtb7iXjJB0B0nSiAA==(IMarketRule #=qNNh7Xd9rPYJBZBVS_X7gig==, Func`1 #=qhxFvJ7$pKfzObQ00FWkAIw==)
2013/06/06 13:59:20.992|       |MQS_CEEN@UX_100820|Заявка 50352676 больше не активна.
2013/06/06 13:59:20.992|       |MQS_CEEN@UX_100820|Заявка 50352676 больше не активна.
2013/06/06 13:59:20.993|Error  |MQS_CEEN@UX_100820|Заявка 50352677 (0x341345D) не была принята по причине System.Threading.LockRecursionException: В этом режиме не разрешены рекурсивные приобретения блокировки записи.
   в StockSharp.Quik.QuikTrader.RegisterTransaction(Transaction transaction)
   в StockSharp.Quik.QuikTrader.OnRegisterOrder(Order order)
   в StockSharp.Algo.BaseTrader.RegisterOrder(Order order).



но это при trader.IsAsyncMode = false.


если асинхронний режим включить, то все работает отлично, но только нужно указать в транзакциях код клиента и обьем.
А это не удобно [sad]
Спасибо:

esper

Фотография
Дата: 06.06.2013
Ответить


По коду клиента действительно баг. Если объем не указывать, то какая ошибка?
Спасибо:

yar1k0v

Фотография
Дата: 06.06.2013
Ответить


Вот такая ошибка если в транзакции не указывать обьем.
Кратность лота акции CEEN 100, но пишет, что 1. Определял через MinLotSize.

Код

2013/06/06 15:02:09.818|Warning|MQS_CEEN@UX_100820|Заявка 54121160 в процессе регистрации.
2013/06/06 15:02:09.896|Error  |MQS_CEEN@UX_100820|Заявка 54121160 (0x335A642) не была принята по причине StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Неверно указано количество.
2013/06/06 15:02:09.903|Error  |MQS_CEEN@UX_100820|Заявка 54121160 не принята биржей по причине 'Код ошибки Failed Сообщение Неверно указано количество'.


Скажите пожалуйста, исправление выйдет или нет?
Спасибо:

esper

Фотография
Дата: 10.06.2013
Ответить


yar1k0v
Скажите пожалуйста, исправление выйдет или нет?

По коду клиента будет фикс, по объему проблема пока не понятна, у заявки объем указан правильно? Посмотрите какие поля будут в транзакции по событию FormatTransaction.
Спасибо:

yar1k0v

Фотография
Дата: 10.06.2013
Ответить


Смотрите, когда я определяю кратность лота по акции CEEN (Security.MinLotSize), то мне отображает 1, хотя должно быть 100.
Цитата:
Посмотрите какие поля будут в транзакции по событию FormatTransaction.

А какие именно вам нужны? Их там много =)
Спасибо:
< 1 2 3 4  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy