Помогите разобраться с TakeProfitStrategy...
Сделал как в примерах...
Quote:
private void OnNewMyTrades(IEnumerable<MyTrade> trades)
{
// фильтруем сделки, чтобы найти те, которые произошли для заявки MyOrder
trades = trades.Where(t => t.Order == MyOrder);
// если не найдена ни одна сделка для заявки MyOrder
if (trades.Count() == 0)
return;
// сама пакетная стратегия так же является параллельной, чтобы она не блокирована основной код робота
var Basket = new BasketStrategy(BasketStrategyFinishModes.All);
// для каждой сделки добавляем для защиты по пакетной стратегии
Basket.ChildStrategies.AddRange(trades.Select(CreateBasket).Cast<Strategy>());
base.ChildStrategies.Add(Basket);
}
BasketStrategy CreateBasket(MyTrade t)
{
var s = new BasketStrategy(BasketStrategyFinishModes.First);
// выставляет тейк-профит в 45 пунктов
var takeProfit = new TakeProfitStrategy(t, 45);
s.ChildStrategies.Add(takeProfit);
return s;
}
Лог такой:
Quote:
16:33:51.023 | | OS | Стратегия запущена.
16:34:41.639 | | OS | Новая Buy сделка 458108237 по цене 140960 на 1 заявки 59619294.
16:34:41.665 | | BS | Стратегия запущена.
16:34:41.666 | | BS | Стратегия запущена.
16:34:41.666 | | TPS | Стратегия запущена.
16:35:48.452 | | TPS | Регистрация новой заявки на Sell с ценой 141005 и объемом 1.
16:35:48.455 | | TPS | Заявка 59619295 на Sell отправлена с ценой 141005 объемом 1.
16:35:48.489 | Warning | TPS | Заявка 59619295 не имеет состояния.
16:35:51.464 | | OS | Новая Sell сделка 458109666 по цене 141005 на 1 заявки 59619295.
16:35:51.465 | | TPS | Позиция изменилась на -1.
16:35:51.465 | | TPS | Заканчиваем котирование с неисполненным объемом равный 0.
16:35:51.465 | | BS | Новая Sell сделка 458109666 по цене 141005 на 1 заявки 59619295.
16:35:51.465 | | BS | Новая Sell сделка 458109666 по цене 141005 на 1 заявки 59619295.
16:35:51.465 | | TPS | Новая Sell сделка 458109666 по цене 141005 на 1 заявки 59619295.
16:35:51.466 | | BS | Стратегия останавливается.
16:35:51.467 | | TPS | Заканчиваем котирование с неисполненным объемом равный 0.
16:35:51.467 | | TPS | Заканчиваем котирование с неисполненным объемом равный 0.
16:35:51.469 | | BS | Стратегия останавливается.
16:35:51.470 | | TPS | Стратегия останавливается.
16:35:51.470 | | TPS | Заканчиваем котирование с неисполненным объемом равный 0.
16:35:51.473 | | BS | Стратегия остановлена.
Никак не разберусь, что делает TPS целую минуту от момента запуска до регистрации заявки. Сколько пробовал запускать - наименьший интервал был 6 секунд.