Rus
Общие вопросы
Привязка заявки выполненной вручную к агенту
Дополнительная функциональность "Менеджера заявок"
Иногда необходимо выполнить сделки для агента вручную, не используя функции "Менеджера команд".
Есть два основных способа, и в зависимости от способа, агент будет воспринимать новое количество лотов по-разному. Добавить лотов к уже существующей позиции. У Вас есть запущенный агент, на картинке test(555), который вошел в позицию 351082023 Если заявку привязать к агенту по комментарию НазваниеАгента.НазваниеСигнала Встроенный функционал в менеджере заявок создаст НОВУЮ позицию, а не привяжет к существующей новое количество лотов.
Для того чтобы именно ИЗМЕНИТЬ существующую позицию, нужно выбрать из списка агент, к которому необходимо привязать заявку, и тогда поле Примечание меняется на поле Сигнал, где необходимо указать сигнал, в данном случае это будет S$Change$351082023.
Такой комментарий должен быть в менеджере заявок, при выставлении заявки на изменение существующей позиции. S$Change$NNNNNNNNN Такой комментарий можно использовать и для изменения позиции(уменьшение, увеличение) и для закрытия позиции, если количество будет равно текущему в позиции, позиция будет закрыта.
Где,
"S" - Имя сигнала, по которому ведется позиция(для других случаев, абсолютно любой сигнал можно написать, он просто будет виден в агенте, даже если такого сигнала в агенте нет.) NNNNNNNNN - номер заявки входа, портфельный. Change - команда на выполнение изменения позиции. Если необходимо Закрыть существующую позицию, можно написать следующее, агент при этом выставит единую заявку закрытия позиции: sS$Close$NNNNNNNNN При этом количество в заявке должно совпадать с текущей позицией, иначе агент выдаст сообщение о частичном исполнении и при определенных торговых настройках может выдать пропуск выхода из позиции. Close - команда на закрытие позиции sS - существующий сигнал закрытия позиции в агенте(в скрипте). NN - Девятизначный номер портфельной заявки. Посмотреть номер быстро, можно на графике агента, наведя курсор мыши на бар с сигналом входа. Номер указан в круглых скобках. Если номер отсутствует, это виртуальная позиция. Прочитайте статью про виртуальную позицию. Можно заведомо сделать в агенте доп.кнопки на выполнение различных команд: К каждому блоку входа прикрепите по блоку ИзменитьПо Добавьте константу, прикрепите ее к изменитьПо Добавьте Логическую константу так же свяжите с блоком ИзменитьПо Добавьте блок Контрольная Панель На контрольную панель выведите константу и логическую константу Настройте контрольную панель.(при настройке у блока логичКонст. включите "Пересчитывать") Пример: 2MA_ControlPanelChangeQt.tscript Теперь в самом агенте есть Управление количеством лотов прямо в позиции, сигнал на изменения которого можно давать через кнопку, прямо из агента. Количество, именно такое, какое должно быть в позиции, если поставить 0, то позиция закроется. Если сигналов на открытие нет, то просто будет закрыта, если продолжает действовать сигнал на открытие, то откроется на пересчете и снова закроется, это настраивается в контрольной панели, тип кнопки. Вместо Логической константы, можно придумать свое условие. Открыть новую позицию, с тем же сигналом, который уже есть в агенте У Вас есть запущенный агент, который вошел в позицию или еще не вошел в позицию. Например, сигнал Long(название блока в редакторе на вход в позицию лонг) Агент называется 2ema Комментарий к заявке будет: 2ema.Long Программа воспримет именно как открытие новой позиции, даже если позиция с таким именем уже есть. Встроенный функционал в менеджере заявок, по умолчанию, делает именно это. С такой привязкой агент будет выставлять несколько заявок(для каждой такой позиции один сигнал) на закрытия этих позиций, если не использовать комментарий $Change$ или комментарий $Close$. Существует заявка(исполненная в другом терминале или даже с голоса брокером) или другим агентом(роботом) Выключите агент, к которому хотите привязать эту заявку в таблице Агенты. Найдите эту заявку в таблице "Свои заявки" Нажмите кнопку "Перенести" Используя функционал привяжите эту заявку к агенту и сигналу Это будет тоже самое по отношению к позиции, что и 2ema.Long Или 2ema.CloseLong - данной заявкой закроется позиция (CloseLong - существующий сигнал) Комментарий, как и в менеджере заявок доступен для изменения. В таблице "Свои сделки" есть похожий функционал "Перенести сделку". Но перенос будет осуществляться исходя из заявки целиком, разбить Заявку на части невозможно. Также нельзя разбить одну сделку на разное количество лотов и перенести их в разные сделки или заявки.
Copy link