我用此公式
Value3=average(close,60);
condition3=absvalue((CLOSE-Value3)/Value3)*100<=13
搜尋月資料找不出2022年初股價在月線圖季線附近的臻鼎-KY(4958)
再麻煩小編 謝謝
我用此公式
Value3=average(close,60);
condition3=absvalue((CLOSE-Value3)/Value3)*100<=13
搜尋月資料找不出2022年初股價在月線圖季線附近的臻鼎-KY(4958)
再麻煩小編 謝謝
我的目的是我不想分三次搜尋股價在月線圖 季線 年線 半年線附近的股票 我想一次搜尋 可是會搜尋不到臻鼎-KY(4958)
我的整個腳本如下
SetTotalBar(300);
Value1=average(close,120);
condition1=absvalue((CLOSE-Value1)/Value1)*100<=13 ;
Value2=average(close,240);
condition2=absvalue((CLOSE-Value2)/Value2)*100<=13 ;
Value3=average(close,60);
condition3=absvalue((CLOSE-Value3)/Value3)*100<=13 ;
if close<=300
and (condition1 or condition2 or condition3)
then ret=1;
搜尋結果 回測執行商品一直告訴我1014失敗 選股策略執行錯誤
但是分三次搜尋可以是哪裡有問題?
還有請教我想要搜尋出來的時候告訴我是用哪個條件腳本該怎麼寫?謝謝
Hello ozoc,
小幫手這邊測試沒有發生您所說的狀況,推測可能是因為計算筆數太多,導致策略逾時。
建議您並不需要用到這麼長的 SetTotalBar,只要使用預設的10筆就可以正常運行。
選股系統預設就會取出所有資料,只有需要使用前期值的指標才需要更長的運算。
需注意若公司上市櫃不久,資料長度不足的話一樣會顯示錯誤。
另外,如果您想要看到是哪個condition符合的話,可以使用outputfield來輸出資訊。
舉例來說:
outputField1(condition1);
outputField2(condition2);
outputField3(condition3);
就會分別顯示條件是符合(1)或否(0)。
對了
我有寫一個股價在5.10.20日均線的 SetTotalBar設很長也都搜尋正常
條件比上面複雜也ok
我改成60.120.240就開始無法搜尋
我後來一條一條刪掉回測 才回測出來的
Hello ozoc,
您上面提供的回測執行頻率是月,如果腳本是如同上述有計算到 average(close, 240) 的話,那麼必須要該股票有 240 個月的資料 (20年) 才能計算出來。
這樣的話錯誤原因很簡單,因為資料長度不夠。(參考附圖)
您可以用 GetFieldStartOffset 來確認該欄位的歷史資料長度。
這系統應該自行排除的不該顯示的錯誤
而不是叫使用者自己辨識
Hello ozoc,
能夠看到錯誤訊息,才能夠知道如何修改腳本成自己需要的樣子。
舉例來說,使用者知道了原因為資料讀取筆數不足,可以修改腳本,讓歷史資料長度不足的商品只計算較短的均線條件。
或許您可以解釋得更清楚,系統應該如何幫您處理這些錯誤,讓小幫手將建議轉告給相關人員作參考。
系統是設計給使用者使用的
月線圖因為上市櫃公司經營時間不夠長
篩不出股票是很正常的
選股執行錯誤卻誤導我讓我這個使用者認為我程式語法有誤 不斷反覆檢查程式語法
Hello ozoc,
小幫手會將您的意見轉告相關人員作參考。
感謝。
9 評論