← Zurück

HistoryTestTrader GetMarketDepth

Можно ли сделать так что бы при сохраненных заявках в quotes.bin GetMarketDepth выдавал не рандомные заявки, а последние сохраненные?

Например у меня есть сохраненный стакан на 10:30:01 и 10:30:03 и если я спрашиваю стакан за 10:30:02, а у меня такого сохраненного нет, он бы мне выдавал не рандомный стакан как сейчас, а за 10:30:01 ну или исключение выдавал. Когда есть сохраненные стаканы, рандомные данные больше вредны чем полезны.

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

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

Mikhail Sukhov
Mikhail Sukhov

roman: Можно ли сделать так что бы при сохраненных заявках в quotes.bin GetMarketDepth выдавал не рандомные заявки, а последние сохраненные?

Например у меня есть сохраненный стакан на 10:30:01 и 10:30:03 и если я спрашиваю стакан за 10:30:02, а у меня такого сохраненного нет, он бы мне выдавал не рандомный стакан как сейчас, а за 10:30:01 ну или исключение выдавал. Когда есть сохраненные стаканы, рандомные данные больше вредны чем полезны.

GetMarketDepth во время тестирования вызывается?

roman
roman Autor

Mikhail Sukhov:

roman: Можно ли сделать так что бы при сохраненных заявках в quotes.bin GetMarketDepth выдавал не рандомные заявки, а последние сохраненные?

Например у меня есть сохраненный стакан на 10:30:01 и 10:30:03 и если я спрашиваю стакан за 10:30:02, а у меня такого сохраненного нет, он бы мне выдавал не рандомный стакан как сейчас, а за 10:30:01 ну или исключение выдавал. Когда есть сохраненные стаканы, рандомные данные больше вредны чем полезны.

GetMarketDepth во время тестирования вызывается? да в стратегии HistoryTestTrader используется

Mikhail Sukhov
Mikhail Sukhov

roman: да в стратегии HistoryTestTrader используется

Видимо ликвидность у инструмента меньше секунды. Какую вы указали?

roman
roman Autor

Mikhail Sukhov:

roman: да в стратегии HistoryTestTrader используется

Видимо ликвидность у инструмента меньше секунды. Какую вы указали?

Код такой:

            var storage = new TradingStorage(new InMemoryStorage()){BasePath = @"D:\Roma\Trade\Data"};
            var trader = new HistoryTestTrader(
                new Dictionary<Security, TimeSpan> { { security, TimeSpan.FromMilliseconds(1000) } },
                new[] { portfolio },
                storage);
            _manager = new TimeShiftStrategyManager(trader, new DateTime(2010, 3, 19, 10, 20, 0), new DateTime(2010, 3, 19, 11, 50, 0)) { };

            _manager.StateChanged += () => { if (_manager.State == StrategyManagerStates.Stopped)  MessageBox.Show("Finish"); };
            _manager.TimeStep = TimeSpan.FromMilliseconds(1000);
            _strategy = new TestStrategy() { };
            FileStrategyLogger flogger = new FileStrategyLogger(DateTime.Now.Ticks.ToString()+"log.txt");
            flogger.Strategies.Add(_strategy);
            _manager.Register(_strategy, portfolio, security);
            _strategy.Start();
            _manager.Start();

не только целый стакан рандомный генерируется, но и существующий добивается до константной глубины рандомными заявками, если сохраненный стакан меньше

и как я понимаю с сохраненными сделками с секундной точностью бессмысленно тестировать на истории со стаканами, сохраненными с миллисекундной точностью