№4 Решения простых задач _ Наращивание позиции

Автор: ViL

№4 Решения простых задач _ Наращивание позиции - Wed Feb 23 2011 10:51 AM

№4 Наращивание позиции

Как нарастить существующую позицию?
Как закрыть позицию частично?

Наращивание, ровно как и закрытие позиции частично для сервера брокера будет означать несколько заявок. Соответственно для управления позицией и мы должны следовать этим правилам. Каждый раз когда мы хотим закрыть позицию частично, будет означать, что и входили мы по частям.
В приложении простой пример на открытие позиции частями при повторном пробитии Максимума.

Следует отметить, что для дальнейшего наращивания, вместо блока "Есть активная позиция" понадобиться блок, отдающий true при существовании позиции с определенным именем. Такой блок в приложении. Создан пользователями uprav и 777
_____________
Похоже, что блок PosActiveNameExit На реале работает неправильно. Будьте осторожны!
Автор: Wesley Trader

Re: №4 Решения простых задач _ Наращивание позиции - Fri Mar 04 2011 05:48 PM

Поясните как пользоваться блоком PosActiveName, в архиве нет инструкции и примера frown

Как я понял он вазвращает true если имя последней открытой позиции соответсвует заданному имени. Т.е. я его подключаю к блоку "источник данных" и нужно как-то дать блоку имя последнего открытия позиции. Как это сделать, я не понял, поясните пожалуйста.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Fri Mar 04 2011 06:28 PM

Напишите в блоке имя блока входа.
Автор: Wesley Trader

Re: №4 Решения простых задач _ Наращивание позиции - Fri Mar 04 2011 06:36 PM

Спасибо!
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Sat Mar 05 2011 03:47 PM

Пример использования блока PosActiveNameExit/

Покупаем в лонг при пересечении ценой средней снизу, закрываем позицию лонг при обратном пересечении либо по стоп-лосс.
Продаем в шорт, только если лонг был закрыт по стоп-лосс. Закрываем шорт по собственному стоп-лоссу.

_____________
Похоже, что блок PosActiveNameExit На реале работает не правильно. Будьте осторожны!
Автор: Wesley Trader

Re: №4 Решения простых задач _ Наращивание позиции - Thu Mar 10 2011 08:59 PM

Здравствуйте! А есть такой блок,отдающий true при существовании последней(!) позиции с определенным именем?
Тот который тут выложен возвращает true если была позиция с заданным именем, но не обязательно последняя. А мне нужно проверить наличие именно последней с заданным именем.
Подскажите как это реализовать либо где найти готовый такой блок.
Думаю это будет полезно при наращивании позиции...
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Thu Mar 10 2011 10:40 PM

Нет, такого блока на форуме нет.
Автор: Tanat

Re: №4 Решения простых задач _ Наращивание позиции - Fri May 20 2011 01:50 PM

Originally Posted By: ViL
№4 Наращивание позиции
Следует отметить, что для дальнейшего наращивания, вместо блока "Есть активная позиция" понадобиться блок, отдающий true при существовании позиции с определенным именем. Такой блок в приложении. Создан пользователями uprav и 777


Пример наращивания позиции на стандартных блоках.
Блок NumPos накапливает текущее кол-во открытых позиций.
При открытии 2-й и последующих позиций в формуле условия указывается объединение через И(&&) условия входа и кол-ва предыдущих открытых сделок.
Автор: serg

Re: №4 Решения простых задач _ Наращивание позиции - Fri May 20 2011 04:30 PM

Возможно файл выложить ?
Автор: Tanat

Re: №4 Решения простых задач _ Наращивание позиции - Mon May 23 2011 05:40 PM

Originally Posted By: serg
Возможно файл выложить ?

Извините. Видимо, при редактировании сообщения файл потерялся.
Автор: maxim

Re: №4 Решения простых задач _ Наращивание позиции - Mon May 23 2011 08:43 PM

Спасибище!)
Автор: usas

Re: №4 Решения простых задач _ Наращивание позиции - Tue May 24 2011 08:25 AM

Originally Posted By: Tanat
Originally Posted By: serg
Возможно файл выложить ?

Извините. Видимо, при редактировании сообщения файл потерялся.


