Добрый день Столкнулся со следующими проблемами:
- В стратегии зарегистрировано правило WhenNewMyTrade (примерно так: mainStrategy.WhenNewMyTrade().Do(MainStrategyNewTrade).Apply(this);)
Если тестируем на истории через HistoryEmulationConnector, то при получении трейда в MainStrategyNewTrade позиция mainStrategy.position уже соответствует реальной. Если же используем реальное подключение к квику через QuikTrader, то получаем трейд, а mainStrategy.position равно 0.
- При использовании MarketQuotingStrategy и вообще любой стратегии из QuotingStrategy, правило WhenNewMyTrade вообще не вызывается. Стратегия просто завершается. Это решается костылем: WaitAllTrades = true, DisposeOnStop = true, и потом ручным удалением стратегии из дочерних главной стратегии Однако если использовать любую защитную стратегию с UseQuoting=true, то и это не помогает (очень похоже, что защитная стратегия внутри себя создает дочернюю стратегию котирования и не дожидается сделок и не обновляет strategy.position)
Kommentare (3)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
К сожалению в S# работа с позициями - полный мрак. Наверное стоит сделать коллективный запрос центральной команде разработчиков на выпуск отдельного мастер-класса по работе с позициями.
Коллективный не нужно, решаем все в индивидуальном порядке, так как у каждого разные причину.
Напишите нам на info@stocksharp.com о найденной проблеме. От вас ранее никаких запросов не поступало.
Именно так! Хочется заниматься стратегией, а не поиском ошибок и рабочих комбинаций :(