бегло пробежался.
1) непонятно ваше пристрастие к использованию кубиков в своих кубиков. Если у вас есть константа нафиг создавать кубик константы и потом его запускать чтобы чтото расчитать? Имхо половину кода надо просто взять и выбросить чтобы стало читабельно.
2) тормозит потому что у вас в торговом цикле на каждой итерации запускается ваш кубик который опять по всем свечкам пробегается. Отсюда и тормоза как мне видится. Либо делайте кубик по последовательной схеме где прошлые расчеты кэшируются, либо чето еще придумывайте. Как кэшировать прошлые расчеты смотрите в адаптивных индикаторах.
_________________________
__