Стратегия не снимает заявки


Стратегия не снимает заявки
Atom
12/15/2011


Все заявки на продажу выставлены одной и той же стратегией, перед отправкой новой заявки выполняется CancelActiveOrders.(кроме тех случаев, когда заявка исполнена.)
Два вопроса.
1) Почему заявки не были сняты вызовом CancelActiveOrders?
2) почему они не были сняты последующими вызовани CancelActiveOrders?

S# - 4.0.7

Tags:


Thanks:


1 2  >
freelancer

Avatar
Date: 12/15/2011
Reply


Используйте Trader.CancelOrders
Thanks:

Alexander

Avatar
Date: 12/15/2011
Reply


Снимаются ли заявки по Trader.CancelOrders?
Thanks:

freelancer

Avatar
Date: 12/15/2011
Reply


Trader.CancelOrders - Да
CancelActiveOrders - Нет
Thanks:

Alexander

Avatar
Date: 12/15/2011
Reply


freelancer Go to
Trader.CancelOrders - Да
CancelActiveOrders - Нет


Как часто наблюдается и начиная с какой примерно версии?
Для всех заявок или для каких-то отдельных - стоп \ обычные?
Thanks:

freelancer

Avatar
Date: 12/15/2011
Reply


Alexander Mukhanchikov Go to
freelancer Go to
Trader.CancelOrders - Да
CancelActiveOrders - Нет


Как часто наблюдается и начиная с какой примерно версии?
Для всех заявок или для каких-то отдельных - стоп \ обычные?

Не могу сказать. Как-то давно заметил (несколько месяцев назад). Потом нашел Trader.CancelOrders и успокоился. Я пробовал только на стопах
Thanks:

vader

Avatar
Date: 12/15/2011
Reply


Снимаются ли заявки по Trader.CancelOrders? - не знаю, я использую только CancelActiveOrders.
Если я буду использовать Trader.CancelOrders, то они снимет также и заявки других стратегий по этому инструменту.

Как часто наблюдается и начиная с какой примерно версии?
Не могу сказать, было ли это в прошлых версиях, т.к. тестировать так, как сейчас стал недавно.
я запускаю по две стратегии по трем инструментам сразу, и эта проблем проявляется примерно через раз.
Вчера, например у одной стратегии осталось не снятами 5 заявок.

Для всех заявок или для каких-то отдельных - стоп \ обычные?
Использую только обычные заявки.
Thanks:

freelancer

Avatar
Date: 12/15/2011
Reply


У меня паре портфель+инструмент соответствует только одна стратегия
Thanks:

vader

Avatar
Date: 12/15/2011
Reply


у меня не так.
Thanks:

vader

Avatar
Date: 12/15/2011
Reply


Да, ещё такое замечание, может оно поможет разобраться в проблеме.
Перед регистрацией заявки стратегия проверяет, сколько актвных заявок у неё есть, если их больше двух, онадолжна остановится. Остановки НЕ произошло.

Code

try{
					base.RegisterOrder(order);
				}
				catch(Exception ex){
					WriteDiagnostics("Register- " + ex.Message);
					AbortStop("Register_ex");
					ShowErrorMessage(order, ex.Message);
				}
				if(GetCountActiveOrders() > 2){
					AbortStop("Register_GetCountActiveOrders");
					ShowErrorMessage("У режима три или более активных заявки одновременно.");
				}

public int GetCountActiveOrders()
		{
			IEnumerable<Order> activeOrders = Orders.Where(p => p.State == OrderStates.Active);
			return activeOrders.Count();
		}
Thanks:

Alexander

Avatar
Date: 12/15/2011
Reply


CancelActiveOrders - это метод стратегии
И снимает она заявки от стратегии - стопы и обычные

Распечатайте перед каждым вызовом CancelActiveOrders все стоп \ обычные заявки, у которых State == OrderStates.Active
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy