DecomposedStrategy
所有贸易战略的基础等级。
继承自: BaseLogReceiver
实现: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider
构造函数
public DecomposedStrategy()
decomposedStrategy = DecomposedStrategy()
初始化新实例 DecomposedStrategy 。
public DecomposedStrategy(IPnLManager pnlManager, IStatisticManager stats)
decomposedStrategy = DecomposedStrategy(pnlManager, stats)
初始化新实例 DecomposedStrategy 。
- pnlManager
- PnL manager.
- stats
- 统计经理.
属性
public bool CancelOrdersWhenStopping { get; set; }
value = decomposedStrategy.CancelOrdersWhenStopping
decomposedStrategy.CancelOrdersWhenStopping = value
策略停止时取消活动命令 。
public StrategyCommentModes CommentMode { get; set; }
value = decomposedStrategy.CommentMode
decomposedStrategy.CommentMode = value
注释模式。
public decimal? Commission { get; }
value = decomposedStrategy.Commission
累计佣金总额(来自订单+交易)。
public IConnector Connector { get; set; }
value = decomposedStrategy.Connector
decomposedStrategy.Connector = value
Connector(通过可测试性接口).
public LogLevels ErrorState { get; set; }
value = decomposedStrategy.ErrorState
decomposedStrategy.ErrorState = value
错误状态 。
public bool IsOnline { get; private set; }
value = decomposedStrategy.IsOnline
decomposedStrategy.IsOnline = value
在线上。
public TimeSpan? Latency { get; set; }
value = decomposedStrategy.Latency
decomposedStrategy.Latency = value
即来即来.
public TimeSpan OrdersKeepTime { get; set; }
value = decomposedStrategy.OrdersKeepTime
decomposedStrategy.OrdersKeepTime = value
存储命令的时间 。
public IPnLManager PnLManager { get; }
value = decomposedStrategy.PnLManager
PnL manager.
public Portfolio Portfolio { get; set; }
value = decomposedStrategy.Portfolio
decomposedStrategy.Portfolio = value
组合.
public Subscription PortfolioLookup { get; }
value = decomposedStrategy.PortfolioLookup
组合取景订阅.
public decimal Position { get; set; }
value = decomposedStrategy.Position
decomposedStrategy.Position = value
目前的状况(主要金融工具)。
public IReadOnlyDictionary<ValueTuple<SecurityId, string>, decimal> PositionsList { get; }
value = decomposedStrategy.PositionsList
所有跟踪位置
public ProcessStates ProcessState { get; }
value = decomposedStrategy.ProcessState
当前的进程状态 。
public IRiskManager RiskManager { get; set; }
value = decomposedStrategy.RiskManager
decomposedStrategy.RiskManager = value
风险经理
public Security Security { get; set; }
value = decomposedStrategy.Security
decomposedStrategy.Security = value
金融工具。
public DateTime StartedTime { get; private set; }
value = decomposedStrategy.StartedTime
decomposedStrategy.StartedTime = value
战略启动时间。
public IStatisticManager StatisticManager { get; }
value = decomposedStrategy.StatisticManager
统计经理.
public SubscriptionRegistry Subscriptions { get; }
value = decomposedStrategy.Subscriptions
订阅管理.
public TimeSpan TotalWorkingTime { get; private set; }
value = decomposedStrategy.TotalWorkingTime
decomposedStrategy.TotalWorkingTime = value
工作总时间。
public TradePipeline Trades { get; }
value = decomposedStrategy.Trades
Trade processing and PnL.
public StrategyTradingModes TradingMode { get; set; }
value = decomposedStrategy.TradingMode
decomposedStrategy.TradingMode = value
交易模式。
public bool UnsubscribeOnStop { get; set; }
value = decomposedStrategy.UnsubscribeOnStop
decomposedStrategy.UnsubscribeOnStop = value
策略停止时不订阅市场数据.
public decimal Volume { get; set; }
value = decomposedStrategy.Volume
decomposedStrategy.Volume = value
默认顺序音量 。
public bool WaitAllTrades { get; set; }
value = decomposedStrategy.WaitAllTrades
decomposedStrategy.WaitAllTrades = value
等一切业.
方法
public Order BuyLimit(decimal price, decimal? volume)
result = decomposedStrategy.BuyLimit(price, volume)
以限价买入.
public Order BuyMarket(decimal? volume)
result = decomposedStrategy.BuyMarket(volume)
以市场价格购买.
protected virtual bool CanAttach(Order order)
result = decomposedStrategy.CanAttach(order)
是否可通过此策略附加( 跟踪) 命令 。
- order
- 令取检取.
返回值: 如果命令属于本策略。
public void CancelActiveOrders()
decomposedStrategy.CancelActiveOrders()
取消所有活动命令 。
public void CancelOrder(Order order)
decomposedStrategy.CancelOrder(order)
Cancel an order via the connector.
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
- 不允许交易的原因。
返回值: 如果交易是允许的,那就是真的了。
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = decomposedStrategy.CreateOrder(side, price, volume)
创建初始化的命令对象 。
- side
- 秩序一边.
- price
- 价格,市场秩序为0
- volume
- 卷。 如果无效, 则使用卷 。
返回值: 肃静
public void EditOrder(Order order, Order changes)
decomposedStrategy.EditOrder(order, changes)
Edit an order via the connector.
- order
- 原序出处.
- changes
- 秩序有变化。
public decimal GetPositionValue(Security sec, Portfolio pf)
result = decomposedStrategy.GetPositionValue(sec, pf)
获取特定金融工具和组合的地平价。
protected virtual void OnCurrentPriceUpdated(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
decomposedStrategy.OnCurrentPriceUpdated(secId, price, serverTime, localTime)
以市场数据更新时的当期价格调用。
protected virtual void OnError(Exception error)
decomposedStrategy.OnError(error)
处理错误,是战略操作的结果。
- error
- 错误。
public ValueTask OnNewMessage(Message msg, CancellationToken ct)
result = decomposedStrategy.OnNewMessage(msg, ct)
处理 connector 的新发信件 。
protected virtual void OnNewMyTrade(MyTrade trade)
decomposedStrategy.OnNewMyTrade(trade)
新交易收到后打电话来
- trade
- 新贸易.
protected virtual void OnNewPosition(Position position)
decomposedStrategy.OnNewPosition(position)
出现新位置时调用.
- position
- 新职位
public void OnOrderCancelFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderCancelFailReceived(sub, fail)
处理connector的订单取消失败 。
protected virtual void OnOrderChanged(Order order)
decomposedStrategy.OnOrderChanged(order)
命令状态改变时调用.
- order
- 改令所发.
public void OnOrderEditFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderEditFailReceived(sub, fail)
处理命令编辑失败, 由 connector 执行 。
public void OnOrderReceived(Subscription sub, Order order)
decomposedStrategy.OnOrderReceived(sub, order)
Handle order received from connector.
protected virtual void OnOrderRegistered(Order order)
decomposedStrategy.OnOrderRegistered(order)
登记命令时发出(从待发/执行)
- order
- 注册了的订单。
protected virtual void OnOrderRegisterFailed(OrderFail fail)
decomposedStrategy.OnOrderRegisterFailed(fail)
订单注册失败时拨打。
- fail
- 令出出出失道信息.
public void OnOrderRegisterFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderRegisterFailReceived(sub, fail)
connector的处理订单注册失败.
protected virtual void OnPositionChanged(Position position)
decomposedStrategy.OnPositionChanged(position)
位置改变时调用 。
- position
- 换了位置
public void OnPositionReceived(Subscription sub, Position pos)
decomposedStrategy.OnPositionReceived(sub, pos)
Handle position received from connector.
protected virtual void OnStateChanged(ProcessStates state)
decomposedStrategy.OnStateChanged(state)
当进程状态改变时调用 。
- state
- 新州 (新州).
public void OnTradeReceived(Subscription sub, MyTrade trade)
decomposedStrategy.OnTradeReceived(sub, trade)
Handle trade received from connector.
public void RegisterOrder(Order order)
decomposedStrategy.RegisterOrder(order)
Register an order via the connector.
public void ReRegisterOrder(Order oldOrder, Order newOrder)
decomposedStrategy.ReRegisterOrder(oldOrder, newOrder)
重新注册(取消 + 注册新), 命令通过 connector 。
- oldOrder
- 令取而去之.
- newOrder
- 新订入册.
public void Reset()
decomposedStrategy.Reset()
Reset all state (orders, trades, positions, PnL, subscriptions).
public Order SellLimit(decimal price, decimal? volume)
result = decomposedStrategy.SellLimit(price, volume)
以限价出售.
public Order SellMarket(decimal? volume)
result = decomposedStrategy.SellMarket(volume)
以市场价格出售.
public ValueTask StartAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StartAsync(cancellationToken)
开始战略
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
- 缩写为A/C.5/60/L.
- isStopTrailing
- 是否使用跟踪技术 。
- takeTimeout
- 限时 保护到此时尚未奏效的,该地站将上市关闭.
- stopTimeout
- 限时 保护到此时尚未奏效的,该地站将上市关闭.
- useMarketOrders
- 是否使用市场订单.
- isLocalStop
- 强迫本地停止处理,不管适配器能力如何.
public ValueTask StopAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(cancellationToken)
停止策略。
public ValueTask StopAsync(Exception error, CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(error, cancellationToken)
以出错停止策略 。
- error
- 导致停站的错误.
- cancellationToken
- 取消的代币。
事件
public event Action<Subscription, ExchangeBoard> BoardReceived
decomposedStrategy.BoardReceived += handler
收到董事会价值。
public event Action<Subscription, ICandleMessage> CandleReceived
decomposedStrategy.CandleReceived += handler
烛光值已接收 。
public event Action CommissionChanged
decomposedStrategy.CommissionChanged += handler
欧盟委员会变更了活动。
public event Action ConnectorChanged
decomposedStrategy.ConnectorChanged += handler
Connector changed event.
public event Action<Subscription, DataType> DataTypeReceived
decomposedStrategy.DataTypeReceived += handler
数据类型值已接收 。
public event Action<DecomposedStrategy> IsOnlineChanged
decomposedStrategy.IsOnlineChanged += handler
在线状态已改变 。
public event Action LatencyChanged
decomposedStrategy.LatencyChanged += handler
时间变化了
public event Action<Subscription, Level1ChangeMessage> Level1Received
decomposedStrategy.Level1Received += handler
一级值已收.
public event Action<Subscription, News> NewsReceived
decomposedStrategy.NewsReceived += handler
新闻收视率已达.
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
decomposedStrategy.OrderBookReceived += handler
收到订单账面价值。
public event Action<OrderFail> OrderCancelFailed
decomposedStrategy.OrderCancelFailed += handler
取消订单失败 。
public event Action<Subscription, OrderFail> OrderCancelFailReceived
decomposedStrategy.OrderCancelFailReceived += handler
命令取消失败 。
public event Action<Order> OrderCanceling
decomposedStrategy.OrderCanceling += handler
秩序即将被取消.
public event Action<long, Order> OrderEdited
decomposedStrategy.OrderEdited += handler
秩序编辑。
public event Action<long, OrderFail> OrderEditFailed
decomposedStrategy.OrderEditFailed += handler
命令编辑失败 。
public event Action<Subscription, OrderFail> OrderEditFailReceived
decomposedStrategy.OrderEditFailReceived += handler
命令编辑失败 。
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
decomposedStrategy.OrderLogReceived += handler
已收到日志值 。
public event Action<Subscription, Order> OrderReceived
decomposedStrategy.OrderReceived += handler
已收到订单值 。
public event Action<OrderFail> OrderRegisterFailed
decomposedStrategy.OrderRegisterFailed += handler
订单注册失败 。
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
decomposedStrategy.OrderRegisterFailReceived += handler
令入入会入会.
public event Action<Order> OrderRegistering
decomposedStrategy.OrderRegistering += handler
秩序即将注册.
public event Action<Order, Order> OrderReRegistering
decomposedStrategy.OrderReRegistering += handler
秩序即将重新注册.
public event Action<Subscription, MyTrade> OwnTradeReceived
decomposedStrategy.OwnTradeReceived += handler
拥有收到的贸易价值。
public event Action ParametersChanged
decomposedStrategy.ParametersChanged += handler
战略参数改变事件。
public event Action PnLChanged
decomposedStrategy.PnLChanged += handler
PnL changed event.
public event Action<Subscription> PnLReceived
decomposedStrategy.PnLReceived += handler
PnL received event.
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
decomposedStrategy.PnLReceived2 += handler
PnL received event.
public event Action<Subscription, Portfolio> PortfolioReceived
decomposedStrategy.PortfolioReceived += handler
收到组合值。
public event Action PositionChanged
decomposedStrategy.PositionChanged += handler
立场已改变。
public event Action<Subscription, Position> PositionReceived
decomposedStrategy.PositionReceived += handler
收到位置值 。
public event PropertyChangedEventHandler PropertyChanged
decomposedStrategy.PropertyChanged += handler
图表元素属性值变化事件 。
public event Action<Subscription, Security> SecurityReceived
decomposedStrategy.SecurityReceived += handler
收到的金融工具价值。
public event Action SlippageChanged
decomposedStrategy.SlippageChanged += handler
滑页已更改事件 。
public event Action<Subscription, Exception, bool> SubscriptionFailed
decomposedStrategy.SubscriptionFailed += handler
订阅失败 。
public event Action<Subscription> SubscriptionOnline
decomposedStrategy.SubscriptionOnline += handler
订阅内容已在线。
public event Action<Subscription, object> SubscriptionReceived
decomposedStrategy.SubscriptionReceived += handler
收到订阅值。
public event Action<Subscription> SubscriptionStarted
decomposedStrategy.SubscriptionStarted += handler
订阅工作已经开始。
public event Action<Subscription, Exception> SubscriptionStopped
decomposedStrategy.SubscriptionStopped += handler
订阅停止 。
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
decomposedStrategy.TickTradeReceived += handler
已收到交易值的勾选值 。