Механика исполнения: от заявки до фактической сделки · 6 / 6
Сверить уникальные исполнения при повторных статусах ордера
Статус ордера — не дополнительная сделка. Повторная доставка и гонки исполнения с отменой требуют разделять уникальные исполнения и накопленные сводки.
Athenum8 минОбновлено:
Выберите единицу учёта
Для условного линейного инструмента используйте идентификатор исполнения в области конкретной биржи, счёта и продуктового контракта. Идентичная повторная доставка той же сделки учитывается один раз. Разные исполнения одного ордера считаются отдельно: Удаление дублей только по ID ордера отбросит настоящие частичные сделки.
Сохраняйте количество, цену, комиссию и её валюту. Проверьте правила идентификаторов, прежде чем предполагать уникальность между счетами и биржами. Если записи с одинаковым ID противоречат друг другу, расследуйте, а не заменяйте значение молча. Разорванный поток — неполное доказательство; восстановите историю и сверьтесь с авторитетным состоянием.
Не складывайте накопленные снимки
Обновления ордера часто показывают накопленное исполненное количество. Последовательность 2, затем 3, затем 3 не означает торговлю 8 единицами. Сравните эти состояния с журналом уникальных сделок и конечной позицией. Принятие запроса отмены также не доказывает отсутствие одновременного исполнения.
Bybit описывает гонку исполнения и отмены с двумя сообщениями Filled: Одно сообщает об исполнении, другое — об отклонённой отмене, поскольку сделка уже произошла. Это предупреждение для конкретной площадки, а не свидетельство двух сделок. Общая задача проверки — сверять факты, а не считать уведомления.
Три единицы закрыты несмотря на повтор события
Изначально открыта длинная позиция 5 единиц, других изменений нет. E1 продаёт 2 по 100 с комиссией 0,10 USDT. E2 продаёт 1 по 99,50 с комиссией 0,05 USDT. E2 доставляется повторно без изменений. Уникальные сделки закрывают 3 единицы: Валовая выручка 299,50, средняя цена 99,833333… и комиссии 0,15 USDT. Две единицы остаются в длинной позиции.
Отмена неисполненного остатка не продаёт эти 2 единицы. Выручка за вычетом указанных комиссий выхода равна 299,35, но это не прибыль: Нет затрат входа и других издержек. В отдельном сценарии гонки E3 продаёт последние 2 по 99 до отмены. Тогда закрываются 5 единиц, даже если приходят два статуса Filled.
| Доставка | Количество | Цена | Новое учтённое количество |
|---|---|---|---|
| E1 | 2 | 100 | 2 |
| E2 | 1 | 99,50 | 1 |
| E2 идентичный повтор | 1 | 99,50 | 0 |
Увеличить схему- ID исполнений с заданной областью
- Журнал уникальных сделок
- Сравнение накопленного состояния
- Проверка конечной позиции
Оригинальный журнал исполнений; все указанные комиссии в USDT. Сверяйте разные доказательства, не превращая уведомления в сделки.
E2 идентичный повтор: +0.
Отсутствующая история не означает нулевое исполнение
После разрыва связи пустой локальный журнал не доказывает отсутствие сделки. Запросите историю исполнений и позицию биржи перед слепой повторной отправкой. Не складывайте комиссии в разных валютах без сохранения единиц и обоснованной базы пересчёта.
Перед решением
- Ограничьте область ID фактическими правилами биржи.
- Учитывайте идентичные повторы исполнения один раз.
- Сохраняйте разные частичные сделки одного ордера.
- Сравнивайте, а не складывайте накопленные состояния.
- Сверьте остаток позиции и неразрешённые пробелы истории.
Проверьте понимание
E2 приходит три раза, E3 отсутствует, отмена неисполненного остатка подтверждена. Сколько остаётся в длинной позиции?
Показать ответ с объяснением
2 единицы. E1 закрывает 2, уникальное E2 закрывает 1, поэтому остаётся 5 − 3 = 2. Повтор E2 не добавляет исполнения. Отмена убирает поручение, а не оставшуюся позицию.