Наличие активной позиции

Автор: sd85v

Наличие активной позиции - Thu Oct 20 2011 10:43 PM

Добрый день. Как в скрипте указать, что если есть активная позиция то новая позиция не должна открываться.
Автор: ViL

Re: Наличие активной позиции - Thu Oct 20 2011 11:58 PM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=30743#Post30743
Автор: captian

Re: Наличие активной позиции - Fri Oct 21 2011 12:03 AM

Originally Posted By: sd85v
Добрый день. Как в скрипте указать, что если есть активная позиция то новая позиция не должна открываться.

есть специальный блок "есть активная позиция" или есть активная длинная/короткая позиция". Крепите этот блок к источнику данных. В логической формуле для открытия позиции пишете естьактивнаяпозиция==false & условие на открытие позиции.
Но всё это есть в описании http://www.tslab.ru/docs/online/
синтаксис для формул можно посмотреть здесь http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8149#Post8149
ещё можно поучиться на курсах/семинарах http://www.a-lab.name/programmnoe-obespechenie/ts-lab
или просто поискать по форуму
Автор: sd85v

Re: Наличие активной позиции - Fri Oct 21 2011 10:19 AM

Я немного по-другому указывал в логической формуле:Активная поз==true&&открытие поз. по рынку==false. Но скрипт выдает ошибку, что оператор == не может применяться в данном случае.
Автор: captian

Re: Наличие активной позиции - Fri Oct 21 2011 07:05 PM

Originally Posted By: sd85v
Я немного по-другому указывал в логической формуле:Активная поз==true&&открытие поз. по рынку==false. Но скрипт выдает ошибку, что оператор == не может применяться в данном случае.

хм, ну а зачем? по-моему проще проверить условие на наличие открытой позиции, если нет такой, то проверяем остальные условия для открытия новой позиции. Что и написал выше



eadp это имя блока "есть активная длинная позиция
Автор: sd85v

Re: Наличие активной позиции - Tue Oct 25 2011 12:44 PM

Ну в принципе Вы правы, Ваш вариант проще и усложнять нет смысла. А возможно ли в ТСЛабе сформировать систему управления капиталом? К примеру чтоб открытие позиции сопровождалось риском 2 % от капитала, и чтоб программа автоматически рассчитывала доступное количество лотов по фьючерсу. У меня трейл основан на стандартном отклонении. К примеру вход в шорт сопровождается передвижением трейла, который рассчитывается как разница между текущим минимумом и стандартным отклонением.
Автор: sd85v

Re: Наличие активной позиции - Tue Oct 25 2011 12:52 PM

Проблема заключается еще в том, что в блоке открытия позиции необходимо указывать количество лотов.
Автор: alexc

Re: Наличие активной позиции - Wed Sep 24 2014 07:56 PM

Добрый день.
Подскажите, есть ли возможность узнать, открыта ли позиция, связанная с конкретным блоком открытия позиции?
Автор: ra81

Re: Наличие активной позиции - Wed Sep 24 2014 08:13 PM

Originally Posted By: alexc
Добрый день.
Подскажите, есть ли возможность узнать, открыта ли позиция, связанная с конкретным блоком открытия позиции?

каждый блок имеет имя. если проверить открытую позицию с этим именем то узнаете позицию данного блока. У вито были кубики такие кажется.
Автор: captian

Re: Наличие активной позиции - Wed Sep 24 2014 08:15 PM

Originally Posted By: alexc
Добрый день.
Подскажите, есть ли возможность узнать, открыта ли позиция, связанная с конкретным блоком открытия позиции?
Нужно добавить в пользовательские индикаторы сборку от 777 PosAktivename http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21982#Post21982
Да, и у Vito333 в сборке тоже есть.
Автор: Frend

Re: Наличие активной позиции - Sun Sep 28 2014 08:09 AM

Originally Posted By: alexc
Добрый день.
Подскажите, есть ли возможность узнать, открыта ли позиция, связанная с конкретным блоком открытия позиции?

можно еще проверить больше ли цена входа данного блока 0, т.е. ценавходаимяблокавхода>0 - значит данная поза открыта
Автор: vadimORCL

Re: Наличие активной позиции - Wed Jan 07 2015 09:37 AM

Добрый день!
Не нашел где спросить.
Вчера при тестировании обнаружил на исторических данных, что при открытой позиции, например BUY, откатывается противоположная, в данном примере SELL. И потом они благополучно сосуществуют какое-то время. Но в реале на бирже, вторая позиция это просто закрытие первой: там нет локировки.
Тут сразу несколько вопросов:
1. Что получилось бы в реале? Просто закрытие первой? Речь идет лишь о искажении в тестировании? Или робот начало бы глючить?
2. Нет какого-то свойства у робота, чтобы подкрутить? Не загружать же алгоритм?
3. По основной теме. Заметил, что одноннаправленные позиции не открываются. Например, если есть BUY, то второй не откроется пока есть первый. Но тогда откуда взялся основной вопрос темы? Или все не так просто, как я заметил?
Автор: Kermit

Re: Наличие активной позиции - Wed Jan 07 2015 11:22 AM

1. В реале бы работало аналогично. Это нормальная ситуация для скриптов.
2. Подкрутить нужно логику открытия позиций если эта ситуация не нормальная.
3. Можно сделать несколько однонаправленных позиций, включив в скрипт несколько блоков входа.
Автор: ra81

Re: Наличие активной позиции - Wed Jan 07 2015 11:37 AM

