← Zurück

Объясните философию примера SampleHistoryTesting

Вопрос №0: Вот есть стратегия SmaStrategy. В момент, когда пересекаются скользящие средние, создаётся order в определённом направлении и создаётся дочерняя MarketQuotingStrategy, которая этот order начинает котировать. Что является результатом действия этой подстратегии? По сути должна появиться открытая позиция. Правильно я понимаю, что она добавляется в поле PositionManager.Positions исходной стратегии? Как к ней тогда можно обратиться? Обратите, пожалуйста, моё внимание на место в коде, где закрывается вышеупомянутая позиция и получается профит/лосс.

Вопрос №1: Почему, когда при перехвате события NewOrder я пытаюсь напечатать поле porfolio.CurrentAmount, это число не меняется? И оно не равно portfolio.BeginAmount.

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

EugeneP
EugeneP

видимо стратегия реверсивная, закрытие позиции не происходит, вместо закрытия происходит переворот

nikitoz
nikitoz Autor

Да, наверное это правда. Но тогда получается, что происходит не переворот, а остановка, т.к. сделка в обратном направлении совершается в том же объёме.

nikitoz
nikitoz Autor

Всё же вопрос о состоянии портфеля остаётся открытым. Почему при portfolio.BeginAmount == 1m стратегия выставляет ордеры с объёмом, например, 10000 и ценой, например, 66.66? И как объяснить, что portfolio.CurrentAmount никогда не меняется?

esper
esper

nikitoz: Всё же вопрос о состоянии портфеля остаётся открытым. Почему при portfolio.BeginAmount == 1m стратегия выставляет ордеры с объёмом, например, 10000 и ценой, например, 66.66? Видимо, в эмуляторе на текущий момент не учитываются средства портфеля.

nikitoz: И как объяснить, что portfolio.CurrentAmount никогда не меняется? Прибыль/убыток можно смотреть через Strategy.PnLManager