在 Quickfix 上发送和接收消息,需要遵循以下步骤:
- 建立会话:首先,需要建立一个 Quickfix 会话,以便在发送和接收消息时使用。NewOrderSingle newOrder = new NewOrderSingle();
newOrder.set(new ClOrdID("12345"));
newOrder.set(new HandlInst('1'));
newOrder.set(new Symbol("AAPL"));
newOrder.set(new Side(Side.BUY));
newOrder.set(new OrderQty(100));
newOrder.set(new OrdType(OrdType.LIMIT));
newOrder.set(new Price(100.00));SessionID sessionID = Session.lookupSession(sessionSettings);
Session.sendToTarget(newOrder, sessionID);public void fromApp(Message message, SessionID sessionID) throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
// 处理接收到的消息
}if (message instanceof ExecutionReport) {
ExecutionReport executionReport = (ExecutionReport) message;
// 处理执行报告消息
}
- 创建消息:创建一个 Quickfix 消息对象,并设置所需的字段。例如,要创建一个新订单消息,可以使用以下代码:
- 发送消息:使用 Quickfix 会话将消息发送到目标系统。例如,要将新订单消息发送到目标系统,可以使用以下代码:
- 接收消息:在 Quickfix 应用程序中,需要实现一个回调函数,以便在接收到新消息时处理它。例如,可以实现一个
fromApp()
函数,以便在接收到新消息时处理它。 - 处理消息:在
fromApp()
函数中,可以根据消息类型执行不同的操作。例如,可以使用以下代码来处理新订单消息:
总之,在 Quickfix 上发送和接收消息需要遵循以上步骤。具体实现方式取决于所使用的 Quickfix 实现和目标系统。