для скрипта есть позиция лонг и позиция шорт. для вашего депозита по факту 0 так как продажа после покупки приводит к нулевому объему инструмента на счете. потом закроется лонг и шорт и будет совершена обратная операция и опять на счете будет 0. То есть скрипт может иметь позицию а счет может ее не иметь. как то так. Отсюда истекает проблема и желание некоторых пользователей сделать так, чтобы тслаб как нибудь понимал что сейчас надо купить 10 и продать 4 и в итоге на биржу шло только 6 а 4 бы локально разруливалось. Но это можно сделать конечно, но тут куча проблем и опасностей.
Автор: vadimORCL

Re: Наличие активной позиции - Wed Jan 07 2015 01:32 PM

Originally Posted By: ra81
То есть скрипт может иметь позицию а счет может ее не иметь. как то так.

Это значит, что:
1. Оценка на истории не точна? Поскольку в реале первая позиция закрылась бы раньше, а вторая вообще бы не открывалась. Например, вторая дала большой плюс на истории. А в реале все хуже окажется.
2. TSLab при попытке закрыть позиции получал бы сообщения, что такой нет. Он при этом будет пытаться бомбить запросами на закрытие или сразу остановится?

Спрашиваю, потому что логику засорять лишними блоками не хочется (и так уже многовато там всякого накопилось).
Надеялся, что есть свойство заветное, на котором можно поставить флажок.
Автор: Kermit

Re: Наличие активной позиции - Thu Jan 08 2015 12:27 PM

Все нормально будет. Профит/лосс двух одновременно отрытых противоположных позиций всегда равен 0. А при закрытии одной, на реале откроется противоположная без всяких ошибок.
Автор: vadimORCL

Re: Наличие активной позиции - Thu Jan 08 2015 07:00 PM

Originally Posted By: Kermit
Профит/лосс двух одновременно отрытых противоположных позиций всегда равен 0.

На Московской бирже двух одновременно противоположных, типа, не может быть открыто: там способ закрытия позиции - выставление противоположной.
Автор: captian

Re: Наличие активной позиции - Thu Jan 08 2015 09:18 PM

Originally Posted By: vadimORCL

На Московской бирже двух одновременно противоположных, типа, не может быть открыто: там способ закрытия позиции - выставление противоположной.
Если скрипт, по условию вашей стратегии, открывает и ведёт короткую и длинную позиции одновременно, то:
1. Для фьючерсов. Короткая+длинная==0. При закрытии одной из них у вас просто открывается противоположная.
2. Для акций. Длинная позиция открывается на бирже, а короткую даёт брокер взаймы (или не даёт, это на усмотрение брокера и незабесплатно, естественно). Длинная+короткая!=0 (не равна нулевой позиции, а равна двум отдельным позициям: длинной на бирже и кредитной короткой у брокера). Не каждый брокер даёт такую возможность одновременной позиции по акциям. Надо уточнять такую возможность непосредственно в клиентском отделе.
Автор: vadimORCL

Re: Наличие активной позиции - Thu Jan 08 2015 10:03 PM

Originally Posted By: captian
Если скрипт, по условию вашей стратегии, открывает и ведёт короткую и длинную позиции одновременно, то:
1. Для фьючерсов. Короткая+длинная==0. При закрытии одной из них у вас просто открывается противоположная....

У меня фьючерсы.
У меня просто сигнал, к примеру, для SELL пришел, когда BUY был открыт. И скрипт повел "короткую и длинную позиции одновременно".
Но на бирже, то позиции поле этого не было бы ни той, ни другой, так как SELL закрыл бы BUY.
Т.е. скрипт ведет позиции, которых уже не будет как я понимаю. И это то и сбивает меня с толку.
Автор: captian

Re: Наличие активной позиции - Thu Jan 08 2015 10:08 PM

Originally Posted By: vadimORCL

У меня просто сигнал, к примеру, для SELL пришел, когда BUY был открыт. И скрипт повел "короткую и длинную позиции одновременно".
Но на бирже, то позиции поле этого не было бы ни той, ни другой, так как SELL закрыл бы BUY.
Т.е. скрипт ведет позиции, которых уже не будет как я понимаю. И это то и сбивает меня с толку.
Результат всегда будет такой, как в скрипте. Позиция во фьючерсах, это простая сумма открытых позиций. На вариационную маржу это никак не повлияет, равно как не повлияет и на работу скрипта.
Автор: vadimORCL

Re: Наличие активной позиции - Thu Jan 08 2015 11:32 PM

Ну, хорошо, коли так.
Во второй половине января планирую выпустить в реал. Тогда можно будет убедиться.
Пока, глядя на сделки графика скипта как бы не до конца понимаю. Я думал, он просто пошлет запрос на высталение SELL по рынку. Это закроет BUY, и SELLа соотвественно не будет на рынке. А в скрипте они все будут. В нем типа BUY может закрыться, а SELL остаться. Что может привести к другому результату.
Автор: TimRod

Re: Наличие активной позиции - Wed Dec 02 2015 08:48 AM

У вас открылось две сделки которые в сумме дают 0. Потом одна из позиций закроется по стопу или по тейку. Это будет означать:
В скрипте - закрылась поза
ПО факту - Открылась вторая.
А вообще если у Вас в голове это не укладывается, значит не делайте так. У меня в начале моего пути тоже такой вопрос возник, я просто взял листочек и рисовал как это будет выглядеть. И поверьте результат будет один и тот же, что Вы на разных счетах 2 скрипта запустите, что на одном.
Автор: TimRod

Re: Наличие активной позиции - Wed Dec 02 2015 08:49 AM

Только сейчас увидел что пост давнишний-)