Исторические данные проигрываются.
Но когда вместо исторических данных пытаюсь использовать случайные, то данные не генерятся.
Пример - в коде вместо этого:
var storage = new TradingStorage(new InMemoryStorage())
{
BasePath = @"C:\MyProjects\HistoryData",
};
var trader = new HistoryEmulationTrader(
new Dictionary<Security, TimeSpan> {
{ securityA, TimeSpan.FromSeconds(1) },
{ securityB, TimeSpan.FromSeconds(1) }},
new[] { portfolio },
storage);
пытался сделать:
var trader = new RandomEmulationTrader(
new Dictionary<Security, TimeSpan> {
{ securityA, TimeSpan.FromSeconds(1) },
{ securityB, TimeSpan.FromSeconds(1) }},
new[] { portfolio });
при этом все остальное оставив без изменений.
Нужно ли еще что-то менять чтобы заработал генератор случайных данных?
PS. вместо ((( и ))) должны быть угловые скобки - форум не переваривает их что очень неудобно для вставки кода.
评论 (2)
登录 或 创建账户, 登录或注册以发表评论
Лучше использовать 3.2. Там много поменялось для эмуляции.
и правда - после мучительной установки и правки кода на 3.2 - мои тесты заработали, и 3.2 мне гораздо больше нравится - логичнее стало, что-ли.
спасибо большое!
PS. а проблема была в том что я не вызывал у стратегии base.OnRunning(). и мне кажется тут есть небольшая логическая недоработка - нужно либо у всех перегруженных методов обязывать вызывать базовый (у OnProcess, например, тоже) либо ни у кого (вся унаследованная логика может вызываеться сама перед или после вызова этих виртуальных методов).