Преобразование собственной ссылающейся переменной в Pinescript версии 2 на Python - PullRequest
0 голосов
/ 05 марта 2019

Я пытался переписать некоторые индикаторы pinescript в скрипты Python, но не смог понять, как работать с переменными, ссылающимися на себя.

Оригинальный Pinescript:

    ld=input(34, title="Signal Length")
osl=10 
calc_abssio( ) =>
    A=iff(close>close[1], nz(A[1])+(close/close[1])-1,nz(A[1]))
    M=iff(close==close[1], nz(M[1])+1.0/osl,nz(M[1]))
    D=iff(close<close[1], nz(D[1])+(close[1]/close)-1,nz(D[1]))
    iff (D+M/2==0, 1, 1-1/(1+(A+M/2)/(D+M/2)))

abssi=calc_abssio()
abssio = (abssi - ema(abssi,lma))
alp=2.0/(ld+1)
mt=alp*abssio+(1-alp)*nz(mt[1])
ut=alp*mt+(1-alp)*nz(ut[1])
s=((2-alp)*mt-ut)/(1-alp)
d=abssio-s

Моя первоначальная мысль состоит в том, чтобы инициализировать ряд панд нулями, а затем сместить во время самостоятельной ссылки в следующей строке.

Пример:

df = stock_data
A = pd.Series(0, index=df.close.index)
A = A.shift(1) + df.close/df.close.shift(1)-1 if df.close > df.close.shift(1) else A.shift(1)

Когда я это делаю, получаются вычисления для pythonне подходить для этого с Pinescript.Будет ли лучший способ перевести это?

...