average的用法

  •   499 
  • 最後發表   funleica  2022 三月 25
funleica 發文於   2022/03/11

請問小幫手, 在一個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;

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/03/14

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相關數值出來觀察即可得知。

funleica 發文於   2022/03/25

謝謝小幫手詳細的回覆

發表回覆
Close