SampleHistoryTesting - непонятно как работает:( Скачал RIU9@RTS.zip (Файл с историческими сделками для примера SampleHistoryTesting.) http://www.box.net/stocksharp/#/stocksharp/1/74701094 Запустил SampleHistoryTesting - выбрал папку с распакованным архивом В итоге алгоритм на строчку _nextTime += base.TimeFrame; так не разу и не попал:( И непонятно как получить файлы и директории такого формата для другого инструмента.
Комментарии (123)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
А кнопку начать тестирование нажали? Прогресс побежал?
Чтобы получить файлы для других инструментов, их нужно накачать себе. Прочитайте, что такое Гидра.
кнопку начать тестирование нажимал, прогресс до конца добежал
Михаил, а подскажите, в чем может быть проблема. Запускаю SampleHistoryTesting и для данных, что идут с примером и для своих. Тестирование проходит успешно - прогресс доходит до конца, но отчет открывается пустой - Excel пытается восстановить лист и выводит следующее сообщение:
А при тестировании на рыночных данных отчет правильно строиться...
Собственно, отчет пустой, наверное, потому, что не было выставлено ни одной заявки в процессе тестирования, но тогда вопрос - чем это может быть вызвано?
Хороший вопрос. А сама стратегия вызывается в процессе тестирования?
Сначала я ошибочно указывал на папку RIU9@RTS, а нужно на каталог выше я так понял. Стратегия запускается, но
Но в этом месте свеча всегда null и тестирование проходит без сделок. Я потом перешел на свой пример тестил на RIM1, поменял Exchange = Exchange.Rts ну и TimeFrame=10. В OnProcess() у меня проверка еще
А в остальном тот же код. В итоге отчет сформировался только там Номер заявки и Номер сделки в неудобном формате типа 6,34371E+17 У меня еще задержка почему то 10:10. Чего то я наверное не так делаю... Буду капать
Помогите пожалйста,
скачал RIU9@RTS запускаю SampleHistoryTesting указываю на распакованную папку, жму Старт и вылетает Exception:
Uploaded with ImageShack.us
У меня тоже вылетает такая ошибка, но только, когда запускаю откомпилированный пример, в солюшене ошибок не вылетает. Скорее всего пример откомпилированный от старой версии.
Откомпилировал сам, все равно вылетает эта же ошибка...
Попробуйте под отладчиком запустить.
А какой путь указали в программе? И какой путь в распакованными данными?
папка D:\RIU9@RTS содержит D:\RIU9@RTS\2008_12_15 D:\RIU9@RTS\2008_12_16 D:\RIU9@RTS\2008_12_17 ...
при запуске через отладчик указываю D:\RIU9@RTS прогресс доходит до конца при компилировании и запуске также указываю D:\RIU9@RTS вылетает эксепшн
Указывайте на D:\ > Сначала я ошибочно указывал на папку RIU9@RTS, а нужно на каталог выше я так понял. А вот эксепшен у меня тоже вылетает, несмотря на то что в солюшене все без ошибок
Указывайте на D:\ > Сначала я ошибочно указывал на папку RIU9@RTS, а нужно на каталог выше я так понял. А вот эксепшен у меня тоже вылетает, несмотря на то что в солюшене все без ошибок
да, вы правы при указании верхней папки(D:\ в моем случае) прогресс также пошел, вычислялся долго но отчет эксель предложил восстановить и он оказался пустой
В итоге выбрал каталог с данными на уровень выше и программа отработала правильно
Так и не разобрался я с задержкой. Меняя TimeStep получал и разное количество заявок и разное время задержки, ну как я понял она вроде равна [количество заявок]*TimeStep, хотя последний результат был не такой.... Хотел вот узнать MarketTime и _nextTime в конце OnProcess какие должны быть, я так понимаю nextTime = MarketTime+TimeFrame? А еще заметил такую вещь- когда у меня тестирование дошло до определенного времени 11:40 OnProcess некоторое время не выполнялся, а потом на следующей итерации MarketTime был уже больше на 3 таймфрейма чем nextTime - это после того как была зарегистрирована заявка. Чем это может быть вызвано?
я запустил пример для такого периода ``` new DateTime(2009, 6, 1), new DateTime(2009, 6, 4)
Продажа 02.06.2009 10:55:00 Покупка 02.06.2009 14:55:00 Продажа 02.06.2009 17:40:00 Покупка 02.06.2009 19:35:00 Продажа 02.06.2009 20:15:00 Покупка 03.06.2009 0:50:00 Продажа 03.06.2009 23:05:00
я запустил пример для такого периода ``` new DateTime(2009, 6, 1), new DateTime(2009, 6, 4)
Продажа 02.06.2009 10:55:00 Покупка 02.06.2009 14:55:00 Продажа 02.06.2009 17:40:00 Покупка 02.06.2009 19:35:00 Продажа 02.06.2009 20:15:00 Покупка 03.06.2009 0:50:00 Продажа 03.06.2009 23:05:00
я запустил пример для такого периода ``` new DateTime(2009, 6, 1), new DateTime(2009, 6, 4)
Продажа 02.06.2009 10:55:00 Покупка 02.06.2009 14:55:00 Продажа 02.06.2009 17:40:00 Покупка 02.06.2009 19:35:00 Продажа 02.06.2009 20:15:00 Покупка 03.06.2009 0:50:00 Продажа 03.06.2009 23:05:00
Пробовали несколько раз прогонять? Что другие скажут?
Спасибо за ответ.
Это нужно смотреть стратегию. Никто и не гарантировал, что в примере идет грааль работающий.🙂 Где-то в стратегии косяк.
Так никто Грааль и не просил.🙂 Просто очень хотелось в результате тестирования хотя бы одну сделку увидеть, а не список поставленных и отменённых ордеров. В данном случае не понятно, где косяк, в чем причина:
все дело в цене заявки, просто цена выставленной заявки отлична от цены рынка, потому заявка и не исполняется
в коде SmaStrategy есть строка
для покупки, надо сделать так
а для продажи так
и все будет исполняться
Столкнулся с такой проблемой, что данные, скачанные по RIM1 с РТС, не такие как в Квике и Финаме, а вот скачать с Финама не получается. Как правильно надо создать инструмент в гидре. Я создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая. Но получаю в ответ
А Id?
Я создаю через интерфейс, там нет айди. А в базе - ID для этого инструмента равен RIM1@FINAM
Указывайте биржу РТС.
Да я пробовал указывать РТС, тот же результат... А вот в ошибке путь ``` Ecng.Trading.Hydra.Worker.<Download>b__10(IMarketDataSource source) в E:\StockSharpReleases\StockSharp_3.0.19\Sources\Hydra\Hydra\Worker.cs
Finam 18:43:12.3830534 Стартовал для 1 инструментов. Finam 18:43:12.3840534 System.Collections.Generic.KeyNotFoundException: Данный ключ отсутствует в словаре. в System.ThrowHelper.ThrowKeyNotFoundException() в System.Collections.Generic.Dictionary`2.get_Item(TKey key) в Ecng.Trading.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time) в Ecng.Trading.Hydra.Finam.FinamTradeSource.Load(Security security) в E:\StockSharpReleases\StockSharp_3.0.19\Sources\Hydra\Plugins\Finam\FinamTradeSource.cs:строка 167 в Ecng.Trading.Hydra.Worker.<Download>b__10(IMarketDataSource source) в E:\StockSharpReleases\StockSharp_3.0.19\Sources\Hydra\Hydra\Worker.cs:строка 117
Именно :) Как я и написал выше, скачав с РТС и тестив на них стратегию, сверяя с квиком долго не мог понять в чем проблема, почему результаты через раз отличаются, думал может я что не так сделал. Но потом скачал с квика, с финама и сравнив с теми, что дает мне источник, заполненный РТС, я удивился, некоторые цены не такие :(
Так с Финама по любому нельзя скачать? А как еще через гидру можно данные закачать по фьючерсам РТС? Через квик я так понял данные только во время работы качаются, или все таки историю можно тоже как то скачать?
У меня цена хай не совпадала, так а как фильтровать можно?
Не совсем понял, что мне нужно сделать. Как мне технически это реализовать - через объект storage? Где именно такой фильтр нужно установить?
Подскажите, почему в excel-отчете, сгенерированным SampleHistoryTesting, получаются каждый раз сделки в абсолютно разное время? (тестирую пример с данными RIU9@RTS) Я так понимаю, что стратегию тестим на пятиминутках, но время исполнения сделок не кратно 5 и при каждом тестировании разное...
или
S# тестирует на тиках. Для матчинга генерируется стакан.
Здравствуйте!
В SampleHistoryTesting вставляю код (после создания _trader). Даты (2011, 2, 10) - (2011, 2, 18), Code = "RIH1". Версия 4.0.4 target Framework 3.5 Windows 7 Ultimate (англ)
Окно со сделками появляется, окно с позициями никогда не появляется. В итоге нужен надежный способ контроля позиций по разным инструментам из одной стратегии (без BasketStrategy, т.к. без примеров мне не разобраться). Заранее спасибо.
EmulationTrader на данный момент не поддерживает позиции и портфели. Контроль позиции осуществляйте через стратегии. Примеров по стратегии довольно много, в том же примере SampleHistoryTesting как раз разбирается, как создавать стратегию.
Теперь не придется прыгать на стену. Но, если я не путаю, вы писали что реализуете парный трейдинг. А про Trader.GetPosition - как надежный способ контроля позиций. Что вы используете для тестирования стратегий?
Strategy.PositionManager.
Пример SampleHistoryTesting не работает в версии 4.0.6. Ошибка связана с EquityCurveChart. Вот скрин: http://screencast.com/t/AyjIw0IlTNH
Спасибо, нашли. Выложим на кодеплекс фикс.
Подскажите пожалуйста, дилетанский вопрос. При компиляции последнего SampleHistoryTesting выдает:
Методу "StockSharp.Xaml.EquityCurveChart.System.Windows.Markup.IComponentConnector.Connect(Int32, System.Object)", прозрачному для безопасности, не удалось получить доступ к критически важному типу безопасности "System.Windows.Forms.Integration.WindowsFormsHost".
Сборка "StockSharp.Xaml, Version=4.0.6.0, Culture=neutral, PublicKeyToken=null" помечена атрибутом AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 делает все методы в сборках AllowPartiallyTrustedCallers прозрачными для безопасности по умолчанию, что может являться причиной этого исключения. в StockSharp.Xaml.EquityCurveChart.System.Windows.Markup.IComponentConnector.Connect(Int32 connectionId, Object target) в MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetConnectionId(Object root, Int32 connectionId, Object instance)
Брал самую последнюю версию. Прочитал только что предыдущее сообщение, у меня тоже самое. спасибо заранее.
Закомментировал EquityCurveChart, чтобы не генерировалась ошибка. Стратегия запускается, но сделок нет. Так что проблема в новой версии не одна...
Так выложил ночью исправленную версию, ошибки с EquityCurveChart теперь нет. Что со сделками - есть ли события? Что за стратегия?
Скачал последнюю версию с Кодплекса. Ошибки с EquityCurveChart нет. Однако после нажатия кнопки Старт у меня получается пустой график и пустой отчет. То же было в версии 3.2.11. Каталог указываю верно: тот, в котором лежит каталог RIU9@RTS. Скачал Гидрой свежие данные по RIZ1@RTS, поменял период для RIZ1 - результат тот же: пустой график и отчет. Что нужно сделать, чтобы пример заработал?
Наверное котирование виновато. Сегодня будет фикс.
В версии 4.0.7 пример SampleHistoryTesting заработал, сделки стали совершаться. Но пример теперь работает не так, как в версии 4.0.5. График доходности теперь совершенно другой - стратегия большую часть времени находится в минусе, хотя раньше был плюс. Выкладываю скрин двух графиков, посторенных стратегиями в разных версиях библиотеки: http://screencast.com/t/b8NI0XFucdp
Буду новую версию библиотеки еще внимательно тестировать. Пока не понятно, где корни проблемы...
Не дает покоя достоверность результатов тестирования стратегий на истории. В последней версии (4.0.7 betta 3) запустил пример SampleHistoryTesting, получил такой отчет: http://screencast.com/t/6CdtsGDTS
Вот что смущает:
Запустил тест той же самой стратегии и на том же временном отрезке в AmiBroker. В результате получил в два раза больше сделок и совершенно другой профит. Для теста использовал минутные свечи, загруженные с Финама...
Возможно, проблема в генераторе свечек? Или в котировании? Кто-то тестировал свои стратегии на истории? Не было таких проблем?
А если попытаться руками посмотреть число заявок и сделок у Trader перед генерацией отчёта? Там всё иначе? И если попробовать тоже самое сгенерировать не в excel, а в xml?
Может просто генератор отчётов поломался.
SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Прикладываю картинки MainWindow отчеты в эксель соответствуют картинкам, та где пусто это Quoting.
ЗЫ на прошлой версии котирование работало хорошо.
Что можно сказать? 7 минут неплохой результат. Где брали машину, какое железо?😂
Aser P6T6 WS revolution + Intel i7-920 + 12Gb DDR3 Kingston. мамку считаю переоцененой больше никаких асеров категорически, за эти деньги нужно брать серверную плату, заявленные производителем характеристики нечестные, переписывался на эту тему с поддержкой и остался очень разочарованным. Проц хороший 3100 держит очень стабильно без подкруток питания, память стоит на 1500 MGz держит отлично. И кстати никаких рейдов, паралельные SATA и резервное копирование, рейд как оказалось вещь коварная.
Это на 4.0.8?
Да, самое последнее с кодеплекса, до этого все было ОК.
Я не работал с тестированием, но интересно, а разве Quoting вообще должен работать на истории? Там же загружаются только исторические свечи с определенным таймфреймом, значения стакана не хранит ни один сервер
Или я не так понял
Через эмуляцию стаканов.
Скоро выложим фикс.
Папку правильно указываете? В документации есть особая заметка про это.
Неудачно выложили. Пример работал, но в последний момент что-то опять поломали.😊
Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.
Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена?
Идея понятна, но примеры и так сильно устарели - их давно надо все переписать на событийную модель. Есть желание всем этим заняться и самому обновить на codeplex?
Александр я могу взять на себя только ограниченные обязательства, то есть без твердых гарантий по срокам и качеству. И я только начал вникать в продукт, поэтому мне нужна будет помощь в некоторых вопросах, по крайней мере на первых порах.
На codeplex зарегистрированы? необходимо зарегистрироваться и сообщить ник. мы добавим к проекту.
Снова наблюдаю проблемы в SampleHistoryTesting:
Сделал скрины из Excel-отчета: http://screencast.com/t/CcyByGmudfM
Дайте знать, если я ошибся в выводах...
Дайте знать, если у нас что-то неправильно работает.
В примере SampleRealTimeTesting тоже не все гладко. Я настроил его на подключение к Quik, задал период 1 минута и в качестве инструмента выбрал RIH2. Для проверки вывел скользящие в Quik, чтобы проверять время появления заявок. После запуска стратегия сразу же вошла в короткую позицию и спустя некоторое время вышла из нее, хотя для этого не было необходимых условий - пересечения скользящих. При этом выход из позиции занял продолжительное время и было сделано более ста! заявок. Прилагаю скриншот: http://screencast.com/t/Q38aF0NbknD
Я так и не понял, у нас ошибка или так и должно быть? Приведите строчку с логами, где видна ошибочная ситуация.
Котирование - это выставление заявок в стакан и двигание (снятие заявки и выставление новой)по мере исполнения условий выбранного котировщика. Что и видно на скриншоте - заявка отменялась пока не исполнилась. Заявок может быть сколько угодно, хоть тыща пока не пройдёт сделка (это может быть и через минуту и через час) или не остановите котировщик.
Если не надо - не используйте котирование.
переписал пример под событийную модель (пользовался примерами с форума) http://stocksharp.codeplex.com/SourceControl/changeset/changes/13409 просьба проверить :)
Ай, маладца!
Пару замечаний-бесплатных советов🙂:
Лучше в стратегию конкретный токен передавать. По идее, теперь в стратегии _candleManager вообще не должен быть.
Не по стилю C#. И лучше использовать сигнатуру сразу со свечками:
Чтобы потом не нужно было искать, что же там пришло:
И последнее. Не CandlesStarted, а CandlesFinished.
Токен - просто признак группировки. Одна и та же серия может использоваться разными стратегиями. И наоборот, стратегия может использовать параллельно сразу несколько серий.
По коду. Небольшие фиксы:
можно заменить просто на
Советую использовать R# для такого.
Чтобы этот самый токен не искать, можно использовать так:
И замечание по больше. В CandlesFinished за раз может передастся сразу несколько свечек (если робот запустил экспорт не с начала торгов). Так что в ProcessCandles лучше цикл организовать, а не первый элемент вытаскивать.
Могу сказать что у меня скорость прогонки теста увеличилась
супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy. Осилите? :)
Могу ошибаться, но вроде там аналогичные изменения везде нужны
Добавляю в SampleHistoryTesting просмотр логов через MonitorWindow. Окно монитора открывается нормально работает. Если стратегию запустить через котирование то получаю exeption если работать через маркет то исключения нет. Все описанное есть на прилагаемом скрине, скрин снят в режиме котирования
Версия S# последняя? Если нет - пробуйте с ней
Получилось как на картинке.
Я имел в виду 4.0.16, а не из dev ветки :) Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?
Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs. Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.
ЗЫ нагляднее трабл ловить на коротких мувингах.
Я сразу необратил внимание вовсе. На Box.net лежит не событийная модель, так что вопрос снимается, совершенно нет смысла его обсуждать.
Теперь я не понимаю. Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?
Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.
Посмотрите в dev ветке. Залил фиксы, должно работать. По транку чуть позднее.
MonitorWindow и для нас черный ящик, так как ошибки сыпятся внутри WPF дерева.
Спасибо!
Я проверил, с фиксами ошибка с монитором не повторилась.
Но хочу отметить что быстродействие замедлилось очень радикально. Если в 4.0.16 я прогоняю тест за 5 минут, то пример из dev я выключаю через час прогона. И еще натолкнулся на то что он иногда остается висеть в процессах
Это время именно на чистом примере, без всяких MonitorWindow?
Я тоже первым делом на монитор начал грешить, потом отключил все навешаные контролы, прогнал чистый скомпилированный пример вне студии. Итог 1 час 25 минут. Обращения к диску несущественны, памяти ест 5 Г, скомпилирован под х64.
Щас включу повторный прогон самого сэмпла.
ЗЫ текущий сэмпл из dev на прилагаемых данных по индексу считался 1 час 50 минут
Внес кое-какие оптимизации. Посмотрите, насколько изменилась скорость. Кривая утратила свою плавность, так как событие об ее изменении генерируется реже (это и был самый тормозящий участок).
Да, позитивное изменение очевидно.
по картинкам. 1я - до оптимизации 2я - после оптимизации 3я - после оптимизации с открытым монитором ( форма кривой другая из-за контроля позиции )
Будет фикс с Monitor Window
Обновился из dev ветки, моя програмка начала ругаться на монитор, монитор отключил. Далее она сразу же начала ругаться на Microsoft.practice.Unity рис 1 и 2, говорит что версия ей не та но у меня вроде как даже более высокая версия должна совмещаться, тем более что все взято из рефов. Попробовал прогнать SampleHistoryTesting, итог такойже см рис 3
Хотелось бы помощь знатоков чего ей надо?
Это я вчера обновил все рефы. Сегодня поправлю, в ближайшие 2-3 часа.
Фикс уже готов.
Нет, мне непонятнее, т.к. неизвестно с чего у вас перестало работать. Может директория не та, может ещё что. Пробуйте с примерами из архива.
Я про SampleHistoryTesting пишу. Сделал EnableRuleLog = true и стратегию с трейдером источникам для логов. Прикладываю картинку и лог, ни одной записи по правилам
Там кстати архив с RIU обновляли в dev. Вы его взяли?
Апдейт. На этих данных пошло. Вопрос снят. Тогда не пойму, если пути как всегда, то что данные изменены?
Апдейт2 Ваш ответ ниже прочитал. Спасибо. Обновляю и запускаю гидру
Вы прогоните на нём, сами всё увидите. Формат менялся.
Если нужно перегнать в новый формат, вот скрипт:
Бинарный формат не менялся. Поменялась только организация данных. Перед прогонкой лучше сделать бэкап.
При пробном тестировании SampleHistoryTesting и SampleHistoryTestingParallel на stocksharp-16722 / dev выходит исключение "У инструмента отсутствует информация планках. Имя параметра: security" и далее стратегия никаких сделок не совершает. /проблема решилась когда в ручную установил Security.MaxPrice и Security.MinPrice/ Но следом вышла другая ошибка в ChildStrategies.Add(strategy). Может в версии 4.1 что то поменялось в ChildStrategies?
По первому - у фьючей нет маркет цены, можно только использовать цены планок. Информации по ним не было - от этого и проблема.
По второму - пишите StackTrace, а не картинки.
Александр, тоже самое проделал по истории GAZP@EQNE и ROSN@EQNL результат тот же. Добавил планки и снова ошибка в ChildStrategies.Add(strategy).
Исправлено.
GetMarketPrice не доступно для инструментов без лимитов, используйте GetCurrentPrice (в примерах исправлено).
И просьба в следующий раз помимо скриншотов прикладывать всё же StackTrace, без него крайне сложно разобраться.
Спасибо, теперь все заработало! StackTrace это имеется ввиду данные IntelliTrace в VS 2010 или loq.txt?
Я тестирую на EmulationTrader на 4.1.5 и тоже получаю исключение "У инструмента отсутствует информация о планках. Имя параметра: security". Security.MaxPrice и Security.MinPrice по умолчанию равны 0. Я проверил на 4.1.1, там они тоже были нулевые, но исключения не было.
Я выставил ненулевые значения для Security.MaxPrice и Security.MinPrice, исключение пропало, но теперь у меня TakeProfitStopLossStrategy продает по 1 акции. Т.е. была произведена покупка 100 акций и выставлена защита, защита срабатывает и делает 100 продаж по 1 акции.
Я подозреваю, что я делаю что-то не так, но не могу понять что. Код тот же самый, что работал с 4.1.1. Какой смысл у значений Security.MaxPrice и Security.MinPrice, что значит "верхний/нижний лимит цены"? Какими они должны быть выставлены для эмулятора, например для GAZP@EQNE?
На фортс нет маркет-заявок. Когда вы делаете покупку "по маркету" это имитируется лимитной покупкой по очень большой цене - верхней планке - MaxPrice.
Эта заявка сводится со стаканом. Если объем заявки большой, он будет полностью скуплен по все более высоким ценам. При этом продать вы можете по все тому-же низкому биду. И будет получаться убыток. На что вполне может сработать TakeProfitStopLossStrategy. И все продать по этому биду. Хотя непонятно почему по 1му ордеру.
Так что поставьте лимит убытков побольше, раз покупаете 100 контрактов.
а MaxPrice ставьте в 1000000, а MinPrice ставьте в 1
Спасибо, pyhta4og. Так стало понятнее.
Выставил MinPrice и MaxPrice как ты сказал, поведение не изменилось. По какой-то причине защитная стратегия выставляет заявку именно объемом 1.
2011.01.11 13:17:29.000| |CSS_GAZP@EQNE_test account|Новая Buy сделка 1 по цене 192,67000 на 100 заявки 78302031. ... 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Защита активирована. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Цена текущей NULL и лучшей 194,597. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Лучший бид 193,98000 и лучший аск 194,29000. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Регистрация новой заявки на Sell с ценой 194,597 и объемом 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302032 на Sell отправлена с ценой 194,597 объемом 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302032 принята биржей. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Сброс счетчика ошибок регистрации с 0 до нуля. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Цена текущей 194,597 и лучшей 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Лучший бид 193,98000 и лучший аск 195,00000. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Котирование заявки 78302032 на Sell с ценой 194,597 объемом 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Отмена заявки 78302032. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Отмена заявки 78302032. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302032 больше не активна. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302032 была снята. Время снятия 12.01.2011 10:29:59. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Цена текущей NULL и лучшей 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Лучший бид 193,98000 и лучший аск 195,00000. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Регистрация новой заявки на Sell с ценой 1 и объемом 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302033 на Sell отправлена с ценой 1 объемом 1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Заявка 78302033 принята биржей. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Сброс счетчика ошибок регистрации с 0 до нуля. 2011.01.12 10:29:59.000| |CSS_GAZP@EQNE_test account|Новая Sell сделка 3 по цене 193,98000 на 1 заявки 78302033. 2011.01.12 10:29:59.000| |TPSLS_GAZP@EQNE_test account|Новая Sell сделка 3 по цене 193,98000 на 1 заявки 78302033. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Новая Sell сделка 3 по цене 193,98000 на 1 заявки 78302033. 2011.01.12 10:29:59.000| |CSS_GAZP@EQNE_test account|Новая позиция: test account-GAZP@EQNE=517. 2011.01.12 10:29:59.000| |TPSLS_GAZP@EQNE_test account|Новая позиция: test account-GAZP@EQNE=-1. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Новая позиция: test account-GAZP@EQNE=-1. 2011.01.12 10:29:59.000| |SLS_GAZP@EQNE_test account|Изменение объема для котирования. Старый объем 100, новый объем 99. 2011.01.12 10:29:59.000| |TPS_GAZP@EQNE_test account|Позиция изменилась на -1. Оставшийся объем 99.
Может в защитных стратегиях есть некое свойство, которое влияет на это поведение?
Попробуйте руками выставить свойства Volume и QuotingVolume у защитной стратегии.
Выставление Volume решило проблему. Спасибо.