#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, но я всегда получаю совершенно разные результаты или даже наоборот.
Итак, мой вопрос в том, что я здесь делаю не так? Как я могу пройти через это?
Спасибо!