← Zurück

SampleHistoryTesting

SampleHistoryTesting - непонятно как работает:( Скачал RIU9@RTS.zip (Файл с историческими сделками для примера SampleHistoryTesting.) http://www.box.net/stocksharp/#/stocksharp/1/74701094 Запустил SampleHistoryTesting - выбрал папку с распакованным архивом В итоге алгоритм на строчку _nextTime += base.TimeFrame; так не разу и не попал:( И непонятно как получить файлы и директории такого формата для другого инструмента.

War dieses Thema hilfreich?

Thema teilen

Kommentare (123)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

roman: SampleHistoryTesting - непонятно как работает:( Скачал RIU9@RTS.zip (Файл с историческими сделками для примера SampleHistoryTesting.) http://www.box.net/stocksharp/#/stocksharp/1/74701094 Запустил SampleHistoryTesting - выбрал папку с распакованным архивом В итоге алгоритм на строчку _nextTime += base.TimeFrame; так не разу и не попал:( И непонятно как получить файлы и директории такого формата для другого инструмента.

А кнопку начать тестирование нажали? Прогресс побежал?

Чтобы получить файлы для других инструментов, их нужно накачать себе. Прочитайте, что такое Гидра.

roman
roman Autor

Mikhail Sukhov:

roman: SampleHistoryTesting - непонятно как работает:( Скачал RIU9@RTS.zip (Файл с историческими сделками для примера SampleHistoryTesting.) http://www.box.net/stocksharp/#/stocksharp/1/74701094 Запустил SampleHistoryTesting - выбрал папку с распакованным архивом В итоге алгоритм на строчку _nextTime += base.TimeFrame; так не разу и не попал:( И непонятно как получить файлы и директории такого формата для другого инструмента.

А кнопку начать тестирование нажали? Прогресс побежал?

Чтобы получить файлы для других инструментов, их нужно накачать себе. Прочитайте, что такое Гидра.

кнопку начать тестирование нажимал, прогресс до конца добежал

Евгений
Евгений

Михаил, а подскажите, в чем может быть проблема. Запускаю SampleHistoryTesting и для данных, что идут с примером и для своих. Тестирование проходит успешно - прогресс доходит до конца, но отчет открывается пустой - Excel пытается восстановить лист и выводит следующее сообщение:

Восстановленные записи: Свойства листа из части /xl/workbook.xml (Книга)

А при тестировании на рыночных данных отчет правильно строиться...

Евгений
Евгений

Собственно, отчет пустой, наверное, потому, что не было выставлено ни одной заявки в процессе тестирования, но тогда вопрос - чем это может быть вызвано?

Mikhail Sukhov
Mikhail Sukhov

Евгений: Собственно, отчет пустой, наверное, потому, что не было выставлено ни одной заявки в процессе тестирования, но тогда вопрос - чем это может быть вызвано?

Хороший вопрос. А сама стратегия вызывается в процессе тестирования?

Евгений
Евгений

Mikhail Sukhov:

Евгений: Собственно, отчет пустой, наверное, потому, что не было выставлено ни одной заявки в процессе тестирования, но тогда вопрос - чем это может быть вызвано?

Хороший вопрос. А сама стратегия вызывается в процессе тестирования?

Сначала я ошибочно указывал на папку RIU9@RTS, а нужно на каталог выше я так понял. Стратегия запускается, но

// получаем сформированную свечку
var candle = _candleManager.GetTimeFrameCandle(base.Security, base.TimeFrame, _nextTime - base.TimeFrame);

Но в этом месте свеча всегда null и тестирование проходит без сделок. Я потом перешел на свой пример тестил на RIM1, поменял Exchange = Exchange.Rts ну и TimeFrame=10. В OnProcess() у меня проверка еще

  if (base.Security.Exchange.IsTradeTime(base.Trader.MarketTime) == false)
            {
                _nextTime += base.TimeFrame;
                return StrategyProcessResults.Continue;
            }

А в остальном тот же код. В итоге отчет сформировался только там Номер заявки и Номер сделки в неудобном формате типа 6,34371E+17 У меня еще задержка почему то 10:10. Чего то я наверное не так делаю... Буду капать

bleed
bleed

Помогите пожалйста,

скачал RIU9@RTS запускаю SampleHistoryTesting указываю на распакованную папку, жму Старт и вылетает Exception:

Uploaded with ImageShack.us

Евгений
Евгений

bleed: Помогите пожалйста,

скачал RIU9@RTS запускаю SampleHistoryTesting указываю на распакованную папку, жму Старт и вылетает Exception:

У меня тоже вылетает такая ошибка, но только, когда запускаю откомпилированный пример, в солюшене ошибок не вылетает. Скорее всего пример откомпилированный от старой версии.

bleed
bleed

Евгений:

bleed: Помогите пожалйста,

скачал RIU9@RTS запускаю SampleHistoryTesting указываю на распакованную папку, жму Старт и вылетает Exception:

У меня тоже вылетает такая ошибка, но только, когда запускаю откомпилированный пример, в солюшене ошибок не вылетает. Скорее всего пример откомпилированный от старой версии.

Откомпилировал сам, все равно вылетает эта же ошибка...

Mikhail Sukhov
Mikhail Sukhov

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить.

bleed
bleed

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

Mikhail Sukhov
Mikhail Sukhov

bleed:

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

А какой путь указали в программе? И какой путь в распакованными данными?

bleed
bleed

Mikhail Sukhov:

bleed:

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

А какой путь указали в программе? И какой путь в распакованными данными?

папка 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 вылетает эксепшн

Евгений
Евгений

bleed:

Mikhail Sukhov:

bleed:

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

А какой путь указали в программе? И какой путь в распакованными данными?

папка 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, а нужно на каталог выше я так понял. А вот эксепшен у меня тоже вылетает, несмотря на то что в солюшене все без ошибок

bleed
bleed

bleed:

Mikhail Sukhov:

bleed:

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

А какой путь указали в программе? И какой путь в распакованными данными?

папка 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:\ в моем случае) прогресс также пошел, вычислялся долго но отчет эксель предложил восстановить и он оказался пустой

roman
roman Autor

Mikhail Sukhov:

bleed:

Mikhail Sukhov:

bleed: Откомпилировал сам, все равно вылетает эта же ошибка...

Попробуйте под отладчиком запустить. Спасибо, под отладчиком тестирование пошло без ошибки, но отчет, как писал Евгений, пустой... буду разбираться, в c# я новый человек, пока привыкаю к среде разработки

А какой путь указали в программе? И какой путь в распакованными данными?

В итоге выбрал каталог с данными на уровень выше и программа отработала правильно

Евгений
Евгений

Так и не разобрался я с задержкой. Меняя TimeStep получал и разное количество заявок и разное время задержки, ну как я понял она вроде равна [количество заявок]*TimeStep, хотя последний результат был не такой.... Хотел вот узнать MarketTime и _nextTime в конце OnProcess какие должны быть, я так понимаю nextTime = MarketTime+TimeFrame? А еще заметил такую вещь- когда у меня тестирование дошло до определенного времени 11:40 OnProcess некоторое время не выполнялся, а потом на следующей итерации MarketTime был уже больше на 3 таймфрейма чем nextTime - это после того как была зарегистрирована заявка. Чем это может быть вызвано?

Евгений
Евгений

да, вы правы при указании верхней папки(D:\ в моем случае) прогресс также пошел, вычислялся долго но отчет эксель предложил восстановить и он оказался пустой

я запустил пример для такого периода ``` 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


Вы уверены, что ничего в примере не меняли

bleed
bleed
bleed

да, вы правы при указании верхней папки(D:\ в моем случае) прогресс также пошел, вычислялся долго но отчет эксель предложил восстановить и он оказался пустой

я запустил пример для такого периода ``` 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


Вы уверены, что ничего в примере не меняли




спасибо большое!! поставил ваш период, и отчет сформировался
теперь можно уже дальше разбираться:)
gs
gs

да, вы правы при указании верхней папки(D:\ в моем случае) прогресс также пошел, вычислялся долго но отчет эксель предложил восстановить и он оказался пустой

я запустил пример для такого периода ``` 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


Вы уверены, что ничего в примере не меняли




спасибо большое!! поставил ваш период, и отчет сформировался
теперь можно уже дальше разбираться:)

Добрый день.
Тоже запускал пример.
Получал тоже самое.
НАконец, благодаря изменениям в коде периода тестирования, получил отчет.
Но в отчете, который получается, нет ни одной сделки.
Есть только ордера, да и то отмененные.
Что это баг тестера 
или это стратегия так работает , что генерит одни ордера, которые не исполняются, а отменяются ?
Mikhail Sukhov
Mikhail Sukhov

gs: или это стратегия так работает , что генерит одни ордера, которые не исполняются, а отменяются ?

Пробовали несколько раз прогонять? Что другие скажут?

gs
gs

Mikhail Sukhov:

gs: или это стратегия так работает , что генерит одни ордера, которые не исполняются, а отменяются ?

Пробовали несколько раз прогонять? Что другие скажут?

Спасибо за ответ.

  1. Да. Пробовал запускать несколько раз. Результат один и тот же.
  2. Отчет в формате .xls получается "битый". Excel 2007 пытается его восстановить - получается успешно.
  3. Что это за ордер генерится с временем 0:50. В это время ни котировок не должно быть, ни свечек, ни ордеров, так как биржа уже не работает.
MCTuTeJ|19951995
MCTuTeJ|19951995

Mikhail Sukhov: Что другие скажут? У меня всё нормально сработало. Большинство ордеров были отменены, но были и исполненные. Правда есть ордера со временем когда биржа не должна работать.

Mikhail Sukhov
Mikhail Sukhov

MCTuTeJ|19951995:

Mikhail Sukhov: Что другие скажут? У меня всё нормально сработало. Большинство ордеров были отменены, но были и исполненные. Правда есть ордера со временем когда биржа не должна работать.

Это нужно смотреть стратегию. Никто и не гарантировал, что в примере идет грааль работающий.🙂 Где-то в стратегии косяк.

gs
gs

Mikhail Sukhov:

MCTuTeJ|19951995:

Mikhail Sukhov: Что другие скажут? У меня всё нормально сработало. Большинство ордеров были отменены, но были и исполненные. Правда есть ордера со временем когда биржа не должна работать.

Это нужно смотреть стратегию. Никто и не гарантировал, что в примере идет грааль работающий.🙂 Где-то в стратегии косяк.

Так никто Грааль и не просил.🙂 Просто очень хотелось в результате тестирования хотя бы одну сделку увидеть, а не список поставленных и отменённых ордеров. В данном случае не понятно, где косяк, в чем причина:

  1. Котировки битые.
  2. Стратегия не работает.
  3. Тестер - не исполняет поставленные ордера, то есть не работает properly. 🤨 и т.д.
bleed
bleed

gs: Так никто Грааль и не просил.🙂 Просто очень хотелось в результате тестирования хотя бы одну сделку увидеть, а не список поставленных и отменённых ордеров. В данном случае не понятно, где косяк, в чем причина:

  1. Котировки битые.
  2. Стратегия не работает.
  3. Тестер - не исполняет поставленные ордера, то есть не работает properly. 🤨 и т.д.

все дело в цене заявки, просто цена выставленной заявки отлична от цены рынка, потому заявка и не исполняется

в коде SmaStrategy есть строка

var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);

для покупки, надо сделать так

var order = base.CreateOrder(OrderDirections.Buy, base.Security.GetMarketPrice(OrderDirections.Sell), base.Volume);

а для продажи так

var order = base.CreateOrder(OrderDirections.Sell, base.Security.GetMarketPrice(OrderDirections.Buy), base.Volume);

и все будет исполняться

Евгений
Евгений

Столкнулся с такой проблемой, что данные, скачанные по RIM1 с РТС, не такие как в Квике и Финаме, а вот скачать с Финама не получается. Как правильно надо создать инструмент в гидре. Я создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая. Но получаю в ответ

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
Mikhail Sukhov
Mikhail Sukhov

Евгений: СЯ создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая.

А Id?

Евгений
Евгений

Mikhail Sukhov:

Евгений: СЯ создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая.

А Id?

Я создаю через интерфейс, там нет айди. А в базе - ID для этого инструмента равен RIM1@FINAM

Mikhail Sukhov
Mikhail Sukhov

Евгений:

Mikhail Sukhov:

Евгений: СЯ создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая.

А Id?

Я создаю через интерфейс, там нет айди. А в базе - ID для этого инструмента равен RIM1@FINAM

Указывайте биржу РТС.

Евгений
Евгений

Mikhail Sukhov:

Евгений:

Mikhail Sukhov:

Евгений: СЯ создаю так Код - 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


он явно не мой - так и должно быть?
pyhta4og
pyhta4og

Евгений: Столкнулся с такой проблемой, что данные, скачанные по RIM1 с РТС, не такие как в Квике и Финаме, а вот скачать с Финама не получается. Как правильно надо создать инструмент в гидре. Я создаю так Код - RIM1, Название - RTS-6.11, Класс - RIM1, Шаг цены - 5, Размер лота - 1, Биржа - тестовая. Но получаю в ответ

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



Инструменты созданные вручную с Финама скачать нельзя. Скачать можно только те инструменты, которые были созданы в результате функции "Обновить" для инструментов.

P.S. Вы считаете что данные на сайте РТС менее правильные чем на Финаме?
Евгений
Евгений

pyhta4og: P.S. Вы считаете что данные на сайте РТС менее правильные чем на Финаме?

Именно :) Как я и написал выше, скачав с РТС и тестив на них стратегию, сверяя с квиком долго не мог понять в чем проблема, почему результаты через раз отличаются, думал может я что не так сделал. Но потом скачал с квика, с финама и сравнив с теми, что дает мне источник, заполненный РТС, я удивился, некоторые цены не такие :(

Так с Финама по любому нельзя скачать? А как еще через гидру можно данные закачать по фьючерсам РТС? Через квик я так понял данные только во время работы качаются, или все таки историю можно тоже как то скачать?

dart
dart

Евгений:

pyhta4og: P.S. Вы считаете что данные на сайте РТС менее правильные чем на Финаме?

Именно :) Как я и написал выше, скачав с РТС и тестив на них стратегию, сверяя с квиком долго не мог понять в чем проблема, почему результаты через раз отличаются, думал может я что не так сделал. Но потом скачал с квика, с финама и сравнив с теми, что дает мне источник, заполненный РТС, я удивился, некоторые цены не такие :( Просто в тиковых данных с сайта РТС есть внесистемные сделки. Их надо отфильтровывать. И всё строится нормально.

Евгений
Евгений

pyhta4og: Просто в тиковых данных с сайта РТС есть внесистемные сделки. Их надо отфильтровывать. И всё строится нормально.

У меня цена хай не совпадала, так а как фильтровать можно?

dart
dart

Евгений: У меня цена хай не совпадала, так а как фильтровать можно? Там и лой может не совпадать. Тип у обычных сделок равен 0.

Евгений
Евгений

dart:

Евгений: У меня цена хай не совпадала, так а как фильтровать можно? Там и лой может не совпадать. Тип у обычных сделок равен 0.

Не совсем понял, что мне нужно сделать. Как мне технически это реализовать - через объект storage? Где именно такой фильтр нужно установить?

Lera
Lera

Подскажите, почему в excel-отчете, сгенерированным SampleHistoryTesting, получаются каждый раз сделки в абсолютно разное время? (тестирую пример с данными RIU9@RTS) Я так понимаю, что стратегию тестим на пятиминутках, но время исполнения сделок не кратно 5 и при каждом тестировании разное...

Продажа	02.06.2009 10:45:00
Покупка	02.06.2009 14:28:00
Продажа	02.06.2009 18:00:03
Покупка	02.06.2009 18:38:00
Продажа	03.06.2009 16:19:24

или

Продажа	02.06.2009 22:50:00
Покупка	03.06.2009 11:47:45
Продажа	03.06.2009 16:11:46
Mikhail Sukhov
Mikhail Sukhov

Lera: Я так понимаю, что стратегию тестим на пятиминутках

S# тестирует на тиках. Для матчинга генерируется стакан.

ktulhu2000
ktulhu2000

Здравствуйте!

В SampleHistoryTesting вставляю код (после создания _trader). Даты (2011, 2, 10) - (2011, 2, 18), Code = "RIH1". Версия 4.0.4 target Framework 3.5 Windows 7 Ultimate (англ)

_trader.NewMyTrades += myTrades => this.GuiAsync (() =>
{
                foreach (var myTrade in myTrades)
                {
                    var trade = myTrade.Trade;
                    MessageBox.Show(this, "Сделка " + trade.Id + " по цене " + trade.Price + " по бумаге" + trade.Security.Code);
                }
                if (_trader.GetPosition(portfolio, security) != null)
                {
                    MessageBox.Show(this, " " +  _trader.GetPosition(portfolio, security).CurrentValue);
                }
});

Окно со сделками появляется, окно с позициями никогда не появляется. В итоге нужен надежный способ контроля позиций по разным инструментам из одной стратегии (без BasketStrategy, т.к. без примеров мне не разобраться). Заранее спасибо.

Mikhail Sukhov
Mikhail Sukhov

EmulationTrader на данный момент не поддерживает позиции и портфели. Контроль позиции осуществляйте через стратегии. Примеров по стратегии довольно много, в том же примере SampleHistoryTesting как раз разбирается, как создавать стратегию.

ktulhu2000
ktulhu2000

Теперь не придется прыгать на стену. Но, если я не путаю, вы писали что реализуете парный трейдинг. А про Trader.GetPosition - как надежный способ контроля позиций. Что вы используете для тестирования стратегий?

Mikhail Sukhov
Mikhail Sukhov

ktulhu2000: Что вы используете для тестирования стратегий?

Strategy.PositionManager.

Dmitriy Klimov
Dmitriy Klimov

Пример SampleHistoryTesting не работает в версии 4.0.6. Ошибка связана с EquityCurveChart. Вот скрин: http://screencast.com/t/AyjIw0IlTNH

Mikhail Sukhov
Mikhail Sukhov

Спасибо, нашли. Выложим на кодеплекс фикс.

seashaman
seashaman

Подскажите пожалуйста, дилетанский вопрос. При компиляции последнего 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)

Брал самую последнюю версию. Прочитал только что предыдущее сообщение, у меня тоже самое. спасибо заранее.

Dmitriy Klimov
Dmitriy Klimov

Закомментировал EquityCurveChart, чтобы не генерировалась ошибка. Стратегия запускается, но сделок нет. Так что проблема в новой версии не одна...

Alexander
Alexander

Dmitriy Klimov: Закомментировал EquityCurveChart, чтобы не генерировалась ошибка. Стратегия запускается, но сделок нет. Так что проблема в новой версии не одна...

Так выложил ночью исправленную версию, ошибки с EquityCurveChart теперь нет. Что со сделками - есть ли события? Что за стратегия?

vk37
vk37

Скачал последнюю версию с Кодплекса. Ошибки с EquityCurveChart нет. Однако после нажатия кнопки Старт у меня получается пустой график и пустой отчет. То же было в версии 3.2.11. Каталог указываю верно: тот, в котором лежит каталог RIU9@RTS. Скачал Гидрой свежие данные по RIZ1@RTS, поменял период для RIZ1 - результат тот же: пустой график и отчет. Что нужно сделать, чтобы пример заработал?

Alexander
Alexander

Наверное котирование виновато. Сегодня будет фикс.

Dmitriy Klimov
Dmitriy Klimov

Alexander Mukhanchikov: Наверное котирование виновато. Сегодня будет фикс.

В версии 4.0.7 пример SampleHistoryTesting заработал, сделки стали совершаться. Но пример теперь работает не так, как в версии 4.0.5. График доходности теперь совершенно другой - стратегия большую часть времени находится в минусе, хотя раньше был плюс. Выкладываю скрин двух графиков, посторенных стратегиями в разных версиях библиотеки: http://screencast.com/t/b8NI0XFucdp

Буду новую версию библиотеки еще внимательно тестировать. Пока не понятно, где корни проблемы...

Dmitriy Klimov
Dmitriy Klimov

Не дает покоя достоверность результатов тестирования стратегий на истории. В последней версии (4.0.7 betta 3) запустил пример SampleHistoryTesting, получил такой отчет: http://screencast.com/t/6CdtsGDTS

Вот что смущает:

  1. Количество заявок меньше количества сделок, хотя должно быть наоборот, так как есть не исполненные заявки.
  2. Время выставления заявок и совершения сделок не кратно таймфрему (5 минут). Есть сделки в 14:28:02 и в 17:41:49. Вряд ли такая задержка может быть из-за проскальзывания.

Запустил тест той же самой стратегии и на том же временном отрезке в AmiBroker. В результате получил в два раза больше сделок и совершенно другой профит. Для теста использовал минутные свечи, загруженные с Финама...

Возможно, проблема в генераторе свечек? Или в котировании? Кто-то тестировал свои стратегии на истории? Не было таких проблем?

Alexander
Alexander

Dmitriy Klimov: Не дает покоя достоверность результатов тестирования стратегий на истории. В последней версии (4.0.7 betta 3) запустил пример SampleHistoryTesting, получил такой отчет: http://screencast.com/t/6CdtsGDTS

Вот что смущает:

  1. Количество заявок меньше количества сделок, хотя должно быть наоборот, так как есть не исполненные заявки.
  2. Время выставления заявок и совершения сделок не кратно таймфрему (5 минут). Есть сделки в 14:28:02 и в 17:41:49. Вряд ли такая задержка может быть из-за проскальзывания.

Запустил тест той же самой стратегии и на том же временном отрезке в AmiBroker. В результате получил в два раза больше сделок и совершенно другой профит. Для теста использовал минутные свечи, загруженные с Финама...

Возможно, проблема в генераторе свечек? Или в котировании? Кто-то тестировал свои стратегии на истории? Не было таких проблем?

А если попытаться руками посмотреть число заявок и сделок у Trader перед генерацией отчёта? Там всё иначе? И если попробовать тоже самое сгенерировать не в excel, а в xml?

Может просто генератор отчётов поломался.

JackSparrow
JackSparrow

SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Прикладываю картинки MainWindow отчеты в эксель соответствуют картинкам, та где пусто это Quoting.

ЗЫ на прошлой версии котирование работало хорошо.

Mikhail Sukhov
Mikhail Sukhov

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Прикладываю картинки MainWindow отчеты в эксель соответствуют картинкам, та где пусто это Quoting.

Что можно сказать? 7 минут неплохой результат. Где брали машину, какое железо?😂

JackSparrow
JackSparrow

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Прикладываю картинки MainWindow отчеты в эксель соответствуют картинкам, та где пусто это Quoting.

Что можно сказать? 7 минут неплохой результат. Где брали машину, какое железо?😂

Aser P6T6 WS revolution + Intel i7-920 + 12Gb DDR3 Kingston. мамку считаю переоцененой больше никаких асеров категорически, за эти деньги нужно брать серверную плату, заявленные производителем характеристики нечестные, переписывался на эту тему с поддержкой и остался очень разочарованным. Проц хороший 3100 держит очень стабильно без подкруток питания, память стоит на 1500 MGz держит отлично. И кстати никаких рейдов, паралельные SATA и резервное копирование, рейд как оказалось вещь коварная.

Mikhail Sukhov
Mikhail Sukhov

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК.

Это на 4.0.8?

JackSparrow
JackSparrow

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК.

Это на 4.0.8?

Да, самое последнее с кодеплекса, до этого все было ОК.

OvcharenkoVI
OvcharenkoVI

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК.

Это на 4.0.8?

Я не работал с тестированием, но интересно, а разве Quoting вообще должен работать на истории? Там же загружаются только исторические свечи с определенным таймфреймом, значения стакана не хранит ни один сервер

Или я не так понял

Mikhail Sukhov
Mikhail Sukhov

OvcharenkoVI: Я не работал с тестированием, но интересно, а разве Quoting вообще должен работать на истории? Там же загружаются только исторические свечи с определенным таймфреймом, значения стакана не хранит ни один сервер

Или я не так понял

Через эмуляцию стаканов.

Mikhail Sukhov
Mikhail Sukhov

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК.

Скоро выложим фикс.

fau
fau

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Скоро выложим фикс. StockSharp 4.0.9 у меня тестирование не идет, указываю папку с историческими данными (распакованный архив RIU9@RTS.zip), видно что что-то обрабатывается, но внешне окно программы не изменяется код программы не менял

Mikhail Sukhov
Mikhail Sukhov

fau:

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Скоро выложим фикс. StockSharp 4.0.9 у меня тестирование не идет, указываю папку с историческими данными (распакованный архив RIU9@RTS.zip), видно что что-то обрабатывается, но внешне окно программы не изменяется код программы не менял

Папку правильно указываете? В документации есть особая заметка про это.

fau
fau

Mikhail Sukhov:

fau:

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Скоро выложим фикс. StockSharp 4.0.9 у меня тестирование не идет, указываю папку с историческими данными (распакованный архив RIU9@RTS.zip), видно что что-то обрабатывается, но внешне окно программы не изменяется код программы не менял

Папку правильно указываете? В документации есть особая заметка про это. да, папку указываю как написано в документации видно что в программе обработка данных идет, и полоса прогресса двигается, но на графике результата не видно а у вас работает пример? может в новой версии что-то сбилось просто?

JackSparrow
JackSparrow

fau:

Mikhail Sukhov:

fau:

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Скоро выложим фикс. StockSharp 4.0.9 у меня тестирование не идет, указываю папку с историческими данными (распакованный архив RIU9@RTS.zip), видно что что-то обрабатывается, но внешне окно программы не изменяется код программы не менял

Папку правильно указываете? В документации есть особая заметка про это. да, папку указываю как написано в документации видно что в программе обработка данных идет, и полоса прогресса двигается, но на графике результата не видно а у вас работает пример? может в новой версии что-то сбилось просто? У меня тоже самое. После обновления очень долго думает и при этом ничего не происходит, кроме заполняющегося прогрессбара. Сделок нет все поля в окне пустые. Еще вопрос, сколько по вашей оценке, времени должно уходить на прогонку теста за 3 месяца?

Mikhail Sukhov
Mikhail Sukhov

Неудачно выложили. Пример работал, но в последний момент что-то опять поломали.😊

JackSparrow
JackSparrow

Mikhail Sukhov:

fau:

Mikhail Sukhov:

JackSparrow: SampleHistiryTesting при использовании Quoting не совершает сделки, если запустить по маркету то все ОК. Скоро выложим фикс. StockSharp 4.0.9 у меня тестирование не идет, указываю папку с историческими данными (распакованный архив RIU9@RTS.zip), видно что что-то обрабатывается, но внешне окно программы не изменяется код программы не менял

Папку правильно указываете? В документации есть особая заметка про это.

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

Alexander
Alexander

JackSparrow: Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.

Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена?

JackSparrow
JackSparrow

Alexander Mukhanchikov:

JackSparrow: Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.

Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена? В Гидре мы задаем директорию для дампа и для данных, то есть временную и постоянную. Имя диретории пишем в базу. В примере мы берем данные из постоянной директории но указываем ее руками причем данные берем в том виде в котором их складывает Гидра, а если Гидра не запускалась то один способ это взять данные из архива идущего с сорцами, но он тоже в формате сток-шарпа или Гидры. Еще по поводу того что Гидра не запускалась. Весь проект заточен под свой формат данных, данные поставляет Гидра, полюбому с ней дружить, ну а если она не запускадлась то значение по умолчанию в примере будет "пустое".

Alexander
Alexander

JackSparrow:

Alexander Mukhanchikov:

JackSparrow: Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.

Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена? В Гидре мы задаем директорию для дампа и для данных, то есть временную и постоянную. Имя диретории пишем в базу. В примере мы берем данные из постоянной директории но указываем ее руками причем данные берем в том виде в котором их складывает Гидра, а если Гидра не запускалась то один способ это взять данные из архива идущего с сорцами, но он тоже в формате сток-шарпа или Гидры. Еще по поводу того что Гидра не запускалась. Весь проект заточен под свой формат данных, данные поставляет Гидра, полюбому с ней дружить, ну а если она не запускадлась то значение по умолчанию в примере будет "пустое".

Идея понятна, но примеры и так сильно устарели - их давно надо все переписать на событийную модель. Есть желание всем этим заняться и самому обновить на codeplex?

JackSparrow
JackSparrow

Alexander Mukhanchikov:

JackSparrow:

Alexander Mukhanchikov:

JackSparrow: Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.

Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена? В Гидре мы задаем директорию для дампа и для данных, то есть временную и постоянную. Имя диретории пишем в базу. В примере мы берем данные из постоянной директории но указываем ее руками причем данные берем в том виде в котором их складывает Гидра, а если Гидра не запускалась то один способ это взять данные из архива идущего с сорцами, но он тоже в формате сток-шарпа или Гидры. Еще по поводу того что Гидра не запускалась. Весь проект заточен под свой формат данных, данные поставляет Гидра, полюбому с ней дружить, ну а если она не запускадлась то значение по умолчанию в примере будет "пустое".

Идея понятна, но примеры и так сильно устарели - их давно надо все переписать на событийную модель. Есть желание всем этим заняться и самому обновить на codeplex?

Александр я могу взять на себя только ограниченные обязательства, то есть без твердых гарантий по срокам и качеству. И я только начал вникать в продукт, поэтому мне нужна будет помощь в некоторых вопросах, по крайней мере на первых порах.

Alexander
Alexander

JackSparrow:

Alexander Mukhanchikov:

JackSparrow:

Alexander Mukhanchikov:

JackSparrow: Почему бы не сделать директорией по умолчанию ту что задается в гидре? Помоему упростит воприятие и изучение.

Какая именно директория задаётся в гидре? А если гидра не была ни разу запущена? В Гидре мы задаем директорию для дампа и для данных, то есть временную и постоянную. Имя диретории пишем в базу. В примере мы берем данные из постоянной директории но указываем ее руками причем данные берем в том виде в котором их складывает Гидра, а если Гидра не запускалась то один способ это взять данные из архива идущего с сорцами, но он тоже в формате сток-шарпа или Гидры. Еще по поводу того что Гидра не запускалась. Весь проект заточен под свой формат данных, данные поставляет Гидра, полюбому с ней дружить, ну а если она не запускадлась то значение по умолчанию в примере будет "пустое".

Идея понятна, но примеры и так сильно устарели - их давно надо все переписать на событийную модель. Есть желание всем этим заняться и самому обновить на codeplex?

Александр я могу взять на себя только ограниченные обязательства, то есть без твердых гарантий по срокам и качеству. И я только начал вникать в продукт, поэтому мне нужна будет помощь в некоторых вопросах, по крайней мере на первых порах.

На codeplex зарегистрированы? необходимо зарегистрироваться и сообщить ник. мы добавим к проекту.

JackSparrow
JackSparrow

Alexander Mukhanchikov: На codeplex зарегистрированы? необходимо зарегистрироваться и сообщить ник. мы добавим к проекту. Я добавлен уже

Dmitriy Klimov
Dmitriy Klimov

Снова наблюдаю проблемы в SampleHistoryTesting:

  1. Свечи генерируются (либо стратегия вызывается) во время, не кратное заданному таймфрейму.
  2. При котировании сделка совершается с задержкой 5 и даже 10 минут!

Сделал скрины из Excel-отчета: http://screencast.com/t/CcyByGmudfM

Дайте знать, если я ошибся в выводах...

Mikhail Sukhov
Mikhail Sukhov

Dmitriy Klimov: Дайте знать, если я ошибся в выводах...

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

Dmitriy Klimov
Dmitriy Klimov

Mikhail Sukhov: Дайте знать, если у нас что-то неправильно работает.

В примере SampleRealTimeTesting тоже не все гладко. Я настроил его на подключение к Quik, задал период 1 минута и в качестве инструмента выбрал RIH2. Для проверки вывел скользящие в Quik, чтобы проверять время появления заявок. После запуска стратегия сразу же вошла в короткую позицию и спустя некоторое время вышла из нее, хотя для этого не было необходимых условий - пересечения скользящих. При этом выход из позиции занял продолжительное время и было сделано более ста! заявок. Прилагаю скриншот: http://screencast.com/t/Q38aF0NbknD

Mikhail Sukhov
Mikhail Sukhov

Dmitriy Klimov:

Mikhail Sukhov: Дайте знать, если у нас что-то неправильно работает.

В примере SampleRealTimeTesting тоже не все гладко.

Я так и не понял, у нас ошибка или так и должно быть? Приведите строчку с логами, где видна ошибочная ситуация.

Garic
Garic

Котирование - это выставление заявок в стакан и двигание (снятие заявки и выставление новой)по мере исполнения условий выбранного котировщика. Что и видно на скриншоте - заявка отменялась пока не исполнилась. Заявок может быть сколько угодно, хоть тыща пока не пройдёт сделка (это может быть и через минуту и через час) или не остановите котировщик.

Если не надо - не используйте котирование.

fau
fau

переписал пример под событийную модель (пользовался примерами с форума) http://stocksharp.codeplex.com/SourceControl/changeset/changes/13409 просьба проверить :)

Alexander
Mikhail Sukhov
Mikhail Sukhov

fau: переписал пример под событийную модель (пользовался примерами с форума) http://stocksharp.codeplex.com/SourceControl/changeset/changes/13409 просьба проверить :)

Ай, маладца!

Пару замечаний-бесплатных советов🙂:

this
  .When(_candleManager.Tokens.ElementAt(0).CandlesStarted())
  .Do(action);

Лучше в стратегию конкретный токен передавать. По идее, теперь в стратегии _candleManager вообще не должен быть.

private·void·action()

Не по стилю C#. И лучше использовать сигнатуру сразу со свечками:

private·void ProcessCandles(IEnumerable<Candle> candles)

Чтобы потом не нужно было искать, что же там пришло:

var·candle = _candleManager.GetLastTimeFrameCandle(Security, _timeFrame);

И последнее. Не CandlesStarted, а CandlesFinished.

fau
fau

Mikhail Sukhov: Пару замечаний-бесплатных советов🙂: поправил, надеюсь что правильно вас понял :) по поводу Token, в документации написано что это идентификатор группировки. не ясно что это значит, но выходит что всегда один Token на стратегию?

Mikhail Sukhov
Mikhail Sukhov

fau:

Mikhail Sukhov: Пару замечаний-бесплатных советов🙂: поправил, надеюсь что правильно вас понял :) по поводу Token, в документации написано что это идентификатор группировки. не ясно что это значит, но выходит что всегда один Token на стратегию?

Токен - просто признак группировки. Одна и та же серия может использоваться разными стратегиями. И наоборот, стратегия может использовать параллельно сразу несколько серий.

По коду. Небольшие фиксы:

Do(candles => ProcessCandles(candles))

можно заменить просто на

Do(ProcessCandles)

Советую использовать R# для такого.


candleManager.RegisterTimeFrameCandles(security,·timeFrame);
...
candleManager.Tokens.ElementAt(0)

Чтобы этот самый токен не искать, можно использовать так:


var token = candleManager.RegisterTimeFrameCandles(security,·timeFrame);
...
token

И замечание по больше. В CandlesFinished за раз может передастся сразу несколько свечек (если робот запустил экспорт не с начала торгов). Так что в ProcessCandles лучше цикл организовать, а не первый элемент вытаскивать.

fau
fau

Mikhail Sukhov: По коду. Небольшие фиксы: спасибо, поправил

JackSparrow
JackSparrow

fau:

Mikhail Sukhov: По коду. Небольшие фиксы: спасибо, поправил

Могу сказать что у меня скорость прогонки теста увеличилась

Alexander
Alexander

fau: переписал пример под событийную модель (пользовался примерами с форума) http://stocksharp.codeplex.com/SourceControl/changeset/changes/13409 просьба проверить :)

супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy. Осилите? :)

fau
fau

Alexander Mukhanchikov: супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy. Осилите? :) перепишу примеры в папках Testing, Smart (если получится продлить тестовый период) - остальные не с руки

Alexander
Alexander

fau:

Alexander Mukhanchikov: супер! можно пойти дальше и переписать все используемые в примерах SmaStrategy. Осилите? :) перепишу примеры в папках Testing, Smart (если получится продлить тестовый период) - остальные не с руки

Могу ошибаться, но вроде там аналогичные изменения везде нужны

fau
fau

Alexander Mukhanchikov: Могу ошибаться, но вроде там аналогичные изменения везде нужны хорошо, если аналогичные, тогда все исправлю

JackSparrow
JackSparrow

Добавляю в SampleHistoryTesting просмотр логов через MonitorWindow. Окно монитора открывается нормально работает. Если стратегию запустить через котирование то получаю exeption если работать через маркет то исключения нет. Все описанное есть на прилагаемом скрине, скрин снят в режиме котирования

Alexander
Alexander

JackSparrow: Добавляю в SampleHistoryTesting просмотр логов через MonitorWindow. Окно монитора открывается нормально работает. Если стратегию запустить через котирование то получаю exeption если работать через маркет то исключения нет. Все описанное есть на прилагаемом скрине, скрин снят в режиме котирования

Версия S# последняя? Если нет - пробуйте с ней

JackSparrow
JackSparrow

Alexander Mukhanchikov: Версия S# последняя? Если нет - пробуйте с ней

Получилось как на картинке.

Alexander
Alexander

JackSparrow;15832:

Alexander Mukhanchikov: Версия S# последняя? Если нет - пробуйте с ней

Получилось как на картинке.

Я имел в виду 4.0.16, а не из dev ветки :) Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?

JackSparrow
JackSparrow

Alexander Mukhanchikov;15833:

JackSparrow;15832:

Alexander Mukhanchikov: Версия S# последняя? Если нет - пробуйте с ней

Получилось как на картинке.

Я имел в виду 4.0.16, а не из dev ветки :) Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?

Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs. Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.

JackSparrow
JackSparrow

JackSparrow;15838:

Alexander Mukhanchikov;15833:

JackSparrow;15832:

Alexander Mukhanchikov: Версия S# последняя? Если нет - пробуйте с ней

Получилось как на картинке.

Я имел в виду 4.0.16, а не из dev ветки :) Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?

Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs. Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.

Я сразу необратил внимание вовсе. На Box.net лежит не событийная модель, так что вопрос снимается, совершенно нет смысла его обсуждать.

Alexander
Alexander

JackSparrow;15843:

JackSparrow;15838:

Alexander Mukhanchikov;15833:

JackSparrow;15832:

Alexander Mukhanchikov: Версия S# последняя? Если нет - пробуйте с ней

Получилось как на картинке.

Я имел в виду 4.0.16, а не из dev ветки :) Если на 4.0.16 ломается - можно минимальный пример, на котором воспроизводится?

Вылетела и эта, взятая с box(a), прилагаю mainwindow.cs. Там ничего особенного нет, просто вставляю ComentaryWindow как это описано в доках.

ЗЫ нагляднее трабл ловить на коротких мувингах.

Я сразу необратил внимание вовсе. На Box.net лежит не событийная модель, так что вопрос снимается, совершенно нет смысла его обсуждать.

Теперь я не понимаю. Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?

JackSparrow
JackSparrow

Alexander Mukhanchikov: Теперь я не понимаю. Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?

Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.

Mikhail Sukhov
Mikhail Sukhov

JackSparrow:

Alexander Mukhanchikov: Теперь я не понимаю. Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?

Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.

Посмотрите в dev ветке. Залил фиксы, должно работать. По транку чуть позднее.

MonitorWindow и для нас черный ящик, так как ошибки сыпятся внутри WPF дерева.

JackSparrow
JackSparrow

Mikhail Sukhov:

JackSparrow:

Alexander Mukhanchikov: Теперь я не понимаю. Какая разница в ошибке с MonitorWindow какая модель используется - событийная или нет?

Объективно видимо никакой, но я только вникаю в продукт и не могу квалифицированно сказать в чем причина, все мои высказывания это либо догадки либо констатации вторичных фактов, тем более что монитор виндоу для меня черный ящик.

Посмотрите в dev ветке. Залил фиксы, должно работать. По транку чуть позднее.

MonitorWindow и для нас черный ящик, так как ошибки сыпятся внутри WPF дерева.

Спасибо!

Я проверил, с фиксами ошибка с монитором не повторилась.

Но хочу отметить что быстродействие замедлилось очень радикально. Если в 4.0.16 я прогоняю тест за 5 минут, то пример из dev я выключаю через час прогона. И еще натолкнулся на то что он иногда остается висеть в процессах

Mikhail Sukhov
Mikhail Sukhov

JackSparrow: Но хочу отметить что быстродействие замедлилось очень радикально. Если в 4.0.16 я прогоняю тест за 5 минут, то пример из dev я выключаю через час прогона.

Это время именно на чистом примере, без всяких MonitorWindow?

Alexander
Alexander

Будет фикс с Monitor Window

Weitere Kommentare laden