回调接口
IApiComposeCallback 继承 ISubscribeApiCallback,实现类必须实现下面全部签名。每次推送传一个模型对象,不是列表。
using TigerOpenAPI.Push;
using TigerOpenAPI.Push.Model;
using TigerOpenAPI.Quote.Pb;
sealed class PushCallback : IApiComposeCallback
{
public void OrderStatusChange(OrderStatusData data) { }
public void OrderTransactionChange(OrderTransactionData data) { }
public void PositionChange(PositionData data) { }
public void AssetChange(AssetData data) { }
public void TradeTickChange(TradeTick data) { }
public void FullTickChange(TickData data) { }
public void QuoteChange(QuoteBasicData data) { }
public void QuoteAskBidChange(QuoteBBOData data) { }
public void OptionChange(QuoteBasicData data) { }
public void OptionAskBidChange(QuoteBBOData data) { }
public void FutureChange(QuoteBasicData data) { }
public void FutureAskBidChange(QuoteBBOData data) { }
public void DepthQuoteChange(QuoteDepthData data) { }
public void KlineChange(KlineData data) { }
public void StockTopPush(StockTopData data) { }
public void OptionTopPush(OptionTopData data) { }
public void SubscribeEnd(int id, string subject, string result) { }
public void CancelSubscribeEnd(int id, string subject, string result) { }
public void GetSubscribedSymbolEnd(SubscribedSymbol subscribedSymbol) { }
public void Error(string errorMsg) { }
public void Error(int id, int errorCode, string errorMsg) { }
public void ConnectionClosed() { }
public void ConnectionKickout(int errorCode, string errorMsg) { }
public void ConnectionAck() { }
public void ConnectionAck(int serverSendInterval, int serverReceiveInterval) { }
public void HearBeat(string heartBeatContent) { }
public void ServerHeartBeatTimeOut(string channelId) { }
}QuoteChange/OptionChange/FutureChange 接收 QuoteBasicData,买卖一档分别进入对应 *AskBidChange。逐笔在 UseFullTick=true 时进入 FullTickChange(TickData),否则进入 TradeTickChange(TradeTick)。回调线程上避免阻塞;将耗时处理投递到应用自己的队列。
这些方法没有统一 JSON 信封:解码器按 protobuf DataType 直接传入签名所列的具体对象。订阅命令的 uint 返回值与 SubscribeEnd、CancelSubscribeEnd 或 GetSubscribedSymbolEnd 中的 ID/结果关联。
Updated 21 days ago
Did this page help you?
