請問小幫手
我在一分鐘頻率想用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
系統函數跟內建函數是否有一個回測是假的?
請問小幫手
我在一分鐘頻率想用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
系統函數跟內建函數是否有一個回測是假的?
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期的日頻率收盤價,函數本身還是跟著執行頻率,如同變數一樣。
所以bollingerband(Closed(0), 22, 2.1)回測不會準對嗎
Hello mason,
正確來說,bollingerband(Closed(0), 22, 2.1) 計算出的不會是日頻率的布林通道,而是您的執行頻率(1分鐘)的布林通道,因為 closed(0)[N] 會是前N分鐘的收盤價。
您可以實際print出來觀看數值會比較好理解。
3 評論