XS 回測問題

  •   113 
  • 最後發表   VicHuang  2023 六月 12
VicHuang 發文於   2023/06/10

var:Sflag(0); if // Sflag<1 //只跳N次訊號

currenttime=090100

and closeD(1)-openD(1)<=0 // 前一天為黑K

and callfunction("10MA")[1]>callfunction("10MA")[2] // 10MA向上

and callfunction("20MA")[1]>callfunction("20MA")[2] // 20MA向上

and closeD(1) < callfunction("5MA")[1] //前一天收在5MA下方

and openD(0) > closeD(1) // 今天開在盤上

and openD(0) > callfunction("5MA")[1] // 今天開在昨日5MA上方

then begin ret = 1; //Sflag += 1; end;

 

下去執行回測,

參數的設定如下

但跑出來的結果,滿多前一天都沒有收在5MA下方?

想請問問題是出在?

XQ小幫手 發文於   2023/06/12

Hello VicHuang,

 

由於您腳本中有使用到 5MA、10MA、20MA 等自訂函數,所以小幫手無法確定。

且 callfunction("5MA")[1] 會是執行頻率前一根Bar運算出來的數值 (1分鐘頻率的話就會是上1分鐘),而不是前一天的數值。

變數要跨頻率取值可參考 xfMin_GetValue 函數。

 

另外,您圖片中回測使用的是1分鐘頻率,而截圖中是使用日頻率的線圖。

建議您可以將相關數值印出檢查,會比較容易理解問題原因。

發表回覆
Close