Танат, переведите пожалуйста с СИ на обычный язык выражение в блоке "F_Pos".
Спасибо..
Автор: Tanat

Re: №4 Решения простых задач _ Наращивание позиции - Wed May 25 2011 01:59 PM

Originally Posted By: usas

Танат, переведите пожалуйста с СИ на обычный язык выражение в блоке "F_Pos".
Спасибо..


Запросто)
F_Pos = Cross_L?(IsLongEx?(NumPos+1):0):NumPos.
Это значит:
Cross_L? - есть ли пересечение? ->
если есть пересечение, проверяем IsLongEx? - есть ли активная позиция? ->
если позиция есть, формула выдает (NumPos+1), т.е. у нас сработает вход в позу и кол-во открытых поз увеличиться;
если позиции нет, то это первый вход в позу и мы сбрасываем счетчик, формула выдает 0 ->
если пересечения нет, то формула выдает текущее значение счетчика поз (NumPos).
Автор: Romario

Re: №4 Решения простых задач _ Наращивание позиции - Fri Jan 13 2012 03:37 PM

Всё равно не могу сообразить. Вот стохастик, входит по рынку. потом срабатывает блок выход1. как сделать чтобы после выхода1 опять вошел в позицию. только именно после того как сработает блок выход1
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Fri Jan 13 2012 04:32 PM

.
Автор: Belt777

Re: №4 Решения простых задач _ Наращивание позиции - Mon Mar 05 2012 09:07 PM

Относительно PosActiveName. Неправильно работает в реале. В лабе - идеально!

В скрипте открытие 2-й позиции, только после наличия первой, и 3-ей соответственно после 2-й. В лабе всё идеально, в жизни скрипт ухитрися войти в 3-ю, при закрытых 1 и 2 smile

Так что пользоваться аккуратно.
Автор: Strend

Re: №4 Решения простых задач _ Наращивание позиции - Thu Jul 12 2012 05:49 PM

Добрый день!
Подскажите пож-та.
Мне надо осуществить вход не на весь капитал, а на 50%. Если я ставлю в блоке входа значение 0.5, то при тестах он всеравно входит на весь депозит заданный в Имитации портфеля (это видно в сделках). Как сделать, что б первый вход был на 50%, а следующий на остальные 50%
Автор: SupportTSLab

Re: №4 Решения простых задач _ Наращивание позиции - Thu Jul 12 2012 06:13 PM

Выбор способа управления средствами доступными торговому алгоритму. Возможные значения: "Управляется скриптом", "В денежном выражении", "В лотах", "В процентах от портфеля"

Количество лотов в заявке, рассчитывается так:

"В лотах" - значение исполльзуется непосредственно, с учетом коэффициента.

"Управляется скриптом" - число в блоке открытия позиции является количество лотов в заявке. Поле "Значение лимита" игнорируется.

"В денежном выражении" - число в поле "Значение лимита" делится на текущую цену по инструменту и умножается на число в блоке открытия позиции.

"В процентах от портфеля" - число в поле "Значение лимита" умножается на количество денег на счету и делится на текущую цену по инструменту и умножается на число в блоке открытия позиции.
Автор: Strend

Re: №4 Решения простых задач _ Наращивание позиции - Thu Jul 12 2012 07:21 PM

Спасибо.

1. Вы написали: "В лотах" - значение исполльзуется непосредственно, с учетом коэффициента.
Это что за коэффициент, откуда его взять?
2. "В денежном выражении" - число в поле "Значение лимита" делится на текущую цену по инструменту и умножается на число в блоке открытия позиции.
Это можно проверить в тесте на исторических данных, или это только при включении скрипта можно увидеть?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Thu Jul 12 2012 08:02 PM

1.В блоке входа
2. При включении скрипта.
Для теста есть имитация портфеля.
Автор: Koresh25

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 04:41 PM

Originally Posted By: ViL
Пример использования блока PosActiveNameExit/

Покупаем в лонг при пересечении ценой средней снизу, закрываем позицию лонг при обратном пересечении либо по стоп-лосс.
Продаем в шорт, только если лонг был закрыт по стоп-лосс. Закрываем шорт по собственному стоп-лоссу.


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

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 04:58 PM

