Плюшки: Снятие активных заявок по условию


Плюшки: Снятие активных заявок по условию
Atom
2/18/2013


В классе стратегии есть метод снятия всех активных заявок.
Он вроде бы производит безопасный внутренний лок для коллекции информации по заявком, не доступной извне.
(почему бы не сделать поля protected?)
Т.е. снятие активных заявок из своего кода может быть менее безопасно.
Тем более, что добавить нужный фунционал в Strategy - пара пустяков ;)

Вобщем добавил в метод снятия заявок необязательный параметр условия снятия, а также его логирование.
Немного усовершенствовал для этого метод Filter в хелпере.
Оверхед от обработки дополнительного условия - 0.4 ms.

Кстати, почему обычный метод снятия одной заявки не проверяет её активность? Можно снять заявку с каким-либо другим статусом?
Strategy.cs 75 KB (210) TraderHelper.cs 97 KB (205)

Tags:


Thanks:


Sergey Masyura

Avatar
Date: 2/18/2013
Reply


VassilSanych Go to
В классе стратегии есть метод снятия всех активных заявок.
Он вроде бы производит безопасный внутренний лок для коллекции информации по заявком, не доступной извне.
(почему бы не сделать поля protected?)
Т.е. снятие активных заявок из своего кода может быть менее безопасно.
Тем более, что добавить нужный фунционал в Strategy - пара пустяков ;)

Вобщем добавил в метод снятия заявок необязательный параметр условия снятия, а также его логирование.
Немного усовершенствовал для этого метод Filter в хелпере.
Оверхед от обработки дополнительного условия - 0.4 ms.

Кстати, почему обычный метод снятия одной заявки не проверяет её активность? Можно снять заявку с каким-либо другим статусом?


http://en.wikipedia.org/wiki/Diff
Thanks:

VassilSanych

Avatar
Date: 2/18/2013
Reply


Sergey Masyura Go to
http://en.wikipedia.org/wiki/Diff

Это к чему?

Thanks:

Sergey Masyura

Avatar
Date: 2/18/2013
Reply


VassilSanych Go to
Sergey Masyura Go to
http://en.wikipedia.org/wiki/Diff

Это к чему?



К Вашему сведению.
Thanks:

VassilSanych

Avatar
Date: 2/18/2013
Reply


Не совсем понял.
Файлы по содержимому даже Total Commander нормально сравнивает.
Я обычно пользуюсь Beyond Compare, потому что там 3-way сравнение, удобное для мержа.
Но при чём тут моя тема?
Thanks:

ra81

Avatar
Date: 2/18/2013
Reply


VassilSanych Go to

Кстати, почему обычный метод снятия одной заявки не проверяет её активность? Можно снять заявку с каким-либо другим статусом?

я думаю потому что проверить ее активность задача стратегии перед снятием. Если снимать будем исполненную все равно схлопочем ошибку. Опять же в момент снятия она уже может исполниться, так что это проверять придется всегда :).

Забивать лишний функционал в снятие заявки, имхо излишество.

Thanks:

VassilSanych

Avatar
Date: 2/18/2013
Reply


ra81 Go to
Забивать лишний функционал в снятие заявки, имхо излишество.

Просто я сейчас тестирую снятие лимитной заявки по достаточно короткому таймауту.
Причём стратегия тоже довольно быстрая - как раз для отладки.
Так вот: чуть ли не каждое второе снятие напарывается на ошибку, что заявка уже снята (или исполнилась или снялась при формировании встречной)
И это при том, что в логе сначала отображаются события, означающие отмену заявки, а потом валится ошибка снятия.
Правда таймаут не очень большой 50-160 мс. Какая, кстати, обычно латентность снятия или реакции на отмену заявки, если латентность регистрации 220+/-40 мс?

Thanks:

ra81

Avatar
Date: 2/18/2013
Reply


VassilSanych Go to
ra81 Go to
Забивать лишний функционал в снятие заявки, имхо излишество.

Просто я сейчас тестирую снятие лимитной заявки по достаточно короткому таймауту.
Причём стратегия тоже довольно быстрая - как раз для отладки.
Так вот: чуть ли не каждое второе снятие напарывается на ошибку, что заявка уже снята (или исполнилась или снялась при формировании встречной)
И это при том, что в логе сначала отображаются события, означающие отмену заявки, а потом валится ошибка снятия.
Правда таймаут не очень большой 50-160 мс. Какая, кстати, обычно латентность снятия или реакции на отмену заявки, если латентность регистрации 220+/-40 мс?


И регистрация и снятие одинаковой скоростью идут обычно. От брокера тут сильно зависит тоже. В любом случае никакая плюшка не спасет от таких ошибок регистрации и снятия. Они будут если заявки часто валятся. Потому как мы сидим далеко от биржи и до нас пока дойдет уже сто раз исполнится.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy