SampleHistoryTesting
Atom
30.06.2016
Gii


Добрый день столкнулся со следующей проблемой, SapleHistoryTesting при тестировании на Ticks, работает правильно только с тестовыми данными из примера RIZ2@FORTS.

Тестирование на тиках.

На любых других исторических данных пример вылетает на следующей строке SmaStrategy.cs
var price = Security.GetMarketPrice(Connector, direction);

Проверил на нескольких Security, на разных временных интервалах, приведенный ниже лог соответствует SBER@TQBR

Изменения внесенные в SapleHistoryTesting

Код

             //SecId.Text = "RIZ2@FORTS";
             SecId.Text = "SBER@TQBR";
						
             var level1Info = new Level1ChangeMessage
                {
                    SecurityId = secId,
                    ServerTime = startTime,
                }
                .TryAdd(Level1Fields.PriceStep, 0.01m)
                        .TryAdd(Level1Fields.StepPrice, 0.01m) 
                        .TryAdd(Level1Fields.MinPrice, 0.01m) 
                        .TryAdd(Level1Fields.MaxPrice, 1000000m)
                        .TryAdd(Level1Fields.VolumeStep, 10m);

                //.TryAdd(Level1Fields.PriceStep, secCode == "RIZ2" ? 10m : 1)
                //.TryAdd(Level1Fields.StepPrice, 6m)
                //.TryAdd(Level1Fields.MinPrice, 10m)
                //.TryAdd(Level1Fields.MaxPrice, 1000000m)
                //.TryAdd(Level1Fields.MarginBuy, 10000m)
                //.TryAdd(Level1Fields.MarginSell, 10000m);

Несколько раз перезагружал исторические данные с разных источников, при этом ошибок при загрузке не было.


Тестирование на Тиках и Стаканах

Тест работает в независимости есть или нет данные о стаканах, включена или нет генерация стаканов.
Версии Stock Sharp v4.3.14.2, v4.3.14.5 показали одинаковые результаты при тестированни.
sample.txt 19 KB (326)



Спасибо:


JaguarFX

Фотография
Дата: 01.07.2016
Ответить


О тебе повезло, у тебя этот пример вообще хотя бы запустился!
У меня при запуске выдает две ошибки-головоломки:
вначале
"H:\Programs\StockSharp\StockSharp (GitHub)\Samples\Testing\SampleHistoryTesting\MainWindow.xaml(10,9): error MC3050: не удается найти тип "LocalizedStrings". Имена типов вводятся с учетом регистра букв."
и затем:
"Неизвестная ошибка сборки, "Невозможно разрешить зависимую сборку для сборки "DevExpress.Data.v15.2, Version=15.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a", поскольку она не была предварительно загружена. При использовании API-интерфейсов ReflectionOnly зависимые сборки необходимо предварительно загружать или загружать по запросу при возникновении события ReflectionOnlyAssemblyResolve." "
Спасибо:

Иван З.

Фотография
Дата: 01.07.2016
Ответить


Gii
Добрый день столкнулся со следующей проблемой, SapleHistoryTesting при тестировании на Ticks, работает правильно только с тестовыми данными из примера RIZ2@FORTS.

Тестирование на тиках.
....................


Цитата:
2012/10/02 12:35:01.000|Error |SS_SBER@TQBR_test account|System.ArgumentException: Площадка TQBR поддерживает рыночные заявки.

По тексту ошибки у вас проблема не в данных. Возможно из-за того что RIZ2@FORTS это срочка а SBER@TQBR это акции. TQBR и FORTS разные площадки. Смотрите стратегию.

Лебедев Сергей
О тебе повезло, у тебя этот пример вообще хотя бы запустился!
У меня при запуске выдает две ошибки-головоломки:
вначале
"H:\Programs\StockSharp\StockSharp (GitHub)\Samples\Testing\SampleHistoryTesting\MainWindow.xaml(10,9): error MC3050: не удается найти тип "LocalizedStrings". Имена типов вводятся с учетом регистра букв."
и затем:
"Неизвестная ошибка сборки, "Невозможно разрешить зависимую сборку для сборки "DevExpress.Data.v15.2, Version=15.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a", поскольку она не была предварительно загружена. При использовании API-интерфейсов ReflectionOnly зависимые сборки необходимо предварительно загружать или загружать по запросу при возникновении события ReflectionOnlyAssemblyResolve." "

Так у нас же теперь нет доступа ко всем исходникам, врятли можно взять из GitHab и собрать библиотеку из исходников или на f5 запустить пример. Честно говоря не пробовал с тех пор как часть S# скрыли. А если брать уже собранный S# то вроде работает https://github.com/StockSharp/StockSharp/releases

Спасибо: JaguarFX

Gii

Фотография
Дата: 01.07.2016
Ответить


Лебедев Сергей


"Неизвестная ошибка сборки, "Невозможно разрешить зависимую сборку для сборки "DevExpress.Data.v15.2, Version=15.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a", поскольку она не была предварительно загружена. При использовании API-интерфейсов ReflectionOnly зависимые сборки необходимо предварительно загружать или загружать по запросу при возникновении события ReflectionOnlyAssemblyResolve." "


Посмотри пост там есть решение:
http://stocksharp.com/fo...vExpress-Xpf-Core-v15-2/
Спасибо:

Gii

Фотография
Дата: 01.07.2016
Ответить


Цитата:
Иван З
По тексту ошибки у вас проблема не в данных. Возможно из-за того что RIZ2@FORTS это срочка а SBER@TQBR это акции. TQBR и FORTS разные площадки. Смотрите стратегию.


Спасибо за ответ! Что FORTS и TQBR разные плащадки я понимаю, но речь идет только о тиковых дынных, чем кроме их количества они могут отличаться?


Спасибо:

Иван З.

Фотография
Дата: 01.07.2016
Ответить


Gii
Цитата:
Иван З
По тексту ошибки у вас проблема не в данных. Возможно из-за того что RIZ2@FORTS это срочка а SBER@TQBR это акции. TQBR и FORTS разные площадки. Смотрите стратегию.


Спасибо за ответ! Что FORTS и TQBR разные плащадки я понимаю, но речь идет только о тиковых дынных, чем кроме их количества они могут отличаться?



Насколько я понимаю если вы не задаете площадку то S# это сделает за вас, @TQBR или @FORTS. Поэтому кроме количества они отличаются площадкой. Площадка TQBR поддерживает рыночные заявки а площадка FORTS нет. В стратегии видимо как то конфликтует это. Попробуйте просто ордера выставлять лимитники на 10 шагов меньше(больше) цены последней сделки.

и еще он же говорит где падает StockSharp.Algo.TraderHelper.GetMarketPrice(Security security, IMarketDataProvider provider, Sides side)
Спасибо:


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

loading
clippy