我正在做一些测试的固定引擎样本的福汇。完整的代码是可用的here。有一个函数void FixApplication::SubscribeMarketData()
,允许不断接收更新的一个特定的符号的市场。这里是什么样子:
// Subscribes to the EUR/USD trading security
void FixApplication::SubscribeMarketData()
{
// Subscribe to market data for EUR/USD
string request_ID = "EUR_USD_Request_";
FIX44::MarketDataRequest request;
request.setField(MDReqID(request_ID));
request.setField(SubscriptionRequestType(
SubscriptionRequestType_SNAPSHOT_PLUS_UPDATES));
request.setField(MarketDepth(0));
request.setField(NoRelatedSym(1));
// Add the NoRelatedSym group to the request with Symbol
// field set to EUR/USD
FIX44::MarketDataRequest::NoRelatedSym symbols_group;
symbols_group.setField(Symbol("EUR/USD"));
request.addGroup(symbols_group);
// Add the NoMDEntryTypes group to the request for each MDEntryType
// that we are subscribing to. This includes Bid, Offer, High, and Low
FIX44::MarketDataRequest::NoMDEntryTypes entry_types;
entry_types.setField(MDEntryType(MDEntryType_BID));
request.addGroup(entry_types);
entry_types.setField(MDEntryType(MDEntryType_OFFER));
request.addGroup(entry_types);
entry_types.setField(MDEntryType(MDEntryType_TRADING_SESSION_HIGH_PRICE));
request.addGroup(entry_types);
entry_types.setField(MDEntryType(MDEntryType_TRADING_SESSION_LOW_PRICE));
request.addGroup(entry_types);
Session::sendToTarget(request, sessionID(true));
}
有没有办法告诉FIX服务器我只想每5分钟接收一次更新?或者我应该实现一个功能,捕捉连续的数据流,并每5分钟输出一个数据?
我已经试着在FIX引擎中搜索一个参数,我可以修改它来返回一个T周期的数据流,但是我没有找到任何东西。如果它存在,我宁愿使用它,而不是创建一个函数来处理滴答流。
1条答案
按热度按时间dced5bon1#
您建议的功能必须是交易对手特定的功能,可能需要自定义字段。我不认为标准的FIX字典提供了支持此功能的字段。
因此,是的,您假设的客户端解决方案将是可行之道。