簡單均線買賣訊號回測問題

  •   321 
  • 最後發表   liu_test  2025 五月 13
liu_test 發文於   2025/05/08

 

if Position = 0

and closeD(0) cross Above average(closeD(0),20) 
then setposition(1,market);



if Position = 1
and closeD(0) cross Below average(closeD(0),20) 
then setposition(0,market);

 

我想簡單測試一個均線買賣訊號,使用自動交易中心回測,1/8為何會進場呢?

有想過資料讀取筆數問題,或是權值還原問題,測試後還是一樣都會進場

想請教一下是我寫法有問題還是有其他原因,謝謝



排序方式: 標準 | 最新
虎科大許教授 發文於   2025/05/08

(1)計算平均,最好不要用closeD(0),應改為average(getField("Close","D"),20)。你使用日頻率,計算不會有問題,但若用分鐘頻率,就會有計算的邏輯錯誤。

(2)1/8盤中有出現黃金交叉,所以會進場。

liu_test 發文於   2025/05/13

謝謝許教授提點!


想再請教您,如果想做到收盤後再計算均線,並隔天開盤再進場的話並回測數據,應該如何撰寫比較好呢
再麻煩您解惑,謝謝

虎科大許教授 發文於   2025/05/13

在每根K棒的第一個Tick判斷前一根K的數據。相關問題很多人在論壇問過了,爬文一下。

發表回覆
Close