Контроль просадки счета

Автор: SergeyNU

Контроль просадки счета - Sun Mar 03 2019 02:11 PM

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

Re: Контроль просадки счета - Sun Mar 03 2019 02:56 PM

Нужна просадка, как в результатах ?
https://www.screencast.com/t/ykFcJaTg
Автор: SergeyNU

Re: Контроль просадки счета - Sun Mar 03 2019 03:03 PM

Нужна любая просадка, смысл такой если по счету есть определенная просадка за день, то закрыть все позиции и не торговать, по всем роботам.
Но тут проблема например тот же кубик Доход работать наверное не будет, он информацию о доходе откуда берет? со счета или из своей памяти?
Автор: ViL

Re: Контроль просадки счета - Sun Mar 03 2019 03:06 PM

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

Re: Контроль просадки счета - Sun Mar 03 2019 03:18 PM

Спасибо, логика подходит только немного переделаю её.
Остался только вопрос как поведут себя кубики "Доход" и "Убыток", т.к. на счету не фиксируется убыток или доход, не вовремя сделки не после ее закрытия.
А где можно подробно почитать про эти кубики?
Автор: ViL

Re: Контроль просадки счета - Sun Mar 03 2019 03:23 PM

http://wiki.tslab.ru/doc20rus/rukovodstvo-2-0/spravochnik-blokov-vizual-nogo-konstruirovaniya/scheta

есть еще такие:
http://wiki.tslab.ru/doc20rus/rukovodstv...aniya/pozitsiya
Автор: SergeyNU

Re: Контроль просадки счета - Sun Mar 03 2019 04:33 PM

Возник еще вопрос, вот что пишет документация:

Доход (за день)
Считает доход по бумаге по сделкам за день.

Это как раз то что мне нужно, но:
- что считается днем? календарный или торговый?
- этот кубик учитывает открытую позицию?
- этот кубик видит все сделки по инструменту за день? или только того робота в котором он вызывается?
Автор: ViL

Re: Контроль просадки счета - Sun Mar 03 2019 10:38 PM

Торговый день,
Зависит от настроек в блоке, там есть и то и другое,
Это закладка Счет - следовательно это по данному инструменту на данном счете.
Автор: SergeyNU

Re: Контроль просадки счета - Wed Mar 06 2019 03:13 PM

Вижу две настройки, Начало сессии и тип прибыли. инструкции по кубику не нашел, непонятно как правильно установить начало сессии. Если начало сессии 19 00, что нужно устанавливать в соответствующем окне?

Методом научного тыка разобрался, всегда так с ТСлаб(
Автор: SergeyNU

Re: Контроль просадки счета - Wed Mar 06 2019 07:52 PM

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

Re: Контроль просадки счета - Thu Mar 07 2019 02:14 AM

Originally Posted By: SergeyNU
Что я делаю не так?

кубик показывает в режиме лаборатории только данную лабораторию.
Автор: SergeyNU

Re: Контроль просадки счета - Thu Mar 07 2019 09:14 AM

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

Re: Контроль просадки счета - Wed Mar 20 2019 05:35 PM

По итогу кубик "ДоходЗаДень" показывает доход не счета по инструменту, а скрипта по инструменту. Поддержка посоветовала использовать Сохранить в кеш, кое как работает, но пока не стабильно.
Автор: OldMo

Re: Контроль просадки счета - Thu Mar 21 2019 11:36 AM

Так как ночью улетаю в отпуск и в связи с этим делать ничего не хочется, написал скрипт для контроля просадки.
Как это должно работать:
Скрипт в указанное время сохраняет данные из графы "Баланс" в таблице "Счета" в TsLab'e и если просадка от записанных значений превышает заданный порог, записывает в глобальный кэш сообщение о необходимости прекратить торговлю. Предполагается, что торгующий скрипт загрузит это сообщение из кэша и закроет позиции. Время записи баланса и максимальной допустимой просадки регулируются с контрольной панели.
Ключ для загрузки данных из кэша имеет вид: "IsTradeEnable" + secRt.PortfolioName. PortfolioName - это имя счета. Графа "Счет" в в таблице "Счета" в TsLab'e. Значение "true" означает, что просадка в пределах нормы, false что нет. Величина текущей просадки выводится в лог скрипта.

Скрипт не прошел ни какого тестирования. По-этому уверенности, что все будет работать как надо, естественно, нет. С одной стороны, скрипт не сложный, где там можно ошибиться? А с другой, когда что-то работало с первого раза? Например, уже набирая это сообщение, я обратил внимание, что забыл добавить выбор максимальной допустимой просадки на контрольную панель. Хорошо, что я не хирург, правда?

Как бы я тестировал работу скрипта:
Имеет смысл открыть новый субсчет и положить на него, скажем, 100 рублей. Дальше можно имитировать изменение баланса выводя с субсчета деньги и контролировать работу скрипта через лог. Также имеет смысл создать агента, который имитирует торговый скрипт для проверки получения и обработки сигналов от управляющего скрипта.
Автор: sar

Re: Контроль просадки счета - Sat Mar 23 2019 06:14 PM

Можно использовать риск менеджер, правда он не даст открыть новые позы при достижении убытка, но имеющиеся открытые позы сам не закроет, но будет ругаться и можно будет самостоятельно закрыть руками.
То есть использовать его можно чтобы не дать открыть новые сделки при достижении убытка или других условий
Автор: SergeyNU

Re: Контроль просадки счета - Sun Mar 24 2019 10:21 PM

Риск менеджмент бесполезен, если нужно контролировать открытые позиции.
OldMo спасибо за кубики, но графа «Баланс» к сожалению не доступна у меня, только таблица всех сделок, в принципе остался только вопрос стабильной работы с кешем, как передавать информацию между скриптами. Пока работа с кешем выглядит так, график все время обнуляется, и не успевает за реальностью(на картинке видно)
Автор: OldMo

Re: Контроль просадки счета - Mon Mar 25 2019 07:24 AM

А зачем вам доступ к графе баланс? Выложенный мной скрипт уже отслеживает необходимые изменения в балансе и посылает сигналы торгующим скриптам через кэш. Для того чтобы это заработало достаточно доступа к кэшу тслаб из торгующих скриптов. Он же есть через кубики? Или нет?
Автор: SergeyNU

Re: Контроль просадки счета - Mon Mar 25 2019 07:32 AM

Вы же сами написали
«Скрипт в указанное время сохраняет данные из графы "Баланс" в таблице "Счета" в TsLab'e», эта информация не доступна, ее использовать не получится, только история сделок.
Да доступ к кешу есть из кубиков.
Автор: OldMo

Re: Контроль просадки счета - Mon Mar 25 2019 07:42 AM

Через кубики недоступна. Через api легко и выложенный скрипт это делает. Доступно через ISecurityRt.EstematedBalance
Автор: SergeyNU

Re: Контроль просадки счета - Mon Mar 25 2019 07:54 AM

Нет вы не поняли, у меня счет такой, вся информация заморожена, только таблица всех сделок доступна. В одном скрипте, я сделал контроль просадки через «доходзадень» как раз использует сделки, но вот общую информацию по всем агентам пока не получается получить.
А через C#/API кеш хорошо работает?
Автор: OldMo

Re: Контроль просадки счета - Mon Mar 25 2019 08:00 AM

На счёт качества работы кэша не уверен. У меня были с ним проблемы. Я обычно через запись в файл данные передаю, особенно если их много.