𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗦𝘂𝗶𝘁𝗲 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟬
Scarab Diagnostic Suite a identifié un bug dans Hummingbot.
Le problème se trouvait dans le PositionExecutor. Un ordre de clôture échouait et déclenchait une boucle de tentatives. Si un remplissage tardif arrivait pendant cette boucle, le système l'ignorait. L'exécuteur ne liait pas le remplissage tardif à l'ordre ayant échoué. Cela entraînait l'envoi par le système d'un second ordre de clôture au marché.
Les ordres en double créent un risque financier.
Le correctif préserve l'identité des ordres de clôture ayant échoué. Cela permet au PositionExecutor de réconcilier les remplissages tardifs. Si un remplissage arrive après un échec, le système le marque comme réussi. L'exécuteur évite alors de placer un ordre en double.
Résultats de la validation :
- Le test de régression concernant la condition de concurrence (race condition) sur l'ordre de clôture a réussi.
- 35 tests ont réussi dans le fichier PositionExecutor.
- 35 tests ont réussi dans le fichier ClientOrderTracker.
- La PR publique est ouverte pour examen.
Ce test fait passer Scarab à l'étape de l'exécution de trading. Dans ce domaine, l'identité de l'ordre et l'état de son cycle de vie sont cruciaux. Les remplissages tardifs et les tentatives de réexécution définissent le fonctionnement d'un système.
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi