ok this is my code:
@Override
public void onOrderFilled(OrderContext ctx, Order order) {
this.info("onOrderFilled: " + order);
if (order == entryOrder) {
this.info("entryOrder filled: createExit");
createExitOrders(ctx);
} else {
this.info("order filled: "+order);
ctx.cancelOrders();
}
super.onOrderFilled(ctx, order);
}
and this is the log (paper account)
12:28:06.520 INFO RSI(14): enter long
12:28:06.535 INFO ServiceHome:

lacesOrders() placing order: ID: 174 DU3220866 FESX 20251219 M.EUREX.IB (FESX 20251219 M) New BUY MKT Qty:1.0 GTC
12:28:06.542 INFO IBService:

laceOrder(): id: 1 local symbol:FESX 20251219 M exchange:EUREX pExchange:null currency:EUR outsideRTH:true expires:null
12:28:06.723 WARNING error() reqId: 1 code: 2109 msg: Order Event Warning:Attribute 'Outside Regular Trading Hours' is ignored based on the order type and destination. PlaceOrder is now being processed. FESX 20251219 M.EUREX.IB
12:28:06.781 INFO IBListener::createIBOrder() id: 1 type: MKT status: PreSubmitted action: BUY limit: 5764.0 auxPrice: 0.0 trailStop: 5765.0 parentId: 0 created: false
12:28:06.783 INFO orderStatus() orderId: 1 status: PreSubmitted filled: 0 remaining: 1 avgFillPrice: 0.0 permId: 314567999 parentId: 0 lastFillPrice: 0.0clientId: 10 whyHeld: null orderFilled: 0.0 orderRemaining: 1.0
12:28:06.794 INFO position() account: DU3220866 symbol: ESTX50 local symbol: FESX 20251219 M exchange: null pexchange: null type: FUT position: 1 avgCost: 57640.0
12:28:06.807 INFO IBListener::execDetails() reqId: -1 permId: 314567999 execId: 0000e9b5.693f9cf7.01.01 clientId: 10 orderId: 1 symbol: FESX 20251219 M exchange: EUREX pexchange: null type: FUT avgPrice: 5764.0 price: 5764.0 side: BOT qty: 1 shares: 1 time: 20251215 12:28:06 Europe/Paris
12:28:06.808 INFO IBListener::execDetails() notifying order: 1
12:28:06.808 INFO orderStatus() orderId: 1 status: Filled filled: 1 remaining: 0 avgFillPrice: 5764.0 permId: 314567999 parentId: 0 lastFillPrice: 5764.0clientId: 10 whyHeld: null orderFilled: 0.0 orderRemaining: 1.0
12:28:06.808 INFO OrderDirectory:

rderFilled() (2) order: ID: 1 DU3220866 FESX 20251219 M.EUREX.IB (FESX 20251219 M) Filled BUY MKT Limit:5764.0 Qty:1.0 GTC Last Fill Time: 12/15/2025 12:28 PM has already been filled! DU3220866:1
12:28:06.811 WARNING Ignoring duplicate order status: 1:Filled:1:0:5764.0:314567999:0:5764.0:10:null
12:28:06.812 INFO position() account: DU3220866 symbol: ESTX50 local symbol: FESX 20251219 M exchange: null pexchange: null type: FUT position: 1 avgCost: 57642.0
Actually there is something weird with the already been filled thing. May that be the cause?