Пересчеты по событиям
Last updated
Last updated
Внимание! В скрипте обязательно должен присутствовать блок "Событие", с помощью него необходимо запрещать выставлять заявки по тем же сигналам, чтобы внутри бара не было проблем с набором позиции по одному и тому же сигналу.
Полный функционал поддерживается с включенным Интервалом пересчета в свойствах скрипта "Интервал (Для Событий)".
С другими интервалами пересчета, при наступлении события и наличии позиции, позиция не привязывается к бару. А следовательно не выставятся заявки, закрывающие позицию внутри бара входа в позицию. Но при этом выставятся заявки, закрывающие позицию, которая была открыта на другом баре. При этом, если в алгоритме не используется блок Событие, то при дополнительных пересчетах можно закрыть позицию два раза и более. Блок Событие настоятельно рекомендуется к использованию. Полный функционал событий представляет из себя комплекс: Настройка событий в торговых настройках агента + Пересчет Интервал для событий + Блок Событие.
При торговле иногда требуется совершать дополнительный пересчет. Чаще всего это требуется, когда нужно выставить stop-loss на открывшуюся позицию внутри текущего бара. Так же это требуется при работе со множеством (два и более) инструментов, например, при арбитражной торговле. Где спецификой является одновременный вход в разнонаправленные позиции, как правило, с разными типами заявок.
События можно настроить в торговых настройках агента. Торговля -> Агенты -> Торговые Настройки
При наступлении одного из событий, осуществляется Одиночный пересчет агента. Под событиями понимаются операции брокера или биржи с заявкой при исполнении транзакции или общие события относящиеся к программе
В редакторе можно использовать дополнительно блок "Событие". На данном пересчете, если Пришло событие, блок отдаст true, данное значение можно использовать в алгоритме. Если в одном агенте приходит сразу много* событий, осуществляется одиночный пересчет.
*Сразу много - хардкод на 5мс. Т.е. если в течении 5мс произошло несколько событий, вызов пересчета будет одиночным.
В блоке можно выбрать событие из выпадающего списка.
Блок можно использовать в редакторе множество раз, блок подключается к источнику, отдает событие по инструменту.
Заявка отклонена
Брокер(или биржа) отклонил заявку
Заявка выполнена полностью
На рынке произошли сделки, удовлетворяющие весь запрошенный объем в заявке
Открытие позиции
Сигнал исполнен, программа получила номера: Транзакция, Заявка, Сделки. Все номера привязаны к сигналу агента через портфельный номер.
Закрытие позиции
Сигнал на закрытие позиции исполнен. Портфельный номер открытия позиции имеет исполненный портфельный номер закрытия позиции.
Изменение количества в заявке
В Агенте, на основном пересчете, скрипт рассчитал изменение количества лотов, которое отличается от предыдущего.(частичное исполнение)
Торговля начата
Пришел статус с биржи, что торги открыты. Чаще всего в программе используется первая сделка рынка. Т.е. начало торговли определяется первой котировкой текущего дня. Так-как почти всегда это быстрее, чем статус торгов, который присылает биржа по инструменту.
Торговля остановлена
Пришел статус с биржи, что торги остановлены.
Заявка отменена
На пересчете агента, скрипт рассчитал, что сигнала нет, заявку необходимо отменить. Программа подает брокеру команду. Данное событие является результатом ответа от брокера "Заявка отменена".
Ограничение претрейда
Сработал один из фильтров Управления рисками. Торговля-Управление рисками.