寫法改變 但意義一樣 結果卻不同

  •   47 
  • 最後發表   RS168  2024 三月 04
RS168 發文於   2024/02/10

A:

input: lowprice(30,"現股價小於"), capital(10,"股本小於"); 

condition3 = C < lowprice and getfield("股本(億)", "D") <= capital; 

condition4 = average(C, 100) > average(C, 300); 

 if condition3 and condition4 then 

ret = 1; 

===================

B:

input: lowprice(30,"現股價小於"), capital(10,"股本小於"); 

 value2=Getfield("收盤價", "D");

 

condition3 = value2 < lowprice and getfield("股本(億)", "D") <= capital; 

condition4 = average(value2, 100) > average(value2, 300); 

 if  condition3 and condition4 then 

ret = 1; 

 

請問這樣跑出來的回測結果為何會不同??

謝謝

XQ小幫手 發文於   2024/03/04

Hello, RS168.

應該是您都用預設的資料讀取筆數10筆,使用B的寫法,資料讀取筆數要達到300,

再者,用A的方法比較好,如果資料長度不足,會被剃除掉,

https://www.xq.com.tw/lesson/xspractice/%E8%B3%87%E6%96%99%E8%AE%80%E5%8F%96%E7%AF%84%E5%9C%8D%E8%88%87%E8%85%B3%E6%9C%AC%E5%9F%B7%E8%A1%8C%E7%9A%84%E9%97%9C%E4%BF%82/

 

謝謝。

發表回覆
Close