OrderQty orderQty = order.getOrderQty();
Price price = getPrice(order);
quickfix.fix41.ExecutionReport accept = new quickfix.fix41.ExecutionReport(genOrderID(), genExecID(),
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));
accept.set(order.getClOrdID());
sendMessage(sessionID, accept);
if (isOrderExecutable(order, price)) {
quickfix.fix41.ExecutionReport executionReport = new quickfix.fix41.ExecutionReport(genOrderID(),
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()));
executionReport.set(order.getClOrdID());