← Zurück

Как правильно выйти из позиции и остановить стратегию?..

Добрый день!

Что-то не совсем понимаю.

Я сделал интрадэй робота на основе SampleSMA. Хочу сделать так, чтобы, если что-то происходит, и P&L становится меньше заданного параметра, позиция ликвидируется, робот останавливается.

Но у меня заявки выставляются с помощью котирования, и если я просто сделаю:


                    if (PnLManager.PnL > 1600 || PnLManager.PnL < -100)
                    {
                        decimal Volume = System.Math.Abs(PositionManager.Position);
                        OrderDirections orderDirection = OrderDirections.Buy;
                        if (PositionManager.Position < 0) { orderDirection = OrderDirections.Buy; }
                        if (PositionManager.Position > 0) { orderDirection = OrderDirections.Sell; }

                        var order = this.CreateOrder(orderDirection, StockSharp.Algo.TraderHelper.GetMarketPrice(Security, orderDirection), Volume);

                        if (PositionManager.Position != 0)
                        {
                            var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
                            ChildStrategies.Add(strategy);
                        }

                        PositionManager.Position = 0;
                        Stop();

  • то у меня выставится заявка и остановится стратегия, и если рынок уйдёт, заявка не исполнится.

Как мне правильно дожидаться окончания котирования?

Kommentare (5)

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

esper
esper

Можно смотреть изменение позиции, как она станет равна 0 - останавливать стратегию.

Sergey Masyura
Spiritschaser
Spiritschaser Autor

О, точно. Самое простое и не заметил!

OvcharenkoVI
OvcharenkoVI

Можно подписаться на изменение состояния стратегии котирования... вроде

strategy.ProcessStateChanged += strategy => { if(strategy.ProcessState == ProcessStates.Stopped) Stop(); }

Johny Cash Sergey Masyura
Spiritschaser
Spiritschaser Autor

Спасибо, по событию всё получилось!

OvcharenkoVI
OvcharenkoVI
OvcharenkoVI

Отлично