Search in sources :

Example 1 with LastQty

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

the class TradeExecutor method onMessage.

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

Example 2 with LastQty

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

the class TradeExecutor method onMessage.

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

Example 3 with LastQty

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

the class TradeExecutor method onMessage.

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

Aggregations

AvgPx (quickfix.field.AvgPx)3 CumQty (quickfix.field.CumQty)3 ExecType (quickfix.field.ExecType)3 LastPx (quickfix.field.LastPx)3 LastQty (quickfix.field.LastQty)3 LeavesQty (quickfix.field.LeavesQty)3 OrdStatus (quickfix.field.OrdStatus)3 OrderQty (quickfix.field.OrderQty)3 Price (quickfix.field.Price)3