From c2ecb7a3ef6b43feeaca2e71d56b8fefc5472eea Mon Sep 17 00:00:00 2001 From: Wilson Zhang Date: Tue, 25 Nov 2025 21:17:11 -0800 Subject: [PATCH] Fix ExecType for FIX 4.1/4.2 in Executor example (Issue #968) --- .../main/java/quickfix/examples/executor/Application.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/quickfixj-examples/executor/src/main/java/quickfix/examples/executor/Application.java b/quickfixj-examples/executor/src/main/java/quickfix/examples/executor/Application.java index e90fce1be9..2861b28fcc 100644 --- a/quickfixj-examples/executor/src/main/java/quickfix/examples/executor/Application.java +++ b/quickfixj-examples/executor/src/main/java/quickfix/examples/executor/Application.java @@ -238,7 +238,7 @@ public void onMessage(quickfix.fix41.NewOrderSingle order, SessionID sessionID) Price price = getPrice(order); quickfix.fix41.ExecutionReport accept = new quickfix.fix41.ExecutionReport(genOrderID(), genExecID(), - new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.TRADE), new OrdStatus(OrdStatus.NEW), order + new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.NEW), new OrdStatus(OrdStatus.NEW), order .getSymbol(), order.getSide(), orderQty, new LastShares(0), new LastPx(0), new LeavesQty(0), new CumQty(0), new AvgPx(0)); @@ -247,7 +247,7 @@ public void onMessage(quickfix.fix41.NewOrderSingle order, SessionID sessionID) if (isOrderExecutable(order, price)) { quickfix.fix41.ExecutionReport executionReport = new quickfix.fix41.ExecutionReport(genOrderID(), - genExecID(), new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.TRADE), new OrdStatus( + genExecID(), new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.FILL), new OrdStatus( OrdStatus.FILLED), order.getSymbol(), order.getSide(), orderQty, new LastShares(orderQty .getValue()), new LastPx(price.getValue()), new LeavesQty(0), new CumQty(orderQty .getValue()), new AvgPx(price.getValue())); @@ -270,7 +270,7 @@ public void onMessage(quickfix.fix42.NewOrderSingle order, SessionID sessionID) Price price = getPrice(order); quickfix.fix42.ExecutionReport accept = new quickfix.fix42.ExecutionReport(genOrderID(), genExecID(), - new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.TRADE), new OrdStatus(OrdStatus.NEW), order + new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.NEW), new OrdStatus(OrdStatus.NEW), order .getSymbol(), order.getSide(), new LeavesQty(0), new CumQty(0), new AvgPx(0)); accept.set(order.getClOrdID()); @@ -278,7 +278,7 @@ public void onMessage(quickfix.fix42.NewOrderSingle order, SessionID sessionID) if (isOrderExecutable(order, price)) { quickfix.fix42.ExecutionReport executionReport = new quickfix.fix42.ExecutionReport(genOrderID(), - genExecID(), new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.TRADE), new OrdStatus( + genExecID(), new ExecTransType(ExecTransType.NEW), new ExecType(ExecType.FILL), new OrdStatus( OrdStatus.FILLED), order.getSymbol(), order.getSide(), new LeavesQty(0), new CumQty( orderQty.getValue()), new AvgPx(price.getValue()));