Похоже, что блок PosActiveNameExit На реале работает не правильно. Просьба пока отказаться от использования этого блока. Как он будет поправлен, отпишем на форуме.
Автор: Koresh25

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:09 PM

Как можно заменить этот блок, чтоб сохранить логику, т.е. открыть позу если предыдущую закрыло именно по стопу?
Автор: SupportTSLab

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:14 PM

Только через API.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:15 PM

Делать свой блок.
Либо искать решение из нескольких блоков и условий. Например Последняя позиция закрыта и была ... + что цена ниже/выше данного уровня стопа.
Автор: Koresh25

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:35 PM

Если к блоку PosActiveNameExit через логическое условие добавить блок "Последня позиция была длинная или короткая", то повторное открытие оно должно устранить и при починке данная логика не должна помещать работе исправленного блока?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:43 PM

Не должна по идее.
Автор: Koresh25

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 05:54 PM

С таким дополнением в реале не должно быть повторных входов. Посьба глянуть разработчиков.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Jul 25 2012 06:39 PM

Лучше использовать "ПосПозиция закрыта и длинная"
Автор: Koresh25

Re: №4 Решения простых задач _ Наращивание позиции - Thu Jul 26 2012 04:35 PM

Все равно не работает, сначала вообще не видит сигнал, после остановки и переименования скрипта сигнал появляется, но после каждого выхода скрипт тут же опять открывает эту же позу. На истории все чик чик.
Ждем доделки даного блока, идея блока весьма востребованна.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Fri Aug 03 2012 12:45 AM

В 1.2 данный блок сделан, находится в "Позиция"
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Wed Oct 02 2013 11:14 AM

Подскажите при торговле 1им контрактом РТС если после ряда убыточных сделок, как зайди 2мя контрактами, если еще убыточные сделки то 3мя контрактами ????
Автор: MrCredo

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 07:39 PM

Originally Posted By: SupportTSLab
Похоже, что блок PosActiveNameExit На реале работает не правильно. Просьба пока отказаться от использования этого блока. Как он будет поправлен, отпишем на форуме.


Уважаемые разработчики, прошло три года, но так и не подправили работу данного блока, он вот так нужен, прям сил нет уже. И в поддержку писали, обещали исправить, но все без изменений. Помогите, пожалуйста!
Спасибо!
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 07:43 PM

Originally Posted By: MrCredo
Originally Posted By: SupportTSLab
Похоже, что блок PosActiveNameExit На реале работает не правильно. Просьба пока отказаться от использования этого блока. Как он будет поправлен, отпишем на форуме.


Уважаемые разработчики, прошло три года, но так и не подправили работу данного блока, он вот так нужен, прям сил нет уже. И в поддержку писали, обещали исправить, но все без изменений. Помогите, пожалуйста!
Спасибо!


о чем речь? блок ремонтировался давно.
Автор: MrCredo

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 08:38 PM

А где найти ремонтированный, потому что у меня на реале сейчас не работает блок
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 09:26 PM

какой именно
Автор: MrCredo

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 09:31 PM

PosActiveNameExit
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Mon Sep 14 2015 10:03 PM

можно же решить по другому эту задачу.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Tue Sep 15 2015 03:29 PM

Originally Posted By: MrCredo
PosActiveNameExit

в программе есть уже давно, в позициях
Автор: Airness

Re: №4 Решения простых задач _ Наращивание позиции - Sun Oct 11 2015 03:23 PM

ViL, прошу прощения за глупый вопрос, а PosActiveName в итоге правильно работает на реале? В TSLab'е в блоке "Позиции" я нашел только дату и время выхода из позиции по имени. Есть ли там блок, который просто возвращает true при наличии активной позиции с заданным именем и false, если позиции с таким именем нет?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Mon Oct 12 2015 11:26 AM

"Последний выход имеет такое имя".
Автор: Airness

Re: №4 Решения простых задач _ Наращивание позиции - Wed Oct 14 2015 08:08 PM

Возможно, я неправильно понимаю его работу, но ведь он же возвращает true, и если из позиции был выход с заданным именем и нового входа не было (т.е. позиции нет), и если был выход, а потом был вход (т.е. позиция есть). Как тогда по этому блоку однозначно определить, активна позиция в данный момент или нет?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Oct 14 2015 09:15 PM

