Search in sources :

Example 6 with OrdStatus

use of quickfix.field.OrdStatus in project camel by apache.

the class TradeExecutor method onMessage.

private void onMessage(quickfix.fix40.NewOrderSingle order, SessionID sessionID) throws FieldNotFound, UnsupportedMessageType, IncorrectTagValue {
    try {
        validateOrder(order);
        OrderQty orderQty = order.getOrderQty();
        Price price = getPrice(order);
        quickfix.fix40.ExecutionReport accept = new quickfix.fix40.ExecutionReport(genOrderID(), genExecID(), new ExecTransType(ExecTransType.NEW), new OrdStatus(OrdStatus.NEW), order.getSymbol(), order.getSide(), orderQty, new LastShares(0), new LastPx(0), new CumQty(0), new AvgPx(0));
        accept.set(order.getClOrdID());
        sendMessage(sessionID, accept);
        if (isOrderExecutable(order, price)) {
            quickfix.fix40.ExecutionReport fill = new quickfix.fix40.ExecutionReport(genOrderID(), genExecID(), new ExecTransType(ExecTransType.NEW), new OrdStatus(OrdStatus.FILLED), order.getSymbol(), order.getSide(), orderQty, new LastShares(orderQty.getValue()), new LastPx(price.getValue()), new CumQty(orderQty.getValue()), new AvgPx(price.getValue()));
            fill.set(order.getClOrdID());
            sendMessage(sessionID, fill);
        }
    } catch (RuntimeException e) {
        LogUtil.logThrowable(sessionID, e.getMessage(), e);
    }
}
Also used : LastPx(quickfix.field.LastPx) CumQty(quickfix.field.CumQty) OrderQty(quickfix.field.OrderQty) ExecTransType(quickfix.field.ExecTransType) AvgPx(quickfix.field.AvgPx) Price(quickfix.field.Price) OrdStatus(quickfix.field.OrdStatus) LastShares(quickfix.field.LastShares)

Aggregations

AvgPx (quickfix.field.AvgPx)6 CumQty (quickfix.field.CumQty)6 LastPx (quickfix.field.LastPx)6 OrdStatus (quickfix.field.OrdStatus)6 OrderQty (quickfix.field.OrderQty)6 Price (quickfix.field.Price)6 ExecType (quickfix.field.ExecType)5 LeavesQty (quickfix.field.LeavesQty)5 ExecTransType (quickfix.field.ExecTransType)3 LastQty (quickfix.field.LastQty)3 LastShares (quickfix.field.LastShares)3