#26878 - Tue May 03 2011 07:01 PM
Закрытие/открытие позиций по стопу и утренний гэп
|
stranger
Registered: Fri Dec 10 2010
Записи: 15
|
Прошу прояснить ситуацию с открытием/закрытием позиций
код следующий:
IPosition p = source.Positions.LastPositionActive; if (p.IsLong) { p.CloseAtStop(bar + 1, stopPrice, "SellAtStop"); if (Enabled) source.Positions.SellIfLess(bar + 1, 1, stopPrice, "ShortAtStop"); }
При этом, в результате утреннего гэпа, позиция не закрывается и не открывается на первом баре.
В свойствах скрипта стоит: Действие автозакрытия (баров): 1 Действие автооткрытия (баров): 1
Соответственно, ожидается, что позиции должна закрыться/открыться на втором баре "по рынку". Этого не происходит - скрипт пропускает этот вход и перестает обрабатывать сигналы на открытие или закрытие позиций - требуется ручное вмешательство для восстановления работы.
Как сделать так, чтобы позиция все таки открывалась или закрывалась автоматически, если вход-выход пропущен из за гэпа, или по другой причине?
Attachments
Снимок.PNG (306 downloads)
|
|
Наверх
|
|
|
|
#26944 - Wed May 04 2011 03:37 PM
Re: Закрытие/открытие позиций по стопу и утренний гэп
[Re: Nektodron]
|
stranger
Registered: Fri Dec 10 2010
Записи: 15
|
В лаборатории оно идет первым баром (см. вложение). Реально, оно пропускается, и висит в TSLab в менеджере команд как не исполненное. Приходится на него вставать и выбирать через контекстное меню "исполнить по рынку".
Проблема в том, что не всегда бывает возможность контролировать корректную работу скрипта. Хотелось бы чтобы была возможность автоматического исполнения пропущенных заявок. Пусть они будут исполнены не так эффективно, но будет уверенность, что скрипт в твое отсутствие работает, а не остановился по какой либо причине.
Attachments
лаборатория.PNG (258 downloads)
|
|
Наверх
|
|
|
|
#26968 - Wed May 04 2011 06:23 PM
Re: Закрытие/открытие позиций по стопу и утренний гэп
[Re: Nektodron]
|
stranger
Registered: Fri Dec 10 2010
Записи: 15
|
Вы для начала мне скажите - все ли правильно я понимаю?
При таких настройках, как я привел выше, в случае, если команды: CloseAtStop и SellIfLess не исполнились на баре - на следующем баре они должны были исполнится "по рынку"?
Если да - с каким проскальзыванием это происходит?
Что будет, если и на следующем баре с этим проскальзыванием сделка не исполнилась?
Какие советы можете дать, чтобы ситуация с "подвисшей сделкой" (когда скрипт считает, что сделка состоялась, а на самом деле - нет) не случались? А если случились - автоматически исправлялись?
|
|
Наверх
|
|
|
|
|
|