У вас не стоит Flash Player
Настройки
#27041 - Thu May 05 2011 08:04 PM Как проконтролировать, что заявка исполнилась?
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Здравствуйте.

Открываю позицию. На очередном прогоне скрипта надо точно узнать что позиция открыта и сделка совершена. Как это сделать? И в случае не открытия как получить информацию о причине отмены?

Также дайте пояснение статусу активна isActive ?

Наверх
#27059 - Fri May 06 2011 11:56 AM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
IsActive - заявка находится в рынке, но еще не исполнена (исполнена частично).
IsExecuted - заявка исполнена.
Если оба флага равны false - заявка отменена.

Наверх
#27062 - Fri May 06 2011 12:00 PM Re: Как проконтролировать, что заявка исполнилась? [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Спасибо

Наверх
#27064 - Fri May 06 2011 12:03 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Я правильно понимаю. Что я выставил заявку на определенный объем, скажем на 10 инструментов, исполнилось только 3. Статус стал частично? Как теперь сказать, чтобы остальные 7 она не добирала и успокоилась на 3-х?

Наверх
#27070 - Fri May 06 2011 12:28 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Еще в догонку, статуса IsExecuted у заявки нет, есть только IsActive, IsLong, IsShort. Что делать?
Также как узнать, что позиция закрыта, по цене выхода ExitPrice>0 ?

Наверх
#27075 - Fri May 06 2011 12:38 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Я думал, что вы спрашиваете про заявки, которые доступны через ISecurityRt.
Iposition - это не заявки, это позиция. Открытие/закрытие позиций внутри скрипта - генерирует команды, которые проходят окно менеджер команд и превращаются в заявки.
Соответственно, если в момент начала пересчета позиция пришла с IsActive = false, то она уже точно закрыта. Если ее закрыли во время текущего пересчета, то это не значит что позиция уже физически закрыта. Это значит, что появится команда в Менеджере команд. И если включено автоматическое исполнение, то сразу будет выставлена заявка.

Наверх
#27077 - Fri May 06 2011 12:45 PM Re: Как проконтролировать, что заявка исполнилась? [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Как получить доступ к ISecurityRt?

Наверх
#27082 - Fri May 06 2011 01:18 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Вопрос про частичное исполнение еще в силе.

Я правильно понимаю. Что я выставил заявку на определенный объем, скажем на 10 инструментов, исполнилось только 3. Статус стал частично? Как теперь сказать, чтобы остальные 7 она не добирала и успокоилась на 3-х?

Наверх
#27094 - Fri May 06 2011 02:40 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Если вы работает с позициями - то никак, если напрямую с заявками, то заявку нужно отменить.

Наверх
#27104 - Fri May 06 2011 04:26 PM Re: Как проконтролировать, что заявка исполнилась? [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Рассматриваем IOrder

При частичном исполнении, получается так?
IsActive == true;
IsExecuted == false;

В итоге как отличить не исполненную заявку от частично исполненной?

Наверх
#27150 - Fri May 06 2011 06:38 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
RestQuantity будет отличным от 0

Наверх
#27157 - Fri May 06 2011 07:18 PM Re: Как проконтролировать, что заявка исполнилась? [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
И последнее, можете подробнее рассказать про Execute ?

Что происходит когда я выставляю ордеры или отменяю их? Происходит синхронное выставление приказа сразу же после вызова NewOrder в клиенте tslab или есть некоторая очередь в которую он помещается и которая обрабатывается после выхода из скрипта? У вас сделано на событиях?

Наверх
#27160 - Fri May 06 2011 07:46 PM Re: Как проконтролировать, что заявка исполнилась? [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Команды помещаются в очередь, после их подтверждения пользователем или автоматически, в зависимости от режима работы, они идут брокеру.

Наверх
#27165 - Fri May 06 2011 08:13 PM Re: Как проконтролировать, что заявка исполнилась? [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Все, спасибо. Вопрос закрыт, будем тестировать. Но очень хочется. чтобы вызов скрипта можно было бы задавать либо по сделкам либо по сделкам или интервалу в зависимости от того что наступает раньше

Наверх


Moderator:  ViL, sar