Использование функции корреляции с параметром длины Dynami c - PullRequest
0 голосов
/ 16 февраля 2020

Моя голова взорвется из-за этого вопроса. Вот случай: у меня есть переменная с плавающей запятой barCount, которая меняется со временем, и я хочу использовать ее значение в качестве параметра третьей длины для встроенной корреляционной функции.

(надеюсь, она работает примерно так this: cc := correlation(close, barCount, int(barCount)))

Но проблема в Pine, кажется, нет никакого способа извлечь целое число из ряда, который действительно застрял в этой, казалось бы, элементарной проблеме.

Я пытался например, в нескольких других методах я попытался написать ряд условий if для сравнения barCount с разными целыми числами, а затем вручную установить третий параметр в соответствии с результатами сравнения. Однако я не знаю, почему корреляция не работала должным образом и дала значение. В некоторых случаях я даже вижу, что эта функция дает результаты, которые были больше 1!

Я полностью запутался в этой проблеме, так как я не очень знаком с языком Pine, я надеюсь, что кто-нибудь может помочь мне решить эту надоедливую проблему.

1 Ответ

1 голос
/ 16 февраля 2020

См. Этот набор функций, взятый из Функции, разрешающие серию по длине - FAQ по PineCoders :

Sma(src,p) => a = cum(src), (a - a[max(p,0)])/max(p,0)
Stdev(src,p) => p == 1 ? 0 : sqrt(Sma(src*src,p) - pow(Sma(src,p),2))
Covariance(x,y,p) => Sma(x*y,p) - Sma(x,p)*Sma(y,p)
Correlation(x,y,p) => Covariance(x,y,p)/(Stdev(x,p)*Stdev(y,p))
...