Там всё не так просто. Индикатор в рекурсивном режиме сам определяет необходимое для его работы количество баров и вмешиваться в этот процесс было бы нежелательно - откуда мы знаем, какой минимум баров ему нужен для корректного построения? Рекурсивность приводит к тому, что на каждом тике индикатор вызывает сам себя 4(!) раза для получения количества баров, что излишне, т.к. оно меняется только при открытии новых баров. Плюс к тому на каждом тике 8(!) раз вызывается функция iFractals(). Отсюда и торможение.
Поэтому пока что я убрал потиковые рекурсивные вызовы, сделав их побарными. Проверяйте. Если эффекта не будет, посмотрим, что ещё можно сделать.