Проблемы со сделками, позициями

Проблемы со сделками, позициями
Atom
11.08.2011
Mikhail Sukhov


Судя по всему у некоторых участников на 3.2.xxx появился сабж. Давайте сделаем следующее для поиска причины:

1. Подпишемся на QuikTrader.ProcessDataError, QuikTrader.PreProcessDdeData, QuikTrader.NewOrders, QuikTrader.OrdersChanged, QuikTrader.OrdersFailed, QuikTrader.NewMyTrades, Strategy.NewOrder, Strategy.OrderChanged, Strategy.NewMyTrades.
2. Из этих событий сделайте логирование.
3. У стратегии сделайте логирование. В 3.2.6 стало больше логов, особенно в плане заявок и сделок.

Без логов разобраться сложно. Скажу больше, скорее всего, невозможно. Поэтому, чтобы взаимно упростить работу, ждем от вас логов.

Теги:


Спасибо:


<< < 3 4 5 6  >
Mikhail Sukhov

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


sergun
и в логе возникают сообщения "Вы не можете снять данную заявку". Предположу, что QuikTrader, как и мои обработчики изменения состояния заявок видят их как Active и соответственно CancelActiveOrders пытается их снять.


Не факт. Заявка может быть исполнена на бирже но еще не обновила свой статус у вас на компьютере.

Насчет постоянно висит Active. Запускали пример Sample? Выставляли заявки? Снимали? Статус менялся?
Спасибо:

Supervisor

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


sergun
[quote=Mikhail Sukhov;12853]Но вот заявочки остаются в Active. Смотрите, вот даже после всего вызываю CancelActiveOrders и в логе возникают сообщения "Вы не можете снять данную заявку". Предположу, что QuikTrader, как и мои обработчики изменения состояния заявок видят их как Active и соответственно CancelActiveOrders пытается их снять. Хотя в квике заявы давно исполнены либо сняты.

Подтвержу, у меня так же. За сессию исполненные active заявочки накапливаются, и при вызове CancelOrders на каждую такую выводится ошибка. Сегодня будет время - попробую sample и с фильтром Balance = 0 снимать что получится.
Спасибо:

Mikhail Sukhov

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


Supervisor
Подтвержу, у меня так же.


Запускали пример Sample? Выставляли заявки? Снимали? Статус менялся?
Спасибо:

Supervisor

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


Mikhail Sukhov
Supervisor
Подтвержу, у меня так же.

Запускали пример Sample? Выставляли заявки? Снимали? Статус менялся?

Там все нормально, локализовал проблему:
Код

foreach (var order in Trader.Orders)
{
	if (order.Portfolio == Portfolio && order.State == OrderStates.Active)
	{
		DebugMessage("ORDER ID " + order.Id + " STATE " + order.State + " BALANCE " + order.Balance);
		Trader.CancelOrder(order);
	}
}

Данный код помимо активных заявок выводит и сработавшие заявки со статусом Active. Why?
Спасибо:

Mikhail Sukhov

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


Supervisor
Данный код помимо активных заявок выводит и сработавшие заявки со статусом Active. Why?


Потому что у вас почему то заявки не меняют свой статус на Done. В Sample раз все работает, значит ошибка у вас.
Спасибо:

Supervisor

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


Долго ковырялся, нашел причину - не был запущен DDE экспорт по таблице заявок.
Спасибо:

Mikhail Sukhov

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


На КодеПлексе лежит залеченная версия Algo. Она решает проблему с позициями. Просьба проверить ее.
Спасибо:

sergun

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


Mikhail Sukhov
На КодеПлексе лежит залеченная версия Algo. Она решает проблему с позициями. Просьба проверить ее.


Отвлеку, а симптом типа: заявка из None сразу становится Done (без Active) и в такой ситуации заявка на появляется в Strategy.Orders случаем не "про этот фикс"? :-)
Спасибо:

VirKato

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


Mikhail Sukhov
Supervisor
Данный код помимо активных заявок выводит и сработавшие заявки со статусом Active. Why?


Потому что у вас почему то заявки не меняют свой статус на Done. В Sample раз все работает, значит ошибка у вас.


Михаил. Sample запускал, работает. Мой код тоже работает и статусы меняются. Но, не всегда: заявки обновляются каждую секунду (reregister) и периодически некоторые заявки, которые по факту уже сняты (например сравнивая с таблицей в квике), так и остаются висеть активными. Процент этих заявок не большой (на вскидку <4%).
Есть ли возможность принудительно поставить статус done для определенной заявки в Trader.Orders?
Спасибо:

Alexander

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


Версия 4.1.1?
Покажите список таких заявок и скриншот квика, где видна описанная вами проблема.
Спасибо:
<< < 3 4 5 6  >

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

loading
clippy