Страница 1 из 1

Как правильно выставить тейк-профит на часть позиции через BreakingStop?

Добавлено: 01 апр 2026, 19:17
геннадий66
Добрый день.

Разрабатываю робота для фонда CASH в Альфа-Директ 4.0. Особенность инструмента: 1 лот = 10 паёв. Цена в стакане указана за 1 пай.

Логика:

Рассчитываю количество лотов для покупки:
lotsToBuy = Math.Floor(сумма / (цена_пая * 10))

После покупки выставляю тейк-профит на 90% купленных лотов через BreakingStop:

csharp
double stopPrice = цена_пая * 0.97;
double targetPrice = цена_пая * 1.01;
BreakingStop(stopPrice, targetPrice, lotsForSale, SignalPriceType.Price);
Проблема:

Для фондов, где 1 лот = 1 пай, этот код работает — заявки появляются в терминале.

Для CASH (1 лот = 10 паёв) заявки не создаются, хотя в логе стратегии пишет ✅ ТЕЙК-ПРОФИТ (BreakingStop).

Вопросы:

Как правильно передать количество лотов в BreakingStop для инструментов с лотностью 10?

Нужно ли передавать количество в паях, а не в лотах?

Если BreakingStop не поддерживает частичное закрытие при такой лотности, как правильно выставить тейк-профит на часть позиции?

Нужен рабочий пример кода.

Спасибо.