2016-12-19 1 views
1

私はtradingviewスクリプトコードをPythonに変換しようとしていますが、私はこの演算子を理解できません。私はtradingviewスクリプトをPythonに変換しようとしています。誰かが[]演算子の意味を知っていますか?

https://www.tradingview.com/script/Q0eQz7ll-Fisher-Transform-Indicator-by-Ehlers-Strategy/

Length = input(10, minval=1) 
xHL2 = hl2 
xMaxH = highest(xHL2, Length) 
xMinL = lowest(xHL2,Length) 
nValue1 = 0.33 * 2 * ((xHL2 - xMinL)/(xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1]) 
nValue2 = iff(nValue1 > .99, .999, 
     iff(nValue1 < -.99, -.999, nValue1)) 
nFish = 0.5 * log((1 + nValue2)/(1 - nValue2)) + 0.5 * nz(nFish[1]) 
pos = iff(nFish > nz(nFish[1]), 1, 
     iff(nFish < nz(nFish[1]), -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue) 
plot(nFish, color=green, title="Fisher") 
plot(nz(nFish[1]), color=red, title="Trigger") 

私は理解していない式(nFish [1])と(nValue1 [1])の部分からなります。

スクリプトのマニュアル(https://www.tradingview.com/study-script-reference/#op_[])には、シリーズの添え字で、シリーズの以前の値にアクセスできると記載されています。

私は以下のようなデータフレームを使ってスクリプトコードをPythonに変換しようとしましたが、(nFish [1])と(nValue1 [1])の部分をどのように翻訳するかわかりません。

     Date Open High Low Close 
37821 2016/10/13 18:10:00 50.31 50.31 50.27 50.28 
37822 2016/10/13 18:09:00 50.30 50.31 50.29 50.31 
37823 2016/10/13 18:08:00 50.31 50.31 50.30 50.31 
37824 2016/10/13 18:07:00 50.34 50.34 50.31 50.32 
37825 2016/10/13 18:06:00 50.37 50.37 50.35 50.35 
37826 2016/10/13 18:05:00 50.35 50.37 50.34 50.37 
37827 2016/10/13 18:04:00 50.39 50.39 50.35 50.35 


for x in range(len(df)): 
    Pt = (df.iloc[x,2] + df.iloc[x,3])/2.0 
    MaxH = df.iloc[x:x+9, 2].max()    
    MinL = df.iloc[x:x+9, 3].min()   

    X = 0.33 * 2.0 * ((Pt - MinL)/(MaxH - MinL) - 0.5) * 0.67 * X[1] # ????? 

私は、最初のスクリプトでは、角括弧の意味を知りたいのですが、それが可能だ場合、私は、Pythonに変換する方法を知りたいのです。

答えて

1

x = []のような変数がある場合、その変数はリストや配列(技術的にはPythonのリストと呼ばれます)に設定されているので、値をx = [1,2,3]などに格納できます。

その後、x[0]を実行することで、これらの値をプログラムで取得できます.0はリストの最初の項目です。

編集:この場合、x[0]はリストの最初の項目と同じ1になります。

+0

ありがとうございました!次に、最初に各行のX値を格納する必要がありますか?私が混乱しているのは、各行のX値が前の行のX値に依存しているということです。 – maynull

+0

変換するアルゴリズムに慣れていませんが、 "値"というリストを作成することですvalues = [])、次にあなたのコードでX = ...その行の後にvalues.append(X)を実行すると、値リストにXが格納され、後で値[0]を使ってアクセスできます。 – Artuki

+0

それは役に立ちますか?ハハ。 – Artuki

関連する問題