ImexMessageAdapter
The message adapter for Imex.
Inherits: MessageAdapter
Implements: IUdpMessageAdapter, IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable, ILoginPasswordAdapter, IAddressAdapter<EndPoint>
Constructors
public ImexMessageAdapter(IdGenerator transactionIdGenerator)
imexMessageAdapter = ImexMessageAdapter(transactionIdGenerator)
Initializes a new instance of the ImexMessageAdapter.
- transactionIdGenerator
- Transaction id generator.
Properties
public string Account { get; set; }
value = imexMessageAdapter.Account
imexMessageAdapter.Account = value
Account identifier.
public EndPoint Address { get; set; }
value = imexMessageAdapter.Address
imexMessageAdapter.Address = value
Entrance server addres.
public override IEnumerable<Level1Fields> CandlesBuildFrom { get; }
value = imexMessageAdapter.CandlesBuildFrom
Possible options for candles building.
public override bool CheckTimeFrameByRequest { get; }
value = imexMessageAdapter.CheckTimeFrameByRequest
Check possible time-frame by request.
public bool DumpBinary { get; set; }
value = imexMessageAdapter.DumpBinary
imexMessageAdapter.DumpBinary = value
Log binary (hex) dumps of SBE messages at Verbose level.
public override bool EnqueueSubscriptions { get; set; }
value = imexMessageAdapter.EnqueueSubscriptions
imexMessageAdapter.EnqueueSubscriptions = value
Enqueue subscriptions.
public short? FilterMarketId { get; set; }
value = imexMessageAdapter.FilterMarketId
imexMessageAdapter.FilterMarketId = value
Market ID filter for reports. Only reports with this market_id are processed, others are skipped.
public string InstrumentMetadataUrl { get; set; }
value = imexMessageAdapter.InstrumentMetadataUrl
imexMessageAdapter.InstrumentMetadataUrl = value
Base URL of the daily instrument metadata dump (https://storage.imexchange.tech/TS/instr-{yyyy-MM-dd}.json by default). The dialect downloads this once at startup, streams the response straight into Stream) and seeds the instrument-lot / spot-info maps for hosts that don't subscribe to the live MD instrument feed (Coloc Forwarder). Empty string disables the download — maps stay empty until populated by the live feed (FeederColo).
public override bool IsFullCandlesOnly { get; }
value = imexMessageAdapter.IsFullCandlesOnly
Translates CandleMessage as only fully filled.
public override bool IsNativeIdentifiers { get; }
value = imexMessageAdapter.IsNativeIdentifiers
Identify security in messages by native identifier Native.
public override bool IsNativeIdentifiersPersistable { get; }
value = imexMessageAdapter.IsNativeIdentifiersPersistable
Native identifier can be stored.
public override bool IsSecurityNewsOnly { get; }
value = imexMessageAdapter.IsSecurityNewsOnly
Adapter provides news related with specified security.
public override bool IsSupportExecutionsPnL { get; }
value = imexMessageAdapter.IsSupportExecutionsPnL
Adapter fills PnL.
public override bool IsSupportOrderBookIncrements { get; }
value = imexMessageAdapter.IsSupportOrderBookIncrements
Adapter translates incremental order books.
public override bool IsSupportSubscriptions { get; }
value = imexMessageAdapter.IsSupportSubscriptions
Support any subscriptions (ticks, order books etc.).
public override bool IsSupportTransactionLog { get; }
value = imexMessageAdapter.IsSupportTransactionLog
Adapter translates orders changes on reply of OrderStatusMessage.
public string Login { get; set; }
value = imexMessageAdapter.Login
imexMessageAdapter.Login = value
Login.
public int MemberId { get; set; }
value = imexMessageAdapter.MemberId
imexMessageAdapter.MemberId = value
Member identifier.
public SecureString Password { get; set; }
value = imexMessageAdapter.Password
imexMessageAdapter.Password = value
Password.
public override IEnumerable<ValueTuple<string, Type>> SecurityExtendedFields { get; }
value = imexMessageAdapter.SecurityExtendedFields
Names of extended security fields in SecurityMessage.
public string SettingsFile { get; set; }
value = imexMessageAdapter.SettingsFile
imexMessageAdapter.SettingsFile = value
Settings file.
public override string StorageName { get; }
value = imexMessageAdapter.StorageName
The storage name, associated with the adapter.
public override IEnumerable<int> SupportedOrderBookDepths { get; }
value = imexMessageAdapter.SupportedOrderBookDepths
Available options for MaxDepth.
Methods
protected override ValueTask CancelOrderAsync(OrderCancelMessage cancelMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.CancelOrderAsync(cancelMsg, cancellationToken)
protected override ValueTask CancelOrderGroupAsync(OrderGroupCancelMessage cancelMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.CancelOrderGroupAsync(cancelMsg, cancellationToken)
protected override ValueTask ConnectAsync(ConnectMessage connectMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.ConnectAsync(connectMsg, cancellationToken)
public override IOrderLogMarketDepthBuilder CreateOrderLogMarketDepthBuilder(SecurityId securityId)
result = imexMessageAdapter.CreateOrderLogMarketDepthBuilder(securityId)
Create market depth builder.
- securityId
- Security ID.
Returns: Order log to market depth builder.
protected override ValueTask DisconnectAsync(DisconnectMessage disconnectMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.DisconnectAsync(disconnectMsg, cancellationToken)
public override IAsyncEnumerable<DataType> GetSupportedMarketDataTypesAsync(SecurityId securityId, DateTime? from, DateTime? to)
result = imexMessageAdapter.GetSupportedMarketDataTypesAsync(securityId, from, to)
Get supported by adapter message types.
- securityId
- SecurityId
- from
- Start date for request. If , then all available messages will be returned.
- to
- End date for request. If , then all available messages will be returned.
Returns: Supported by adapter market data types.
public override bool IsAllDownloadingSupported(DataType dataType)
result = imexMessageAdapter.IsAllDownloadingSupported(dataType)
Is for the specified all securities downloading enabled.
- dataType
- Data type info.
Returns: Check result.
public override bool IsSecurityRequired(DataType dataType)
result = imexMessageAdapter.IsSecurityRequired(dataType)
Support filtering subscriptions (subscribe/unsubscribe for specified security).
- dataType
- Data type info.
Returns: Check result.
public override bool IsSupportCandlesPriceLevels(MarketDataMessage subscription)
result = imexMessageAdapter.IsSupportCandlesPriceLevels(subscription)
Support candles PriceLevels.
- subscription
- MarketDataMessage
Returns: Check result.
public override bool IsSupportCandlesUpdates(MarketDataMessage subscription)
result = imexMessageAdapter.IsSupportCandlesUpdates(subscription)
Support candles subscription and live updates.
- subscription
- MarketDataMessage
Returns: Check result.
public override void Load(SettingsStorage storage)
imexMessageAdapter.Load(storage)
Load settings.
- storage
- Settings storage.
protected override ValueTask MarketDataAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.MarketDataAsync(mdMsg, cancellationToken)
protected override ValueTask OrderStatusAsync(OrderStatusMessage statusMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.OrderStatusAsync(statusMsg, cancellationToken)
protected override ValueTask PortfolioLookupAsync(PortfolioLookupMessage lookupMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.PortfolioLookupAsync(lookupMsg, cancellationToken)
protected override ValueTask RegisterOrderAsync(OrderRegisterMessage regMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.RegisterOrderAsync(regMsg, cancellationToken)
protected override ValueTask ResetAsync(ResetMessage resetMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.ResetAsync(resetMsg, cancellationToken)
public override void Save(SettingsStorage storage)
imexMessageAdapter.Save(storage)
Save settings.
- storage
- Settings storage.
protected override ValueTask SecurityLookupAsync(SecurityLookupMessage lookupMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.SecurityLookupAsync(lookupMsg, cancellationToken)
protected override ValueTask TimeAsync(TimeMessage timeMsg, CancellationToken cancellationToken)
result = imexMessageAdapter.TimeAsync(timeMsg, cancellationToken)