Strategy
Базовый класс для всех торговых стратегий.
Наследует: BaseLogReceiver
Реализует: INotifyPropertyChangedEx, INotifyPropertyChanged, IMarketRuleContainer, ILogReceiver, ILogSource, IDisposable, ICloneable<Strategy>, ICloneable, IMarketDataProvider, ISubscriptionProvider, ISecurityProvider, ISecurityMessageProvider, ITransactionProvider, IScheduledTask, ICustomTypeDescriptor, ITimeProvider, IPortfolioProvider, IPositionProvider, IReportSource
Конструкторы
Свойства
public TimeSpan AggregationInterval { get; set; }
value = strategy.AggregationInterval
strategy.AggregationInterval = value
Временной интервал для агрегации. Заказы/торговли в пределах одного интервала группируются вместе. По умолчанию 1 час. Устанавливается до нуля для отключения временной группировки.
public bool CancelOrdersWhenStopping { get; set; }
value = strategy.CancelOrdersWhenStopping
strategy.CancelOrdersWhenStopping = value
Отменить активные заказы на остановке.
public INotifyList<Strategy> ChildStrategies { get; }
value = strategy.ChildStrategies
Стратегии субсидиарной торговли.
public StrategyCommentModes CommentMode { get; set; }
value = strategy.CommentMode
strategy.CommentMode = value
Комментарий по имени или Id.
public decimal? Commission { get; private set; }
value = strategy.Commission
strategy.Commission = value
Общая комиссия.
public virtual Connector Connector { get; set; }
value = strategy.Connector
strategy.Connector = value
Подключение к торговой системе.
public override DateTime CurrentTime { get; }
value = strategy.CurrentTime
Текущее время UTC.
public bool DisposeOnStop { get; set; }
value = strategy.DisposeOnStop
strategy.DisposeOnStop = value
Автоматически очищать ресурсы, используемые стратегией, когда она останавливается (state ProcessState становится равным Stopped).
public SettingsStorage Environment { get; }
value = strategy.Environment
Параметры стратегической среды.
public LogLevels ErrorState { get; private set; }
value = strategy.ErrorState
strategy.ErrorState = value
Состояние ошибки.
public static bool HideSecurityAndPortfolioParameters { get; set; }
value = Strategy.HideSecurityAndPortfolioParameters
Strategy.HideSecurityAndPortfolioParameters = value
Сделайте финансовый инструмент и портфель недоступными для просмотра.
protected virtual TimeSpan? HistoryCalculated { get; }
value = strategy.HistoryCalculated
Рассчитывается из кодовой версии HistorySize.
public TimeSpan? HistorySize { get; set; }
value = strategy.HistorySize
strategy.HistorySize = value
История для инициализации стратегии на Live-трейдинге.
public override Guid Id { get; set; }
value = strategy.Id
strategy.Id = value
Идентификатор стратегии.
public INotifyList<IIndicator> Indicators { get; }
value = strategy.Indicators
Все показатели, используемые в стратегии. Используется при реализации по умолчанию IsFormed.
public Level1Fields? IndicatorSource { get; set; }
value = strategy.IndicatorSource
strategy.IndicatorSource = value
Источник по умолчанию для индикаторов, когда источник не установлен.
public bool IsBacktesting { get; }
value = strategy.IsBacktesting
Определяет Connector is HistoryEmulationConnector.
public virtual bool IsFormed { get; }
value = strategy.IsFormed
Стратегия полностью сформирована.
public bool IsOnline { get; private set; }
value = strategy.IsOnline
strategy.IsOnline = value
Это означает, что стратегия запущена, и все подписки находятся в онлайн-состоянии.
public bool IsRulesSuspended { get; }
value = strategy.IsRulesSuspended
Is rules execution suspended.
public bool KeepStatistics { get; set; }
value = strategy.KeepStatistics
strategy.KeepStatistics = value
Сохраняйте торговую статистику (заказы, сделки, прибыль и т.д.) после перезапуска.
public Exception LastError { get; private set; }
value = strategy.LastError
strategy.LastError = value
Последняя ошибка, которая заставила стратегию остановиться.
public TimeSpan? Latency { get; private set; }
value = strategy.Latency
strategy.Latency = value
Полная задержка.
public override LogLevels LogLevel { get; set; }
value = strategy.LogLevel
strategy.LogLevel = value
Уровень для выполнения этого правила логарифмирования.
public int MaxOrdersBeforeAggregation { get; set; }
value = strategy.MaxOrdersBeforeAggregation
strategy.MaxOrdersBeforeAggregation = value
Максимальное количество ордеров до запуска автоматической агрегации. Дефолт 10000. Устанавливается до 0 для отключения автоматической агрегации.
public int MaxTradesBeforeAggregation { get; set; }
value = strategy.MaxTradesBeforeAggregation
strategy.MaxTradesBeforeAggregation = value
Максимальное количество сделок до запуска автоматической агрегации. Дефолт 10000. Устанавливается до 0 для отключения автоматической агрегации.
public IEnumerable<MyTrade> MyTrades { get; }
value = strategy.MyTrades
Торговля, сопоставленная во время операции стратегии.
public override string Name { get; set; }
value = strategy.Name
strategy.Name = value
Название стратегии.
public StrategyNameGenerator NameGenerator { get; }
value = strategy.NameGenerator
Генератор названий стратегий.
public virtual IEnumerable<IOrderBookSource> OrderBookSources { get; }
value = strategy.OrderBookSources
Все возможные источники IOrderBookMessage, которые могут быть получены по адресу OrderBookDrawing.
public Subscription OrderLookup { get; }
value = strategy.OrderLookup
Получить глобальную подписку на поиск заказа.
public IEnumerable<Order> Orders { get; }
value = strategy.Orders
Заказы, зарегистрированные в рамках стратегии.
public TimeSpan OrdersKeepTime { get; set; }
value = strategy.OrdersKeepTime
strategy.OrdersKeepTime = value
Время хранения Заказов в памяти. По умолчанию оно равно 2 дня. Если значение установлено в нуле, заказы не будут удалены.
public StrategyParameterDictionary Parameters { get; }
value = strategy.Parameters
Параметры стратегии.
public decimal PnL { get; }
value = strategy.PnL
Совокупная стоимость убытка без учета комиссии комиссии.
public IPnLManager PnLManager { get; set; }
value = strategy.PnLManager
strategy.PnLManager = value
Менеджер прибылей-убытков.
public Portfolio Portfolio { get; set; }
value = strategy.Portfolio
strategy.Portfolio = value
Портфолио.
public Subscription PortfolioLookup { get; }
value = strategy.PortfolioLookup
Получить глобальную подписку на поиск портфолио.
public IPortfolioProvider PortfolioProvider { get; set; }
value = strategy.PortfolioProvider
strategy.PortfolioProvider = value
IPortfolioProvider
public decimal Position { get; set; }
value = strategy.Position
strategy.Position = value
Позиция совокупная стоимость.
public IEnumerable<Position> Positions { get; }
value = strategy.Positions
Список позиций.
public virtual ProcessStates ProcessState { get; private set; }
value = strategy.ProcessState
strategy.ProcessState = value
Операционное состояние.
public ReportSource ReportSource { get; }
value = strategy.ReportSource
Источник данных с поддержкой агрегации.
public decimal RiskFreeRate { get; set; }
value = strategy.RiskFreeRate
strategy.RiskFreeRate = value
Годовая безрисковая ставка (e.g, 0,03 = 3%).
public IRiskManager RiskManager { get; set; }
value = strategy.RiskManager
strategy.RiskManager = value
Менеджер по контролю рисков.
public IEnumerable<IRiskRule> RiskRules { get; set; }
value = strategy.RiskRules
strategy.RiskRules = value
Правила риска.
public IMarketRuleList Rules { get; }
value = strategy.Rules
Перечень правил расчета комиссии.
public Security Security { get; set; }
value = strategy.Security
strategy.Security = value
финансовый инструмент.
public decimal? Slippage { get; private set; }
value = strategy.Slippage
strategy.Slippage = value
Тотальное проскальзывание.
public DateTime StartedTime { get; private set; }
value = strategy.StartedTime
strategy.StartedTime = value
Время начала стратегии.
public IStatisticManager StatisticManager { get; protected set; }
value = strategy.StatisticManager
strategy.StatisticManager = value
Менеджер статистики.
public Func<Sides, decimal, IPositionModifyAlgo> TargetAlgoFactory { get; set; }
value = strategy.TargetAlgoFactory
strategy.TargetAlgoFactory = value
Завод по созданию алгоритмов изменения позиции для TargetPositionManager. Default создает MarketOrderAlgo.
public PositionTargetManager TargetPositionManager { get; }
value = strategy.TargetPositionManager
Менеджер по позиционированию.
public TimeSpan TotalWorkingTime { get; private set; }
value = strategy.TotalWorkingTime
strategy.TotalWorkingTime = value
Общее время действия стратегии меньше периодов времени, когда стратегия была остановлена.
public StrategyTradingModes TradingMode { get; set; }
value = strategy.TradingMode
strategy.TradingMode = value
Разрешить торговлю.
public TimeSpan UnrealizedPnLInterval { get; set; }
value = strategy.UnrealizedPnLInterval
strategy.UnrealizedPnLInterval = value
Интервал для пересчета нереализованной прибыли. Значение по умолчанию 1 минута.
public bool UnsubscribeOnStop { get; set; }
value = strategy.UnsubscribeOnStop
strategy.UnsubscribeOnStop = value
Отмените подписку, пока стратегия прекращается.
public virtual decimal Volume { get; set; }
value = strategy.Volume
strategy.Volume = value
Операционный объем.
public bool WaitAllTrades { get; set; }
value = strategy.WaitAllTrades
strategy.WaitAllTrades = value
Остановить стратегию можно только после получения всех сделок по зарегистрированным заказам.
public bool WaitRulesOnStop { get; set; }
value = strategy.WaitRulesOnStop
strategy.WaitRulesOnStop = value
Правила ожидания должны закончиться, прежде чем стратегия перейдет в состояние остановки.
public WorkingTime WorkingTime { get; set; }
value = strategy.WorkingTime
strategy.WorkingTime = value
Граница времени, в пределах которой должны быть переведены свечи для дачи рядов.
Методы
protected void Alert(AlertNotifications type, string message)
strategy.Alert(type, message)
Отправьте уведомление с названием стратегии в заголовке.
- type
- Тип оповещения.
- message
- Текст оповещения.
protected void Alert(AlertNotifications type, string caption, string message)
strategy.Alert(type, caption, message)
Отправить уведомление о тревоге.
- type
- Тип оповещения.
- caption
- Заголовок сигнала.
- message
- Текст оповещения.
protected void AlertLog(string message)
strategy.AlertLog(message)
Отправить уведомление о предупреждении журнала.
- message
- Текст оповещения.
protected void AlertPopup(string message)
strategy.AlertPopup(message)
Отправить всплывающее уведомление.
- message
- Текст оповещения.
protected void AlertSound(string message)
strategy.AlertSound(message)
Отправить звуковое уведомление.
- message
- Текст оповещения.
public virtual void ApplyCommand(CommandMessage cmdMsg)
strategy.ApplyCommand(cmdMsg)
Применить входящую команду.
- cmdMsg
- Сообщение содержит информацию о команде на изменение состояния.
public Order BuyLimit(decimal price, decimal? volume, Security security)
result = strategy.BuyLimit(price, volume, security)
Создать инициализированный объект ордера на покупку.
- price
- Цена.
- volume
- Объем. Если значение передается, то используется значение объема.
- security
- Финансовый инструмент. Если передается значение, используется стоимость финансового инструмента.
Возвращает: Инициализированный объект заказа.
public Order BuyMarket(decimal? volume, Security security)
result = strategy.BuyMarket(volume, security)
Создать инициализированный объект ордера на покупку по рыночной цене.
- volume
- Объем. Если значение передается, то используется значение объема.
- security
- Финансовый инструмент. Если передается значение, используется стоимость финансового инструмента.
Возвращает: Инициализированный объект заказа.
protected virtual bool CanAttach(Order order)
result = strategy.CanAttach(order)
Определяет, что указанный ордер может принадлежать стратегии.
- order
- Заказ.
Возвращает: Проверьте результат.
public void CancelActiveOrders(bool? isStopOrder, Portfolio portfolio, Sides? direction, ExchangeBoard board, Security security, SecurityTypes? securityType, long? transactionId)
strategy.CancelActiveOrders(isStopOrder, portfolio, direction, board, security, securityType, transactionId)
Отменить все активные ордера (стоповые и обычные).
- isStopOrder
- , если отменить только стоп-ордеры, - если обычные ордера, - оба.
- portfolio
- Портфолио. Если значение равно , то портфель не соответствует фильтру отмены ордеров.
- direction
- Сторона заказа. Если значение равно , направление не используется.
- board
- Торговая доска. Если значение равно , то доска не соответствует фильтру отмены ордеров.
- security
- Инструмент. Если значение равно , то инструмент не соответствует фильтру отмены ордеров.
- securityType
- тип финансового инструмента. Если значение равно , тип не используется.
- transactionId
- Идентификатор транзакции отмены заказа.
public void CancelOrder(Order order)
strategy.CancelOrder(order)
Отмените заказ.
- order
- Заказ, который следует отменить.
public void CancelTargetPosition(Security security, Portfolio portfolio)
strategy.CancelTargetPosition(security, portfolio)
Отменить целевую позицию для указанного финансового инструмента и портфеля.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
public void CancelTargetPosition()
strategy.CancelTargetPosition()
Отменить целевую позицию для финансового инструмента и портфеля стратегии.
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = strategy.CanTrade(security, portfolio, side, volume, noTradeReason)
Проверьте, можно ли торговать с информацией о заказе.
- security
- финансовый инструмент для торговли.
- portfolio
- Портфель для торговли.
- side
- Сторона заказа.
- volume
- Объем заказа.
- noTradeReason
- Причина, по которой торговля запрещена.
Возвращает: Верно, если торговля разрешена.
public Order ClosePosition(Security security, Portfolio portfolio)
result = strategy.ClosePosition(security, portfolio)
Закрыть открытую позицию по рынку (регистрировать ордер типа Market).
- security
- финансовый инструмент. В противном случае будет получена стоимость финансового инструмента.
- portfolio
- Портфолио. Если не передать, будет получено значение из Портфолио.
Возвращает: Инициализированный объект заказа.
protected virtual void CopyTo(Strategy copy)
strategy.CopyTo(copy)
Скопируйте настройки в .
- copy
- Стратегия
protected IChartArea CreateChartArea()
result = strategy.CreateChartArea()
Создайте область диаграммы.
Возвращает: IChartArea
protected virtual Strategy CreateClone()
result = strategy.CreateClone()
Создать объект-клон (неинициализированный).
Возвращает: Стратегия
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = strategy.CreateOrder(side, price, volume)
Создать инициализированный объект заказа.
- side
- Сторона заказа.
- price
- Цена. Если значение передано, ордер регистрируется по рыночной цене.
- volume
- Объем. Если значение передается, то используется значение объема.
Возвращает: Инициализированный объект заказа.
protected ITimerHandler CreateTimer(TimeSpan interval, Action callback)
result = strategy.CreateTimer(interval, callback)
Создайте таймер, который выполняет обратный вызов через заданные интервалы времени.
- interval
- Интервал таймера.
- callback
- Обратный вызов для выполнения.
Возвращает: ITimerHandler
protected override void DisposeManaged()
strategy.DisposeManaged()
Освободите ресурсы.
protected IChartCandleElement DrawCandles(IChartArea area, Subscription subscription)
result = strategy.DrawCandles(area, subscription)
Нарисуйте свечи на графике.
- area
- IChartArea
- subscription
- Подписка
Возвращает: IChartCandleElement
protected IChartCandleElement DrawCandles<T>(IChartArea area, ISubscriptionHandler<T> subscription)
result = strategy.DrawCandles(area, subscription)
Нарисуйте свечи на графике.
- area
- IChartArea
- subscription
- SubscriptionHandler
Возвращает: IChartCandleElement
protected IChartIndicatorElement DrawIndicator(IChartArea area, IIndicator indicator, Color? color, Color? additionalColor)
result = strategy.DrawIndicator(area, indicator, color, additionalColor)
Нарисуйте индикатор на графике.
- area
- IChartArea
- indicator
- IИндикатор
- color
- Цвет
- additionalColor
- AdditionalColor
Возвращает: IChartIndicatorElement
public void DrawOrderBook(Subscription subscription, IOrderBookSource source, IOrderBookMessage book)
strategy.DrawOrderBook(subscription, source, book)
Нарисуйте IOrderBookMessage.
- subscription
- Подписка
- source
- IOrderBookSource
- book
- IOrderBookMessage
public void DrawOrderBookOrder(Subscription subscription, IOrderBookSource source, Order order)
strategy.DrawOrderBookOrder(subscription, source, order)
Нарисуйте заказ книги заказов.
- subscription
- Подписка
- source
- IOrderBookSource
- order
- Заказ.
public void DrawOrderBookOrderFail(Subscription subscription, IOrderBookSource source, OrderFail fail)
strategy.DrawOrderBookOrderFail(subscription, source, fail)
Ошибка заказа книги заказов на розыгрыш.
- subscription
- Подписка
- source
- IOrderBookSource
- fail
- Заказ провалился.
protected IChartOrderElement DrawOrders(IChartArea area)
result = strategy.DrawOrders(area)
Нарисуйте ордера на графике.
- area
- IChartArea
Возвращает: IChartOrderElement
protected IChartTradeElement DrawOwnTrades(IChartArea area)
result = strategy.DrawOwnTrades(area)
Нарисуйте сделки на графике.
- area
- IChartArea
Возвращает: IChartTradeElement
public void EditOrder(Order order, Order changes)
strategy.EditOrder(order, changes)
Отредактируйте заказ.
- order
- Заказ.
- changes
- Изменения в заказе.
private void EnsureOrderMetadata(Order order, DateTime fallbackTime)
strategy.EnsureOrderMetadata(order, fallbackTime)
Гарантирует, что заказ содержит метаданные, необходимые для поверхностей стратегии.
- order
- Заказ.
- fallbackTime
- Резервное время.
public IAlertNotificationService GetAlertService()
result = strategy.GetAlertService()
Получить IAlertNotificationService, связанный с переданной стратегией.
Возвращает: Служба оповещений.
public IChart GetChart()
result = strategy.GetChart()
Получить IChart, связанный с переданной стратегией.
Возвращает: Диаграмма.
public IOptionDesk GetOptionDesk()
result = strategy.GetOptionDesk()
Чтобы получить IOptionDesk.
Возвращает: IOptionDesk.
public IOptionPositionChart GetOptionPositionChart()
result = strategy.GetOptionPositionChart()
Получить IOptionPositionChart, связанный с переданной стратегией.
Возвращает: Диаграмма.
public virtual IStrategyParam[] GetParameters()
result = strategy.GetParameters()
Получить параметры.
Возвращает: Параметры.
public Portfolio GetPortfolio()
result = strategy.GetPortfolio()
Получите портфолио или бросьте InvalidOperationException, если его нет.
Возвращает: Портфолио
public decimal? GetPositionValue(Security security, Portfolio portfolio)
result = strategy.GetPositionValue(security, portfolio)
Получите позицию.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
Возвращает: Позиция.
public Security GetSecurity()
result = strategy.GetSecurity()
Получите финансовый инструмент или бросьте InvalidOperationException, если его нет.
Возвращает: финансовый инструмент
public T GetSecurityValue<T>(Level1Fields field)
result = strategy.GetSecurityValue(field)
Чтобы получить значение рыночных данных для инструмента стратегии.
- field
- Поле рыночных данных.
Возвращает: Значение поля. Если данных нет, они будут возвращены.
protected TValue GetStatValue<TParam, TValue>(TValue fallback)
result = strategy.GetStatValue(fallback)
Получите значение статистического параметра по его типу.
- fallback
- Резервное значение, если параметр не найден.
Возвращает: Значение параметра или .
public decimal? GetTargetPosition(Security security, Portfolio portfolio)
result = strategy.GetTargetPosition(security, portfolio)
Получите целевую позицию для указанного финансового инструмента и портфеля.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
Возвращает: Целевая позиция или нулевое значение, если не установлено.
public decimal? GetTargetPosition()
result = strategy.GetTargetPosition()
Получите целевую позицию по финансовому инструменту и портфелю стратегии.
Возвращает: Целевая позиция или нулевое значение, если не установлено.
public virtual IEnumerable<Portfolio> GetWorkingPortfolios()
result = strategy.GetWorkingPortfolios()
Получите все портфели, необходимые для стратегии.
Возвращает: Портфели.
public virtual IEnumerable<ValueTuple<Security, DataType>> GetWorkingSecurities()
result = strategy.GetWorkingSecurities()
Получите все финансовые инструменты, необходимые для стратегии.
Возвращает: финансовые инструменты.
public bool IsFormedAndOnline()
result = strategy.IsFormedAndOnline()
IsFormed и IsOnline.
Возвращает: Проверьте результат.
public bool IsFormedAndOnlineAndAllowTrading(StrategyTradingModes required)
result = strategy.IsFormedAndOnlineAndAllowTrading(required)
IsFormedAndOnline и TradingMode.
- required
- Обязательное действие.
Возвращает: Проверьте результат.
public bool? IsOrderEditable(Order order)
result = strategy.IsOrderEditable(order)
Определяет указанный заказ, можно редактировать с помощью Order).
- order
- Заказ.
Возвращает: если заказ доступен для редактирования, порядок не может быть изменен, что означает отсутствие информации.
public bool? IsOrderReplaceable(Order order)
result = strategy.IsOrderReplaceable(order)
Определяет указанный порядок, может быть заменен на Order).
- order
- Заказ.
Возвращает: если заказ сменный, заказ не может быть заменен, значит нет информации.
public override void Load(SettingsStorage storage)
strategy.Load(storage)
Загрузить настройки.
- storage
- Хранилище настроек.
public ValueTask<Security> LookupByIdAsync(SecurityId id, CancellationToken cancellationToken)
result = strategy.LookupByIdAsync(id, cancellationToken)
Получить инструмент по идентификатору.
- id
- идентификатор финансового инструмента.
- cancellationToken
- CancellationToken
Возвращает: Приобретенный инструмент. Если нет инструмента по заданным критериям, возвращается.
protected virtual void OnError(Strategy strategy, Exception error)
strategy.OnError(strategy, error)
Обработка ошибки, возникшей в результате работы стратегии.
- strategy
- Стратегия.
- error
- Ошибка.
protected virtual void OnOrderReceived(Order order)
strategy.OnOrderReceived(order)
Заказ получен.
- order
- Заказать
protected virtual void OnOrderRegistered(Order order)
strategy.OnOrderRegistered(order)
Чтобы вызвать событие OrderRegistered.
- order
- Заказ.
protected virtual void OnOrderRegisterFailed(OrderFail fail, bool calcRisk)
strategy.OnOrderRegisterFailed(fail, calcRisk)
Метод, вызываемый при ошибке регистрации ордера стратегии.
- fail
- Ошибка регистрации заказа.
- calcRisk
- Вызов риск-менеджера.
protected virtual void OnOrderRegistering(Order order)
strategy.OnOrderRegistering(order)
Чтобы вызвать событие OrderRegistering.
- order
- Заказ.
protected virtual void OnOrderReRegistering(Order oldOrder, Order newOrder)
strategy.OnOrderReRegistering(oldOrder, newOrder)
Чтобы вызвать событие OrderReRegistering.
- oldOrder
- Отмена заказа.
- newOrder
- Новый порядок регистрации.
protected virtual void OnOwnTradeReceived(MyTrade trade)
strategy.OnOwnTradeReceived(trade)
Собственная торговля получена.
- trade
- MyTrade
protected virtual void OnPositionReceived(Position position)
strategy.OnPositionReceived(position)
Должность получена.
- position
- Позиция
protected virtual void OnStarted(DateTimeOffset time)
strategy.OnStarted(time)
Метод вызывается, когда был вызван метод Start и состояние ProcessState приняло значение Started.
protected virtual void OnStarted()
strategy.OnStarted()
Метод вызывается, когда был вызван метод Start и состояние ProcessState приняло значение Started.
protected virtual void OnStarted2(DateTime time)
strategy.OnStarted2(time)
Метод вызывается, когда был вызван метод Start и состояние ProcessState приняло значение Started.
protected virtual void OnStopped()
strategy.OnStopped()
Метод вызывается, когда состояние процесса ProcessState принимает значение Остановлено.
protected virtual void OnStopping()
strategy.OnStopping()
Метод вызывается, когда состояние процесса ProcessState принимает значение Остановка.
public StrategyParam<T> Param<T>(string id, T initialValue)
result = strategy.Param(id, initialValue)
Инициализирует новый экземпляр StrategyParam.
- id
- Идентификатор параметра.
- initialValue
- Начальное значение.
Возвращает: Параметр стратегии.
public void Prepare()
strategy.Prepare()
Подготовьте данные для формирования отчета. Вызовите это перед доступом к каким-либо данным, чтобы убедиться, что все значения актуальны.
private void ProcessOrder(Order order, bool isChanging)
strategy.ProcessOrder(order, isChanging)
Добавить ордер в стратегию.
- order
- Заказ.
- isChanging
- Заказ поступил из события изменения.
public void RaiseParametersChanged(string name)
strategy.RaiseParametersChanged(name)
Для вызова событий ParametersChanged и PropertyChanged.
- name
- Имя параметра.
protected void RaiseProcessStateChanged(Strategy strategy)
strategy.RaiseProcessStateChanged(strategy)
Чтобы вызвать событие ProcessStateChanged.
- strategy
- Стратегия.
public void RegisterOrder(Order order)
strategy.RegisterOrder(order)
Зарегистрируйте новый заказ.
- order
- Детали регистрации.
public void ReRegisterOrder(Order oldOrder, Order newOrder)
strategy.ReRegisterOrder(oldOrder, newOrder)
Перерегистрируйте заказ.
- oldOrder
- Отмена заказа.
- newOrder
- Новый порядок регистрации.
public void Reset()
strategy.Reset()
Повторно инициализировать торговый алгоритм. Он вызывается после инициализации объекта стратегии и загрузки сохраненных параметров.
public IConnector SafeGetConnector()
result = strategy.SafeGetConnector()
Чтобы получить стратегию, получим Connector. Если оно не инициализировано, исключение будет отброшено.
Возвращает: Connector.
public void Save(SettingsStorage storage, bool saveStatistics, bool saveSystemParameters)
strategy.Save(storage, saveStatistics, saveSystemParameters)
Сохраните настройки.
- storage
- SettingsStorage
- saveStatistics
- KeepStatistics
- saveSystemParameters
- Сохраните параметры системы.
public override void Save(SettingsStorage storage)
strategy.Save(storage)
Сохраните настройки.
- storage
- Хранилище настроек.
public Order SellLimit(decimal price, decimal? volume, Security security)
result = strategy.SellLimit(price, volume, security)
Создать инициализированный объект ордера на продажу.
- price
- Цена.
- volume
- Объем. Если значение передается, то используется значение объема.
- security
- Финансовый инструмент. Если передается значение, используется стоимость финансового инструмента.
Возвращает: Инициализированный объект заказа.
public Order SellMarket(decimal? volume, Security security)
result = strategy.SellMarket(volume, security)
Создать инициализированный объект ордера на продажу по рыночной цене.
- volume
- Объем. Если значение передается, то используется значение объема.
- security
- Финансовый инструмент. Если передается значение, используется стоимость финансового инструмента.
Возвращает: Инициализированный объект заказа.
public void SetAlertService(IAlertNotificationService service)
strategy.SetAlertService(service)
Установить IAlertNotificationService для стратегии.
- service
- Служба оповещений.
public void SetChart(IChart chart)
strategy.SetChart(chart)
Чтобы установить IChart для стратегии.
- chart
- Диаграмма.
public void SetOptionDesk(IOptionDesk desk)
strategy.SetOptionDesk(desk)
Чтобы установить IOptionDesk.
- desk
- IOptionDesk.
public void SetOptionPositionChart(IOptionPositionChart chart)
strategy.SetOptionPositionChart(chart)
Чтобы установить IChart для стратегии.
- chart
- Диаграмма.
public void SetPositionValue(Security security, Portfolio portfolio, decimal value, DateTime time)
strategy.SetPositionValue(security, portfolio, value, time)
Установите положение.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
- value
- Позиция.
- time
- Временная метка, которая будет присвоена LocalTime и ServerTime, если позиция создается заново.
public void SetTargetPosition(decimal target)
strategy.SetTargetPosition(target)
Установите целевую позицию для финансового инструмента и портфеля стратегии.
- target
- Значение целевой позиции.
public void SetTargetPosition(Security security, Portfolio portfolio, decimal target)
strategy.SetTargetPosition(security, portfolio, target)
Установите целевую позицию для указанного финансового инструмента и портфеля.
- security
- финансовый инструмент.
- portfolio
- Портфолио.
- target
- Значение целевой позиции.
protected void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
strategy.StartProtection(takeProfit, stopLoss, isStopTrailing, takeTimeout, stopTimeout, useMarketOrders, isLocalStop)
Защита стартового положения.
- takeProfit
- Возьмите зачет.
- stopLoss
- Стоп-смещение.
- isStopTrailing
- Использовать ли метод трейлинга.
- takeTimeout
- Ограничение по времени. Если к этому моменту защита не сработала, позиция на рынке будет закрыта.
- stopTimeout
- Ограничение по времени. Если к этому моменту защита не сработала, позиция на рынке будет закрыта.
- useMarketOrders
- Использовать ли рыночные ордера.
- isLocalStop
- Принудительно остановить локальную обработку независимо от возможностей адаптера.
protected ITimerHandler StartTimer(TimeSpan interval, Action callback)
result = strategy.StartTimer(interval, callback)
Создайте таймер, который выполняет обратный вызов через заданные интервалы времени и запускает его немедленно.
- interval
- Интервал таймера.
- callback
- Обратный вызов для выполнения.
Возвращает: ITimerHandler
public void Stop(Exception error)
strategy.Stop(error)
Остановить торговый алгоритм по причине ошибки.
- error
- Ошибка.
public void Subscribe(Subscription subscription)
strategy.Subscribe(subscription)
Подпишитесь.
- subscription
- Подписка.
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(Subscription subscription)
result = strategy.SubscribeCandles(subscription)
Подпишитесь на свечи.
- subscription
- Подписка
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(DataType dt, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(dt, isFinishedOnly, security)
Подпишитесь на свечи.
- dt
- DataType
- isFinishedOnly
- IsFinishedOnly
- security
- финансовый инструмент. Если финансовый инструмент не передан, то используется стоимость финансового инструмента.
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(TimeSpan tf, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(tf, isFinishedOnly, security)
Подпишитесь на свечи.
- tf
- Сроки.
- isFinishedOnly
- IsFinishedOnly
- security
- финансовый инструмент. Если финансовый инструмент не передан, то используется стоимость финансового инструмента.
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Subscription subscription)
result = strategy.SubscribeLevel1(subscription)
Подпишитесь на Level1.
- subscription
- Подписка
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Security security)
result = strategy.SubscribeLevel1(security)
Подпишитесь на Level1.
- security
- финансовый инструмент. Если финансовый инструмент не передан, то используется стоимость финансового инструмента.
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Subscription subscription)
result = strategy.SubscribeOrderBook(subscription)
Подпишитесь на MarketDepth.
- subscription
- Подписка
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Security security)
result = strategy.SubscribeOrderBook(security)
Подпишитесь на MarketDepth.
- security
- финансовый инструмент. Если финансовый инструмент не передан, то используется стоимость финансового инструмента.
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Subscription subscription)
result = strategy.SubscribeTicks(subscription)
Подпишитесь на Тикс.
- subscription
- Подписка
Возвращает: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Security security)
result = strategy.SubscribeTicks(security)
Подпишитесь на Тикс.
- security
- финансовый инструмент. Если финансовый инструмент не передан, то используется стоимость финансового инструмента.
Возвращает: SubscriptionHandler
protected virtual object ToReportValue(object value)
result = strategy.ToReportValue(value)
Чтобы преобразовать значение параметра в значение отчета.
- value
- Значение параметра.
Возвращает: Значение отчета.
public bool TryAddMyTrade(MyTrade trade)
result = strategy.TryAddMyTrade(trade)
Попробуйте добавить собственную торговлю.
- trade
- MyTrade
Возвращает: Результат операции.
public void UnSubscribe(Subscription subscription)
strategy.UnSubscribe(subscription)
Отписаться.
- subscription
- Подписка.
События
public event Action<Subscription, ExchangeBoard> BoardReceived
strategy.BoardReceived += handler
ExchangeBoard получено.
public event Action<Subscription, ICandleMessage> CandleReceived
strategy.CandleReceived += handler
ICandleMessage получено.
public event Action CommissionChanged
strategy.CommissionChanged += handler
Событие смены комиссии.
public event Action ConnectorChanged
strategy.ConnectorChanged += handler
Событие изменения подключения стратегии.
public event Action<TimeSpan> CurrentTimeChanged
strategy.CurrentTimeChanged += handler
Время сервера изменилось CurrentTime. Прошла разница во времени с момента последнего вызова события. В первый раз событие передает значение Zero.
public event Action<Subscription, DataType> DataTypeReceived
strategy.DataTypeReceived += handler
DataType получено.
public event Action<Strategy, Exception> Error
strategy.Error += handler
Событие возникновения ошибки в стратегии.
public event Action<Strategy> IsOnlineChanged
strategy.IsOnlineChanged += handler
Событие изменения состояния стратегии онлайн.
public event Action LatencyChanged
strategy.LatencyChanged += handler
Событие изменения задержки.
public event Action<Subscription, Level1ChangeMessage> Level1Received
strategy.Level1Received += handler
Level1ChangeMessage получено.
public event Action<MyTrade> NewMyTrade
strategy.NewMyTrade += handler
Собственная торговля получена.
public event Action<Subscription, News> NewsReceived
strategy.NewsReceived += handler
Новости получены.
public event Action<Subscription, IOrderBookSource, IOrderBookMessage> OrderBookDrawing
strategy.OrderBookDrawing += handler
IOrderBookMessage).
public event Action<Subscription, IOrderBookSource, Order> OrderBookDrawingOrder
strategy.OrderBookDrawingOrder += handler
Заказ).
public event Action<Subscription, IOrderBookSource, OrderFail> OrderBookDrawingOrderFail
strategy.OrderBookDrawingOrderFail += handler
OrderFail).
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
strategy.OrderBookReceived += handler
IOrderBookMessage получено.
public event Action<OrderFail> OrderCancelFailed
strategy.OrderCancelFailed += handler
Событие ошибки отмены заказа.
public event Action<Subscription, OrderFail> OrderCancelFailReceived
strategy.OrderCancelFailReceived += handler
OrderFail событие отмены.
public event Action<Order> OrderCanceling
strategy.OrderCanceling += handler
Событие отправки заказа на отмену.
public event Action<Order> OrderChanged
strategy.OrderChanged += handler
Заказ изменен (отменен, сопоставлен).
public event Action<long, Order> OrderEdited
strategy.OrderEdited += handler
Заказ) событие результата успеха.
public event Action<long, OrderFail> OrderEditFailed
strategy.OrderEditFailed += handler
Заказ) событие результата ошибки.
public event Action<Subscription, OrderFail> OrderEditFailReceived
strategy.OrderEditFailReceived += handler
OrderFail событие издания.
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
strategy.OrderLogReceived += handler
IOrderLogMessage получено.
public event Action<Subscription, Order> OrderReceived
strategy.OrderReceived += handler
Заказ получен.
public event Action<Order> OrderRegistered
strategy.OrderRegistered += handler
Событие успешной регистрации заказа.
public event Action<OrderFail> OrderRegisterFailed
strategy.OrderRegisterFailed += handler
Событие ошибки регистрации заказа.
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
strategy.OrderRegisterFailReceived += handler
OrderFail событие регистрации.
public event Action<Order> OrderRegistering
strategy.OrderRegistering += handler
Событие отправки заказа на регистрацию.
public event Action<Order, Order> OrderReRegistering
strategy.OrderReRegistering += handler
Событие отправки заказа на перерегистрацию.
public event Action<Subscription, MyTrade> OwnTradeReceived
strategy.OwnTradeReceived += handler
MyTrade получено.
public event Action ParametersChanged
strategy.ParametersChanged += handler
Событие изменения параметров.
public event Action<Subscription> PnLReceived
strategy.PnLReceived += handler
PnL событие изменения.
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
strategy.PnLReceived2 += handler
PnL событие изменения.
public event Action<Subscription, Portfolio> PortfolioReceived
strategy.PortfolioReceived += handler
Портфолио получено.
public event Action PositionChanged
strategy.PositionChanged += handler
Событие смены позиции.
public event Action<Subscription, Position> PositionReceived
strategy.PositionReceived += handler
Должность получена.
public event Action<Strategy> ProcessStateChanged
strategy.ProcessStateChanged += handler
ProcessState событие изменения.
public event PropertyChangedEventHandler PropertyChanged
strategy.PropertyChanged += handler
Событие изменения значения свойств элемента диаграммы.
public event Action Reseted
strategy.Reseted += handler
Событие повторной инициализации стратегии.
public event Action<Subscription, Security> SecurityReceived
strategy.SecurityReceived += handler
финансовый инструмент получен.
public event Action SlippageChanged
strategy.SlippageChanged += handler
Событие изменения проскальзывания.
public event Action<Subscription, Exception, bool> SubscriptionFailed
strategy.SubscriptionFailed += handler
Подписка не удалась.
public event Action<Subscription> SubscriptionOnline
strategy.SubscriptionOnline += handler
Подписка онлайн.
public event Action<Subscription, object> SubscriptionReceived
strategy.SubscriptionReceived += handler
Полученная ценность.
public event Action<Subscription> SubscriptionStarted
strategy.SubscriptionStarted += handler
Подписка запущена.
public event Action<Subscription, Exception> SubscriptionStopped
strategy.SubscriptionStopped += handler
Подписка остановлена.
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
strategy.TickTradeReceived += handler
ITickTradeMessage получено.