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

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
геннадий66
Сообщения: 1
Зарегистрирован: 06 мар 2026, 19:34

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

Сообщение геннадий66 » Сегодня, 19:17

Добрый день.

Разрабатываю робота для фонда 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 не поддерживает частичное закрытие при такой лотности, как правильно выставить тейк-профит на часть позиции?

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

Спасибо.

Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей