Стратегия не учитывает сделки по стоп ордерам~/topic/2499/strategiya-ne-uchityvaet-sdelki-po-stop-orderam/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T02:02:09Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/17352/Ок. Поставил себе заметку про DerivedOrder. Стопы в коннекторах работают нормально. Но вот это поле ...2012-03-16T11:02:04Z2012-03-16T11:02:04Zra81https://stocksharp.ru/users/16581/info@stocksharp.ruОк. Поставил себе заметку про DerivedOrder.<br />Стопы в коннекторах работают нормально. Но вот это поле не используется. Буду доделывать.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17348/Посмотрел оба альфа коннектора. Ни там ни там не заполняется DerivedOrder и не добавляется ассоциаци...2012-03-16T10:23:49Z2012-03-16T10:25:10ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruПосмотрел оба альфа коннектора.<br />Ни там ни там не заполняется DerivedOrder и не добавляется ассоциация через метод AddDerivedOrder.<br /><br />Т.е. и там и там либо не идёт работа со стоп ордерами, либо идёт неверная работа с ними.<br /><br />Как и сказал сразу - проблема шлюза, а не базовых вещей S#.<br /><br /><br />Update: Михаил выше тоже про это задал вопросCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17346/тогда я буду много думать в чем же дело. Order.DerivedOrder заполняется?2012-03-16T10:13:12Z2012-03-16T10:13:12ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ru<div class="quote"><span class="quotetitle">ra81 <a href="https://stocksharp.ru/posts/m/17340/"><img src="https://stocksharp.ru/images/icon_latest_reply.gif" title="Перейти" alt="Перейти" /></a></span><div class="innerquote">тогда я буду много думать в чем же дело.</div></div><br /><br />Order.DerivedOrder заполняется?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17340/через Quik \ Plaza какую позицию выводит? Привидите лог. И версия S# из последних? Я бы с удовольств...2012-03-16T09:18:05Z2012-03-16T09:18:35Zra81https://stocksharp.ru/users/16581/info@stocksharp.ru<div class="quote"><span class="quotetitle">Alexander Mukhanchikov <a href="https://stocksharp.ru/posts/m/17339/"><img src="https://stocksharp.ru/images/icon_latest_reply.gif" title="Перейти" alt="Перейти" /></a></span><div class="innerquote">через Quik \ Plaza какую позицию выводит?<br />Привидите лог.<br /><br />И версия S# из последних?</div></div><br />Я бы с удовольствием привел позицию с других терминалов, но на текущий момент у меня терминал только один. <br /><br />Коннектор генерирует события НОРМАЛЬНО. События приходят. <br /><br />Если вы однозначно утверждаете что у вас стоп заявки при исполнении корректно учитывются и позиция формируется верная, тогда я буду много думать в чем же дело. <br /><br />Версия S# 4.0.20 релиз.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17339/через Quik \ Plaza какую позицию выводит? Привидите лог. И версия S# из последних?2012-03-16T09:08:13Z2012-03-16T09:08:13ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruчерез Quik \ Plaza какую позицию выводит?<br />Привидите лог.<br /><br />И версия S# из последних?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17336/Ну собственно такого точно нет, потому и не было замечено раньше :) Вы что-то не так делаете. Что та...2012-03-16T08:52:51Z2012-03-16T09:06:42Zra81https://stocksharp.ru/users/16581/info@stocksharp.ru<div class="quote"><span class="quotetitle">Alexander Mukhanchikov <a href="https://stocksharp.ru/posts/m/17333/"><img src="https://stocksharp.ru/images/icon_latest_reply.gif" title="Перейти" alt="Перейти" /></a></span><div class="innerquote">Ну собственно такого точно нет, потому и не было замечено раньше :)<br />Вы что-то не так делаете.<br /><br />Что такое "проходит криво"?<br /><br />Давайте лог, пишите конкретно как подаётся заявка, приводите код.</div></div><br /><br />Это при старте стратегии.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected override void OnStarting()
{
base.OnStarting();
_candleManager = _candleManager ?? new CandleManager(Trader);
_candleToken = _candleToken ?? _candleManager.RegisterTimeFrameCandles(Security, (TimeSpan)AlfaTimeFrames.Minute1);
this
.When(_candleToken.CandlesFinished())
.Do(TryMakeTrade).Once();
}</pre>
</div></div><br /><br />Сначала идет сделка на покупу потом на продажу в TryMakeTrade.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var order = new Order()
{
Direction = OrderDirections.Buy,
Type = OrderTypes.Market,
Volume = this.Security.MinLotSize,
Security = this.Security,
Portfolio = this.Portfolio,
};
RegisterOrder(order);
this
.When(order.Matched())
.Do(SetStop).Once();
// Сделка висит пока не закроется по стоплоссу.</pre>
</div></div><br /><br />А вот метод SetStop<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void SetStop(Order order)
{
var averPrice = order.GetAlfaAveragePrice();
var stopPersent = 0.01;
var trailLevel = (double)averPrice * stopPersent;
var stop = new Order()
{
Type = OrderTypes.Conditional,
Direction = OrderDirections.Sell,
Portfolio = this.Portfolio,
Security = this.Security,
Volume = this.Security.MinLotSize,
StopCondition = new AlfaStopCondition()
{
Slippage = 1,
StopPrice = (double)averPrice + 0.5,
TrailingLevel = trailLevel,
},
};
RegisterOrder(stop);
}</pre>
</div></div><br /><br />После подобной манипуляции должна быть общая позиция равна нулю, потому что стоп заявка сразу же исполняется (специально так сформирована). А по факту позиция равна 1 лоту. Если повторить операцию позиция увеличится еще на лот и так далее. Продажи по стопу не учитываются никак.<br /><br />Кажется что сделки для стоп ордеров просто не считаются и все. Их тупо нет в стратегии. А для простых ордеров все считается.<br /><br />Вот лог стратегии<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
SS | 16.03.2012 12:46:19.047 | | Стратегия запущена.
SS | 16.03.2012 12:46:59.781 | | Свеча завершена, начинаем проверку условий.
SS | 16.03.2012 12:46:59.781 | | Проверка завершена, можно входить в позицию.
SS | 16.03.2012 12:46:59.781 | | Формируем ордер. Направление: Buy Тип: Market Объем: 10 Инструмент: SBER3
SS | 16.03.2012 12:47:02.781 | | Новая позиция 10.
SS | 16.03.2012 12:47:08.859 | | Заявка исполнена, формируем стоп. Направление: Sell Тип: Conditional Объем: 10 Инструмент: SBER3
SS | 16.03.2012 12:47:08.859 | | Новая Buy сделка 134193310 по цене 100,74 на 10 заявки 212770782.</pre>
</div></div><br /><br />А вот что пишет студия. Событие продажи как видим приходит.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
15:46:53 - New Order. Цена: 101,74 Направление: Buy Тип ордера: Limit
15:46:59 - Order Changed. Цена: 101,74 Направление: Buy Тип ордера: Limit
15:46:59 - Order Changed. Цена: 101,74 Направление: Buy Тип ордера: Limit
15:46:59 - New My Trade. Цена: 100,74 Направление: Buy Тип ордера: Limit
15:47:2 - New Order. Цена: 100,28 Направление: Sell Тип ордера: Conditional
15:47:2 - Order Changed. Цена: 100,28 Направление: Sell Тип ордера: Conditional
15:47:14 - Order Changed. Цена: 100,28 Направление: Sell Тип ордера: Conditional
15:47:20 - Order Changed. Цена: 100,28 Направление: Sell Тип ордера: Conditional
15:47:23 - New My Trade. Цена: 100,71 Направление: Sell Тип ордера: Conditional
15:47:24 - Order Changed. Цена: 100,28 Направление: Sell Тип ордера: Conditional
</pre>
</div></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17338/Это альфа коннектор, переношу в соответствующую ветку. В других коннекторах всё в порядке. Прикрепил...2012-03-16T09:05:50Z2012-03-16T09:05:50Zra81https://stocksharp.ru/users/16581/info@stocksharp.ru<div class="quote"><span class="quotetitle">Alexander Mukhanchikov <a href="https://stocksharp.ru/posts/m/17337/"><img src="https://stocksharp.ru/images/icon_latest_reply.gif" title="Перейти" alt="Перейти" /></a></span><div class="innerquote">Это альфа коннектор, переношу в соответствующую ветку.<br /><br />В других коннекторах всё в порядке.</div></div><br /><br />Прикрепил выше постом всю стратегию. Можно сразу заводить и смотреть. Один раз по завершению свечи совершит установку ордера на покупку и стоп на продажу. После этого можно посмотреть позицию. Врядли это связано с коннектором :).Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17337/Это альфа коннектор, переношу в соответствующую ветку. В других коннекторах всё в порядке.2012-03-16T08:56:12Z2012-03-16T08:57:40ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruЭто альфа коннектор, переношу в соответствующую ветку.<br /><br />В других коннекторах всё в порядке.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17333/Ну собственно такого точно нет, потому и не было замечено раньше :) Вы что-то не так делаете. Что та...2012-03-16T08:13:39Z2012-03-16T08:13:39ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ruНу собственно такого точно нет, потому и не было замечено раньше :)<br />Вы что-то не так делаете.<br /><br />Что такое "проходит криво"?<br /><br />Давайте лог, пишите конкретно как подаётся заявка, приводите код.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/17331/Создаю простую стратегию на базе Strategy. В ней по окончанию свечи входим в позицию и ставим трейли...2012-03-16T08:04:24Z2012-03-16T08:04:40Zra81https://stocksharp.ru/users/16581/info@stocksharp.ruСоздаю простую стратегию на базе Strategy. В ней по окончанию свечи входим в позицию и ставим трейлинг стоп. Что получаем по факту?<br /><br />Заявка и сделка для лимитного ордера нормально проходит и в стратегии отображается.<br />Заявка и сделка для стоп ордера проходит криво и в стратегии НЕ отображается.<br /><br />В итоге PositionManager не учитывает изменение позиции по стопу, и она постепенно растет. Хотя по факту она нулевая. PositionManager.Position > 0.<br /><br />Похоже сделки для стоп ордеров не учитываются совсем. Странно что раньше не было обнаружено.<br /><br />Пожелание - исправить ситуацию :)<br /><br />ЗЫ: в коннекторе нет проблем. Все события приходят нормально.Copyright @ StockSharp Platform LLC 2010 - 2024