сорри, перечитал переписку, понял, что Вы задавали вопрос не про PosActiveNameExit. А просто про активную позицию. Вы можете использовать просто: "Есть активная позиция" или "Есть активная позиция лонг" или "Есть активная позиция шорт".
Есть активная по имени, - такого блока нет.
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sat Jan 23 2016 10:19 PM

Принимайте новичка...) доброго времени суток! никак не могу разобраться с двумя вопросами:
1. как сделать это скрипт периодическим. Идея очень простая (нужно наращивать позу всякий раз когда доход становиться равным ну или больше чем ГО )
2. я так понимаю, что нельзя открыть позу заданным числом контрактов, тогда как в этом случае будет входить робот на реальном счете? всем депо?
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sat Jan 23 2016 10:20 PM

Originally Posted By: Bairom
Принимайте новичка...) доброго времени суток! никак не могу разобраться с двумя вопросами:
1. как сделать это скрипт периодическим. Идея очень простая (нужно наращивать позу всякий раз когда доход становиться равным ну или больше чем ГО )
2. я так понимаю, что нельзя открыть позу заданным числом контрактов, тогда как в этом случае будет входить робот на реальном счете? всем депо?
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Sat Jan 23 2016 11:17 PM

Можно. Ваш скрипт не смотрел. Есть у саро вроде видео об этом. а если в двух словах. В формуле Блок доход за все время делим на ГО(констаннта) и падаем на количество в блок позиция.
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sun Jan 24 2016 07:46 AM

Originally Posted By: Stan
Можно. Ваш скрипт не смотрел. Есть у саро вроде видео об этом. а если в двух словах. В формуле Блок доход за все время делим на ГО(констаннта) и падаем на количество в блок позиция.


Благодарю, за уделенное мне внимание и время! Пересмотрел все его видео, что есть на ютубе, видел его реализацию, но это не совсем то...(( Т.к. наращивание позиции у него посходит только после закрытия позы и открытия новой, как я понял... Может ошибаюсь? Мне же все же хотелось бы сделать так что бы позиция постоянно наращивалась на 1 контракт, как только прибыль переваливает за ГО (без закрытия, неограниченно во времени)
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sun Jan 24 2016 07:48 AM

Кстати мне показалось, что у него там ошибка в округлении при использовании функции Round. Т.к. эта функция округляет до ближайшего целого и по идеи может не хватить в реале денег!
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Sun Jan 24 2016 10:47 AM

Значит просто используйте формулу, как я описал выше. Тслаб сам округлять будет.
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sun Jan 24 2016 11:17 AM

Originally Posted By: Stan
Значит просто используйте формулу, как я описал выше. Тслаб сам округлять будет.

С этим я разобрался. Использую функцию Truncate (по сути она просто отбрасывает значение после запятой, округляя тем самым в меньшую сторону)
Вопросы по прежнему остаются:
1. можно ли сделать так, что бы наращивание позиции было бесконечно без закрытия существующих сделок?
2. каким количеством контрактов будет заходить робот в первый раз в реальной торговли, если нельзя изменять это количество переменной?
Автор: Stan

Re: №4 Решения простых задач _ Наращивание позиции - Sun Jan 24 2016 08:28 PM

1. Делайте соответствующий алгоритм. В 2.0 возможно наращивание позиции без закрытия позы. Но тоже со своими нюансами.
2. Если бы вы изучили свойства ОЗ( обновляемого значения ) там есть начинать с.
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Tue Jan 26 2016 07:18 AM

Спасибо за совет насчет версии 2.0! Вроде сделал) Как только допилю вторую часть, обязательно поделюсь своим решением со всеми форумчанами!
Вообще конечно версия еще очень сырая. Сначала была мысль записывать все недоделки и баги для того что бы отправить разработчикам и помочь им с поиском, но их очень много и сложно не заметить...
Кстати никто не знает когда ориентировочно выйдет исправленная версия?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Tue Jan 26 2016 10:07 AM

Всё же лучше в поддержку о проблемах сообщать. Возможно кроме Вас их никто не видит.
Автор: Bairom

Re: №4 Решения простых задач _ Наращивание позиции - Sat Jan 30 2016 11:01 AM

Как и обещал делюсь своим решением на наращивание и сброс позиции. Как оказалось все очень просто, надеюсь работает правильно. Я проверял на часовике нефти вроде все в порядке)
Алгоритм весьма примитивный, но может кому нибудь поможет, мне бы помогло дней пять назад, как новичку.
Алгоритм:
1. Наращивание - Всякий раз когда прибыль от сделки становиться равной или больше ГО, докупаем контракты (количество контрактов = прибыль / ГО). 2. Сброс - Всякий раз когда убыток в сделки становиться равным или больше ГО продаем контракты (количество контрактов = прибыль / ГО * константа) если количество контрактов меньше или равно количеству контрактов в позиции, то позиция закрывается

