Вопрос заключается в следующем: Я выставляю из стратегии стоп-заявку, она регистрируется в Strategy.StopOrders. А заявка, которая выставляется при исполнении стопа, она где-нибудь фиксируется в стратегии? На Strategy.NewOrder не реагирует, на Strategy.base.Trader.NewOrders тоже не приходит ордер, который регистрируется по стопу. Как его извлечь-то где-нибудь, точнее отследить момент его регистрации? А то бывает заявка по стопу повисает и надо следить, чтобы она глубоко в стакане не утонула.
Comentarios (18)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Значит где-то ошибка. ProcessDataError что-нибудь выводит? Verifier все ок говорит? Версия S#?
Версия 4.0.1
Я не использую ММВБ и таблицу портфель по бумагам, ибо имею дело с ФОРТС. И опционы вроде тоже тут ни при чем, т.к. мною не используются.
ProcessDataError ничего не выводит.
Если из примера Sample выставить стоп, то заявка появляется?
Так сам стоп-то выставляется , событие прихода стоп-ордера тоже срабатывает. Но вот заявка регистрируемая по стопу не приходит. В примере Sample в таблице "Заявки" заявка, регистрируемая по стопу вроде выводится, но она же не из стратегии выставляется...
Подписался на событие появления новых заявок не из стратегии, а через Trader.NewOrders -> Заявка по стопу приходит. Другое наблюдение : не присваиваются комментарии. Добавляю комментарий след. образом:
В версии 3.2 данный метод работал без проблем. Комментарий добавляется к ордеру, отсылается в квик, но в квик уже приходит без комментария(нет ни order.Comment ни ClientCode). Версия квика 5.24.058
string comment = "[SL]"; slOrder.Comment = comment; slOrder.ExtensionInfo = new Dictionary<Object, Object>(); slOrder.ExtensionInfo.Add(DdeOrderColumns.ClientCode, comment);
А первоначально вы писали обратное.
Так если подписаться просто на событие у Trader, то приходит , а если на Trader у Strategy , то нет.
Так буквально вот недавно работало, что принципиально изменилось-то ума не приложу.
Это один и тот же объект. Или у вас несколько подключений?
Может просто _trader.OrdersTable.Columns.Add(DdeOrderColumns.Comment); и потом TargetOrder =new Order ; не проверял, но может сгодится..
фортс, да. В комментарии отображается номер счета SPBFUTXXX
Вот чего нашёл на форуме квика. Буду думать. Можно сделать через код клиента, с "//" по умолчанию, чтоб точно поддерживалось. Тогда в некоторых случаях в комментарий будет попадать "/" (если настройки сервера такие). Как это обойти - у меня идей нет.
В любом случае в комментарии в квике будет код клиента + комментарий. и суммарное ограничение - 20 символов
Провел еще один эксперимент: работающего бота, написанного на 3.2, который выставляет нормально комментарии, перевел на 4.0.2, обновив референсы. Итог: комментарии не выставляются.
зы. Я бы впринципе откатился до 3.2, но очень уж хочется юзать Strategy...
3.2 - это бета версия 4.0. Strategy есть аж с 2.0 (или даже раньше). Вы можете прислать минимальный код, где возможно отследить вашу ситуацию? Пока что даже трудно понять, что не работает из-за того, что ваши сообщения противоречат друг другу. Или вы что-то недоговариваете.
Ну правильно, код клиента для ММВБ обновили, теперь не проставляется что-то. Посмотрю, попробую фикс на codeplex положить.
Подключение одно, стратегия запускается по нажатию на кнопку, где вызывается метод
Могу даже исходники прислать.
В коде не увидел самого главного, о чем идет речь - получение заявок от стратегии.
Пардон, от стратегии получаю через this.NewOrder += OnNewOrder;