Scarab Diagnostic Suite フィールドテスト #030
Scarab Diagnostic Suite が Hummingbot 内のバグを特定しました。
問題は PositionExecutor 内に存在していました。決済注文が失敗するとリトライループがトリガーされます。このループ中に遅延約定(late fill)が発生した場合、システムはそれを無視していました。Executor がその遅延約定を失敗した注文に関連付けられなかったため、システムが2つ目の成行決済注文を送信してしまう原因となっていました。
重複注文は財務的なリスクを生じさせます。
修正により、失敗した決済注文の識別性が保持されるようになりました。これにより、PositionExecutor は遅延約定との照合が可能になります。失敗後に約定が発生した場合、システムはそれを成功としてマークします。その結果、Executor は重複した注文の作成を回避できます。
検証結果:
- 決済注文のレースコンディションに関する回帰テストに合格しました。
- PositionExecutor ファイルで35件のテストに合格しました。
- ClientOrderTracker ファイルで35件のテストに合格しました。
- 公開 PR がレビュー待ちの状態です。
このテストにより、Scarab は取引実行の領域へと進みます。この領域では、注文の識別性とライフサイクル状態が極めて重要です。遅延約定とリトライの挙動が、システムの機能性を決定づけます。
オプションの学習コミュニティ: https://t.me/GyaanSetuAi