Данный скрипт работает только для ЛОНГовых позиций, но переделать его очень просто, если куму нужно
Автор: ruben

Re: №4 Решения простых задач _ Наращивание позиции - Wed Feb 03 2016 05:07 PM

Добрый день.

Хотел спросить про наращивание позиции, при торговле облигациями.

Если алгоритму ограничить исторические данные к примеру до 10 баров и поставить галочку на "игнорировать позиции вне истории".
За период в 10 баров позиция не продастся и на 12 баре появится сигнал на покупку, откроет ли алгоритм новую заявку на покупку?
Автор: ruben

Re: №4 Решения простых задач _ Наращивание позиции - Wed Feb 03 2016 05:12 PM

И можно ли как нибудь реализовать такой принцип торговли на визуальном редакторе? Заранее спасибо.
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Feb 03 2016 05:41 PM

если история ограничена 10 баров, то никакого сигнала на 12 баре не будет, так как этого бара для скрипта не существует.
Автор: ruben

Re: №4 Решения простых задач _ Наращивание позиции - Wed Feb 03 2016 06:01 PM

Похоже я не правильно изъяснился.

К примеру история ограничена 10 барами. У алгоритма появился сигнал на покупку, на следующем баре он ставит заявку на покупку и она исполняется. Как я понял на следующем баре он поставит заявку на продажу с прибылью. Ограничение на продажу у алгоритма в торговых настройках 9 баров. И эта заявка не продается. Еще через два бара появляется снова сигнал на покупку. Т.е. с момента выставления заявки на продажу пройдет 11 баров, в истории обсчитывается 10 баров. Будет ли алгоритм ставить заявку на покупку.

И можно ли как нибудь реализовать такой принцип торговли на визуальном редакторе?
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Wed Feb 03 2016 06:15 PM

нет, алгоритм же уже с позицией, входить он уже этим блоком входа не будет, пока существующая позиция не закроется.
В программе 2.0 можно набирать позицию сколько угодно.
Автор: BJIaDbIKa

Re: №4 Решения простых задач _ Наращивание позиции - Tue Sep 19 2017 07:04 AM

Почему не открывает позицию когда обновляемое значение ровно 2 и более?
Автор: serg

Re: №4 Решения простых задач _ Наращивание позиции - Fri Sep 22 2017 03:03 PM

Originally Posted By: Bairom
Как и обещал делюсь своим решением на наращивание и сброс позиции. Как оказалось все очень просто, надеюсь работает правильно. Я проверял на часовике нефти вроде все в порядке)
Алгоритм весьма примитивный, но может кому нибудь поможет, мне бы помогло дней пять назад, как новичку.
Алгоритм:
1. Наращивание - Всякий раз когда прибыль от сделки становиться равной или больше ГО, докупаем контракты (количество контрактов = прибыль / ГО). 2. Сброс - Всякий раз когда убыток в сделки становиться равным или больше ГО продаем контракты (количество контрактов = прибыль / ГО * константа) если количество контрактов меньше или равно количеству контрактов в позиции, то позиция закрывается

Данный скрипт работает только для ЛОНГовых позиций, но переделать его очень просто, если куму нужно


не пашет
Si фьючерс
Автор: BJIaDbIKa

Re: №4 Решения простых задач _ Наращивание позиции - Thu Oct 12 2017 06:58 PM

Уважаемые, кто подскажет как наращивать позицию больше 1 раза???

Через обновляемое значение не работает, и поддержка молчит. frown
Автор: ViL

Re: №4 Решения простых задач _ Наращивание позиции - Thu Oct 12 2017 07:37 PM

В поддержке Вас не вижу, номер тикета напишите здесь.