想問一下小幫手

  •   96 
  • 最後發表   clanDX  2022 一月 21
clanDX 發文於   2022/01/18

不好意思,想請問一下小幫手~

我用XS選股策略選出歷年漲幅排行榜
資料讀取筆數設定為350筆數
但是當日期調整到2018~2019的時候
選出的股票是錯誤的
我推測是資料讀取筆數的問題
我嘗試改成700筆讀取,但執行時間過久會失敗
不知道是否解決辦法?還是其他問題造成的呢?
程式碼如下

再麻煩小幫手幫忙了~感謝您!

input:startdate(20201231,"計算起始日");
input:enddate(20211231,"計算結束日");
value1=getbaroffset(startdate);
value2=getbaroffset(enddate);
value3=Lowest(Close[value2], value1); 
value4=Highest(Close[value2], value1);

if value3<>0 then
value5=(value4/value3-1)*100;
input:ratio(100,"最小漲幅");
if value3*(1+ratio/100)<value4
then ret=1;

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/01/21

Hello clanDX,

 

您想的沒錯,資料讀取筆數會影響。

因為 getbaroffset 要有運算才會增加,您可以使用 print 或是 outputfield 來觀察 value1 和 value2 在不足或是足夠資料讀取筆數狀況下的差別。

您除了直接增長筆數外,也可以選擇開始日期(參考附圖)。

另外 value3 和 value4 的部分應該修改為:

value3=Lowest(Close[value2], value1 - value2); 

value4=Highest(Close[value2], value1 - value2);

這樣才會是檢查開始日期到結束日期間的筆數。

為了避免運算過久導致逾時,您可以使用 IsLastBar 來限制腳本只有在最新一筆時才會運算。

附上選股中心匯出檔供您參考。

附加文件

clanDX 發文於   2022/01/21

感謝小幫手~您太強啦!

發表回覆
Close