Возможно ли при тестировании на истории тестеру EmulationTrader принудительно задать задержку например в 1000 милисекунд (по тестируемой шкале времени) для выставления ордеров (пропуск тиков перед размещением ордеров)? Ведь реальная задержка при выставлении ордеров 100 - 250 ms, а тестер их выставляет мгновенно.
Kommentare (19)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Я это делаю вручную. Ордер сохраняю в список с желаемым временем. Подписываюсь на marketTimeChanged - и регистрирую.
Переопределите свой IMarketEmulator.
а можно поподробнее по задержке с куском кода для примера добавить в справку. это же актуально для всех, кто тести на истории
Ну я не думаю что мой код претендует на добавление в справку :) Исполнение у меня сделано примерно так (наследник Strategy)
А в тесте с использованием котирования задержку на выставление при перерегистрации заявок как сделать?
Если пользоваться предыдущим методом, то, наверное, вообще геморрой )))
MarketEmulator.Settings.Latency
давным давно было сделано
Так в котировании же также используется RegisterOrder, значит задержка будет, зачем свое котирование писать
об этом и говорю
в котировании используется вроде ReRegisterOrder
Вообще 2 варианта рассматривал выждать паузу и латенси при регистрации. Делал тест с латенси 0 мс. получилось к примеру 400 лосов, при латенси 1000 мс. 667 лосов. Ну значит пашет вроде при котировании.
А по умолчанию в котировании используется RegisterOrder или ReRegister ?
Если IsSupportAtomicReRegister = false, то Register. Если true, то reregister
В тестировании задержки при исполнении ордеров так же(а имхо даже более) важны, чем Latency при регистрации. Кидаем лимитку на уровень с большим числом заявок, ну пусть она зарегистрировалась даже через секунду, выполнение всех ордеров, которые были выставлены раньше, может занять гораздо больше чем секунду
Исполнение лимитки сделано только после того как исполнятся весь объем в стакане на уровне цены лимитки. Пример. цена 100 стоит 10 контрактов на покупку. кидаем заявку на покупку 1 контракта. Приходят сделки. 1,2,3 контракта по цене 100. Это кто-то продает в бид. Так вот, пока весь объем 10 контрактов на уровне 100 не кончится тестер не будет исполнять нашу заявку.