𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗦𝘂𝗶𝘁𝗲 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟬
Scarab Diagnostic Suite identificó un error en Hummingbot.
El problema residía en el PositionExecutor. Una orden de cierre fallaba y activaba un bucle de reintentos. Si llegaba una ejecución tardía durante este bucle, el sistema la ignoraba. El ejecutor no vinculaba la ejecución tardía con la orden fallida. Esto provocaba que el sistema enviara una segunda orden de cierre a mercado.
Las órdenes duplicadas crean riesgo financiero.
La corrección preserva la identidad de las órdenes de cierre fallidas. Esto permite que PositionExecutor concilie las ejecuciones tardías. Si una ejecución llega después de un fallo, el sistema la marca como exitosa. El ejecutor evita entonces realizar una orden duplicada.
Resultados de la validación:
- La prueba de regresión para la condición de carrera en las órdenes de cierre fue exitosa.
- 35 pruebas pasaron en el archivo PositionExecutor.
- 35 pruebas pasaron en el archivo ClientOrderTracker.
- El PR público está abierto para revisión.
Esta prueba lleva a Scarab hacia la ejecución de trading. En este ámbito, la identidad de la orden y el estado de su ciclo de vida son vitales. Las ejecuciones tardías y los reintentos definen cómo funciona un sistema.
Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi