Стратегия работающая с несколькими инструментами и портфелями
Добрый день.
Стратегия работает с несколькими инструментами и портфелями.
Как иделологически это правильнее реализовывать на Stock#?
Вижу два варианта:
1.
В MyStrategy добавляется нужное количество полей для содержания всех security и portfolio
Вся логика в MyStrategy.OnProcess()
При этом поля Strategy.Security и Strategy.Portfolio не используются.
2.
В MyStrategy добавляются child-стратегии - по одной на каждый инструмент.
Вся логика по-прежнему в MyStrategy.OnProcess(), при этом если нужно что-то купить-продать - имплементация этого делается в ChildStrategy.СвойМетод(). А ChildStrategy.OnProcess() насколько я понимаю тут не используется.
Алгоритм самой стратегии тут усложняется (лишние сущности без которых можно обойтись) но преимуществом тут наверное может быть использование PnLManager и других классов до изучения которых я еще не добрался.
Я пока пользуюсь первым вариантом - но наличие неиспользуемых полей Strategy.Security и Strategy.Portfolio смущает.