Работа агента и особые ситуации
Окно "Позиции" является ключевым в оценке текущих позиций. Кратковременное расхождение (секунды) информации в окне "Позиции" и остальных окнах как правило не сигнализирует о возникновении особой ситуации. Постоянное расхождение информации в окне "Позиции" и окне "Управления агентами" сигнализирует о возникновении особой ситуации (ОС).
Возможные причины ОС и способы их парирования/устранения
1️⃣ В окне "Позиции" 0 (нет открытых позиций), но агент ведет открытую позицию. Причина - ручное закрытие позиции. Для решения проблемы есть два варианта:
Остановить Агент. Задать агенту новое торговое имя. Управление агентами - кнопка АН -Торговое имя. Запустить агент.
Остановить Агент. В менеджере заявок выделить заявку, с помощью которой был произведен выход из позиции. Нажать кнопку Перенести. Подвязать заявку к этому агенту и наименованию сигнала. Запустить агент.
2️⃣ Агент сигнализирует о двойном выходе из позиции соответствующим сообщением в журнале сообщений. Автоматическое исполнение торговых команд, генерируемых агентом, останавливается. Причиной данной ситуации может являться сбой внутри программы, либо на сервере брокера. Для решения проблемы есть два варианта:
Необходимо остановить агент, скорректировать позицию к расчетной вручную. Изменить торговое имя и запустить торговлю заново. Торговля начнется "с чистого листа".
В Управлении агентами, выделив агента, нажать кнопку "Забыть текущие торговые ошибки".
3️⃣ Появление системного сообщения "Нет свечи для привязки заявки номер №№№№" в журнале системных сообщений. Данное сообщение вызвано совершением сделки на незакрытой свече. Особой ситуацией данное сообщение не является и специальных действий не требует. Генерация данного сообщения прекратится по закрытию свечи. До закрытия свечи генерация торговых сигналов прекращается для избегания сбоев.
4️⃣ Сообщение: "Пропущен сигнал выхода "имя сигнала" из позиции для заявки №№№№". Требуется вмешательство через "Менеджер команд". Данное сообщение появляется в случае перерыва в работе агента, в течении которого должен был быть осуществлен выход из позиции. Для осуществления ручного выхода из позиции, в окне "Менеджер команд" необходимо выполнить команду "выполнить", находящуюся в контекстном меню, вызываемом по нажатию правой кнопки мыши на строке с соответствующей командой. Заявка станет активной, после этого дождаться исполнения или нажать кнопку "Выполнить по рынку".
5️⃣ Сообщение "Не могу создать заявку с нулевым количеством". Данное сообщение вызвано нехваткой средств, делегированных под управление агента и доступная сумма денег меньше цены одного лота/контракта по инструменту. Данное сообщение может означать прекращение поступления информации от брокера о состоянии счета(Например, при поломке конфигурации QuikDDE)
6️⃣ Особая ситуация пропуска открытия позиции вследствие перерыва в исполнении агента, либо при его начальном запуске. Данная ситуация не генерирует сообщений. В окне "Менеджера команд" генерируется команда на исполнение пропущенного сигнала с отключенным флагом автоматического исполнения. Пользователь должен принять самостоятельное решение об исполнении входа в позицию через контекстное меню данной команды, доступное по нажатию правой кнопки мыши, либо о его пропуске. В случае неисполнения вручную, команда будет удалена в момент наступления расчетного выхода из позиции или при окончании действия "Виртуальная позиция, баров" в Торговых настройках агента. До выхода из позиции, на графике будет отображаться наличие виртуальной позиции, моделирующее ведение ее агентом, цвет виртуальных позиций желтый.
Влияние настроек проскальзывания
Нулевое, либо существенно малое значение проскальзывания, часто осложняет исполнение заявки от частичного исполнения и до полного её неисполнения. Как результат заявка остается активной до следующего цикла пересчета агента и, как следствие, будет отменена (См. особую ситуацию №6). В случае частичного исполнения заявки позиция будет рассчитываться в объеме данного частичного исполнения.
При наличии настройки проскальзывания отличной от нулевой, цена входа в позицию может отличаться от расчетной. Стратегии ведения позиции, чувствительные к таким различиям, должны принимать во внимание такую возможность. Также, необходимо принять во внимание, что моделируемое в лаборатории и фактическое поведение агента могут отличаться вследствие возникновения такой разницы.
Что означает сообщение «Цена сделки вне лимита»?
Стоп не сработал, хотя в "Менеджере команд" напротив заявки стоят галочки "вход", "разрешено", "выполнено". Это сообщение означает, что цена ниже или выше коридора торгов по фьючерсу(планки рынка). Такие заявки биржа не принимает. Необходимо дождаться расширения коридора или уменьшить проскальзывание или изменить скрипт таким образом, чтобы цены попадали в "планки" рынка.
Сообщение "Нет Сигнала"
Эта ситуация возникает, когда есть открытая позиция, но сигнала на закрытие нет (и в скрипте нет условных заявок на закрытие). В таком случае программа сама создает сигнал (без отметки разрешено), по которому позицию можно в любой момент закрыть вручную.
Сообщение "Пересчет прошел с разницей в {N} баров (норма 1 бар). Возможны пропуски сигналов."
Означает, что с прошлого пересчета разница больше, чем на 1 бар. Это случается на коротких интервалах (секунды) в случае плохого соединения или задержек со стороны сервера. На тиковых интервалах сообщение не выдается. Сообщение может возникать при подключении к серверу, на загрузке пропущенных данных. Получение данных может зависеть от настроек брандмауэра и антивируса.(Настройка, отвечающая за проверку интернет данных в режиме реального времени).
Аварийное завершение программы
Если в процессе торгов приходится вынуждено перезапускать программу после ее нештатного завершения, то, прежде, чем производить соединение с сервером, необходимо остановить все агенты в окне "Управление агентами", соединиться с сервером, и только после того, как программа подгрузит все потерянные исторические данные, запустить агенты. Если в управлении скриптами включено расписание подключения к поставщику данных, то заблаговременно убедитесь, что включена настройка "Блокировать заявки, сек". Перед запуском агентов, желательно открыть менеджер заявок и снять все заявки по инструментам, с которыми работают агенты. Менеджер заявок удобно открывать из окна "Свои заявки" или окна Котировки(котировки должны быть заблаговременно настроены), по правой кнопке из контекстного меню. В момент внештатного завершения программы(например при выключении из диспетчера задач windows) программа не может записать накопленный кеш из оперативной памяти в файлы, таким образом могут потеряться как кешевые данные торгов на рынке(тики), так и данные о своих сделках и заявках.
Нехватка памяти
Для уменьшения потребления оперативной памяти рекомендуется устанавливать ограничение "МаксБаров" в свойствах скрипта при работе в агентах или с установленным флагом "Обновлять в режиме реал.времени"., в режиме Лаборатории
Last updated