𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗦𝘂𝗶𝘁𝗲 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟬
A Scarab Diagnostic Suite identificou um bug no Hummingbot.
O problema residia no PositionExecutor. Uma ordem de fechamento falhava e acionava um loop de retentativas. Se uma execução tardia chegasse durante esse loop, o sistema a ignorava. O executor não vinculava a execução tardia à ordem que falhou. Isso fazia com que o sistema enviasse uma segunda ordem de fechamento a mercado.
Ordens duplicadas criam risco financeiro.
A correção preserva a identidade das ordens de fechamento que falharam. Isso permite que o PositionExecutor concilie as execuções tardias. Se uma execução chegar após uma falha, o sistema a marca como bem-sucedida. O executor, então, evita a colocação de uma ordem duplicada.
Resultados de validação:
- O teste de regressão para a condição de corrida da ordem de fechamento passou.
- 35 testes passaram no arquivo PositionExecutor.
- 35 testes passaram no arquivo ClientOrderTracker.
- O PR público está aberto para revisão.
Este teste leva a Scarab para a execução de trading. Neste contexto, a identidade da ordem e o estado do ciclo de vida são vitais. Execuções tardias e retentativas definem como um sistema funciona.
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi