DecomposedStrategy

StockSharp.Algo.Strategies.Decomposed

Базовый класс для всех торговых стратегий.

Наследует: BaseLogReceiver

Реализует: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider

Конструкторы

DecomposedStrategy
public DecomposedStrategy()
decomposedStrategy = DecomposedStrategy()

Инициализирует новый экземпляр DecomposedStrategy.

DecomposedStrategy
public DecomposedStrategy(IPnLManager pnlManager, IStatisticManager stats)
decomposedStrategy = DecomposedStrategy(pnlManager, stats)

Инициализирует новый экземпляр DecomposedStrategy.

pnlManager
PnL менеджер.
stats
Статистический менеджер.

Свойства

CancelOrdersWhenStopping
public bool CancelOrdersWhenStopping { get; set; }
value = decomposedStrategy.CancelOrdersWhenStopping
decomposedStrategy.CancelOrdersWhenStopping = value

Отменяйте активные заказы, когда стратегия прекращается.

CommentMode
public StrategyCommentModes CommentMode { get; set; }
value = decomposedStrategy.CommentMode
decomposedStrategy.CommentMode = value

Режим комментариев.

Commission
public decimal? Commission { get; }
value = decomposedStrategy.Commission

Общая накопленная комиссия (от заказов + сделок).

Connector
public IConnector Connector { get; set; }
value = decomposedStrategy.Connector
decomposedStrategy.Connector = value

Connector (через интерфейс для проверки).

Engine
public StrategyEngine Engine { get; }
value = decomposedStrategy.Engine

State Machine + маршрутизация сообщений.

ErrorState
public LogLevels ErrorState { get; set; }
value = decomposedStrategy.ErrorState
decomposedStrategy.ErrorState = value

Ошибочное состояние.

IsFormed
public virtual bool IsFormed { get; }
value = decomposedStrategy.IsFormed

Будет ли сформирована стратегия.

IsOnline
public bool IsOnline { get; private set; }
value = decomposedStrategy.IsOnline
decomposedStrategy.IsOnline = value

Онлайн.

Latency
public TimeSpan? Latency { get; set; }
value = decomposedStrategy.Latency
decomposedStrategy.Latency = value

Задержка.

Orders
public OrderPipeline Orders { get; }
value = decomposedStrategy.Orders

Отслеживание и обработка заказов.

OrdersKeepTime
public TimeSpan OrdersKeepTime { get; set; }
value = decomposedStrategy.OrdersKeepTime
decomposedStrategy.OrdersKeepTime = value

Время хранения заказов в памяти.

PnLManager
public IPnLManager PnLManager { get; }
value = decomposedStrategy.PnLManager

PnL менеджер.

Portfolio
public Portfolio Portfolio { get; set; }
value = decomposedStrategy.Portfolio
decomposedStrategy.Portfolio = value

Портфолио.

PortfolioLookup
public Subscription PortfolioLookup { get; }
value = decomposedStrategy.PortfolioLookup

Подписка на поиск портфолио.

Position
public decimal Position { get; set; }
value = decomposedStrategy.Position
decomposedStrategy.Position = value

Текущая позиция (основной финансовый инструмент).

Positions
public PositionPipeline Positions { get; }
value = decomposedStrategy.Positions

Обработка событий позиции.

PositionsList
public IReadOnlyDictionary<ValueTuple<SecurityId, string>, decimal> PositionsList { get; }
value = decomposedStrategy.PositionsList

Все отслеживаемые позиции.

ProcessState
public ProcessStates ProcessState { get; }
value = decomposedStrategy.ProcessState

Текущее состояние процесса.

RiskManager
public IRiskManager RiskManager { get; set; }
value = decomposedStrategy.RiskManager
decomposedStrategy.RiskManager = value

Риск-менеджер.

Security
public Security Security { get; set; }
value = decomposedStrategy.Security
decomposedStrategy.Security = value

финансовый инструмент.

Slippage
public decimal? Slippage { get; }
value = decomposedStrategy.Slippage

Полное накопленное проскальзывание.

StartedTime
public DateTime StartedTime { get; private set; }
value = decomposedStrategy.StartedTime
decomposedStrategy.StartedTime = value

Время начала стратегии.

StatisticManager
public IStatisticManager StatisticManager { get; }
value = decomposedStrategy.StatisticManager

Статистический менеджер.

Subscriptions
public SubscriptionRegistry Subscriptions { get; }
value = decomposedStrategy.Subscriptions

Управление подписками.

TotalWorkingTime
public TimeSpan TotalWorkingTime { get; private set; }
value = decomposedStrategy.TotalWorkingTime
decomposedStrategy.TotalWorkingTime = value

Общее рабочее время.

Trades
public TradePipeline Trades { get; }
value = decomposedStrategy.Trades

Торговая обработка и PnL.

TradingMode
public StrategyTradingModes TradingMode { get; set; }
value = decomposedStrategy.TradingMode
decomposedStrategy.TradingMode = value

Торговый режим.

UnsubscribeOnStop
public bool UnsubscribeOnStop { get; set; }
value = decomposedStrategy.UnsubscribeOnStop
decomposedStrategy.UnsubscribeOnStop = value

Отписаться от рыночных данных, когда стратегия прекращается.

Volume
public decimal Volume { get; set; }
value = decomposedStrategy.Volume
decomposedStrategy.Volume = value

Объем заказа по умолчанию.

WaitAllTrades
public bool WaitAllTrades { get; set; }
value = decomposedStrategy.WaitAllTrades
decomposedStrategy.WaitAllTrades = value

Ждите всех сделок.

Методы

BuyLimit
public Order BuyLimit(decimal price, decimal? volume)
result = decomposedStrategy.BuyLimit(price, volume)

Купить по лимитной цене.

BuyMarket
public Order BuyMarket(decimal? volume)
result = decomposedStrategy.BuyMarket(volume)

Покупайте по рыночной цене.

CanAttach
protected virtual bool CanAttach(Order order)
result = decomposedStrategy.CanAttach(order)

Можно ли прикрепить (отследить) заказ по этой стратегии.

order
Прикажите проверить.

Возвращает: если ордер принадлежит этой стратегии.

CancelActiveOrders
public void CancelActiveOrders()
decomposedStrategy.CancelActiveOrders()

Отменить все активные заказы.

CancelOrder
public void CancelOrder(Order order)
decomposedStrategy.CancelOrder(order)

Отмените заказ через connector.

CanTrade
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = decomposedStrategy.CanTrade(security, portfolio, side, volume, noTradeReason)

Проверьте, можно ли торговать с информацией о заказе.

security
финансовый инструмент для торговли.
portfolio
Портфель для торговли.
side
Сторона заказа.
volume
Объем заказа.
noTradeReason
Причина, по которой торговля запрещена.

Возвращает: Верно, если торговля разрешена.

ClosePosition
public Order ClosePosition()
result = decomposedStrategy.ClosePosition()

Закрыть текущую позицию.

CreateOrder
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = decomposedStrategy.CreateOrder(side, price, volume)

Создайте инициализированный объект заказа.

side
Сторона заказа.
price
Цена. 0 для рыночного ордера.
volume
Объем. Если значение равно нулю, используется объем.

Возвращает: Заказ.

EditOrder
public void EditOrder(Order order, Order changes)
decomposedStrategy.EditOrder(order, changes)

Отредактируйте заказ через connector.

order
Оригинальный заказ.
changes
Изменения в заказе.
GetPositionValue
public decimal GetPositionValue(Security sec, Portfolio pf)
result = decomposedStrategy.GetPositionValue(sec, pf)

Получите стоимость позиции для конкретного финансового инструмента и портфеля.

OnCurrentPriceUpdated
protected virtual void OnCurrentPriceUpdated(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
decomposedStrategy.OnCurrentPriceUpdated(secId, price, serverTime, localTime)

Вызывается, когда текущая цена обновляется на основе рыночных данных.

OnError
protected virtual void OnError(Exception error)
decomposedStrategy.OnError(error)

Обработка ошибки, возникшей в результате работы стратегии.

error
Ошибка.
OnNewMessage
public ValueTask OnNewMessage(Message msg, CancellationToken ct)
result = decomposedStrategy.OnNewMessage(msg, ct)

Обработка нового исходящего сообщения от connector.

OnNewMyTrade
protected virtual void OnNewMyTrade(MyTrade trade)
decomposedStrategy.OnNewMyTrade(trade)

Вызывается при получении новой сделки.

trade
Новая торговля.
OnNewPosition
protected virtual void OnNewPosition(Position position)
decomposedStrategy.OnNewPosition(position)

Вызывается при появлении новой позиции.

position
Новая позиция.
OnOrderCancelFailReceived
public void OnOrderCancelFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderCancelFailReceived(sub, fail)

Обработка сбоя отмены заказа от connector.

OnOrderChanged
protected virtual void OnOrderChanged(Order order)
decomposedStrategy.OnOrderChanged(order)

Вызывается при изменении состояния заказа.

order
Изменен порядок.
OnOrderEditFailReceived
public void OnOrderEditFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderEditFailReceived(sub, fail)

Обработать ошибку редактирования заказа от connector.

OnOrderReceived
public void OnOrderReceived(Subscription sub, Order order)
decomposedStrategy.OnOrderReceived(sub, order)

Обработка заказа, полученного от connector.

OnOrderRegistered
protected virtual void OnOrderRegistered(Order order)
decomposedStrategy.OnOrderRegistered(order)

Вызывается при регистрации заказа (переход из состояния «Ожидание» в состояние «Активный/Готово»).

order
Зарегистрированный заказ.
OnOrderRegisterFailed
protected virtual void OnOrderRegisterFailed(OrderFail fail)
decomposedStrategy.OnOrderRegisterFailed(fail)

Вызывается, когда не удается зарегистрировать заказ.

fail
Информация о неудачном заказе.
OnOrderRegisterFailReceived
public void OnOrderRegisterFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderRegisterFailReceived(sub, fail)

Обработать ошибку регистрации заказа от connector.

OnPositionChanged
protected virtual void OnPositionChanged(Position position)
decomposedStrategy.OnPositionChanged(position)

Вызывается при изменении позиции.

position
Изменена позиция.
OnPositionReceived
public void OnPositionReceived(Subscription sub, Position pos)
decomposedStrategy.OnPositionReceived(sub, pos)

Обработать позицию, полученную от connector.

OnStateChanged
protected virtual void OnStateChanged(ProcessStates state)
decomposedStrategy.OnStateChanged(state)

Вызывается при изменении состояния процесса.

state
Новое государство.
OnTradeReceived
public void OnTradeReceived(Subscription sub, MyTrade trade)
decomposedStrategy.OnTradeReceived(sub, trade)

Обработка сделок, полученных от connector.

RegisterOrder
public void RegisterOrder(Order order)
decomposedStrategy.RegisterOrder(order)

Оформите заказ через connector.

ReRegisterOrder
public void ReRegisterOrder(Order oldOrder, Order newOrder)
decomposedStrategy.ReRegisterOrder(oldOrder, newOrder)

Переоформить (отменить + зарегистрировать новый) заказ через connector.

oldOrder
Приказ об отмене.
newOrder
Новый порядок регистрации.
Reset
public void Reset()
decomposedStrategy.Reset()

Сбросить все состояние (ордера, сделки, позиции, PnL, подписки).

SellLimit
public Order SellLimit(decimal price, decimal? volume)
result = decomposedStrategy.SellLimit(price, volume)

Продать по лимитной цене.

SellMarket
public Order SellMarket(decimal? volume)
result = decomposedStrategy.SellMarket(volume)

Продать по рыночной цене.

Start
public void Start()
decomposedStrategy.Start()

Запустите стратегию.

StartAsync
public ValueTask StartAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StartAsync(cancellationToken)

Запустите стратегию.

StartProtection
public void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
decomposedStrategy.StartProtection(takeProfit, stopLoss, isStopTrailing, takeTimeout, stopTimeout, useMarketOrders, isLocalStop)

Защита стартового положения.

takeProfit
Возьмите зачет.
stopLoss
Стоп-смещение.
isStopTrailing
Использовать ли метод трейлинга.
takeTimeout
Ограничение по времени. Если к этому моменту защита не сработала, позиция на рынке будет закрыта.
stopTimeout
Ограничение по времени. Если к этому моменту защита не сработала, позиция на рынке будет закрыта.
useMarketOrders
Использовать ли рыночные ордера.
isLocalStop
Принудительно остановить локальную обработку независимо от возможностей адаптера.
Stop
public void Stop()
decomposedStrategy.Stop()

Остановите стратегию.

StopAsync
public ValueTask StopAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(cancellationToken)

Остановите стратегию.

StopAsync
public ValueTask StopAsync(Exception error, CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(error, cancellationToken)

Остановить стратегию с ошибкой.

error
Ошибка, вызвавшая остановку.
cancellationToken
Токен отмены.

События

BoardReceived
public event Action<Subscription, ExchangeBoard> BoardReceived
decomposedStrategy.BoardReceived += handler

Стоимость платы получена.

CandleReceived
public event Action<Subscription, ICandleMessage> CandleReceived
decomposedStrategy.CandleReceived += handler

Получено значение свечи.

CommissionChanged
public event Action CommissionChanged
decomposedStrategy.CommissionChanged += handler

Комиссия изменила мероприятие.

ConnectorChanged
public event Action ConnectorChanged
decomposedStrategy.ConnectorChanged += handler

Connector изменено событие.

DataTypeReceived
public event Action<Subscription, DataType> DataTypeReceived
decomposedStrategy.DataTypeReceived += handler

Получено значение типа данных.

Error
public event Action<Exception> Error
decomposedStrategy.Error += handler

Событие ошибки.

IsOnlineChanged
public event Action<DecomposedStrategy> IsOnlineChanged
decomposedStrategy.IsOnlineChanged += handler

Состояние онлайн изменилось.

LatencyChanged
public event Action LatencyChanged
decomposedStrategy.LatencyChanged += handler

Событие изменения задержки.

Level1Received
public event Action<Subscription, Level1ChangeMessage> Level1Received
decomposedStrategy.Level1Received += handler

Получено значение Level1.

NewsReceived
public event Action<Subscription, News> NewsReceived
decomposedStrategy.NewsReceived += handler

Значение новости получено.

OrderBookReceived
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
decomposedStrategy.OrderBookReceived += handler

Балансовая стоимость заказа получена.

OrderCancelFailed
public event Action<OrderFail> OrderCancelFailed
decomposedStrategy.OrderCancelFailed += handler

Отменить заказ не удалось.

OrderCancelFailReceived
public event Action<Subscription, OrderFail> OrderCancelFailReceived
decomposedStrategy.OrderCancelFailReceived += handler

Ошибка отмены заказа.

OrderCanceling
public event Action<Order> OrderCanceling
decomposedStrategy.OrderCanceling += handler

Заказ собираются отменить.

OrderEdited
public event Action<long, Order> OrderEdited
decomposedStrategy.OrderEdited += handler

Заказ отредактирован.

OrderEditFailed
public event Action<long, OrderFail> OrderEditFailed
decomposedStrategy.OrderEditFailed += handler

Не удалось изменить заказ.

OrderEditFailReceived
public event Action<Subscription, OrderFail> OrderEditFailReceived
decomposedStrategy.OrderEditFailReceived += handler

Ошибка редактирования заказа.

OrderLogReceived
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
decomposedStrategy.OrderLogReceived += handler

Получено значение журнала заказов.

OrderReceived
public event Action<Subscription, Order> OrderReceived
decomposedStrategy.OrderReceived += handler

Стоимость заказа получена.

OrderRegisterFailed
public event Action<OrderFail> OrderRegisterFailed
decomposedStrategy.OrderRegisterFailed += handler

Регистрация заказа не удалась.

OrderRegisterFailReceived
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
decomposedStrategy.OrderRegisterFailReceived += handler

Ошибка регистрации заказа.

OrderRegistering
public event Action<Order> OrderRegistering
decomposedStrategy.OrderRegistering += handler

Заказ готовится к регистрации.

OrderReRegistering
public event Action<Order, Order> OrderReRegistering
decomposedStrategy.OrderReRegistering += handler

Заказ готовится к перерегистрации.

OwnTradeReceived
public event Action<Subscription, MyTrade> OwnTradeReceived
decomposedStrategy.OwnTradeReceived += handler

Получена собственная торговая стоимость.

ParametersChanged
public event Action ParametersChanged
decomposedStrategy.ParametersChanged += handler

Событие изменения параметров стратегии.

PnLChanged
public event Action PnLChanged
decomposedStrategy.PnLChanged += handler

PnL изменено событие.

PnLReceived
public event Action<Subscription> PnLReceived
decomposedStrategy.PnLReceived += handler

PnL получил событие.

PnLReceived2
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
decomposedStrategy.PnLReceived2 += handler

PnL получил событие.

PortfolioReceived
public event Action<Subscription, Portfolio> PortfolioReceived
decomposedStrategy.PortfolioReceived += handler

Полученная стоимость портфеля.

PositionChanged
public event Action PositionChanged
decomposedStrategy.PositionChanged += handler

Позиция изменилась.

PositionReceived
public event Action<Subscription, Position> PositionReceived
decomposedStrategy.PositionReceived += handler

Значение позиции получено.

PropertyChanged
public event PropertyChangedEventHandler PropertyChanged
decomposedStrategy.PropertyChanged += handler

Событие изменения значения свойств элемента диаграммы.

Reseted
public event Action Reseted
decomposedStrategy.Reseted += handler

Событие сброса стратегии.

SecurityReceived
public event Action<Subscription, Security> SecurityReceived
decomposedStrategy.SecurityReceived += handler

полученная стоимость финансового инструмента.

SlippageChanged
public event Action SlippageChanged
decomposedStrategy.SlippageChanged += handler

Проскальзывание изменило событие.

SubscriptionFailed
public event Action<Subscription, Exception, bool> SubscriptionFailed
decomposedStrategy.SubscriptionFailed += handler

Подписка не удалась.

SubscriptionOnline
public event Action<Subscription> SubscriptionOnline
decomposedStrategy.SubscriptionOnline += handler

Подписка онлайн.

SubscriptionReceived
public event Action<Subscription, object> SubscriptionReceived
decomposedStrategy.SubscriptionReceived += handler

Получена стоимость подписки.

SubscriptionStarted
public event Action<Subscription> SubscriptionStarted
decomposedStrategy.SubscriptionStarted += handler

Подписка запущена.

SubscriptionStopped
public event Action<Subscription, Exception> SubscriptionStopped
decomposedStrategy.SubscriptionStopped += handler

Подписка остановлена.

TickTradeReceived
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
decomposedStrategy.TickTradeReceived += handler

Отметьте полученную торговую стоимость.