BasketMessageAdapter

StockSharp.Algo

Adapter-aggregator that allows simultaneously to operate multiple adapters connected to different trading systems.

Inherits: BaseLogReceiver

Implements: IMessageAdapterWrapper, IMessageAdapter, IMessageTransport, IAsyncPersistable, ILogReceiver, ILogSource, IDisposable

Constructors

BasketMessageAdapter
public BasketMessageAdapter(IdGenerator transactionIdGenerator, CandleBuilderProvider candleBuilderProvider, ISecurityMessageAdapterProvider securityAdapterProvider, IPortfolioMessageAdapterProvider portfolioAdapterProvider, IStorageBuffer buffer)
basketMessageAdapter = BasketMessageAdapter(transactionIdGenerator, candleBuilderProvider, securityAdapterProvider, portfolioAdapterProvider, buffer)

Initializes a new instance of the BasketMessageAdapter.

BasketMessageAdapter
public BasketMessageAdapter(IdGenerator transactionIdGenerator, CandleBuilderProvider candleBuilderProvider, ISecurityMessageAdapterProvider securityAdapterProvider, IPortfolioMessageAdapterProvider portfolioAdapterProvider, IStorageBuffer buffer, IAdapterWrapperPipelineBuilder pipelineBuilder, IBasketRoutingManager routingManager)
basketMessageAdapter = BasketMessageAdapter(transactionIdGenerator, candleBuilderProvider, securityAdapterProvider, portfolioAdapterProvider, buffer, pipelineBuilder, routingManager)

Initializes a new instance of the BasketMessageAdapter with injectable dependencies.

Properties

Buffer
public IStorageBuffer Buffer { get; }
value = basketMessageAdapter.Buffer

Storage buffer.

CommissionManager
public ICommissionManager CommissionManager { get; set; }
value = basketMessageAdapter.CommissionManager
basketMessageAdapter.CommissionManager = value

The commission calculating manager.

ConnectDisconnectEventOnFirstAdapter
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = basketMessageAdapter.ConnectDisconnectEventOnFirstAdapter
basketMessageAdapter.ConnectDisconnectEventOnFirstAdapter = value

To call the ConnectMessage event when the first adapter connects to InnerAdapters.

FillGapsBehaviour
public IFillGapsBehaviour FillGapsBehaviour { get; set; }
value = basketMessageAdapter.FillGapsBehaviour
basketMessageAdapter.FillGapsBehaviour = value

IFillGapsBehaviour

GenerateOrderBookFromLevel1
public bool GenerateOrderBookFromLevel1 { get; set; }
value = basketMessageAdapter.GenerateOrderBookFromLevel1
basketMessageAdapter.GenerateOrderBookFromLevel1 = value

Generate order book from Level1 data.

IgnoreExtraAdapters
public bool IgnoreExtraAdapters { get; set; }
value = basketMessageAdapter.IgnoreExtraAdapters
basketMessageAdapter.IgnoreExtraAdapters = value

Do not add extra adapters.

InnerAdapters
public IInnerAdapterList InnerAdapters { get; }
value = basketMessageAdapter.InnerAdapters

Adapters with which the aggregator operates.

IsRestoreSubscriptionOnErrorReconnect
public bool IsRestoreSubscriptionOnErrorReconnect { get; set; }
value = basketMessageAdapter.IsRestoreSubscriptionOnErrorReconnect
basketMessageAdapter.IsRestoreSubscriptionOnErrorReconnect = value

Restore subscription on reconnect.

IsSecurityNewsOnly
public bool IsSecurityNewsOnly { get; }
value = basketMessageAdapter.IsSecurityNewsOnly

Adapter provides news related with specified security.

IsSupportTransactionLog
public bool IsSupportTransactionLog { get; set; }
value = basketMessageAdapter.IsSupportTransactionLog
basketMessageAdapter.IsSupportTransactionLog = value

Use TransactionOrderingMessageAdapter.

IsTimeForwarded
public bool IsTimeForwarded { get; set; }
value = basketMessageAdapter.IsTimeForwarded
basketMessageAdapter.IsTimeForwarded = value

