AdapterRouter
StockSharp.Algo.Basket
IAdapterRouter的默认执行.
实现: IAdapterRouter
构造函数
AdapterRouter
public AdapterRouter(IOrderRoutingState orderRouting, Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend)
adapterRouter = AdapterRouter(orderRouting, getUnderlyingAdapter, candleBuilderProvider, levelExtend)
初始化 AdapterRouter 的新实例 。
- orderRouting
- 令通道通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相相通相通相相通相
- getUnderlyingAdapter
- 功能到解除对下方的适配器 。
- candleBuilderProvider
- 烛台构建器提供商,用于订阅过滤.
- levelExtend
- 函数返回 LEVE1 外部设置 。
方法
AddMessageTypeAdapter
public void AddMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.AddMessageTypeAdapter(type, adapter)
为指定消息类型添加适配器 。
AddNotSupported
public void AddNotSupported(long transactionId, IMessageAdapter adapter)
adapterRouter.AddNotSupported(transactionId, adapter)
添加适配器到交易的非支持设置( 用于重试逻辑) 。
AddOrderAdapter
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
adapterRouter.AddOrderAdapter(transactionId, adapter)
添加订单交易到适配器映射 。
AddPortfolioAdapter
public void AddPortfolioAdapter(string key, IMessageAdapter adapter)
adapterRouter.AddPortfolioAdapter(key, adapter)
直接添加组合适配器映射。 载入时使用 。
AddSecurityAdapter
public void AddSecurityAdapter(ValueTuple<SecurityId, DataType> key, IMessageAdapter adapter)
adapterRouter.AddSecurityAdapter(key, adapter)
直接添加金融工具适配器映射。 载入时使用 。
ClearPortfolioAdapters
public void ClearPortfolioAdapters()
adapterRouter.ClearPortfolioAdapters()
清除组合适配器缓存。 载入时使用 。
ClearSecurityAdapters
public void ClearSecurityAdapters()
adapterRouter.ClearSecurityAdapters()
清除金融工具适配器缓存。 装入时使用 。
GetAdapters
public ValueTuple<IMessageAdapter[], bool> GetAdapters(Message message, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetAdapters(message, getWrapper)
获取基于消息类型、金融工具以及过滤的可适配器。
- message
- 消息到路线。
- getWrapper
- 从基础适配器中解析包适配器的函数 。
返回值: 匹配的适配器阵列以及是否跳过支持的消息过滤 。
GetPortfolioAdapter
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetPortfolioAdapter(portfolioName, getWrapper)
获取基于组合的路由的适配器 。
- portfolioName
- 组合名.
- getWrapper
- 从基础适配器中解析包适配器的函数 。
返回值: 找到适配器或无效 。
GetSubscriptionAdaptersAsync
public ValueTask<IMessageAdapter[]> GetSubscriptionAdaptersAsync(MarketDataMessage mdMsg, IMessageAdapter[] adapters, bool skipSupportedMessages, CancellationToken cancellationToken)
result = adapterRouter.GetSubscriptionAdaptersAsync(mdMsg, adapters, skipSupportedMessages, cancellationToken)
使用额外的过滤器(candles,构建模式等)获取适配器用于市场数据订阅.
- mdMsg
- 市场数据消息.
- adapters
- IMessageAdapter})的预过滤适配器.
- skipSupportedMessages
- 是否跳过支持的信息过滤 。
- cancellationToken
- CancellationToken
返回值: 被过滤的适配器 。
RemoveMessageTypeAdapter
public void RemoveMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.RemoveMessageTypeAdapter(type, adapter)
删除指定消息类型的适配器 。
RemovePortfolioAdapter
public void RemovePortfolioAdapter(string portfolio)
adapterRouter.RemovePortfolioAdapter(portfolio)
删除组合的适配器 。
RemoveSecurityAdapter
public void RemoveSecurityAdapter(SecurityId secId, DataType dataType)
adapterRouter.RemoveSecurityAdapter(secId, dataType)
删除特定金融工具和数据类型的适配器。
SetPortfolioAdapter
public void SetPortfolioAdapter(string portfolio, IMessageAdapter adapter)
adapterRouter.SetPortfolioAdapter(portfolio, adapter)
设置组合的适配器 。
SetSecurityAdapter
public void SetSecurityAdapter(SecurityId secId, DataType dataType, IMessageAdapter adapter)
adapterRouter.SetSecurityAdapter(secId, dataType, adapter)
设置特定金融工具和数据类型的适配器.
TryGetOrderAdapter
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = adapterRouter.TryGetOrderAdapter(transactionId, adapter)
尝试通过交易 ID 获得适配器以获得订单 。