В свойстве ctx.Runtime.LastRecalcReasons содержатся список причин пересчета скрипта. Их может быть несколько.
Пример как получить причину пересчета скрипта (выводится в лог):
Пример как получить событие открытия позиции (выводится в лог):
В настройках агента должна быть включена галочка События -> Открытие позиции, тогда скрипт будет пересчитываться при открытии позиции. Все возможные события перечислены в enum EventKind.