これは、わずかに変更された quickfix/examples/tradeclient/Application.cpp からのテスト出力です。
<message>
<header>
<field number="8"><![CDATA[FIX.4.4]]></field>
<field number="35"><![CDATA[V]]></field>
<field number="1"><![CDATA[CLIENT1]]></field>
<field number="15"><![CDATA[USD]]></field>
<field number="38"><![CDATA[1]]></field>
<field number="49"><![CDATA[CLIENT1]]></field>
<field number="55"><![CDATA[EUR/USD]]></field>
<field number="56"><![CDATA[EXECUTOR]]></field>
<field number="108"><![CDATA[10]]></field>
<field number="146"><![CDATA[1]]></field>
<field number="265"><![CDATA[0]]></field>
<field number="448"><![CDATA[EXECUTOR]]></field>
<field number="453"><![CDATA[1]]></field>
</header>
<body>
<field number="146"><![CDATA[1]]></field>
<field number="262"><![CDATA[MARKETDATAID]]></field>
<field number="263"><![CDATA[0]]></field>
<field number="264"><![CDATA[0]]></field>
<field number="267"><![CDATA[1]]></field>
<group>
<field number="55"><![CDATA[EUR/USD]]></field>
</group>
<group>
<field number="269"><![CDATA[0]]></field>
</group>
</body>
<trailer>
</trailer>
</message>
8=FIX.4.49=15735=V1=CLIENT115=USD38=149=CLIENT155=EUR/USD56=EXECUTOR108=10146=1265=0448=EXECUTOR453=1146=155=EUR/USD262=MARKETDATAID263=0264=0267=1269=010=045
OUT: 8=FIX.4.49=18735=V1=CLIENT115=USD34=738=149=CLIENT152=20131101-13:09:38.92355=EUR/USD56=EXECUTOR108=10146=1265=0448=EXECUTOR453=1146=155=EUR/USD262=MARKETDATAID263=0264=0267=1269=010=223
Qt Chart Director などのチャートにストリーミングするための EUR/USD の値を取得するにはどうすればよいですか?
これは、これまでに修正して再コンパイルしたコードです。
FIX44::MarketDataRequest Application::queryMarketDataRequest44()
{
FIX::MDReqID mdReqID( "MARKETDATAID" );
FIX::SubscriptionRequestType subType( FIX::SubscriptionRequestType_SNAPSHOT );
FIX::MarketDepth marketDepth( 0 );
FIX44::MarketDataRequest::NoMDEntryTypes marketDataEntryGroup;
FIX::MDEntryType mdEntryType( FIX::MDEntryType_BID );
marketDataEntryGroup.set( mdEntryType );
FIX44::MarketDataRequest::NoRelatedSym symbolGroup;
FIX::Symbol symbol( "EUR/USD" );
symbolGroup.set( symbol );
//FIX::StrikeCurrency strikecurrency( "USD" );
FIX44::MarketDataRequest message( mdReqID, subType, marketDepth );
message.addGroup( marketDataEntryGroup );
message.addGroup( symbolGroup );
// message.addGroup( strikeCurrency );
//message.StrikeCurrency = "USD";
message.getHeader().setField(35, "V");
message.getHeader().setField(265, "0");
message.getHeader().setField(1, "CLIENT1");
//message.getHeader().setField(267, "2");
message.getHeader().setField(146, "1");
message.getHeader().setField(55, "EUR/USD");
message.getHeader().setField(38, "1");
message.getHeader().setField(15, "USD");//?????
message.getHeader().setField(453, "1");
message.getHeader().setField(448, "EXECUTOR");
message.getHeader().setField(108, "10");
queryHeader( message.getHeader() );
std::cout << message.toXML() << std::endl;
std::cout << message.toString() << std::endl;
return message;
}
このタイプは安全ですか?