Pass on the TimeMessage the inner adapters send out. Off by default: a connector keeps a clock of its own, and the time an adapter reports only paces the wrappers around it. A replay of history has no clock but its adapter's.

LatencyManager
public ILatencyManager LatencyManager { get; set; }
value = basketMessageAdapter.LatencyManager
basketMessageAdapter.LatencyManager = value

Orders registration delay calculation manager.

Level1Extend
public bool Level1Extend { get; set; }
value = basketMessageAdapter.Level1Extend
basketMessageAdapter.Level1Extend = value

Use Level1ExtendBuilderAdapter.

MappingProvider
public ISecurityMappingStorageProvider MappingProvider { get; set; }
value = basketMessageAdapter.MappingProvider
basketMessageAdapter.MappingProvider = value

Security identifier mappings storage provider.

NativeIdStorage
public INativeIdStorageProvider NativeIdStorage { get; set; }
value = basketMessageAdapter.NativeIdStorage
basketMessageAdapter.NativeIdStorage = value

Security native identifier storage provider.

PnLManager
public IPnLManager PnLManager { get; set; }
value = basketMessageAdapter.PnLManager
basketMessageAdapter.PnLManager = value

The profit-loss manager.

PortfolioAdapterProvider
public IPortfolioMessageAdapterProvider PortfolioAdapterProvider { get; }
value = basketMessageAdapter.PortfolioAdapterProvider

The portfolio based message adapter's provider.

RoutingManager
public IBasketRoutingManager RoutingManager { get; }
value = basketMessageAdapter.RoutingManager

Gets the routing manager.

SecurityAdapterProvider
public ISecurityMessageAdapterProvider SecurityAdapterProvider { get; }
value = basketMessageAdapter.SecurityAdapterProvider

The security based message adapter's provider.

SendFinishedCandlesImmediatelly
public bool SendFinishedCandlesImmediatelly { get; set; }
value = basketMessageAdapter.SendFinishedCandlesImmediatelly
basketMessageAdapter.SendFinishedCandlesImmediatelly = value

SendFinishedCandlesImmediatelly.

SlippageManager
public ISlippageManager SlippageManager { get; set; }
value = basketMessageAdapter.SlippageManager
basketMessageAdapter.SlippageManager = value

Slippage manager.

StorageProcessor
public IStorageProcessor StorageProcessor { get; }
value = basketMessageAdapter.StorageProcessor

Storage processor.

StorageSettings
public StorageCoreSettings StorageSettings { get; }
value = basketMessageAdapter.StorageSettings

Storage settings.

SupportBuildingFromOrderLog
public bool SupportBuildingFromOrderLog { get; set; }
value = basketMessageAdapter.SupportBuildingFromOrderLog
basketMessageAdapter.SupportBuildingFromOrderLog = value

Use OrderLogMessageAdapter.

SupportCandlesCompression
public bool SupportCandlesCompression { get; set; }
value = basketMessageAdapter.SupportCandlesCompression
basketMessageAdapter.SupportCandlesCompression = value

Use CandleBuilderMessageAdapter.

SupportLookupTracking
public bool SupportLookupTracking { get; set; }
value = basketMessageAdapter.SupportLookupTracking
basketMessageAdapter.SupportLookupTracking = value

Use LookupTrackingMessageAdapter.

SupportOffline
public bool SupportOffline { get; set; }
value = basketMessageAdapter.SupportOffline
basketMessageAdapter.SupportOffline = value

Use OfflineMessageAdapter.

SupportOrderBookTruncate
public bool SupportOrderBookTruncate { get; set; }
value = basketMessageAdapter.SupportOrderBookTruncate
basketMessageAdapter.SupportOrderBookTruncate = value

Use OrderBookTruncateMessageAdapter.

SupportSecurityAll
public bool SupportSecurityAll { get; set; }
value = basketMessageAdapter.SupportSecurityAll
basketMessageAdapter.SupportSecurityAll = value

Use SubscriptionSecurityAllMessageAdapter.

SupportStorage
public bool SupportStorage { get; set; }
value = basketMessageAdapter.SupportStorage
basketMessageAdapter.SupportStorage = value

Use StorageMessageAdapter.

