HistoryTestTrader GetMarketDepth
Atom Ответить
02.05.2011


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

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




Спасибо:




4 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.05.2011
Ответить


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

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



GetMarketDepth во время тестирования вызывается?
Спасибо:

roman

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


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

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



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

да в стратегии
HistoryTestTrader используется
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.05.2011
Ответить


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


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

roman

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


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();


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

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

Автор топика
Спасибо:


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

loading
clippy