Создаю простую стратегию на базе Strategy. В ней по окончанию свечи входим в позицию и ставим трейлинг стоп. Что получаем по факту?
Заявка и сделка для лимитного ордера нормально проходит и в стратегии отображается. Заявка и сделка для стоп ордера проходит криво и в стратегии НЕ отображается.
В итоге PositionManager не учитывает изменение позиции по стопу, и она постепенно растет. Хотя по факту она нулевая. PositionManager.Position > 0.
Похоже сделки для стоп ордеров не учитываются совсем. Странно что раньше не было обнаружено.
Пожелание - исправить ситуацию :)
ЗЫ: в коннекторе нет проблем. Все события приходят нормально.
Kommentare (9)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Ну собственно такого точно нет, потому и не было замечено раньше :) Вы что-то не так делаете.
Что такое "проходит криво"?
Давайте лог, пишите конкретно как подаётся заявка, приводите код.
Это при старте стратегии.
Сначала идет сделка на покупу потом на продажу в TryMakeTrade.
А вот метод SetStop
После подобной манипуляции должна быть общая позиция равна нулю, потому что стоп заявка сразу же исполняется (специально так сформирована). А по факту позиция равна 1 лоту. Если повторить операцию позиция увеличится еще на лот и так далее. Продажи по стопу не учитываются никак.
Кажется что сделки для стоп ордеров просто не считаются и все. Их тупо нет в стратегии. А для простых ордеров все считается.
Вот лог стратегии
А вот что пишет студия. Событие продажи как видим приходит.
Это альфа коннектор, переношу в соответствующую ветку.
В других коннекторах всё в порядке.
Прикрепил выше постом всю стратегию. Можно сразу заводить и смотреть. Один раз по завершению свечи совершит установку ордера на покупку и стоп на продажу. После этого можно посмотреть позицию. Врядли это связано с коннектором :).
через Quik \ Plaza какую позицию выводит? Привидите лог.
И версия S# из последних?
Коннектор генерирует события НОРМАЛЬНО. События приходят.
Если вы однозначно утверждаете что у вас стоп заявки при исполнении корректно учитывются и позиция формируется верная, тогда я буду много думать в чем же дело.
Версия S# 4.0.20 релиз.
Order.DerivedOrder заполняется?
Посмотрел оба альфа коннектора. Ни там ни там не заполняется DerivedOrder и не добавляется ассоциация через метод AddDerivedOrder.
Т.е. и там и там либо не идёт работа со стоп ордерами, либо идёт неверная работа с ними.
Как и сказал сразу - проблема шлюза, а не базовых вещей S#.
Update: Михаил выше тоже про это задал вопрос
Ок. Поставил себе заметку про DerivedOrder. Стопы в коннекторах работают нормально. Но вот это поле не используется. Буду доделывать.