FlashPlayer Эспер, спасибо. То есть получается, что тестеру все таки необходимы стаканы. И иеархия выходит такая: сделки --> стаканы --> ордерлог.
Не обязательно, тестер может производить эмуляцию и по сделкам. Стаканы могут быть, а могут и эмулироваться по сделкам. Если есть ордерлог, то тогда и сделки и стаканы будут строиться по нему, причем это будут реальные данные.
FlashPlayer Есть тогда еще несколько вопросов:
1. Вот есть у меня только сделки. Если я не пропишу дополнительно о необходимости генерирования стакана по ним - стратегия никаких данных не получит?
2. Есть у меня только стаканы. Они имеют периодичность (ну раз в минуту предположим). Что будет, если я эту периодичность отдельно не озвучу. Ее вообще по идее озвучивать не надо?
3. Если есть ордерлог - автоматом используется он? Никаких доп настроек не надо? Просто видел какую то настройку в примере, при создании тестера, UseMarketDepth вроде. Коммент там стоит - если нужна более точная прогонка по стакану, включите эту настройку. Она меня смутила - что именно она включает?
4. Если я хочу запустить стратегию не в начале работы тестера, а скажем в определенное время в истории, я должен подписаться на событие обновления времени в тестере - и проверять, когда оно стало таким, каким мне надо - запустить страту?
5. Очень важный вопрос. Как в тестере реализовано понимание, что прошла моя сделка? В целом, я осознаю, что есть только один единственный способ - если у нас стояла заявка на уровне цены, и лучшие котировки полностью стали выше(или ушли полностью ниже) этого уровеня цены, то вот тогда только считается, что наша заявка исполнена. При таком алгоритме - какой бы ни был объем нашей заявки, он исполняется сразу и весь. Частичного исполнения не бывает. Правильно ли я понимаю, что именно такой алгоритм используется в S#?
1. Нет, не получит.
2. Данные просто читаются с той переодичностью, с которой они есть.
3. Нет, для использования ордерлога надо выставить UseOrderLog, для использования стаканов UseMarketDepth. Но, если используется ордерлог, то стаканы и сделки автоматически не используются.
4. Да.
5. То как заявка будет исполнена зависит от многих факторов, таких как тип заявки, настройки эмулятора. Например, если кидается заявка по рынку, то он может собрать несколько строк в стакане и будет несколько сделок.
Данный вопрос, впрочем как и весь топик, стоило разместить в разделе Тестирование.