MessageAdapter
Der Basisadapter konvertiert Nachrichten Nachricht an den Befehl des Handelssystems und zurück.
Erbt von: BaseLogReceiver
Implementiert: IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable, INotifyPropertyChanged
Konstruktoren
protected MessageAdapter(IdGenerator transactionIdGenerator)
messageAdapter = MessageAdapter(transactionIdGenerator)
Initialisieren Sie MessageAdapter.
- transactionIdGenerator
- Transaktions-ID-Generator.
Eigenschaften
public virtual string[] AssociatedBoards { get; }
value = messageAdapter.AssociatedBoards
Der Adapter kann Abonnements nur mit Instrumenten verarbeiten, die mit der angegebenen Platine verbunden sind.
public virtual IEnumerable<Level1Fields> CandlesBuildFrom { get; }
value = messageAdapter.CandlesBuildFrom
Mögliche Optionen für Kerzen Gebäude.
public virtual MessageAdapterCategories Categories { get; }
value = messageAdapter.Categories
Kategorien von Nachrichtenadaptern.
public virtual bool CheckTimeFrameByRequest { get; }
value = messageAdapter.CheckTimeFrameByRequest
Überprüfen Sie den möglichen Zeitrahmen auf Anfrage.
public virtual TimeSpan DisconnectTimeout { get; }
value = messageAdapter.DisconnectTimeout
Bekommt die Timeout, um auf eine anmutige Trennung zu warten.
public virtual bool EnqueueSubscriptions { get; set; }
value = messageAdapter.EnqueueSubscriptions
messageAdapter.EnqueueSubscriptions = value
Warteschlange Abonnements.
public virtual bool ExtraSetup { get; }
value = messageAdapter.ExtraSetup
Der Adapter erfordert eine zusätzliche Einrichtung.
public TimeSpan FaultDelay { get; set; }
value = messageAdapter.FaultDelay
messageAdapter.FaultDelay = value
Bekommt oder setzt die zwischen fehlerhaften Iterationen angewendete Verzögerung.
public virtual string FeatureName { get; }
value = messageAdapter.FeatureName
Name des Merkmals.
public IFileSystem FileSystem { get; set; }
value = messageAdapter.FileSystem
messageAdapter.FileSystem = value
IFileSystem
public virtual bool HeartbeatBeforeConnect { get; }
value = messageAdapter.HeartbeatBeforeConnect
Beginnen Sie das Senden TimeMessage vor der Verbindung.
public TimeSpan HeartbeatInterval { get; set; }
value = messageAdapter.HeartbeatInterval
messageAdapter.HeartbeatInterval = value
Server-Prüfintervall für die Verfolgung der Verbindung lebendig. Der Wert ist Null ausgeschaltet Tracking.
public virtual bool IsAutoReplyOnTransactonalUnsubscription { get; }
value = messageAdapter.IsAutoReplyOnTransactonalUnsubscription
Senden Sie Auto-Antwort für OrderStatusMessage und PortfolioLookupMessage Abmelder.
public virtual bool IsFullCandlesOnly { get; }
value = messageAdapter.IsFullCandlesOnly
Übersetzt CandleMessage als nur vollständig ausgefüllt.
public virtual bool IsNativeIdentifiers { get; }
value = messageAdapter.IsNativeIdentifiers
Identifizieren Sie das Finanzinstrument in Nachrichten nach nativer Kennung Native.
public virtual bool IsNativeIdentifiersPersistable { get; }
value = messageAdapter.IsNativeIdentifiersPersistable
Native Identifier kann gespeichert werden.
public virtual bool? IsPositionsEmulationRequired { get; }
value = messageAdapter.IsPositionsEmulationRequired
Adapter benötigt Emulation PositionChangeMessage.
public virtual bool IsReplaceCommandEditCurrent { get; }
value = messageAdapter.IsReplaceCommandEditCurrent
Bearbeitet der Befehl OrderReplaceMessage eine aktuelle Bestellung?
public virtual bool IsSecurityNewsOnly { get; }
value = messageAdapter.IsSecurityNewsOnly
Adapter liefert Nachrichten zu einem bestimmten Finanzinstrument.
public virtual bool IsSupportExecutionsPnL { get; }
value = messageAdapter.IsSupportExecutionsPnL
Adapter füllt PnL.
public virtual bool IsSupportOrderBookIncrements { get; }
value = messageAdapter.IsSupportOrderBookIncrements
Adapter übersetzt inkrementelle Auftragsbücher.
public virtual bool IsSupportSubscriptions { get; }
value = messageAdapter.IsSupportSubscriptions
Unterstützen Sie alle Abonnements (Ticks, Bestellbücher usw.).
public virtual bool IsSupportTransactionLog { get; }
value = messageAdapter.IsSupportTransactionLog
Adapter übersetzt Bestellungsänderungen auf Antwort von OrderStatusMessage.
public virtual TimeSpan IterationInterval { get; set; }
value = messageAdapter.IterationInterval
messageAdapter.IterationInterval = value
Intervall zwischen Iterationen.
public virtual TimeSpan? LookupTimeout { get; }
value = messageAdapter.LookupTimeout
Lookup Timeout.
public int MaxParallelMessages { get; set; }
value = messageAdapter.MaxParallelMessages
messageAdapter.MaxParallelMessages = value
Die maximale Anzahl von parallelen (nicht kontrollierbaren) Nachrichten, die verarbeitet werden können, wird ermittelt oder festgelegt.
public override string Name { get; set; }
value = messageAdapter.Name
messageAdapter.Name = value
Name.
public virtual IEnumerable<MessageTypes> NotSupportedResultMessages { get; set; }
value = messageAdapter.NotSupportedResultMessages
messageAdapter.NotSupportedResultMessages = value
Nicht unterstützt von Adapter-Ergebnisnachrichtentypen.
public virtual Type OrderConditionType { get; }
value = messageAdapter.OrderConditionType
Typ von OrderCondition.
public Platforms Platform { get; protected set; }
value = messageAdapter.Platform
messageAdapter.Platform = value
Bit-Prozess, der den Adapter ausführen kann.
public virtual IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; set; }
value = messageAdapter.PossibleSupportedMessages
messageAdapter.PossibleSupportedMessages = value
Mögliche unterstützte Nachrichtentypen.
public ReConnectionSettings ReConnectionSettings { get; }
value = messageAdapter.ReConnectionSettings
Verbindungsverfolgungseinstellungen IMessageAdapter mit einem Server.
public virtual IEnumerable<ValueTuple<string, Type>> SecurityExtendedFields { get; }
value = messageAdapter.SecurityExtendedFields
Namen von erweiterten Finanzinstrument Felder in SecurityMessage.
public virtual string StorageName { get; }
value = messageAdapter.StorageName
Speichername.
public virtual IEnumerable<MessageTypes> SupportedInMessages { get; set; }
value = messageAdapter.SupportedInMessages
messageAdapter.SupportedInMessages = value
Unterstützt durch Adapter-Nachrichtentypen.
internal IEnumerable<DataType> SupportedMarketDataTypes { get; set; }
value = messageAdapter.SupportedMarketDataTypes
messageAdapter.SupportedMarketDataTypes = value
public virtual IEnumerable<int> SupportedOrderBookDepths { get; }
value = messageAdapter.SupportedOrderBookDepths
Verfügbare Optionen für MaxDepth.
public IdGenerator TransactionIdGenerator { get; set; }
value = messageAdapter.TransactionIdGenerator
messageAdapter.TransactionIdGenerator = value
Transaktions-ID-Generator für internes Kinderabonnement-Routing: muss synchron mit dem Generator des übergeordneten Adapters gehalten werden.
public virtual bool UseInChannel { get; }
value = messageAdapter.UseInChannel
Verwenden Sie Kanäle für in Nachrichten.
public virtual bool UseOutChannel { get; }
value = messageAdapter.UseOutChannel
Verwenden Sie Kanäle für unsere Nachrichten.
Methoden
protected virtual ValueTask BoardLookupAsync(BoardLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.BoardLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask CancelOrderAsync(OrderCancelMessage cancelMsg, CancellationToken cancellationToken)
result = messageAdapter.CancelOrderAsync(cancelMsg, cancellationToken)
protected virtual ValueTask CancelOrderGroupAsync(OrderGroupCancelMessage cancelMsg, CancellationToken cancellationToken)
result = messageAdapter.CancelOrderGroupAsync(cancelMsg, cancellationToken)
protected virtual ValueTask ChangePasswordAsync(ChangePasswordMessage pwdMsg, CancellationToken cancellationToken)
result = messageAdapter.ChangePasswordAsync(pwdMsg, cancellationToken)
public virtual IMessageAdapter Clone()
result = messageAdapter.Clone()
Erstellen Sie eine Kopie von MessageAdapter.
Rückgabe: Kopie.
protected virtual ValueTask ConnectAsync(ConnectMessage connectMsg, CancellationToken cancellationToken)
result = messageAdapter.ConnectAsync(connectMsg, cancellationToken)
public virtual IOrderLogMarketDepthBuilder CreateOrderLogMarketDepthBuilder(SecurityId securityId)
result = messageAdapter.CreateOrderLogMarketDepthBuilder(securityId)
Erstellen Sie Markttiefe Builder.
- securityId
- Kennung des Finanzinstruments.
Rückgabe: Order Log to Market Deep Builder.
protected virtual ValueTask DisconnectAsync(DisconnectMessage disconnectMsg, CancellationToken cancellationToken)
result = messageAdapter.DisconnectAsync(disconnectMsg, cancellationToken)
public virtual IAsyncEnumerable<DataType> GetSupportedMarketDataTypesAsync(SecurityId securityId, DateTime? from, DateTime? to)
result = messageAdapter.GetSupportedMarketDataTypesAsync(securityId, from, to)
Unterstützt werden sie von adapter-nachrichtentypen.
- securityId
- SecurityId
- from
- Startdatum für die Anfrage. Wenn , werden alle verfügbaren Nachrichten zurückgegeben.
- to
- Enddatum der Anfrage: Wenn , werden alle verfügbaren Nachrichten zurückgegeben.
Rückgabe: Unterstützt durch Adapter-Marktdatentypen.
private void InitMessageLocalTime(Message message)
messageAdapter.InitMessageLocalTime(message)
Initialisieren Sie die lokale Zeitstempelnachricht.
- message
- Nachricht.
public virtual bool IsAllDownloadingSupported(DataType dataType)
result = messageAdapter.IsAllDownloadingSupported(dataType)
Ist für die angegebenen alle Finanzinstrumente Download aktiviert.
- dataType
- Datenart-Info.
Rückgabe: Prüfergebnis.
public virtual bool IsSecurityRequired(DataType dataType)
result = messageAdapter.IsSecurityRequired(dataType)
Unterstützen Sie das Filtern von Abonnements (Abonnement/Abonnement für ein bestimmtes Finanzinstrument).
- dataType
- Datenart-Info.
Rückgabe: Prüfergebnis.
public virtual bool IsSupportCandlesPriceLevels(MarketDataMessage subscription)
result = messageAdapter.IsSupportCandlesPriceLevels(subscription)
Unterstützen Kerzen PriceLevels.
- subscription
- MarketDataMessage
Rückgabe: Prüfergebnis.
public virtual bool IsSupportCandlesUpdates(MarketDataMessage subscription)
result = messageAdapter.IsSupportCandlesUpdates(subscription)
Unterstützen Sie Kerzen-Abonnement und Live-Updates.
- subscription
- MarketDataMessage
Rückgabe: Prüfergebnis.
public override void Load(SettingsStorage storage)
messageAdapter.Load(storage)
Lasteinstellungen.
- storage
- Einstellungen Lagerung.
protected virtual ValueTask MarketDataAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.MarketDataAsync(mdMsg, cancellationToken)
protected virtual ValueTask OnCandlesSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnCandlesSubscriptionAsync(mdMsg, cancellationToken)
Behandelt Abonnementanfrage für Kerzendaten. Überschreiben, um Implementierung für die Kerzenabonnementverarbeitung bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OnLevel1SubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnLevel1SubscriptionAsync(mdMsg, cancellationToken)
Behandelt Abonnementanfrage für Level1-Daten. Überschreiben, um Implementierung für Level1-Abonnementverarbeitung bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OnMarketDepthSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnMarketDepthSubscriptionAsync(mdMsg, cancellationToken)
Überschreiben, um Implementierung für die Verarbeitung von Abonnements für Markttiefen bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OnNewsSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnNewsSubscriptionAsync(mdMsg, cancellationToken)
Behandelt Abonnementanfrage für Nachrichtendaten. Überschreiben, um Implementierung für die Bearbeitung von Nachrichtenabonnements bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OnOrderLogSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnOrderLogSubscriptionAsync(mdMsg, cancellationToken)
Behandelt die Abonnementanforderung für Auftragsprotokolldaten (Trades/Transaktionen). Überschreiben, um die Implementierung für die Auftragsprotokollabonnementverarbeitung bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected void OnPropertyChanged(string propertyName)
messageAdapter.OnPropertyChanged(propertyName)
Raise PropertyChanged Veranstaltung.
- propertyName
- Der Name der Immobilie, die sich geändert hat.
protected virtual ValueTask OnSendInMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.OnSendInMessageAsync(message, cancellationToken)
Senden Sie den Message Handler.
- message
- Nachricht
- cancellationToken
- CancellationToken
Rückgabe: ValueTask
protected virtual ValueTask OnTFCandlesSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnTFCandlesSubscriptionAsync(mdMsg, cancellationToken)
Behandelt Abonnementanfrage für Zeitrahmen-Kerzen (TF-Kerzen) Daten. Überschreiben, um Implementierung für die TF-Kerzen-Abonnementverarbeitung bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OnTicksSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnTicksSubscriptionAsync(mdMsg, cancellationToken)
Behandelt Abonnementanfrage für Ticks-Daten. Überschreiben, um Implementierung für Ticks-Abonnementverarbeitung bereitzustellen. Die Standardimplementierung wirft NotSupported.
- mdMsg
- Marktdaten-Abonnementmeldung.
- cancellationToken
- Stornierungs-Token, um die Operation abzubrechen.
Rückgabe: Ein ValueTask, der die asynchrone Operation darstellt.
protected virtual ValueTask OrderStatusAsync(OrderStatusMessage statusMsg, CancellationToken cancellationToken)
result = messageAdapter.OrderStatusAsync(statusMsg, cancellationToken)
protected virtual ValueTask PortfolioLookupAsync(PortfolioLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.PortfolioLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask RegisterOrderAsync(OrderRegisterMessage regMsg, CancellationToken cancellationToken)
result = messageAdapter.RegisterOrderAsync(regMsg, cancellationToken)
protected virtual ValueTask ReplaceOrderAsync(OrderReplaceMessage replaceMsg, CancellationToken cancellationToken)
result = messageAdapter.ReplaceOrderAsync(replaceMsg, cancellationToken)
protected virtual ValueTask ResetAsync(ResetMessage resetMsg, CancellationToken cancellationToken)
result = messageAdapter.ResetAsync(resetMsg, cancellationToken)
public override void Save(SettingsStorage storage)
messageAdapter.Save(storage)
Einstellungen speichern.
- storage
- Einstellungen Lagerung.
protected virtual ValueTask SecurityLookupAsync(SecurityLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.SecurityLookupAsync(lookupMsg, cancellationToken)
public virtual ValueTask SendInMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.SendInMessageAsync(message, cancellationToken)
Verarbeitet eine generische Nachricht asynchron.
- message
- Die Botschaft zum Prozess.
- cancellationToken
- CancellationToken
protected ValueTask SendOutConnectionStateAsync(ConnectionStates state, CancellationToken cancellationToken)
result = messageAdapter.SendOutConnectionStateAsync(state, cancellationToken)
Senden Sie an CancellationToken @ Verbindungszustand Nachricht.
- state
- ConnectionStates
- cancellationToken
- Löschungszeichen.
protected ValueTask SendOutDisconnectMessageAsync(bool expected, CancellationToken cancellationToken)
result = messageAdapter.SendOutDisconnectMessageAsync(expected, cancellationToken)
Senden Sie an CancellationToken @ Trennen Nachricht.
- expected
- Wird eine Trennung erwartet.
- cancellationToken
- Löschungszeichen.
protected ValueTask SendOutDisconnectMessageAsync(Exception error, CancellationToken cancellationToken)
result = messageAdapter.SendOutDisconnectMessageAsync(error, cancellationToken)
Senden Sie an CancellationToken @ Trennen Nachricht.
- error
- Fehlerinfo. Kann sein.
- cancellationToken
- Löschungszeichen.
protected ValueTask SendOutErrorAsync(string description, CancellationToken cancellationToken)
result = messageAdapter.SendOutErrorAsync(description, cancellationToken)
Initialisieren Sie eine neue Nachricht ErrorMessage und übergeben Sie sie an die Methode CancellationToken.
- description
- Angaben zu Fehlern.
- cancellationToken
- Löschungszeichen.
protected ValueTask SendOutErrorAsync(Exception error, CancellationToken cancellationToken)
result = messageAdapter.SendOutErrorAsync(error, cancellationToken)
Initialisieren Sie eine neue Nachricht ErrorMessage und übergeben Sie sie an die Methode CancellationToken.
- error
- Angaben zu Fehlern.
- cancellationToken
- Löschungszeichen.
public virtual ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.SendOutMessageAsync(message, cancellationToken)
Senden Sie ausgehende Nachrichten (Zustandsänderung, Reihenfolge usw.).
- message
- Nachricht.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionFinishedAsync(long originalTransactionId, CancellationToken cancellationToken, DateTime? nextFrom)
result = messageAdapter.SendSubscriptionFinishedAsync(originalTransactionId, cancellationToken, nextFrom)
Initialisieren Sie eine neue Nachricht SubscriptionFinishedMessage und übergeben Sie sie an die Methode CancellationToken.
- originalTransactionId
- Kennung der ursprünglichen Nachricht, für die diese Nachricht eine Antwort ist.
- cancellationToken
- Löschungszeichen.
- nextFrom
- NextFrom.
protected ValueTask SendSubscriptionNotSupportedAsync(long originalTransactionId, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionNotSupportedAsync(originalTransactionId, cancellationToken)
Initialisieren Sie eine neue Nachricht SubscriptionResponseMessage und übergeben Sie sie an die Methode CancellationToken.
- originalTransactionId
- Kennung der ursprünglichen Nachricht, für die diese Nachricht eine Antwort ist.
- cancellationToken
- Löschungszeichen.
protected ValueTask SendSubscriptionOnlineAsync(long originalTransactionId, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionOnlineAsync(originalTransactionId, cancellationToken)
Initialisieren Sie eine neue Nachricht SubscriptionOnlineMessage und übergeben Sie sie an die Methode CancellationToken.
- originalTransactionId
- Kennung der ursprünglichen Nachricht, für die diese Nachricht eine Antwort ist.
- cancellationToken
- Löschungszeichen.
protected ValueTask SendSubscriptionReplyAsync(long originalTransactionId, CancellationToken cancellationToken, Exception error)
result = messageAdapter.SendSubscriptionReplyAsync(originalTransactionId, cancellationToken, error)
Initialisieren Sie eine neue Nachricht SubscriptionResponseMessage und übergeben Sie sie an die Methode CancellationToken.
- originalTransactionId
- Kennung der ursprünglichen Nachricht, für die diese Nachricht eine Antwort ist.
- cancellationToken
- Löschungszeichen.
- error
- Fehlerinfo abonnieren oder abmelden. Wird eingestellt, wenn die Antwort lautet.
protected ValueTask SendSubscriptionResultAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionResultAsync(message, cancellationToken)
Initialisieren Sie eine neue Nachricht SubscriptionOnlineMessage oder SubscriptionFinishedMessage und übergeben Sie sie an die Methode CancellationToken.
- message
- Zeichnung.
- cancellationToken
- Löschungszeichen.
protected virtual ValueTask TimeAsync(TimeMessage timeMsg, CancellationToken cancellationToken)
result = messageAdapter.TimeAsync(timeMsg, cancellationToken)
protected virtual bool ValidateSecurityId(SecurityId secId)
result = messageAdapter.ValidateSecurityId(secId)
Validieren Sie die angegebene Finanzinstrument-ID wird vom Adapter unterstützt und das Abonnement kann durchgeführt werden.
- secId
- SecurityId.
Rückgabe: Prüfergebnis.
Ereignisse
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
messageAdapter.NewOutMessageAsync += handler
Neues Nachrichtenereignis.