WhenNewMyTrade, котирование, защитные стратегии
Добрый день
Столкнулся со следующими проблемами:
1. В стратегии зарегистрировано правило WhenNewMyTrade (примерно так: mainStrategy.WhenNewMyTrade().Do(MainStrategyNewTrade).Apply(this);)
Если тестируем на истории через HistoryEmulationConnector, то при получении трейда в MainStrategyNewTrade позиция mainStrategy.position уже соответствует реальной.
Если же используем реальное подключение к квику через QuikTrader, то получаем трейд, а mainStrategy.position равно 0.
2. При использовании MarketQuotingStrategy и вообще любой стратегии из QuotingStrategy, правило WhenNewMyTrade вообще не вызывается.
Стратегия просто завершается.
Это решается костылем:
WaitAllTrades = true,
DisposeOnStop = true,
и потом ручным удалением стратегии из дочерних главной стратегии
Однако если использовать любую защитную стратегию с UseQuoting=true, то и это не помогает (очень похоже, что защитная стратегия внутри себя создает дочернюю стратегию котирования и не дожидается сделок и не обновляет strategy.position)