DecomposedStrategy
すべての取引戦略のベースクラス。
継承元: BaseLogReceiver
実装: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider
コンストラクター
public DecomposedStrategy()
decomposedStrategy = DecomposedStrategy()
新規インスタンスのDecomposedStrategy@を初期化します。
public DecomposedStrategy(IPnLManager pnlManager, IStatisticManager stats)
decomposedStrategy = DecomposedStrategy(pnlManager, stats)
新規インスタンスのDecomposedStrategy@を初期化します。
- pnlManager
- 担当: 代表取締役社長 兼 務 俊一
- stats
- 統計管理責任者
プロパティ
public bool CancelOrdersWhenStopping { get; set; }
value = decomposedStrategy.CancelOrdersWhenStopping
decomposedStrategy.CancelOrdersWhenStopping = value
戦略が停止したときにアクティブな注文をキャンセルします。
public StrategyCommentModes CommentMode { get; set; }
value = decomposedStrategy.CommentMode
decomposedStrategy.CommentMode = value
コメントモード。
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
担当: 代表取締役社長 兼 務 俊一
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 PositionPipeline Positions { get; }
value = decomposedStrategy.Positions
位置イベントの処理。
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
- ボリューム。 null の場合、ボリュームが使用されます。
戻り値: 注文。
public void EditOrder(Order order, Order changes)
decomposedStrategy.EditOrder(order, changes)
注文を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)
注文が登録されたときに呼び出されます(PendingからActive/Doneへの移行)。
- 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)
ハンドルの位置はconnector@から受け取られた。
protected virtual void OnStateChanged(ProcessStates state)
decomposedStrategy.OnStateChanged(state)
プロセス状態が変更されたときに呼び出されます。
- state
- 新規状態。
public void OnTradeReceived(Subscription sub, MyTrade trade)
decomposedStrategy.OnTradeReceived(sub, trade)
取扱商取引は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 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
- オフセットを止めて下さい。
- 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
Level1 値が取得されました。
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
ティックトレード値が受け取られた。