Вопрос по зщитным стратегиям SLS и TPS

Вопрос по зщитным стратегиям SLS и TPS
Atom
28.04.2013
UsilaDobry


Фрагмент кода стратегии

var order = this.SellAtLimit(Security.LastTrade.Price + Security.MinStepSize);
                    order.WhenNewTrades().Do(trades => trades.ForEach(t =>
                        {
                            var stopDelta = t.Order.Price + (Security.MinStepSize * StopLossPoint);
                            var stopLoss = new StopLossStrategy(t, new Unit(stopDelta, UnitTypes.Limit));
                            
                            var profitDelta = t.Order.Price - (Security.MinStepSize * TakeProfitPoint);
                            var takeProfit = new TakeProfitStrategy(t, new Unit(profitDelta, UnitTypes.Limit));
                            
                            var tpsl = new TakeProfitStopLossStrategy(takeProfit, stopLoss);
                            ChildStrategies.Add(tpsl);
                            })).Apply(this);

Выставляется заявка Sell объемом 5 по цене 95,80, подключаются защитные стратегии, затем срабатывает заявка и активируется защита. SLS отправляет заявку Buy на регистрацию по цене 96,1 объемом 1 (Почему 1, а не 5?) TPS отправляет заявку Buy на регистрацию по цене 95,2 объемом 1 (Почему 1, а не 5?) В итоге появляются ошибки и по SLS и по TPS "Заявка не может быть принята на регистрацию. Неверно задана цена". Почему отправляются заявки, если уровни не достигнуты? Как я понял, заявки не будут отправляться, пока не достигнуты защитные уровни...


Теги:


Спасибо:


IvanB

Фотография
Дата: 28.04.2013
Ответить


UsilaDobry: Выставляется заявка Sell объемом 5 по цене 95,80, подключаются защитные стратегии, затем срабатывает заявка и активируется защита. SLS отправляет заявку Buy на регистрацию по цене 96,1 объемом 1 (Почему 1, а не 5?) TPS отправляет заявку Buy на регистрацию по цене 95,2 объемом 1 (Почему 1, а не 5?) В итоге появляются ошибки и по SLS и по TPS "Заявка не может быть принята на регистрацию. Неверно задана цена". Нужно указывать значение Volume для стратегии (в Вашем случае значение 5). UsilaDobry: Почему отправляются заявки, если уровни не достигнуты? Как я понял, заявки не будут отправляться, пока не достигнуты защитные уровни... Да, верно заявка должна выставляться по достижению указанного уровня.

Спасибо:

UsilaDobry

Фотография
Дата: 28.04.2013
Ответить


С объемами я разобрался, вопрос, почему после открытия позиции SLS и TPS начинают отправлять заявки по рынку по цене защитного уровня?

А вот попробовал автоматическую защиту, там все корректно, при открытии позиции TPS и SLS заявки не направляют по рынку...

Спасибо:

UsilaDobry

Фотография
Дата: 29.04.2013
Ответить


Вот таким образом задаю уровни SL,TP. Уровни не срабатывают, APS пишет, что запущена, котирует объем 1 на покупку по определенно сделке, но не хочет делать стоп. У меня задается StopLOssPoint в пунктах, в частности ставил 10 пунктов. Цена сделки 95,5, шаг цены 0,01, SL=10 пунктов => уровень SL должен быть 95,6. Или так задавать уровни нельзя?

var order = this.SellAtLimit(Security.LastTrade.Price);
                    var aut = new AutoProtectiveStrategy
                        {
                            StopLossLevel = order.Price + (Security.MinStepSize * StopLossPoint),
                            TakeProfitLevel = order.Price - (Security.MinStepSize * TakeProfitPoint),
                            Volume = 1
                        };
                    order.WhenNewTrades().Do(aut.ProcessNewMyTrades).Apply(this);
                    ChildStrategies.Add(aut);

Пробовал установить свойство StopLOssOffset не помогает. Тэйк-профит тоже не срабатывает.

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy