Восстановил его использование. В процессе переписки с РТС тех поддержкой выяснилось, что даже на тестовом полигоне round-trip заявок уменьшается почти в 2-3 раза, если использовать раздельные коннекшены для потоков и транзакций. Еще мне тех поддержка посоветовала посмотреть на размер очереди: Рекомендуется включить трейс New message added to recvList. Size: %d=1 в используемом P2SimpleReplClient_trace.ini и последить за размером очереди сообщений в логе P2SimpleReplClient.log. Включить то я включил, а вот в лог все равно запись не попадает. Причем похоже локальный P2SimpleReplClient_trace.ini вообще никак не влияет на форматирование лога. Наверное, где-то туплю.
В альфа-коннектор добавил чтение исторических данных + пример. http://stocksharpconnectors.codeplex.com/SourceControl/changeset/changes/3385 Если у кого-то будут проблемы с данной фунциальностью - пишите сюда.
class StrategyProcessOrder : ActionStrategy ... base.Trader.SecuritiesChanged += SecuritiesChanged; ... private void SecuritiesChanged(IEnumerable securities) { Base.Log.Out(\"Меня вызвали!!\", LogLevel.Debug); } SecuritiesChanged не вызывается для фьючерсов FORTS. Но работает для акций на ММВБ. Работало в S#3.0.19.0.
Тут есть кто за деньги пишет? Нужна заготовка для робота. Мною реализован алгоритм принятия решения, грубо говоря функция которая возвращает 3 значения: 1. Покупаем Инструмент1 в нужном объеме, Покупаем Инструмент2 в нужном объеме, Продаем Инструмент3 в нужном объеме, Продаем Инструмент4 в нужном объеме 2. Продаем Инструмент1 в нужном объеме, Продаем Инструмент2 в нужном объеме, Покупаем Инструмент3 в нужном объеме, Покупаем Инструмент4 в нужном объеме 3. Курим, ничего не делаем Операции покупка/продажа осуществляются \"по рынку\" Пользовательский интерфейс не нужен Моя функция будет вызываться, на сколько я понял из OnProcess стратегии, а все остальное делает заготовка. Жду контакты в личку Если сможете примерно оценить трудозатраты/стоимость будет вообще отлично Код на VB (предпочтительно) или C#
Вроде бы данные собирает, но показывает только заявки на продажу. http://rghost.ru/7911141/thumb.png
Всем привет. EnableFiltering включен. При вызове RegisterTrades окно модификации таблицы заявок открывается, потом выбрается первый элемент из списка (\"все выпуски\"), где нужный инструмент естесственно не находится, и окно закрывается. Куда копать?
Коллеги, а что означает сообщение о снятии заявки? SMA 16:00:26.6250000 Регистрация защитной заявки с ценой 178945 и объемом 1. SMA 16:00:26.6250000 Регистрация новой заявки на Sell с ценой 178945 и объемом 1. SMA 16:00:26.6250000 Заявка 57154455 на Sell отправлена с ценой 178945 объемом 1. SMA 16:00:27.7343750 Котируемая заявка 57154455 снята. Что я делаю - написал простую стратегию и при открытии позиции хочу защитить ее стопом и выставить тейк. Использую код из справки по Stock# Стратегии/Тейк-профит и стоп-лосс. Как было дело - в алгоритме сработало условие на открытие позиции. В событии NewMyTrades стратегии выставил стоп и тейк. В результате цена дошла до тейка и была отправлена заявка, но цена похоже ушла... версия stock# 3.1.9 QUIK-Junior на демо-счете
Обычно заявки двигаются без проблем. Сегодня получил ошибку: 25.05.2011 13:04:47 ERROR: Ошибка обработки данных System.ArgumentOutOfRangeException: Заданный аргумент находится вне диапазона допустимых значений. Имя параметра: i в System.Text.RegularExpressions.MatchCollection.get_Item(Int32 i) в Ecng.Trading.Quik.QuikTrader.#=qQV3LsYT8ciJ_SaWg100MnA==(Order #=qzEZQw$Xhv2Ia$jm6RwpdIw==, Int64 #=qnF0705Wdr_qmOlb6D7WoAg==, String #=qQYRBhBijJ$TiER07afv4uQ==, Boolean #=qi8Qa1xVwOcoWGAJWxrktHQ==, Codes #=qmcDbrxWhUQIhxtZad7lBvA==, Exception #=qlZklQHduwcTWGf6SU_EISg==) в Ecng.Trading.Quik.QuikTrader.#=qu6MlY3d_9FJ$6TvVz5KplavzxCgTVNjZwUIE2KC0RpY=(UInt32 #=qPQjGF8HZI_e31J8Q1GwUOw==, Codes #=qe8A9wptGfO6BVsP68EKBcg==, Codes #=qwEF8$x$s0KbSD1Q96z6$Pg==, OrderStatus #=q3iNlQ1SjHBCoIs0k2oBOTQ==, Int64 #=qdlQZ6LCObQYMagvXLylmeQ==, String #=qEzN$RjTb0GwU0OAONa0Usw==) ----- _order = ReRegisterOrder(_order, GetNewPrice, () =\u003e _order.Balance, _order.Security.Exchange == Exchange.Rts); S# 3.0.19.0
Михаил, добрый день. Похожий вопрос я уже задавал раньше. http://stocksharp.com/forum/1160/Bibliotieka-S--vyzyvaiet-sobytiie-ProcessDataError-sinkhronno/ Сейчас осознал, что полной ясности все же у меня нет в этом вопросе. Задам вопрос на конкретном примере: void Main() { ... Quik.OrdersChanged += Function1; Quik.OrdersChanged += Function2; ... } void Function1(IEnumerable orders) { Console.Write(\"A\"); Thread.Sleep(10000); } void Function2(IEnumerable orders) { Console.Write(\"B\"); } При наступлении события OrdersChanged на экране \"A\" и \"B\" выведутся одновременно или с интервалом в 10 секунд?
Михаил, добрый день. Есть ли в планах реализация ITrader для FIX протокола и MICEX Bridge?