BasketMessageAdapter

StockSharp.Algo

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

Inherits: BaseLogReceiver

Implements: IMessageAdapterWrapper, IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable

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.

ExtendedInfoStorage
public IExtendedInfoStorage ExtendedInfoStorage { get; set; }
value = basketMessageAdapter.ExtendedInfoStorage
basketMessageAdapter.ExtendedInfoStorage = value

Extended info storage.

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.

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.

Clone
public IMessageAdapter Clone()
result = basketMessageAdapter.Clone()

Create a copy of BasketMessageAdapter.

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.

Load
public override void Load(SettingsStorage storage)
basketMessageAdapter.Load(storage)

Load settings.

storage
Settings storage.
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.

Save
public override void Save(SettingsStorage storage)
basketMessageAdapter.Save(storage)

Save settings.

storage
Settings storage.
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.