По поводу проблемы с неработающим котированием, описанной здесь http://stocksharp.com/forum/2129/Nie-rabotaiet-kotirovaniie/
- Взял с codeplex версию 4.0.6
- К стратегии котирования прикрепил лог
var strategy = new MarketQuotingStrategy(order, new Unit(5), new Unit(5));
var log = new FileLogListener("log" + (count++).ToString() + ".txt");
strategy.Log += new Action<LogMessage>(message => log.WriteMessage(message));
В итоге все нормально, но появилось очень много сообщение о том, что в стакан пустой:
00:05:00.000 | | MQS | Стратегия запущена.
00:05:00.000 | Warning | MQS | Стакан пустой.
00:10:00.000 | Warning | MQS | Стакан пустой.
00:15:00.000 | Warning | MQS | Стакан пустой.
00:20:00.000 | Warning | MQS | Стакан пустой.
00:25:00.000 | Warning | MQS | Стакан пустой.
00:30:00.000 | Warning | MQS | Стакан пустой.
00:35:00.000 | Warning | MQS | Стакан пустой.
00:40:00.000 | Warning | MQS | Стакан пустой.
00:45:00.000 | Warning | MQS | Стакан пустой.
Лог обрезал т.к. очень длинный, т.е. каждые 5 минут выдается сообщение Стакан Пустой.
23:20:00.000 | Warning | MQS | Стакан пустой.
23:25:00.000 | Warning | MQS | Стакан пустой.
23:30:00.000 | Warning | MQS | Стакан пустой.
23:35:00.000 | Warning | MQS | Стакан пустой.
23:40:00.000 | Warning | MQS | Стакан пустой.
23:45:00.000 | Warning | MQS | Стакан пустой.
23:50:00.000 | Warning | MQS | Стакан пустой.
23:55:00.000 | Warning | MQS | Стакан пустой.
23:59:59.990 | | MQS | Регистрация новой заявки на Buy с ценой 155010 и объемом 1.
23:59:59.990 | | MQS | Заявка 52981109 на Buy отправлена с ценой 155010 объемом 1.
00:04:59.990 | | MQS | Цена текущей 155010 и лучшей 154965.
00:04:59.990 | | MQS | Лучший бид 154960 и лучший аск 155005.
00:04:59.990 | | MQS | Котирование заявки 52981109 на Buy с ценой 155010 объемом 1.
00:04:59.990 | | MQS | Отмена заявки 52981109.
00:04:59.990 | | MQS | Новая Buy сделка 1 по цене 155005 на 1 заявки 52981109.
00:04:59.990 | | MQS | Позиция изменилась на 1.
00:04:59.990 | | MQS | Заканчиваем котирование с неисполненным объемом равный 0.
00:04:59.990 | | MQS | Стратегия останавливается.
00:04:59.990 | | MQS | Заканчиваем котирование с неисполненным объемом равный 0.
00:04:59.990 | | MQS | Заканчиваем котирование с неисполненным объемом равный 0.
00:04:59.990 | | MQS | Заканчиваем котирование с неисполненным объемом равный 0.
00:04:59.990 | | MQS | Стратегия остановлена.
Непонятно почему стакан пустой, исходные данные формирую как в примере:
var portfolio = new Portfolio { Name = "test account" };
var timeFrame = TimeSpan.FromMinutes(5);
var security = new Security
{
Id = "RIU9@RTS",
Code = "RIU9",
Name = "RTS-9.09",
MinStepSize = 5,
MinStepPrice = 2,
Decimals = 0,
Exchange = Exchange.Test,
};
_trader = new EmulationTrader(
new[] { security },
new[] { portfolio })
{
MarketTimeChangedInterval = timeFrame
};
_trader.TradeGenerators[security] = new RandomWalkTradeGenerator(security, 155000);
_trader.DepthGenerators[security] = new TrendMarketDepthGenerator(security);