請問小幫手, 在一個5分鐘頻率的腳本中, 以下兩個寫法的差別是什麼? 謝謝
//條件: 日K短均線向上
if average(closeD(1),5) > average(closeD(1),10) then condition4=true;
if average(GetField("Close","D")[1],5) > average(GetField("Close","D")[1],10)=true;
請問小幫手, 在一個5分鐘頻率的腳本中, 以下兩個寫法的差別是什麼? 謝謝
//條件: 日K短均線向上
if average(closeD(1),5) > average(closeD(1),10) then condition4=true;
if average(GetField("Close","D")[1],5) > average(GetField("Close","D")[1],10)=true;
Hello funleica,
closeD是可以取得往前指定N天的收盤價資訊。
但average在計算時是用 [] 的方式加總其前期值。
closeD[1] 會是上一根Bar 執行 closeD(1) 的結果,如果上一根Bar是同一天的話,那麼 closeD(1)[1] 都一樣是取到昨天的資訊。
GetField("Close","D")[1] 則是會取到昨天的資訊, GetField("Close","D")[1][1] 跟 GetField("Close","D")[2] 都會是取到前天的資訊。
所以若您要的是前五天的收盤價平均,那麼應該用 average(GetField("Close","D")[1],5) 才對。
您可以實際在指標上畫出或是print相關數值出來觀察即可得知。
謝謝小幫手詳細的回覆
2 評論