Skip to content

order status set wrong on bets matched immediately on placing #743

@foxwoody

Description

@foxwoody

Bug with order status when placing bets - happens live when replacing orders and suspect same might happen when initially placing an order if the price is outside current best price (eg back at 1.01 just takes current best price). The 3 log entries below show what happens with a replace bet that has its price changed to one that will be automatically matched with best execution - ends up as EXECUTABLE although fully matched.

  1. an existing EXECUTABLE bet that has it's price changed to a price outside the current prices using market.replace_order() is matched immediately (due to best price execution) and the returned status is EXECUTION_COMPLETE.

{"asctime": "2024-02-28 19:31:30,382", "levelname": "INFO", "message": "execute_replace", "trading_function": "replace", "elapsed_time": 0.31018781661987305, "response": {"customerRef": "99c1a3806bc14d62920763d3587774ea", "status": "SUCCESS", "marketId": "1.225432455", "instructionReports": [{"status": "SUCCESS", "cancelInstructionReport": {"status": "SUCCESS", "instruction": {"betId": "339845419341"}, "sizeCancelled": 0.01, "cancelledDate": "2024-02-28T19:31:30.000Z"}, "placeInstructionReport": {"status": "SUCCESS", "instruction": {"selectionId": 47705983, "limitOrder": {"size": 0.01, "price": 16.5, "persistenceType": "LAPSE"}, "orderType": "LIMIT", "side": "LAY"}, "betId": "339845613475", "placedDate": "2024-02-28T19:31:30.000Z", "averagePriceMatched": 14.0, "sizeMatched": 0.01, "orderStatus": "EXECUTION_COMPLETE"}}]}, "order_package": {"id": "99c1a380-6bc1-4d62-9207-63d3587774ea", "client": "<flumine.clients.betfairclient.BetfairClient object at 0x0000028F7B014CA0>", "market_id": "1.225432455", "orders": ["139284414004067119"], "order_count": 1, "package_type": "Replace", "customer_strategy_ref": "livestrat", "bet_delay": 0, "market_version": null, "retry": true, "retry_count": 0, "async": false}}

  1. flumine raises a Pending state for this bet 8ms later

{"asctime": "2024-02-28 19:31:30,390", "levelname": "INFO", "message": "Order status update: Pending", "market_id": "1.225432455", "selection_id": 47705983, "handicap": 0, "id": "139284414903893751", "customer_order_ref": "stratXXxxxxxx-139284414903893751", "bet_id": "339845613475", "date_time_created": "2024-02-28 19:31:30.072237", "publish_time": "2024-02-28 19:31:30.362000", "market_version": null, "async": false, "trade": {"id": "7b0ef6b5-a29b-40a7-8855-9de1be2ccb8f", "strategy": "stratXX", "place_reset_seconds": 0.0, "reset_seconds": 0.0, "orders": ["139284413990493287", "139284414004067119", "139284414903893751"], "offset_orders": [], "notes": "", "market_notes": "12,12.5,12.5", "status": "Pending", "status_log": "Pending, Live, Pending, Live, Pending, Live, Pending"}, "order_type": {"order_type": "Limit", "price": 16.5, "size": 0.01, "persistence_type": "LAPSE", "time_in_force": null, "min_fill_size": null, "bet_target_type": null, "bet_target_size": null, "price_ladder_definition": "CLASSIC"}, "info": {"side": "LAY", "size_matched": 0.01, "size_remaining": 0.0, "size_cancelled": 0.0, "size_lapsed": 0.0, "size_voided": 0.0, "average_price_matched": 14.0}, "responses": {"date_time_placed": "2024-02-28 19:31:30.390370", "elapsed_seconds_executable": null}, "runner_status": null, "line_range_result": null, "status": "Pending", "status_log": "Pending", "violation_msg": null, "simulated": {"profit": 0.0, "piq": 0.0, "matched": []}, "notes": "5,12.483517615336229,11.5,10.912637127536383,0.0,0.0,0.92", "market_notes": null, "client": "CLIENTCODE"}

  1. 2ms later things are going wrong somewhere and the order status is changed back to EXECUTABLE

{"asctime": "2024-02-28 19:31:30,392", "levelname": "INFO", "message": "Order status update: Executable", "market_id": "1.225432455", "selection_id": 47705983, "handicap": 0, "id": "139284414903893751", "customer_order_ref": "stratXXxxxxxx-139284414903893751", "bet_id": "339845613475", "date_time_created": "2024-02-28 19:31:30.072237", "publish_time": "2024-02-28 19:31:30.362000", "market_version": null, "async": false, "trade": {"id": "7b0ef6b5-a29b-40a7-8855-9de1be2ccb8f", "strategy": "stratXX", "place_reset_seconds": 0.0, "reset_seconds": 0.0, "orders": ["139284413990493287", "139284414004067119", "139284414903893751"], "offset_orders": [], "notes": "", "market_notes": "12,12.5,12.5", "status": "Pending", "status_log": "Pending, Live, Pending, Live, Pending, Live, Pending"}, "order_type": {"order_type": "Limit", "price": 16.5, "size": 0.01, "persistence_type": "LAPSE", "time_in_force": null, "min_fill_size": null, "bet_target_type": null, "bet_target_size": null, "price_ladder_definition": "CLASSIC"}, "info": {"side": "LAY", "size_matched": 0.01, "size_remaining": 0.0, "size_cancelled": 0.0, "size_lapsed": 0.0, "size_voided": 0.0, "average_price_matched": 14.0}, "responses": {"date_time_placed": "2024-02-28 19:31:30.390370", "elapsed_seconds_executable": null}, "runner_status": null, "line_range_result": null, "status": "Executable", "status_log": "Pending, Executable", "violation_msg": null, "simulated": {"profit": 0.0, "piq": 0.0, "matched": []}, "notes": "5,12.483517615336229,11.5,10.912637127536383,0.0,0.0,0.92", "market_notes": "13.5,14,14", "client": "CLIENTCODE"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions