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


Фрагмент кода стратегии
Код
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