請教回測問題

  •   96 
  • 最後發表   mason  2023 三月 13
mason 發文於   2023/03/09

請問小幫手

我在一分鐘頻率想用1分鐘最高點大於日布林上軌*1.02 這樣寫對嗎?

兩種看起來寫法一樣但回測結果差很多請問是為什麼呢

第一種

//and highD(0) >= bollingerband(Closed(0), 22, 2.1) *1.02

 

 第二種

 //AND  highD(0) >=  bollingerband(GetField("收盤價","D")[0], 22, 2.1)*1.02

 

 

系統函數跟內建函數是否有一個回測是假的?

 

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

Hello mason,

 

因為 bollingerband(Closed(0), 22, 2.1) 這種寫法是計算近20分鐘的 CloseD(0),您可以理解成 closed(0)[1] 會是上一分鐘的 closeD(0)。

要計算日頻率布林通道上軌應該用 bollingerband(GetField("收盤價","D")[0], 22, 2.1) 這種寫法才對。

closed(N) 只是讓您方便取用前N期的日頻率收盤價,函數本身還是跟著執行頻率,如同變數一樣。

mason 發文於   2023/03/10

所以bollingerband(Closed(0), 22, 2.1)回測不會準對嗎

XQ小幫手 發文於   2023/03/13

 Hello mason,

 

正確來說,bollingerband(Closed(0), 22, 2.1) 計算出的不會是日頻率的布林通道,而是您的執行頻率(1分鐘)的布林通道,因為 closed(0)[N] 會是前N分鐘的收盤價。

您可以實際print出來觀看數值會比較好理解。

發表回覆
Close