Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
П/У агента в статистике окна Агенты
В агенте одна закрытая позиция на десятки лотов. П/У позиции посчитано верно. - 3 392 А П/У фикс -3402 (отличается от ПУ) Позиция была одна, соответственно и ПУ и ПУ фикс должны были бы быть одинаковы - 3 392 Это связано с тем, что цены входа/выхода округляются до ближайшего шага цены. А П/У считается как разница между этими ценами, т.к. П/У считается побарно. А П/У сделки считается без округления, в момент записи. Если в скрипте два и более источника данных, то П/У показывается только по одному источнику, который в редактор попал первым.
Проскальзывание, это параметр условной заявки, определяет отклонение от цены условия, в худшую для Вас сторону.
Проскальзывание работает только для условных заявок! Для остальных типов заявок проскальзывание не используется. Однако, в программе есть режим для заявок "по рынку", включается настройкой "По рынку с фиксированной ценой" при выставлении такой заявки может использоваться проскальзывание из Торговых настроек агента.
В торговых настройках проскальзывание задается для всего агента. В процентах и в шагах, оба параметра суммируются перед формированием заявки и представляют собой единый параметр проскальзывания для условной заявки.
Проскальзывание в торговых настройках имеет меньший приоритет, чем проскальзывание, которое находится непосредственно в блоке входа и/или выхода из позиции (устанавливается в абсолютных значениях):
Т.е. если в определенном блоке входа стоит 5 пунктов, а в торговых настройках стоит проскальзывание 1%, то для заявок этого сигнала будет браться 5 пунктов, а для всего остального скрипта 1%
На текущий момент не реализовано в программе, сами колонки присутствуют, но не заполняются.
Под проскальзыванием пользователь может понимать не только Параметр в условной заявке, но и просто, исполнение по ценам, отличным от цены заявки.
Вы выставляете заявку купить "По рынку" на открытии бара, при текущей цене 100 (цене последней сделки на рынке, она же Открытие бара), а цена исполнения от биржи приходит 105. Под этой разницей и можно понимать проскальзывание, не параметра в заявке, а проскальзывание исполнения.
В рамках проскальзывания исполнения, цена исполнения может быть как хуже цены заявки, так и лучше.
Если в период, между срабатыванием условия и выставления лимитной заявки цена резко пошла в нашу сторону, заявку брокер (или программа) исполнит по лучшей цене, ниже пример с картинкой для условной заявки "Продать, если ниже". Положительное "проскальзывание исполнения" часто встречается при установленном параметре проскальзывания 0 в условной заявке. Т.е. установленное в заявке проскальзывание, работает только по направлению заявки и никак не ограничивает цену исполнения сверху(для продажи), снизу(для покупки).
Условная заявка "Продать, если ниже цены 114510, с проскальзыванием 0". То есть, продать по цене 115510 или выше, как только цена сделки по инструменту(текущая котировка) коснется цены условия.
Все предыдущие настройки, и в блоках входа в позицию, и в блоках выхода из позиции, и в торговых настройках, никак не учитываются при оптимизации скрипта и работают только при торговле. Для того чтобы учесть возможные "проскальзывания исполнения", все комиссии, все параметры проскальзывания, при разработке скрипта, тестировании и оптимизации, используйте блоки Комиссия.
Текущая цена: 90
Выставляем заявку: "Купить 5 лотов, если выше 100, проскальзывание 10"
При достижении текущей цены уровня 100, выставляется лимитная заявка (брокером или нами, в зависимости от поддержки брокером условных заявок): Купить по цене 110
Таким образом
если в очереди заявок (в стакане), на продажу есть суммарный объем 5 между ценами 0 и 110 произойдут сделки. Средняя цена сделок, это цена исполнения заявки.
если в очереди заявок на продажу нет 5 лотов между ценами 0 и 110, то пройдут сделки по существующему объему и на остаток встанет лимитная заявка по цене 110, т.е. текущая цена стала выше 110
если в торговых настройках не стоит параметр Ждать исполнения, заявка снимется на пересчете и будет частично исполненной.
если при этом в торговых настройках включено Автооткртие/Автозакрытие, то на остаток пойдет заявка по рынку. Заявка по рынку будет составной частью общей портфельной заявки по данному сигналу.
Внимание! В скрипте обязательно должен присутствовать блок "Событие", с помощью него необходимо запрещать выставлять заявки по тем же сигналам, чтобы внутри бара не было проблем с набором позиции по одному и тому же сигналу.
Полный функционал поддерживается с включенным Интервалом пересчета в свойствах скрипта "Интервал (Для Событий)".
С другими интервалами пересчета, при наступлении события и наличии позиции, позиция не привязывается к бару. А следовательно не выставятся заявки, закрывающие позицию внутри бара входа в позицию. Но при этом выставятся заявки, закрывающие позицию, которая была открыта на другом баре. При этом, если в алгоритме не используется блок Событие, то при дополнительных пересчетах можно закрыть позицию два раза и более. Блок Событие настоятельно рекомендуется к использованию. Полный функционал событий представляет из себя комплекс: Настройка событий в торговых настройках агента + Пересчет Интервал для событий + Блок Событие.
При торговле иногда требуется совершать дополнительный пересчет. Чаще всего это требуется, когда нужно выставить stop-loss на открывшуюся позицию внутри текущего бара. Так же это требуется при работе со множеством (два и более) инструментов, например, при арбитражной торговле. Где спецификой является одновременный вход в разнонаправленные позиции, как правило, с разными типами заявок.
События можно настроить в торговых настройках агента. Торговля -> Агенты -> Торговые Настройки
При наступлении одного из событий, осуществляется Одиночный пересчет агента. Под событиями понимаются операции брокера или биржи с заявкой при исполнении транзакции или общие события относящиеся к программе
Заявка отклонена
Брокер(или биржа) отклонил заявку
Заявка выполнена полностью
На рынке произошли сделки, удовлетворяющие весь запрошенный объем в заявке
Открытие позиции
Сигнал исполнен, программа получила номера: Транзакция, Заявка, Сделки. Все номера привязаны к сигналу агента через портфельный номер.
Закрытие позиции
Сигнал на закрытие позиции исполнен. Портфельный номер открытия позиции имеет исполненный портфельный номер закрытия позиции.
Изменение количества в заявке
В Агенте, на основном пересчете, скрипт рассчитал изменение количества лотов, которое отличается от предыдущего.(частичное исполнение)
Торговля начата
Пришел статус с биржи, что торги открыты. Чаще всего в программе используется первая сделка рынка. Т.е. начало торговли определяется первой котировкой текущего дня. Так-как почти всегда это быстрее, чем статус торгов, который присылает биржа по инструменту.
Торговля остановлена
Пришел статус с биржи, что торги остановлены.
Заявка отменена
На пересчете агента, скрипт рассчитал, что сигнала нет, заявку необходимо отменить. Программа подает брокеру команду. Данное событие является результатом ответа от брокера "Заявка отменена".
Ограничение претрейда
Сработал один из фильтров Управления рисками. Торговля-Управление рисками.
В редакторе можно использовать дополнительно блок "Событие". На данном пересчете, если Пришло событие, блок отдаст true, данное значение можно использовать в алгоритме. Если в одном агенте приходит сразу много* событий, осуществляется одиночный пересчет.
*Сразу много - хардкод на 5мс. Т.е. если в течении 5мс произошло несколько событий, вызов пересчета будет одиночным.
В блоке можно выбрать событие из выпадающего списка.
Блок можно использовать в редакторе множество раз, блок подключается к источнику, отдает событие по инструменту.
Нажатие на кнопку выполняется во время работы агента. При нажатии на кнопку исправляет ошибки:
"Двойной вход"
"Двойной выход"
"Пропущен выход"
"Пропущен вход"
При нажатии кнопки такие торговые настройки, как "Не открывать, если есть пропуск выхода" перестают работать.
При нажатии кнопки "Забыть торговые ошибки" статистика в окне Агенты может сбиваться. Нажатие кнопки поможет только довести агента в рабочем состоянии до конца дня. Почему именно только до конца дня, ведь можно торговать и больше? Проблема заключается в том, что нажатие кнопки ликвидирует разрыв в статистике агента, но не удаляет прошлые сделки. Например, если был пропуск выхода из позиции и нажата кнопка, позиция будет считаться агентом существующей и последующие сигналы могут не работать для этого блока открытия позиции.
Скрипт разбивает все сделки на пары, если пары нет, то сделки выкидываются из статистики. Если посмотреть в таблицу "Сделки" в агенте, то этой сделки нет. Т.е. скрипт на самом деле не ведет позицию.
А в таблице Агенты считается как у брокеров, т.е. показывается обобщенная позиция по скрипту. Таким образом, если когда-то в скрипте была нажата кнопка, может возникать ситуация, что сделка будет выкинута из статистики окна Агенты.
И в статистике окна будет показываться например 0 лотов, а агент на самом деле ведет 10 лотов.
Статистика не влияет на работу агента.
Статистику агента очистить нельзя, можно только запустить агент с новым торговым именем.
Данное окно позволяет в режиме реального времени следить за работой запущенного агента. Вкладка окна Агент имеет графическое обозначение в виде буквы "А" и название, соответствующее имени агента.
В окне Агент вам доступны вкладки Графика агента, Лог, Результаты, Сделки, Параметры и Доход
Получить доступ к окну Агент можно при помощи кнопок быстрого доступа окна Агенты. В столбце агент нажмите на иконку монитора.
В данной вкладке отображается график работы агента и контрольная панель (в случае ее наличия).
Показывает результаты работы агента. Данная вкладка становится доступной после запуска агента.
Вкладка предназначена для работы с сохраненными значениями и результатами оптимизационных параметров. Рабочее пространство вкладки Параметры разделено на 3 поля:
Сохраненный набор параметров
Список оптимизационных параметров и их значений
Таблица результатов оптимизируемых параметров.
Имя
Название набора параметров.
Дата и время
Дата и время сохранения набора параметров.
Тикер
Тикер инструмента.
Заметка
Комментарий к набору параметров.
Profit Factor
Профит фактор.
Recovery Factor
Фактор восстановления.
Оптимизационные параметры
Список блоков.
Параметр
Название оптимизационных параметров
Значение
Значение параметра.
Загрузить
Загружает сохраненные ранее параметры.
Новая папка
Создает новую папку в каталоге.
Удалить
Удаляет набор параметров или папку.
Импорт
Импорт наборов параметров, ранее сохраненных в скрипте после оптимизации.
Экспорт
Экспорт наборов параметров, сохраненных в скрипте после оптимизации.
Вкладка показывает таблицу совершенных сделок. Статусы сделок:
Зеленый - нормальное состояние работы агента;
Желтый - есть не выставленные заявки;
Красный - есть ошибки в исполнении заявок.
Позиция
Позиция.
Символ
Наименование ценной бумаги.
Лоты
Количество в сделке.
Изменение / Максимум лотов
Количество лотов, на которое изменилась позиция.
Исполнение входа
Обычное / Фиктивное (настройка в блоке Открытие позиции по рынку)
Сигнал входа
Сигнал входа в позицию. Имя блока Открытия позиции
Бар входа
Бар входа. Номер бара входа в позицию.
Дата входа
Дата входа.
Время входа
Время входа.
Цена входа
Цена входа.
Комиссия входа
Комиссия входа.
Исполнение выхода
Обычное / Фиктивное. Настройка в блоке Закрытие позиции по рынку.
Сигнал выхода
Сигнал выхода. Имя блока Закрытия позиции
Бар выхода
Бар выхода.
Дата выхода
Дата выхода.
Время выхода
Время выхода.
Цена выхода
Цена выхода.
Комиссия выхода
Комиссия выхода.
Средняя цена входа
Средняя цена входа в позицию.
П/У
Прибыль/убыток за сделку.
Зафиксированная П/У
Зафиксированная прибыль/убыток.
Открытая П/У
Открытая прибыль/убыток.
Продолж.(баров)
Количество баров между входом и выходом.
Доход/бар
Прибыль/убыток за один бар.
Общий П/У
Текущая прибыль/убыток по позиции.
% изменения
Процент изменения прибыли/убытка за сделку.
MAE
Отклонение цены от цены входа в худшую сторону. В абсолютных значениях. Без учета объема позиции.
MAE %
Отклонение цены от цены входа в худшую сторону. В относительных значениях. Без учета объема позиции.
MFE
Отклонение цены от цены входа в лучшую сторону. В абсолютных значениях. Без учета объема позиции.
MFE %
Отклонение цены от цены входа в лучшую сторону. В относительных значениях. Без учета объема позиции.
Вкладка, показывающая журнал событий агента.
Вкладка, демонстрирующая доходы агента.
В управление агентами учитываются виртуальные позиции.
В управлении агентами своя статистика, и в ней существует вероятность ошибки.
Это связано и с заявками, по которым не пришел ответ от брокера и с описанным ниже алгоритмом расчета.
Пока не понятно, как сделать правильно, чтобы не было ошибок. Были предположения, что стоит вообще убрать эту информацию.
Требуется переработка окна. Как минимум, не учитываются и не показываются все инструменты внутри одного агента.
Сейчас в управлении агентами статистика считается так: Скрипт разбивает все сделки на пары, если пары нет, то сделки выкидываются.
Например, у Вас 2 лота в лонг, но если посмотреть в таблицу "Сделки" в агенте, то этой сделки (сделок) нет. Скрипт на самом деле не ведет позицию.
В управлении агентами показывается обобщенная позиция по скрипту. Например, нажатие кнопки "Забыть текущие торговые ошибки", пропуск входа, выхода, автооткрытие/закрытие все эти события и настройки, могут выкинуть сделку без пары из статистики.
Статистика в управлении агентами не влияет на работу агента, никаких специальных действий не требуется.
Статистику управления агентами очистить нельзя, можно только запустить агент с новым торговым именем.
Статистике в управлении агентами, по факту, доверять пока нельзя.
Агент - это торгующий экземпляр скрипта, привязанный к Вашим счетам. Количество агентов, которые могут быть созданы на базе одного скрипта, не ограничено.
В окне "Агенты" отображается общее состояние агентов, настройки, текущие результаты торговли и инструменты запуска и остановки агентов. Если в скрипте несколько инструментов, в колонке "Тикер" отображается только один инструмент, по первому источнику в скрипте (блок Источник, который был добавлен в редактор первым).
Окно Агенты можно открыть, выбрав пункт Главного меню: Торговля - Агенты.
Добавить агент
Открывает окно добавления и настройки агента.
Удалить агент
Удаляет агент из списка. В случае если агент активен, имеет открытые позиции, удаление невозможно.
Забыть текущие торговые ошибки
Запустить все агенты
Запускает работу всех агентов
Остановить все агенты
Останавливает работу всех агентов.
Запустить выделенные агенты
Запускает работу выделенных агентов
Остановить выделенные агенты
Останавливает работу выделенных агентов
Редактировать скрипт
Открывает в редакторе скрипт, на базе которого создан выбранный агент. Сохранение отредактированного скрипта приводит к перезапуску данного агента.
Агент
Название агента. Если агент имеет торговое имя, оно отображается в скобках. Для Вашего удобства в поле, отображающем название агента, расположены кнопки "Агент" (монитор) "Общие настройки" (список) и "Торговые настройки" (шестеренка).
Тикер
Краткое название инструмента. Для Вашего удобства в поле, отображающем тикер, находится кнопка "Показать график" выполненная в виде графика.
Скрипт
Скрипт, связанный с агентом
Счет
Имя счета у брокера.
TSCloud
Транслировать агент в сервис TSCloud
Состояние
Текущее состояние агента (Запущен/Остановлен), переключаемое нажатием на кнопку.
Значение лимита
Индикация объема средств, доступных для торговли агенту.
Проскальзывание%
Значение допустимого проскальзывания, установленное в процентах.
Проскальзывание
Значение допустимого проскальзывания, установленное в абсолютных величинах.
Активный
Индикация возможности торговли (торговый счет активен).
Подключен
Индикация подключения к торговому серверу.
Позиции (лоты)
Текущая позиция по связке скрипт - инструмент в лотах.
Позиции (Деньги)
Текущая позиция по связке агент - инструмент в деньгах.
Валюта счета
Индикация валюты счета, подключенного к агенту
НП/У
Нереализованная прибыль/убыток.
П/У
Прибыль/убыток.
П/У (дн)
Прибыль/убыток дневной.
Оцен. цена
Средняя цена сделок текущей открытой позиции по инструменту.
Уч. цена
Цена, присваиваемая акциям в целях бухгалтерского учета.
Текущая
Текущая цена инструмента, транслируемая брокером.
Статус
Состояние торговой сессии по инструменту.
Длинные поз. (лоты)
Количество (в лотах) длинных позиций, управляемых агентом в данный момент.
Короткие поз. (лоты)
Количество (в лотах) коротких позиций, управляемых агентом в данный момент.
Комиссия
Комиссия уплаченная Вами по совокупности сделок по связке "инструмент - агент".
Дата создания
Отображается дата и время создания агента
Данные в таблице Агенты можно упорядочить используя встроенную систему фильтрации. Получить доступ к фильтрам можно нажав на специальную кнопку, расположенную в шапке таблицы.
Скрытые возможности сортировки таблицы:
Отсортируйте одну колонку, например, Тикер.
При сортировке второй колонки, например, Агент, зажмите Shift.
Контекстное меню доступно при нажатии правой кнопки мыши в рабочей области окна Агенты.
Свойства
Открывает свойства окна "Агенты".
Показать на
Перемещает окно "Агенты" на один из существующих листов.
Клонировать окно
Создает копию окна "Агенты".
Свойства окна Агенты могут быть открыты:
из контекстного меню окна "Агенты";
выбрав пункт Главного меню: Правка - Свойства окна
Внимание! Выбранные Вами настройки свойств "Настройки шрифта" и "Цвет фона строк" могут быть возвращены к исходным с помощью кнопки "Выбрать настройки по умолчанию", находящейся справа от выпадающего меню данного свойства. Применение пользовательских настроек отображается с помощью красного индикатора на кнопке "Выбрать настройки по умолчанию".
Использовать "зебру"
Выделение каждой второй строки альтернативным цветом.
Цвет фона строк
Цвет фона строк таблицы.
Настройки шрифта
Выбор типа и размера шрифта.
Заголовок окна в плавающем режиме
Показывает/Скрывает заголовок окна в плавающем режиме (когда окно выбранное окно не привязано к главному окну программы) .
Заголовки столбцов
Показывает/Скрывает заголовки столбцов.
Открывает в отдельном окне График такого же инструмента, с тем же Периодом, что и в агенте.
При нажатии на кнопку открывает окно Агент. Вкладка окна Агент имеет графическое обозначение в виде буквы "А" и название, соответствующее имени агента.
В окне Агент вам доступны вкладки Графика агента, Лог, Результаты, Сделки, Параметры и Доход
В меню Общие можно выбрать нужный скрипт из списка для подключения к агенту, указать источник торговых данных, а так же указать тип управления лимитами.
Для того чтобы внести изменения в общие настройки агента необходимо остановить работу самого агента. Убедитесь, что кнопка в столбце Состояние находится в отключенном (сером) состоянии
Торговые настройки агента так же как и основные настройки доступны при создании нового агента, а так же окно Торговых настроек можно открыть нажав на значок шестеренки в колонке Агент
Кнопка в столбце Состояние отвечает за запуск и остановку агента. При включении поставщика кнопка окрашивается в зеленый цвет. В отключенном состоянии цвет кнопки серый.
Агент может быть запущен даже если нет подключения к поставщику данных. TSLab запоминает состояние агента при выключении программы
Кнопка TSCloud позволяет транслировать или получать данные из облачного сервиса TSCloud. Для работы сервиса у вас должна быть настроена учетная запись в системе TSCloud, а так же осуществлено подключение к сервису в самой программе. Подключение в программе осуществляется в соответствующем разделе Главного меню программы
Получить доступ к настройкам агента можно в окне Агенты. Окно Агенты можно открыть, выбрав пункт Главного меню: Торговля - Агенты.
Выполнить настройку агента можно как во время, так и после его создания.
Для настройки уже созданного агента воспользуйтесь кнопками быстрого доступа
Кнопки быстрого доступа:
Кнопка с изображением списка открывает вкладку общих настроек агента
Кнопка с изображением шестеренки открывает торговые настройки агента
После создания агента открыть данное меню можно нажав на значок списка в колонке Агент
В меню Общие можно выбрать нужный скрипт из списка для подключения к агенту, указать источник торговых данных, а так же указать тип управления лимитами.
Для того, чтобы внести изменения в общие настройки агента необходимо остановить работу самого агента. Убедитесь, что кнопка в столбце Состояние находится в отключеном (сером) состоянии
Расчет количества лотов в заявке:
В лотах. Число в поле "Значение лимита" умножается на число в блоке открытия позиции;
Управляется агентом. Число в блоке открытия позиции является количество лотов в заявке. Поле "Значение лимита" игнорируется;
В денежном выражении. Число в поле "Значение лимита" делится на текущую цену инструмента и умножается на число в блоке открытия позиции;
В процентах от портфеля. Число в поле "Значение лимита" умножается на количество денег на счету и делится на текущую цену инструмента и умножается на число в блоке открытия позиции;
Макс. процент от портфеля. При подаче заявки определяется объем свободных денег и заявка идет без превышения этой суммы. ("Макс. процент от портфеля", отличается тем, что если свободных денег в портфеле не хватает, то будет куплено бумаг на меньшую сумму.)
При нажатии на значок кошелька в строке Источники можно открыть меню смены поставщика в источниках. Данная опция может быть полезна, если вы используете несколько источников в вашем скрипте и вам нужно сменить счет в одном из них.
Кнопка "+ Добавить инструмент" позволяет добавить ещё один источник данных в агенте. Один из вариантов использования кнопки:
Если ваш поставщик ограничивает объем загружаемых данных, например несколькими месяцами, вы можете скачать тики за больший период времени в виде текстового файла и добавить эти данные в виде второго источника.
Торговые настройки агента так же как и основные настройки доступны при создании нового агента, а так же окно Торговых настроек можно открыть нажав на значок шестеренки в колонке Агент
Запускает автоматическую торговлю. Если данная опция отключена сигналы будут поступать только в Менеджер команд для ручного исполнения.
Выполняет автоматическое исполнение по рынку, если за указанное количество баров в пункте меню Ждать исполнение (активируется при касании цены) заявка не исполнилась или если был сбой в интернет соединении. Собственно, можно ставить и большее значение, чем 2 и 3, главное, чтобы оно было не больше, чем загруженных в скрипт баров. Посмотреть можно в окне "Лог" агента или скрипта. При компиляции или пересчете пишется количество баров.
При торговле, в отсутствии загруженной истории, заявки в агент рисуются на первом баре агента. Флаг запрещает рисование этих сделок. Настраивайте свойства скрипта таким образом, чтобы как минимум агент видел последние вход и выход из позиции. Если агент "не смотрит" историю своих сделок для выставления новых заявок (не считает например среднюю цену входа всех сделок), то флаг можно поставить. Если нужна история, то ее лучше загрузить больше. Ограничив в свойствах скрипта параметром МаксБаров.
Если стоит флаг, то при пропуске сигнала входа в позицию, будет отправлено оповещение в сообщениях или на почте (если настроен менеджер уведомлений).
Флаг запрещает открытие новых позиций, если был пропущен сигнал на выход из позиции.
Флаг запрещает вывод информации в сообщения и почту, при пересчете агента. Как правило, используется для очень быстрых скриптов, где не исполнение заявок обусловлено ликвидностью на рынке. Это очень важный флаг для службы поддержки. Если его поставить, то пересчеты агента не записываются в лог. Ставя этот флаг, Вы понимаете, что бессмысленно разбирать заявки агента, который их выставляет сотнями в день. Какие из них сработали, а какие нет, он посчитает сам, выставит недостающее.
Регулирует количество баров, сколько действует последний насчитанный сигнал в истории. Например, если поставить 10, а последний сигнал был 11 баров назад, сигнал пропадет с графика и в Менеджере команд (даже при пропуске входа), и агент будет насчитывать более "свежий" сигнал.
Флаг действует подобно настройке "Виртуальная позиция, макс. бар" но работает только для выхода из позиции и только на один бар. Т.е. поставив этот флаг, Вы ожидаете, что агент будет ставить каждую заявку на выход из позиции только на один бар. На следующем баре, если сигнал из скрипта продолжается, заявка будет продолжать стоять. Если изменится цена в заявке, заявка изменится. Но как только в агенте пропадет сигнал на выставление, заявка будет снята, даже если была активной ("Активная" - значит цена на рынке коснулась заявки, но не хватило ликвидности для исполнения). Как правило, флаг используется для скриптов, выставляющих на выход только тейкпрофиты, но может использоваться и для других целей, главное понять механизм. Т.е. при данном флаге ни о каком Автозакрытии или Ожидания исполнения не может быть и речи.
Работает только с условными и лимитными заявками. Включается в том случае, если текущая цена коснулась цены заявки, но не исполнилась. Количество баров, в течении которых заявка будет продолжать стоять в очереди заявок. По истечении количества баров, заявка просто снимется. Настраивать данный параметр необходимо совместно с "Автозакрытием/открытием". Если автооткрытие/автозакрытие больше, чем Ждать исполнения, то после снятия неисполненной заявки, пойдет замещающая заявка "по рынку". Если "авто" меньше, чем "ждать", то заявка просто снимется и агент будет насчитывать следующий сигнал. Флаг распространяется и на заявки, на которые действует флаг "по рынку с фикс ценой".
Учитывать ли комиссию, приходящую от брокера (не все брокеры присылают комиссию в сделках). Не все инструменты можно пересчитать (например, для фьючерсного рынка Moex размер лота всегда равен 1) поэтому комиссия может быть сильно завышена, по отношению к графику дохода. Когда Вы видите, что комиссия завышена, флаг не ставить, это исключит комиссию из расчета дохода. Приходит ли комиссия в сделках от брокера, можно посмотреть в таблице "Свои сделки".
Работает только для условных заявок! Для остальных типов заявок проскальзывание не нужно. В торговых настройках проскальзывание задается для всего скрипта, оба проскальзывания складываются. Если поставить и в процентах и в шагах цены, оба проскальзывания суммируются. Данное проскальзывание имеет меньший приоритет, чем проскальзывание непосредственно в блоке входа и/или выхода из позиции (устанавливается в абсолютных значениях). Если в определенном блоке входа стоит 5 пунктов, а в общем проскальзывании стоит 1%, то для заявок этого блока входа будет браться 5 пунктов, а для всего остального скрипта 1%.
По умолчанию блок "Тейк-профит" выставляет условную заявку! Данный флаг, меняет тип заявки на "Лимитную". Следует помнить, что для тех поставщиков данных, у которых есть "связанные заявки" флаг их выключает. И между стопом и профитом на каждом пересчете программой будет выбираться только одна заявка, цена которой в данный момент ближе к текущей цене.
Флаг специально для блоков входа в позицию "Если больше/если меньше". По умолчанию данные блоки для выставления условных заявок. Если стоит флаг, то тип заявок меняется на "Лимитные". Советуем использовать "Открытие позиции лимитной ценой" для реальной торговли.
Флаг специально создан для блоков "По рынку", меняет тип заявок с "По рынку" на "Лимитную", скорее "условно лимитную". Заявка будет выставляться с ценой закрытия прошлого бара с учетом проскальзывания. Флаг действует на все сигналы агента, включая Автооткрытие и Автозакрытие, сигналы в менеджере команд. Здесь есть один момент. Если в лаборатории стоит пересчет "Интервал + сделка", то заявка будет выставляться с ценой Открытия текущего бара. Не используйте с поставщиком данных Smartcom!, в данном поставщике отсутствует такая возможность, заявки будут выставляться с неверными ценами.
Пояснение на примере заявки стоп-лосс: Стоп-лосс это условная заявка. Когда цена коснется цены условия она преобразуется в лимитную заявку с ценой условия "+- проскальзывание". Так как стоп-лосс меняется ступенчато, на очередном пересчете цена условия может оказаться сильно хуже рынка сразу же на открытии свечи. Это и есть «плохая» заявка. То есть, у вас длинная позиция, цена сейчас 100, а вы подаете заявку закрыть если будет меньше 120. Или у вас короткая позиция, цена 100, а вы хотите закрыть позицию, если цена будет больше 80. Такая заявка не исполнится пока цена не вернется к цене условия "+- проскальзывание". Если включена опция плохие заявки по рынку, то вместо лимитной заявки выставится рыночная. Для стоп-лосс короткой позиции соответственно рыночная заявка на покупку, а для стоп-лосс длинной позиции рыночная заявка на продажу. Следовательно, сделки произойдут по лучшим предложениям покупки и продажи, которые будут в очереди заявок на момент пересчета. Как правило, у брокеров данный механизм работает автоматически, но у некоторых брокеров (например Финам) его нет, в данном случае рекомендуется ставить флаг.
Под событиями понимаются операции брокера или биржи с заявкой при исполнении транзакции или общие события относящиеся к программе.
В случае если активирован параметр "Ждать исполнения выхода", то дозакрытие позиции происходит в течение количества свечей, указанном в данном параметре. Затем происходит дозакрытие позиции по рынку в течение количества свечей, указанном в параметре "Автозакрытие (баров)". Количество баров в "Автозакрытие (баров)" должно быть больше, чем в "Ждать исполнения выхода". Если значение в параметре "Автозакрытие (баров)" меньше, чем в "Ждать исполнения выхода" или равно ему, то автозакрытие не срабатывает.
В случае если активирован параметр "Ждать исполнения входа", то добор позиции происходит в течение количества свечей, указанном в данном параметре. Затем происходит добор позиции по рынку в течение количества свечей указанном в параметре "Автооткрытие (баров)", кроме случая использования блоков "Изменить По". Количество баров в "Автоооткрытие (баров)" должно быть больше, чем в "Ждать исполнения входа". Если значение в параметре "Автоооткрытие (баров)" меньше, чем в "Ждать исполнения входа" или равно ему, то автооткрытие не срабатывает.
Вопрос:
Если на закрытие позиции стоит 2 лота в лимитной заявке. При первом пересчете закрылся только 1 лот. Будет ли далее при наличии сигнала оставаться или перевыставляться заявка на оставшийся 1 лот?
Ответ:
Будет оставаться заявка на той же цене, пока действует Ждать исполнения выхода из позиции.
Для реализации перестановки лимитной заявки на закрытие позиции, можно использовать блоки Количество и Обновляемое значение, вместе с настройкой "Игнорировать сигнал выхода не на последнем баре".
Если стоит Автозакрытие, закрытие остатка позиции произойдет автоматически по рынку. Если ждать исполнения выхода меньше Автозакрытия - как только закончится Ждать исполнения.
Все то же самое касается и "донабора" лотов в позицию, в соответствии с наименованиями настроек. Для Открытия позиции действует настройка "Виртуальная позиция макс.баров". Вопрос:
Если НЕ выставлено Ждать исполнения и НЕ выставлено Автооткрытие и параметр Виртуальная позиция = 0.
Выставили лимитную заявку на 10 лотов, исполнили 5. Сигнал на один бар. Как поведет себя программа?
Программа снимет остаток и без сообщений, будет вести 5 лотов, алгоритм продолжит исполняться с набранным количеством лотов.
Вопрос:
"Как быть в случае, если у меня моя точка входа ушла за пределы истории. Т.е. история загружается за последние два дня, а вход был 4 дня назад. Как в этом случае себя поведет скрипт или агент? Будет ли эта сделка закрыта по условию, описанному в скрипте или расчет будет вестись некорректно и таких сделок быть не должно? "
Если нет бара входа, то могут и часто неизвестны данные этого бара. Нужно поставить такое количество баров, чтобы в истории всегда был виден последний вход в позицию.
Ответ:
Расчет МОЖЕТ вестись некорректно.
Вопрос:
"Ситуация 2: скрипт делает несколько последовательных входов, часть из которых уходит за пределы истории. Как в этом случае будут закрываться ушедшие за пределы истории позиции? Спасибо заранее"
МОГУТ закрываться некорректно. Могут быть вызваны сигналы, которых не могло быть при загрузке всей истории. Больше зависит от расчетных величин, рассчитывающих выход из позиции и настроек. Например, если стоит в торговых настройках "Игнорировать позиции вне истории"
Рекомендация: Поставить такое количество баров, чтобы не закрытые входа в позицию были на своих барах и не сдвигались на первый бар загруженной истории.
Агент прекращает транслировать сообщения об имеющихся на данный момент ошибках. Прочитайте статью
с помощью кнопки "Свойства", расположенной на панели заголовка окна;
Работает для условных заявок закрытия позиции. Выставляет рыночные заявки, вместо лимитных заявок. Также работает для "Тейк-профит без проскальзывания", так как сначала проверяется, что цена плохая, только потом работает флаг "Тейк-профит без проскальзывания". См. .
Подробнее о Событиях в статье
Скрипт
Выбор скрипта из списка для создания агента.
Торговое имя (необязательное поле)
Вы можете дать дополнительное имя агенту для удобства отслеживания процессов. Данное поле не является обязательным. Изменение или присвоение торгового имени приведет к потере торговой статистики агента, если агент уже совершал сделки или выставлял заявки.
Тип управления лимитами
Выбор способа управления средствами, доступными агенту. Возможные значения: "Управляется агентом", "В денежном выражении", "В лотах", "В процентах от портфеля", "Макс. процент от портфеля"
Значение лимита
Значение лимита средств, выставляемое в соответствии со способом определения лимита в поле "Тип управления лимитами".
Источники
Открывает окно выбора инструментов.
Исполнять входы сразу
Параметр определяющий возможность автоматического входа в позицию без ручного подтверждения. Команда входа будет выполнена только если сигнал входа был сформирован на последнем закрытом баре.
Исполнять выходы сразу
Параметр определяющий возможность автоматического выхода из позиции без ручного подтверждения. Команда выхода будет выполнена двумя способами в зависимости от настройки автозакрытия. В случае если параметр автозакрытия равен нулю, команда будет выполнена с формированием цены по последнему закрытому бару, в противном случае команда будет выполняться по рынку в соответствии с настройками автозакрытия.
Автооткрытие (баров)
Количество баров, в течение которого пропущенный вход будет выполнен автоматически по рынку, если выбран параметр "Исполнять входы сразу". Далее будет выдано сообщение о пропущенном входе и необходимости ручного вмешательства. Следует помнить, что если выставить большой интервал, то открытие позиции может произойти слишком поздно и цена входа будет сильно отличаться от ожидаемой. Если =0, то автооткрытие выключено
Внимание! "Изменить По ...". Для блоков изменения позиции автооткрытие не работает!
Блок. "по рынку" с фикс. ценой для автооткрытия
Блокирует опцию "по рынку" с фиксированной ценой для автооткрытия и распространяется на Менеджер команд.
Автозакрытие (баров)
Количество баров, в течение которого пропущенный выход будет закрыт автоматически по рынку, если выбран параметр "Исполнять выходы сразу". Далее, если не хватило установленного кол-ва баров, будет выдано сообщение о пропущенном выходе и необходимости ручного вмешательства. Если =0, то автозакрытие выключено
Внимание! "Изменить По". Для блоков изменения позиции автозакрытие не работает ! Автозакрытие при использовании "Изменить По" срабатывает только если была попытка закрыть позицию в 0 и не получилось.
Блок. "по рынку" с фикс. ценой для автозакрытия
Блокирует опцию "по рынку" с фиксированной ценой для автозакрытия и распространяется на Менеджер команд.
Игнорировать позиции вне истории
Игнорирует (не учитывает) позиции, которые были закрыты вне запрошенных исторических данных.
Увед. о проп. входах
Уведомляет о пропущенных входах в позицию.
Не открывать, если есть пропуск выхода
Не открывает новые позиции, если существует ошибка "пропущен выход из позиции".
Не уведом. пересчет
Не уведомляет о пересчете скрипта.
Виртуальная позиция макс. баров
Определяет, в течение какого периода времени информировать о пропущенной позиции, прежде чем она исчезнет (0 - бесконечно, любое другое положительное значение равно количеству свечей).
Игнорировать сигнал выхода не на посл. баре
Игнорирует сигнал выхода из позиции, созданный агентом не на последнем (текущем) баре.
Ждать исполнения выхода
Количество свечей, в течение которых программа будет ждать исполнения лимитной заявки выхода из позиции. Затем заявка будет отменена. Настройка работает для активной заявки(цена инструмента касалась цены заявки, но не была исполнена из-за недостатка ликвидности)
Ждать исполнения входа
Количество свечей, в течение которых программа будет ждать исполнения лимитной заявки входа в позицию. Затем заявка будет отменена. Настройка работает для активной заявки(цена инструмента касалась цены заявки, но не была исполнена из-за недостатка ликвидности)
Учитывать комиссию
Учитывать комиссию из заявок в расчете профита. Если брокер присылает комиссию в сделках, то комиссия будет учитываться в результатах торговли агента.
Проскальз. в шагах
Размер проскальзывания в шагах цены инструмента, которое будет передаваться в заявку, создаваемую агентом. Заявка типа "По рынку" не учитывает настройки проскальзывания и выполняется по первой предложенной цене. Внимание! Настройки проскальзывания суммируются.
Проскальз. в %
Размер проскальзывания в процентах, которое будет передаваться в заявку, создаваемую агентом.
Take-profit без проскальзывания
Заявка тейк-профит создается не условной, а лимитной (но без проскальзывания).
Открытие лимитными заявками
Для открытия позиции программа создает лимитные заявки без проскальзывания.
"По рынку" с фикс. ценой
Заявка по рынку создается не по текущей цене, а по цене открытия бара (как при расчетах) +/- проскальзывание если выбран "Интервал+сделка".
Eсли выбран режим пересчета "Интервал", то берется цена закрытия последней свечи.
"Плохие" заявки по рынку
Условные заявки закрытия позиции с ценой хуже рынка выставляются как рыночные. В случае появления сообщения: "Условная заявка по сигналу '{0}' может не сработать, т.к. текущая цена на рынке {1} (Цена условия {2})! заявка уходит как рыночная, а не как условная.
Экспирация заявок, дни
Позволяет передать брокеру в условной заявке время экспирации в днях. По умолчанию программа условные заявки выставляет на два дня. Рекомендуется использовать при работе с большими таймфреймами.(не касается криптовалютных рынков)
Заявка отклонена
Брокер (или биржа) отклонил заявку
Заявка выполнена полностью
На рынке произошли сделки, удовлетворяющие весь запрошенный объем в заявке
Заявка отменена
На пересчете агента, скрипт рассчитал, что сигнала нет, заявку необходимо отменить. Программа подает брокеру команду. Данное событие является результатом ответа от брокера "Заявка отменена".
Изменение количества в заявке
В Агенте на основном пересчете скрипт рассчитал изменение количества лотов, которое отличается от предыдущего.
Открытие позиции
Сигнал исполнен, программа получила номера: Транзакция, Заявка, Сделки. Все номера привязаны к сигналу агента через портфельный номер.
Закрытие позиции
Сигнал на закрытие позиции исполнен. Портфельный номер открытия позиции имеет исполненный портфельный номер закрытия позиции.
Торговля начата
Пришел статус с биржи, что торги открыты. Чаще всего в программе используется первая сделка рынка. Начало торговли определяется первой котировкой текущего дня, так-как почти всегда это быстрее, чем статус торгов, который присылает биржа по инструменту.
Торговля остановлена
Пришел статус с биржи, что торги остановлены.
Бар закрылся, но нет сделок
Бар закрылся по серверному времени, но новых сделок нет
Ограничение претрейда
Сработал один из фильтров Управления рисками. Торговля-Управление рисками.