私は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に変換する方法を知りたいのです。
ありがとうございました!次に、最初に各行のX値を格納する必要がありますか?私が混乱しているのは、各行のX値が前の行のX値に依存しているということです。 – maynull
変換するアルゴリズムに慣れていませんが、 "値"というリストを作成することですvalues = [])、次にあなたのコードでX = ...その行の後にvalues.append(X)を実行すると、値リストにXが格納され、後で値[0]を使ってアクセスできます。 – Artuki
それは役に立ちますか?ハハ。 – Artuki