Создаю стратегию, использую эмулятор RealTimeEmulationTrader<QuikTrader>.
Создаю и регистрирую стоп-лимит заявку таким способом:
var order = new Order() {
Portfolio = Portfolio,
Security = Security, // RIM2
Direction = OrderDirections.Buy,
Price = 157010,
Type = OrderTypes.Conditional,
Volume = 1,
StopCondition = new QuikStopCondition() {
Type = QuikStopConditionTypes.StopLimit,
StopPrice = 157000
}
};
this.When(order.Registered()).Do(orderSLRegistered);
this.When(order.Activated()).Do(orderSLActivated);
this.When(order.Matched()).Do(orderSLMatched);
this.When(order.RegisterFailed()).Do(orderSLRegisteredFailed);
RegisterOrder(order);
Регистрации стоп-заявки выполняется, выводится сообщение в лог из orderSLRegistered. Цена достигает 157000 и выше, но заявка не активируется (не становится лимитной) Пробовал обычные лимитные заявки - они успешно исполняются. Помогите пожалуйста разобраться в проблеме.
Comentários (7)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
стоп заявки не поддерживаются, пользуйтесь правилами
Если подключите меня к проекту на codeplex, могу доделать поддержку стоп-заявок в RealTimeEmulationTrader.
Правилами изменеия цены инструмента. Станет >= N - активируете лимитку.
RealTimeEmulationTrader на codeplex нет. Я бы не был так уверен о том, что поддержка стоп-заявок является лёгкой задачей. :)
Сработало правило нужное вам (зависит от вашего стопа - скорее всего по Last цене), посылаете обычную лимит заявку. При чём здесь стоп-лимит - не пойму.
А класс EmulationTrader поддерживает работу со стоп-заявками или тоже нет?
Тоже нет