Добрый день столкнулся со следующей проблемой, 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 показали одинаковые результаты при тестированни.
Kommentare (5)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
О тебе повезло, у тебя этот пример вообще хотя бы запустился! У меня при запуске выдает две ошибки-головоломки: вначале "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." "
Посмотри пост там есть решение: http://stocksharp.com/forum/5378/DevExpress-Xpf-Core-v15-2/
Спасибо за ответ! Что FORTS и TQBR разные плащадки я понимаю, но речь идет только о тиковых дынных, чем кроме их количества они могут отличаться?
Спасибо за ответ! Что FORTS и TQBR разные плащадки я понимаю, но речь идет только о тиковых дынных, чем кроме их количества они могут отличаться?
Насколько я понимаю если вы не задаете площадку то S# это сделает за вас, @TQBR или @FORTS. Поэтому кроме количества они отличаются площадкой. Площадка TQBR поддерживает рыночные заявки а площадка FORTS нет. В стратегии видимо как то конфликтует это. Попробуйте просто ордера выставлять лимитники на 10 шагов меньше(больше) цены последней сделки.
и еще он же говорит где падает StockSharp.Algo.TraderHelper.GetMarketPrice(Security security, IMarketDataProvider provider, Sides side)