Почему вы думаете, что для l oop медленный и почему он не подходит для Amibroker? Amibroker не хватало этой возможности, и она была добавлена, чтобы вы могли лучше контролировать массивы, как вы делаете в своем коде. Альтернатива была намного сложнее из того, что я понимаю. Это было до моего времени с amibroker, хотя. Но если вы хотите что-то, что выглядит красиво, попробуйте это.
BB_Initial = true; // Your initial BB array.
BB = IIF(BarsSince(Ref(AA, 8)) <= 8, false, BB_Initial);
Но разбейте это на каждый шаг
BB_Initial = true; // Your initial BB array.
BB_Ref = Ref(AA, 8);
BB_BarsSince = BarsSince(BB_Ref);
BB_IIfCondition = BarsSince(BB_BarsSince) <= 8;
BB = IIf(BB_IIfCondition, false, BB_Initial);
Это пять массивов для ваших двух. Но я не могу сказать вам, насколько эффективно Amibroker обрабатывает этот синтаксис для того, что вы делаете. Надеюсь, поможет.