FIX プロトコルと QuickFix/J API を使用して、リモート サーバーと取引するためのクライアントを構築しています。
注文の送信、最新の価格の受信、注文のキャンセルなどを行うことができます...
「楽器の現在の位置をAPIに問い合わせる」ように求められました。
では、楽器を購入する注文を送信でき、実行されなかったとしましょう。サーバーから「数量 Y の楽器 X をロングしています」などの情報を受け取りたいとします。
QuickFix/J API を使用することは可能ですか?
私はこのような方法を書いています
static void positionReport() throws SessionNotFound{
quickfix.fix50.PositionReport order = new quickfix.fix50.PositionReport();
SessionID sessionId = (SessionID) initiator.getSessions().get(0);
order.set(new Account("1005390"));
order.set(new SecurityID("4663789"));
order.set(new SecurityExchange("XETR"));
order.set(new Symbol("SAP"));
Session.sendToTarget(order, sessionId);
}
このようなFIXメッセージを送信します
8=FIX.4.29=9835=AP34=4949=HIQ6_ORDER52=20140324-
15:54:10.14256=HIQFIX1=100539048=466378955=SAP207=XETR10=199
次のようなメッセージを受け取ります。
8=FIX.4.29=9935=334=6949=HIQFIX52=20140324-15:54:10.89156=HIQ6_ORDER45=4958=無効な MsgType372=AP373=1110=242
ご覧のとおり、「無効なメッセージ」エラーが表示されます