in grpc/syneroex/src/main/java/deltix/ember/connector/grpc/syneroex/SyneroexTradeConnector.java [72:100]
protected void sendNewOrderRequest(OrderNewRequest request, Contract contract) {
final CreateOrdersRequest.Builder newOrder = CreateOrdersRequest.newBuilder();
newOrder.setSymbol(contract.getBrokerSymbol());
newOrder.setClientOrderId(getClientOrderId(request));
newOrder.setSide(SyneroexUtil.toSyneroexSide(request.getSide()));
newOrder.setOrderType(SyneroexUtil.toSyneroexOrderType(request.getOrderType()));
newOrder.setTimeInForce(SyneroexUtil.toSyneroexTIF(request.getTimeInForce()));
newOrder.setQuantity(SyneroexUtil.toDecimalValue(request.getQuantity()));
if (request.getOrderType() == OrderType.LIMIT) {
newOrder.setPrice(SyneroexUtil.toDecimalValue(request.getLimitPrice()));
}
// set order post only flag - assuming that is passed in 6018 attribute/tag
final ObjectList<CustomAttribute> attributes = request.getAttributes();
if (attributes != null && !attributes.isEmpty()) {
for (int i = 0; i < attributes.size(); i++) {
final CustomAttribute attribute = attributes.get(i);
if (attribute.getKey() == POST_ONLY_TAG) {
newOrder.setPostOnly(CharSequenceParser.parseBoolean(attribute.getValue()));
break; // stop iterating
}
}
}
session.createOrder(newOrder.build());
}