Реклама · Student Wyckoff
Изучайте финансовые вопросы последовательно
Информация о школе Student Wyckoff и обучении представлена на её сайте.
Нажатие кнопки отмены произошло раньше нового отчёта о покупке. Из этого ещё не следует, что покупка была совершена после завершённой отмены. Между отправкой команды и изменением состояния есть отдельные события. Разберём полный условный порядок: часть заявки исполняется во время обработки, а итоговый статус всё равно становится «отменено».
В документе FIX Trading Community Order State Changes, версия EP258 июля 2020, Pending Cancel означает полученный запрос, а не завершённую отмену. Сценарий B.1.b отдельно показывает исполнения во время его обработки. Используем только это различие; реализация конкретного брокера должна проверяться по его собственным сообщениям и правилам.
Ниже собственная модель, не сетевой пакет FIX. Один сервер упорядочивает события. Заявка продолжает допускать исполнения до отдельного события commitcancel; оно снимает только действующий остаток. Сообщения доставляются достоверно с ненулевой задержкой, без повторов и пропусков. Клиентская надпись «запрос отправлен» не заменяет серверное подтверждение результата.
У клиента 2000 денег, бумаг нет. Сервер принял покупку 10 штук по 100: исполнено 0, активно 10. Первое исполнение составляет 3 по 100. Теперь исполнено 3, активно 7, потрачено 300; клиент получает этот отчёт и отправляет запрос отменить оставшуюся заявку. Комиссии и другие расходы отсутствуют.
Сервер принимает запрос в обработку и сообщает pending. В этот момент исполнено по-прежнему 3, активно 7. Затем до commit поступает допустимое встречное количество 2, и происходит второе исполнение по 100. Накопленно исполнено 5, активно 5. Только следующим событием сервер завершает отмену и снимает эти 5. Активного остатка становится 0.
После завершения отмены клиент имеет 5 бумаг,1500 денег,0 активных единиц заявки. Исполнено 3+2=5, снято 5. Баланс первоначального количества:10=5 исполнено+5 снято+0 активно. Статус «отменено» относится к завершению работы заявки, а не к утверждению, что она никогда не исполнялась.
В этой модели после commit новые исполнения по заявке запрещены. Но время получения клиентом сообщения и время серверного события нельзя считать одним моментом. Для вывода о нарушенном порядке потребовалась бы подтверждённая последовательность событий, а не только расположение всплывающих уведомлений или время нажатия кнопки.
Реклама · Student Wyckoff
Проверяйте условия и единицы расчёта
Познакомьтесь с информацией об обучении в Student Wyckoff.
В отдельной альтернативе сервер успевает завершить отмену до второго встречного события. Тогда снимаются 7, исполненными остаются только 3. На счёте 3 бумаги и 1700 денег, баланс 10=3+7+0. Само прежнее желание клиента отменить заявку не выбирает, какая из двух серверных последовательностей произошла.
Ни один сценарий не задаёт вероятность задержки или гарантированный максимальный срок отмены. Мы также не аннулируем исторические сделки: для этого требуется самостоятельное событие исправления исполнения. Здесь 3 или 5 уже купленных штук сохраняются, пока не задана другая операция.
Сохраните ID исходной заявки и запроса, подтверждения, накопленное исполнение, отдельные торговые события и конечный активный остаток. Не создавайте автоматически новую полную заявку лишь потому, что старой отправлена отмена: её фактическое состояние сначала нужно установить. Свечной объём и разметкаВайкоффа не содержат этих подтверждений; из них невозможно восстановить результат вашей команды.
Реклама · Student Wyckoff
Выберите следующий учебный вопрос
Ознакомьтесь с информацией об обучении на сайте Student Wyckoff.