Скажите, пожалуйста, какая версия стокшарпа сможет открыть эти архивные файлы ?
А то у меня вобще какая то проблема с доставанием инфы из базы данных:
Версия 4.1.19.1 пишу трейды в базу :
trader.NewTrades += trades => this.GuiAsync(() =>
{
var secgroup = trades.GroupBy(x => x.Security);
foreach (var sec in secgroup)
{
if (sec.Key.MinStepSize != 0)
{
var tradestorage = storage.GetTradeStorage(sec.Key);
tradestorage.AppendOnlyNew = true;
tradestorage.Save(sec);
}
}
});
Потом пробую дастать трейды из той же базы в той же программе :
var startTime = new DateTime(2013, 11, 18);
var stopTime = new DateTime(2013, 11, 20);
// создаем тестовый инструмент, на котором будет производится тестирование
var security = new Security
{
Id = "RIZ3@FORTS", // по идентификатору инструмента будет искаться папка с историческими маркет данными
Code = "RIZ3",
Name = "RTS-12.13",
MinStepSize = 10,
MinStepPrice = 6.5m,
MinPrice = 10,
MaxPrice = 1000000,
ExchangeBoard = ExchangeBoard.Forts,
};
security.LastTrade = new Trade { Price = 143000 };
// тестовый портфель
var portfolio = new Portfolio
{
Name = "test account",
BeginValue = 1000000,
};
// создаем шлюз для эмуляции
// инициализируем настройки (инструмент в истории обновляется раз в секунду)
var Trader = new EmulationTrader(
new[] { security },
new[] { portfolio })
{
MarketTimeChangedInterval = TimeSpan.FromMilliseconds(10),
StorageRegistry = storage,
// использовать стаканы
UseMarketDepth = true,
// использовать свечки
// UseCandlesTimeFrame = emulationInfo.UseCandleTimeFrame,
};
// проверка что стаканы соответствуют сделкам. Улучшает реалистичность тестирования.
Trader.MarketEmulator.Settings.SyncDepthToTrades = true;
// сведение сделки в эмуляторе если цена коснулась нашей лимитной заявки.
// Если выключено - требуется "прохождение цены сквозь уровень"
// (более "суровый" режим тестирования.)
Trader.MarketEmulator.Settings.FillOnTouch = false;
security.Trader = Trader;
Trader.RegisterMarketDepth(security);
// соединяемся с трейдером и запускаем экспорт,
// чтобы инициализировать переданными инструментами и портфелями необходимые свойства EmulationTrader
Trader.Connect();
Trader.StartExport();
Trader.Start(startTime, stopTime);
Но почему то в трейдере нет ни одного трейда , они вобще должны там быть или они будут появлятся в процессе тестирования ?