В принципе, Вам уже всё ответили.

Подчеркну пару моментов:
1. Если есть возможность запускать 64-бита -- обязательно запускайте в этом режиме.
2. Все Ваши агенты оживают одновременно на границе минутной свечи. Это очевидно создаёт узкое место. Поэтому чем больше ядер -- тем лучше.
3. Чтобы определить факт того, что начался новый бар ТСЛаб использует новый пришедший трейд. Если трейда нет 5 секунд -- то новый бар начнется на 5 секунд позже ожидаемого.
Возможно, от этого можно уйти поигравшись с настройками скрипта. Например, запускать пересчет не только по трейдам, но и по котировкам.


Теперь насчет оптимизации индикаторов.
Если это какие-то тривиальные вычисления типа СМА, сделать там скорее всего ничего нельзя.
Но если это како-то самописный тяжелый индикатор, можно попытаться его ускорить, избегая повторного расчета на старых барах.

И ещё один вариант оптимизации можно получить, если все агенты используют один и тот же индикатор с одними и теми же параметрами. Тогда этот индикатор можно вычислять отдельно, а в самих торговых агентах использовать готовые значения.
Мы так считаем историческую волатильность для опционов.
Взаимодействие организуется через Глобальный Кеш.
_________________________
Скидка на опционной криптобирже Deribit:
https://www.deribit.com/reg-2200.8947?q=home
Да пребудет с вами Вола!