SuppressOrderBookIncrements
public bool SuppressOrderBookIncrements { get; set; }
value = basketMessageAdapter.SuppressOrderBookIncrements
basketMessageAdapter.SuppressOrderBookIncrements = value

When , the OrderBookIncrementMessageAdapter is never added to the pipeline — even when the inner adapter reports IsSupportOrderBookIncrements.

SuppressReconnectingErrors
public bool SuppressReconnectingErrors { get; set; }
value = basketMessageAdapter.SuppressReconnectingErrors
basketMessageAdapter.SuppressReconnectingErrors = value

Suppress reconnecting errors.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = basketMessageAdapter.TransactionIdGenerator
basketMessageAdapter.TransactionIdGenerator = value

Transaction id generator.

UseInChannel
public bool UseInChannel { get; set; }
value = basketMessageAdapter.UseInChannel
basketMessageAdapter.UseInChannel = value

Use channels for in messages.

UseOutChannel
public bool UseOutChannel { get; set; }
value = basketMessageAdapter.UseOutChannel
basketMessageAdapter.UseOutChannel = value

Use channels for out messages.

Methods

ApplyHeartbeat
public void ApplyHeartbeat(IMessageAdapter adapter, bool on)
basketMessageAdapter.ApplyHeartbeat(adapter, on)

Apply on/off heartbeat mode for the specified adapter.

CloneAsync
public ValueTask<IMessageAdapter> CloneAsync(CancellationToken cancellationToken)
result = basketMessageAdapter.CloneAsync(cancellationToken)

Create a copy of BasketMessageAdapter.

cancellationToken
CancellationToken

Returns: Copy.

DisposeManaged
protected override void DisposeManaged()
basketMessageAdapter.DisposeManaged()

To release allocated resources.

GetSortedAdapters
protected IEnumerable<IMessageAdapter> GetSortedAdapters()
result = basketMessageAdapter.GetSortedAdapters()

To get adapters SortedAdapters sorted by the specified priority.

LoadAsync
public override Task LoadAsync(SettingsStorage storage, CancellationToken cancellationToken)
result = basketMessageAdapter.LoadAsync(storage, cancellationToken)

Asynchronously loads the state of the object from the specified SettingsStorage.

storage
The SettingsStorage instance from which to load the data.
cancellationToken
A token to monitor for cancellation requests.

Returns: A task that represents the asynchronous load operation.

OnInnerAdapterNewOutMessage
protected virtual ValueTask OnInnerAdapterNewOutMessage(IMessageAdapter innerAdapter, Message message, CancellationToken cancellationToken)
result = basketMessageAdapter.OnInnerAdapterNewOutMessage(innerAdapter, message, cancellationToken)

The embedded adapter event handler.

OnSendInMessageAsync
protected virtual ValueTask OnSendInMessageAsync(Message message, CancellationToken cancellationToken)
result = basketMessageAdapter.OnSendInMessageAsync(message, cancellationToken)

Send message.

OnSendOutMessageAsync
protected virtual ValueTask OnSendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = basketMessageAdapter.OnSendOutMessageAsync(message, cancellationToken)

Send outgoing message and raise NewOutMessageAsync event.

SaveAsync
public override Task SaveAsync(SettingsStorage storage, CancellationToken cancellationToken)
result = basketMessageAdapter.SaveAsync(storage, cancellationToken)

Asynchronously saves the state of the object to the specified SettingsStorage.

storage
The SettingsStorage instance to which to save the data.
cancellationToken
A token to monitor for cancellation requests.

Returns: A task that represents the asynchronous save operation.

SendOutMessageAsync
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = basketMessageAdapter.SendOutMessageAsync(message, cancellationToken)

Send outgoing message and raise NewOutMessageAsync event.

message
Message.
cancellationToken
CancellationToken
TryGetAdapter
public bool TryGetAdapter(string porfolioName, IMessageAdapter adapter)
result = basketMessageAdapter.TryGetAdapter(porfolioName, adapter)

Try find adapter by portfolio name.

Events

NewOutMessageAsync
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
basketMessageAdapter.NewOutMessageAsync += handler

New message event.