Окно "Позиции" является ключевым в оценке текущих позиций. Кратковременное расхождение (секунды) информации в окне "Позиции" и остальных окнах как правило не сигнализирует о возникновении особой ситуации. Постоянное расхождение информации в окне "Позиции" и окне "Управления агентами" сигнализирует о возникновении особой ситуации (ОС). 

Возможные причины ОС и способы их парирования/устранения 


1. В окне "Позиции" 0 (нет открытых позиций), но агент ведет открытую позицию. Причина - ручное закрытие позиции. Для решения проблемы необходимо остановить и переименовать агент, либо задать агенту новое торговое имя. 
2.Агент сигнализирует о двойном выходе из позиции соответствующим сообщением в журнале сообщений. Автоматическое исполнение торговых команд, генерируемых агентом, останавливается. Причиной данной ситуации может являться сбой внутри программы либо на сервере брокера. Для решения проблемы необходимо остановить агент, скорректировать позицию к расчетной вручную. Затем переименовать агент (либо изменить его торговое имя) и запустить торговлю заново. Торговля начнется "с чистого листа". 
3. Появление системного сообщения "Нет свечи для привязки заявки номер №№№№" в журнале системных сообщений. Данное сообщение вызвано совершением сделки на незакрытой свече. Особой ситуацией данное сообщение не является и специальных действий не требует. Генерация данного сообщения прекратится по закрытию свечи. До закрытия свечи генерация торговых сигналов прекращается для избегания сбоев. 
4. Сообщение: "Пропущен сигнал выхода "имя сигнала" из позиции для заявки №№№№". Требуется вмешательство через "Менеджер команд". Данное сообщение появляется в случае перерыва в работе агента, в течении которого должен был быть осуществлен выход из позиции. Для осуществления ручного выхода из позиции, в окне "Менеджер команд" необходимо выполнить команду "выполнить", находящуюся в контекстном меню, вызываемом по нажатию правой кнопки мыши на строке с соответствующей командой. 
5. Сообщение "Не могу создать заявку с нулевым количеством". Данное сообщение вызвано нехваткой средств, делегированных под управление агента и доступная сумма денег меньше цены одного лота/контракта по инструменту. 
6. Особая ситуация пропуска открытия позиции вследствие перерыва в исполнении агента, либо при его начальном запуске. Данная ситуация не генерирует сообщений. В окне "Менеджера команд" генерируется команда на исполнение пропущенного сигнала с отключенным флагом автоматического исполнения. Пользователь должен принять самостоятельное решение об исполнении входа в позицию через контекстное меню данной команды, доступное по нажатию правой кнопки мыши, либо о его пропуске. В случае неисполнения вручную, команда будет удалена в момент наступления расчетного выхода из позиции. До выхода из позиции на графике будет отображаться наличие виртуальной позиции, моделирующее ведение ее агентом, как если бы она была актуальна. 

Влияние настроек проскальзывания 


1. Нулевое, либо существенно малое значение проскальзывания, часто осложняет исполнение заявки от частичного исполнения и до полного её неисполнения. Как результат заявка остается активной до следующего цикла пересчета агента и, как следствие, будет отменена (См. особую ситуацию №6). В случае частичного исполнения заявки позиция будет рассчитываться в объеме данного частичного исполнения. 
2. При наличии настройки проскальзывания отличной от нулевой, цена входа в позицию может отличаться от расчетной. Стратегии ведения позиции, чувствительные к таким различиям, должны принимать во внимание такую возможность. Также, необходимо принять во внимание, что моделируемое в лаборатории и фактическое поведение агента могут отличаться вследствие возникновения такой разницы. 

Что означает сообщение «Цена сделки вне лимита»? 


Стоп не сработал, хотя в "Менеджере команд" напротив заявки стоят галочки "вход", "разрешено", "выполнено". Это сообщение от Транзака означает, что цена ниже или выше коридора торгов по фьючерсу. Такие заявки биржа не принимает. Необходимо дождаться расширения коридора. 

Сообщение "Нет Сигнала" 


Эта ситуация возникает, когда есть открытая позиция, но сигнала на закрытие нет (и в скрипте нет условных заявок на закрытие). В таком случае программа сама создает сигнал (без отметки разрешено), по которому позицию можно в любой момент закрыть вручную. 

Сообщение "Пересчет прошел с разницей в {0} баров (норма 1 бар). Возможны пропуски сигналов." 


Означает, что с прошлого пересчета разница больше, чем на 1 бар. Это случается на коротких интервалах (секунды) в случае плохого соединения или задержек со стороны сервера. На тиковых интервалах сообщение не выдается. 

Аварийное завершение программы 


Если в процессе торгов приходится вынуждено перезапускать программу после ее нештатного завершения, то, прежде, чем производить соединение с сервером, необходимо остановить все агенты в окне "Управление агентами", соединиться и запустить агенты, только после того, как программа подгрузит все потерянные исторические данные. 

Нехватка памяти 


При оптимизации и торговле может возникать такая ошибка, особенно если оптимизировать длинные (сотни тысяч баров) истории. Такая ошибка возникает даже на компьютерах с большим количеством оперативной памяти. Это связано с тем, что в 32-битной версии максимальный объем памяти доступный процессу равен 2 Гбайт. В реальности этот объем еще меньше, из-за явления называемого" фрагментация памяти". Обычно ошибка начинает появлятся после выделения 1,1-1,2 Гбайт.Чтобы задействовать больше памяти и оптимизировать на больших историях, нужно переходить на 64-битную версию программы. В ней нет никаких ограничений памяти и эта ошибка не появляется.Однако в 64-битной версии нельзя подключиться к серверам брокеров, т.к. они предоставляют свои API, работающие только в 32-битной версии. Исключение, на текущий момент, составляют брокеры "Алор" и "РикомТраст". Коннекторы к этим брокерам работают в 64-битной версии без ограничений. Коннекторы "Финам", "Смартком" и "Нетинвестор" позволяют только пользоваться накопленным кешем данных без подключения к серверу.

Comments

    Add new comment