При котировании заявок стоплосс (и/или) тэйкпрофит выполняются сразу две заявки


При котировании заявок стоплосс (и/или) тэйкпрофит выполняются сразу две заявки
Atom
19.11.2010


Приветствую уважаемых Михаила и коллег!

При котировании Тейкпрофит стратегии часто выполниляется две заявки. Т.е. выставление новой заявки не отменяет или не успевает отменить старую.
Вернее даже так : первая заявка исполнилась, но котирование выставляет вторую заявку (см. лог ниже выставилось две заявки 57878465 и 57878467 и в итоге обе исполнились)

Нельзя ли перерегистрировать заявку вместо удаления старой и создания новой? Хотя вообще непонятно зачем создалась вторая заявка если первая исполнилась? См. лог ниже.

Подскажите как тут лучше делать, пжл.

Спасибо и с уважением!

Вот код BS/SL/TP стратегии

Код
var takeStop = new BatchStrategy(BatchFinishModes.First) { IsParallel = true };
foreach (var mytrade in Program.trader.GetMyTrades(order))
{
var tp = new TakeProfitStrategy(mytrade, 6.Points(Security));// { IsMarket = true };
var sl = new StopLossStrategy(mytrade, 12.Points(Security)) { IsTrailing = true };
tp.UseMarketQuoting = true; tp.PriceExchange = 5.Points(Security); tp.PriceDelta = 10.Points(Security);
sl.UseMarketQuoting = true; sl.PriceExchange = 5.Points(Security); sl.PriceDelta = 10.Points(Security);
takeStop.ChildStrategies.Add(tp);
takeStop.ChildStrategies.Add(sl);

base.ChildStrategies.Add(takeStop);
}


Вот лог. Режим асинхронный если это важно. ( trader.IsAsyncMode = true;) Может в этом дело?

Цитата:
SS 16:17:20.8835910 Условие активировано.
BS 16:17:20.8845911 Стратегия запущена.
TPS 16:17:20.8845911 Стратегия запущена.
SLS 16:17:20.8855912 Стратегия запущена.
SS 16:17:20.8865912 Условие удалено.
TPS 16:25:03.1210295 Регистрация защитной заявки с ценой 9821 и объемом 1.
MQS 16:25:03.1210295 Стратегия запущена.
TPS 16:25:03.1220296 Регистрация новой заявки на Buy с ценой 9821 и объемом 1.
TPS 16:25:03.1320301 Заявка 57878465 на Buy отправлена с ценой 9821 объемом 1.
MQS 16:25:04.1340875 Цена текущей 9821 и лучшей 9831.
MQS 16:25:04.1340875 Котирование заявки 57878465 на Buy с ценой 9821 объемом 1.
MQS 16:25:04.6341161 Котируемая заявка 57878465 исполнилась.
SS 16:25:04.6371162 Условие активировано.
SS 16:25:04.6381163 Условие удалено.
MQS 16:25:05.6441738 Регистрация новой заявки на Buy с ценой 9830 и объемом 1.
MQS 16:25:05.6501742 Заявка 57878467 на Buy отправлена с ценой 9830 объемом 1. ///--- Зачем? Первая заявка 57878465 уже исполнена?
MQS 16:25:06.6742327 Заканчиваем котирование с неисполненным объемом равный 0 контрактов.
MQS 16:25:06.6742327 Стратегия останавливается.
MQS 16:25:07.6812903 Котирование отменяет заявку 57878467.
MQS 16:25:07.6832905 Стратегия остановлена.
TPS 16:25:08.6843477 Котируемая заявка 57878465 исполнилась.
TPS 16:25:08.6853478 Стратегия останавливается.
TPS 16:25:09.7004058 Котирование отменяет заявку 57878465.
TPS 16:25:09.7004058 Стратегия остановлена.

Теги:


Спасибо:


< 1 2 
Mikhail Sukhov

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


ustas

1. Хорошо, но почему тогда не останавливается


Посмотрел первоначальный код. Там ошибка. В пакетную стратегию можно добавлять лишь параллельные дочерние стратегии (в новой версии бросается исключение). Иначе BatchStrategy никогда не узнает об исполнении.
Спасибо:
< 1 2 

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

loading
clippy