← 返回

WhenNewMyTrade, котирование, защитные стратегии

Добрый день Столкнулся со следующими проблемами:

  1. В стратегии зарегистрировано правило WhenNewMyTrade (примерно так: mainStrategy.WhenNewMyTrade().Do(MainStrategyNewTrade).Apply(this);)

Если тестируем на истории через HistoryEmulationConnector, то при получении трейда в MainStrategyNewTrade позиция mainStrategy.position уже соответствует реальной. Если же используем реальное подключение к квику через QuikTrader, то получаем трейд, а mainStrategy.position равно 0.

  1. При использовании MarketQuotingStrategy и вообще любой стратегии из QuotingStrategy, правило WhenNewMyTrade вообще не вызывается. Стратегия просто завершается. Это решается костылем: WaitAllTrades = true, DisposeOnStop = true, и потом ручным удалением стратегии из дочерних главной стратегии Однако если использовать любую защитную стратегию с UseQuoting=true, то и это не помогает (очень похоже, что защитная стратегия внутри себя создает дочернюю стратегию котирования и не дожидается сделок и не обновляет strategy.position)

本主题对您有帮助吗?

分享主题

评论 (3)

登录创建账户, 登录或注册以发表评论

JaguarFX
JaguarFX

К сожалению в S# работа с позициями - полный мрак. Наверное стоит сделать коллективный запрос центральной команде разработчиков на выпуск отдельного мастер-класса по работе с позициями.

Mikhail Sukhov
Mikhail Sukhov

JaguarFX: К сожалению в S# работа с позициями - полный мрак. Наверное стоит сделать коллективный запрос центральной команде разработчиков на выпуск отдельного мастер-класса по работе с позициями.

Коллективный не нужно, решаем все в индивидуальном порядке, так как у каждого разные причину.

Напишите нам на info@stocksharp.com о найденной проблеме. От вас ранее никаких запросов не поступало.

yanker
yanker 作者

Именно так! Хочется заниматься стратегией, а не поиском ошибок и рабочих комбинаций :(