← Zurück

SampleHistoryTesting

Добрый день столкнулся со следующей проблемой, 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 показали одинаковые результаты при тестированни.

War dieses Thema hilfreich?

Thema teilen

Kommentare (5)

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

JaguarFX
JaguarFX

О тебе повезло, у тебя этот пример вообще хотя бы запустился! У меня при запуске выдает две ошибки-головоломки: вначале "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." "

Gii
Gii Autor

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

Посмотри пост там есть решение: http://stocksharp.com/forum/5378/DevExpress-Xpf-Core-v15-2/

Иван З.
Иван З.

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
Gii Autor

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

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

Иван З.
Иван З.

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

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

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

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