PositionTargetManager
Автономный менеджер, который доводит позицию до целевого значения с помощью настраиваемых алгоритмов.
Наследует: BaseLogReceiver
Конструкторы
public PositionTargetManager(ISubscriptionProvider subProvider, ITransactionProvider transProvider, IMarketRuleContainer container, Func<Security, Portfolio, decimal?> getPosition, Func<Order> orderFactory, Func<bool> canTrade, Func<Sides, decimal, IPositionModifyAlgo> algoFactory)
positionTargetManager = PositionTargetManager(subProvider, transProvider, container, getPosition, orderFactory, canTrade, algoFactory)
Инициализирует новый экземпляр PositionTargetManager.
- subProvider
- Поставщик подписки.
- transProvider
- Поставщик транзакций.
- container
- Контейнер правил рынка.
- getPosition
- Функция для получения текущей позиции по паре финансовый инструмент/портфель.
- orderFactory
- Фабрика по созданию новых заказов с желаемыми свойствами.
- canTrade
- Функция, которая возвращает, разрешена ли торговля.
- algoFactory
- Фабрика для создания алгоритмов изменения положения. Параметры: сторона, объем.
Свойства
public int MaxRetries { get; set; }
value = positionTargetManager.MaxRetries
positionTargetManager.MaxRetries = value
Максимальное количество повторных попыток по сбою заказа.
public OrderTypes OrderType { get; set; }
value = positionTargetManager.OrderType
positionTargetManager.OrderType = value
Тип заказа, который нужно использовать.
public decimal PositionTolerance { get; set; }
value = positionTargetManager.PositionTolerance
positionTargetManager.PositionTolerance = value
Терпимость к рассмотрению достигнутой цели позиции.
Методы
public void CancelTarget(Security security, Portfolio portfolio)
positionTargetManager.CancelTarget(security, portfolio)
Отменить цель для пары финансовый инструмент/портфель.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
protected override void DisposeManaged()
positionTargetManager.DisposeManaged()
Освободите ресурсы.
public decimal? GetTarget(Security security, Portfolio portfolio)
result = positionTargetManager.GetTarget(security, portfolio)
Получите целевую позицию для пары финансовый инструмент/портфель.
Возвращает: Целевая позиция или нулевое значение, если не установлено.
public bool IsTargetReached(Security security, Portfolio portfolio)
result = positionTargetManager.IsTargetReached(security, portfolio)
Проверьте, достигнуто ли целевое положение.
public void SetTarget(Security security, Portfolio portfolio, decimal target)
positionTargetManager.SetTarget(security, portfolio, target)
Установите целевую позицию для пары финансовый инструмент/портфель.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
- target
- Значение целевой позиции.
События
public event Action<Security, Portfolio, Exception> Error
positionTargetManager.Error += handler
Происходит при возникновении ошибки во время управления целевыми объектами.
public event Action<Order> OrderRegistered
positionTargetManager.OrderRegistered += handler
Происходит при регистрации заказа менеджером.
public event Action<Security, Portfolio> TargetReached
positionTargetManager.TargetReached += handler
Происходит при достижении целевой позиции.