Sergey Masyura
|
Дата: 27.03.2012
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 27.03.2012
http://stocksharp.codepl...changeset/changes/15884
Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id). Можно писать код вида: Код _trader.RegisterOrder(order); _trader.CancelOrder(order);
Такой код используется в котировании в том числе.
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 27.03.2012
Sergey Masyura  https://stocksharp.codeplex.com/SourceControl/changeset/changes/15884 Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id). Можно писать код вида: Код _trader.RegisterOrder(order); _trader.CancelOrder(order);
Такой код используется в котировании в том числе. Такого кода в котировании нет. После регистрации ожидается появление заявки. И только потом возможна отмена.
|
|
|
|
Sergey Masyura
|
Дата: 27.03.2012
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 27.03.2012
Mikhail Sukhov  Sergey Masyura  https://stocksharp.codeplex.com/SourceControl/changeset/changes/15884 Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id). Можно писать код вида: Код _trader.RegisterOrder(order); _trader.CancelOrder(order);
Такой код используется в котировании в том числе. Такого кода в котировании нет. После регистрации ожидается появление заявки. И только потом возможна отмена. Раньше был. Сейчас уже нет.
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 27.03.2012
|
Автор топика
|
|
|
OvcharenkoVI
|
Дата: 28.03.2012
В принципе Коннектор приходит в рабочее состояние, пригодное для релиза 4.1. огромное спасибо Сергею за подписку на несколько инструментов.
|
|
|
|
Sergey Masyura
|
Дата: 28.03.2012
|
|
|
|
http://stocksharp.codepl...changeset/changes/15912
Добавлены AlfaLimitStopCondition, AlfaLimitStopTargetCondition, AlfaTrailingStopCondition. Регистрация стоп-лимит / стоп-лимит + цель заявок. Примеры API подачи ордеров: Код var order = new Order { Type = OrderTypes.Conditional, Portfolio = _portfolio, Security = _security, Volume = 1, Direction = OrderDirections.Buy, StopCondition = new AlfaLimitStopCondition { StopPrice = textBoxBuyStopPrice.Text.To<double>(), Slippage = Double.Parse(textBoxBuyStopSlippage.Text) } };
_trader.RegisterOrder(order);
Код var order = new Order { Type = OrderTypes.Conditional, Portfolio = _portfolio, Security = _security, Volume = 1, Direction = OrderDirections.Buy, StopCondition = new AlfaLimitStopTargetCondition { StopPrice = textBoxBuyStopTarget_Price.Text.To<double>(), Slippage = textBoxBuyStopTarget_Slippage.Text.To<double>(), TargetPrice = textBoxBuyStopTarget_Target.Text.To<double>() } };
_trader.RegisterOrder(order);
Ближайшие таски: - Отладка маркет котирования - Распознавание типов ордеров при начальном чтении их из терминала при старте экспорта
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 29.03.2012
|
Автор топика
|
|
|
OvcharenkoVI
|
Дата: 29.03.2012
Sergey Masyura  В бешеном темпе работаешь )
|
|
|
|
Sergey Masyura
|
Дата: 05.04.2012
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 05.04.2012
Проверил стоп-ордера на ММВБ по просьбе - работают. Портфель должен быть выбран, соответсвующий МММБ - например, 41469-000@MICEX_SHR Бумага должна быть с ММВБ - например, ОАО Сбербанк SBER3@MICEX_SHR Объем должен быть кратным минимальному лоту - например, для сбера 10 акций - это один лот. В коннектор передается число акций. Стоп-Цена задается в условии, а не ордере Код StopCondition = new AlfaLimitStopCondition { StopPrice = textBoxBuyStopPrice.Text.To<double>(), Slippage = Double.Parse(textBoxBuyStopSlippage.Text) }
StopPrice и Slippage должны быть кратными минимальному шагу цены - например, 95.50 и 0.01
|
Автор топика
|
|
|
Ignat
|
Дата: 05.04.2012
А работает ли move? Ранее для изменения ордера надо было снять-поставить, move в чистом виде не работал, соответственно и транзакций в 2 раза больше было и времени тратилось больше на изменение ордера. И решен ли как-нибудь вопрос с невозможностью выставления более 1 ордера в секунду? Пропадающие в никуда ордера до того момента, как на форуме нашел объяснение про причину, конкретно напрягали.
|
|
|
|
Sergey Masyura
|
Дата: 06.04.2012
|
|
|
|
Ignat  А работает ли move? Ранее для изменения ордера надо было снять-поставить, move в чистом виде не работал, соответственно и транзакций в 2 раза больше было и времени тратилось больше на изменение ордера. И решен ли как-нибудь вопрос с невозможностью выставления более 1 ордера в секунду? Пропадающие в никуда ордера до того момента, как на форуме нашел объяснение про причину, конкретно напрягали. Можно у альфа-трейдера вызывать ReRegister - но внутри себя он выполнет две тразакции снятие и выставление новой. В альфа-коннекторе в комментарий записывается transaction id, при UpdateLimitOrder через API альфы нет возможности его изменить. В результате получаем новый ордер с другим id имеет тот же transaction id, что и оригинальный ордер - это ломает обработку ордеров. Кстати, UpdateLimitOrder тоже выполняет две транзакции, но за один вызов API. Проблема с невозможностью выставления более 1 ордера в секунду решена внутри коннектора - если ордер не был принят, он повторно отправляется на регистрацию. Со стороны пользователя это не видно, механизм работает изнутри.
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 12.04.2012
|
Автор топика
|
|
|
Sergey Masyura
|
Дата: 18.04.2012
|
Автор топика
|
|
|
AndreyStock
|
Дата: 16.08.2012
|
|
|
|
Добрый день! Только недавно начал работать со StockSharp (использую StockSharp 4.1.1). Работаю через терминал AlfaDirect, соответственно используется альфа-коннектор, насколько я понимаю. Периодически в процессе работы возникает какая-то ошибка, которая приводит к тому, что программа тихо, без каких либо сообщений или исключений, закрывается. Оборачивал все в try-catch, подписывался на все - все то же самое. Запускаю из-под VisualStudio, тоже никаких UnhandledException. Ошибка возникает, даже если не запускать никакой стратегии, а просто подписаться на получение некоторых данных из AlfaDirect - инструментов и стакана. Первая мысль - виноват COM объект. Возможно, где-то в его unmanaged коде возникает ошибка и закрывается весь процесс без exception'а. Насколько такая версия может быть правдой? Насколько стабилен этот COM-объект? Или нужно смотреть в сторону коннектора? Где и какие тогда исходники коннектора взять, чтобы погонять программу с исходниками из-под VisualStudio? Может я вообще не в ту сторону смотрю и есть какой-то другой путь? Буду рад любым советам и комментариям!
|
|
|
|
Sergey Masyura
|
Дата: 16.08.2012
|
|
|
|
AndreyStock  Добрый день! Только недавно начал работать со StockSharp (использую StockSharp 4.1.1). Работаю через терминал AlfaDirect, соответственно используется альфа-коннектор, насколько я понимаю. Периодически в процессе работы возникает какая-то ошибка, которая приводит к тому, что программа тихо, без каких либо сообщений или исключений, закрывается. Оборачивал все в try-catch, подписывался на все - все то же самое. Запускаю из-под VisualStudio, тоже никаких UnhandledException. Ошибка возникает, даже если не запускать никакой стратегии, а просто подписаться на получение некоторых данных из AlfaDirect - инструментов и стакана. Первая мысль - виноват COM объект. Возможно, где-то в его unmanaged коде возникает ошибка и закрывается весь процесс без exception'а. Насколько такая версия может быть правдой? Насколько стабилен этот COM-объект? Или нужно смотреть в сторону коннектора? Где и какие тогда исходники коннектора взять, чтобы погонять программу с исходниками из-под VisualStudio? Может я вообще не в ту сторону смотрю и есть какой-то другой путь? Буду рад любым советам и комментариям! Исходный код коннектора доступен на http://stocksharp.codepl...Control/list/changesets . По поводу исключения - http://msdn.microsoft.co...unhandledexception.aspx
|
Автор топика
|
|
|
Alexander
|
Дата: 16.08.2012
Андрей, у вас проблема в лицензии, уверен на 90%. Берите свежую версию, 4.1.4 и получайте лицензию.
|
|
|