Ошибка смещения linreg встроенной функции скрипта Pine (не удается вызвать смещение=ряд[целое число], аргументы должны быть целыми)

#pine-script

Вопрос:

Я хочу динамически использовать linreg с пользовательскими аргументами смещения и длины. Но это приводит к досадной ошибке (см. Ниже). Для простоты этот код, создающий переменную длину и смещение

 float ma50          = sma(close, 50)
float ma100         = sma(close, 100)
float ma200         = sma(close, 200)
bool  ma50Cross100  = cross(ma50, ma100)
int   ma50Cross100B = min(1000, nz(barssince(ma50Cross100)))
bool  ma50Cross200  = cross(ma50, ma200)
int   ma50Cross200B = min(1000, nz(barssince(ma50Cross200)))

mf = mfi(hlc3, 60)
linreg(mfi, ma50Cross200B, ma50Cross100B)`
 

Это должно рассчитать линейную регрессию с момента последнего пересечения 50 МА 100 МА до последнего пересечения 50 МА 200 МА. Должен… вот результат;

Cannot call 'linreg' with 'offset'=series[integer]. The argument should be of type: integer;

Я попытался написать свою собственную функцию linreg, посмотрев вокруг на stackoverflow, но я всегда получаю совершенно разные результаты или даже наоборот.

Итак, мой вопрос в том, что я здесь делаю не так? Как я могу пройти через это?

Спасибо!