我加入大盤大於均線(60)的濾網,請問為何商品會有500個失敗?

  •   184 
  • 最後發表   大E  2020 四月 15
大E 發文於   2020/04/07

我加入大盤大於均線(60)的濾網,請問為何商品會有500個失敗?    而我用大盤大於均線(20)的濾網,商品都可以成功回測,請問如何解決前面問題?   附圖有我的程式碼,謝謝

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/04/07

Hi 大E

您好,建議您提供回測報告檔案(*.BTReport),請點選回測左上方的儲存

或者提供一個測試用的策略雷達檔案給小幫手

小幫手會比較好確認您的問題喔。

目前小幫手先行使用以下語法去跑全部商品,不過目前沒有遇見相同的問題

if average(GetSymbolField("TSE.TW","收盤價"),60)<GetSymbolField("TSE.TW","收盤價") then ret=1;

如果您不方便上傳的話,請您將相關資料,並附上此討論串連結,最後 Mail 至 XQservice@XQ.com.tw,謝謝。

大E 發文於   2020/04/09

以上是我測試的結果 有1500個商品失敗,再麻煩幫我解答 謝謝

XQ小幫手 發文於   2020/04/10

Hi 大E

小幫手有模擬出您的狀況,目前正在向相關人員詢問狀況

請您稍作等待,若有查明問題會再告知您,謝謝^^

大E 發文於   2020/04/13

好的 謝謝

XQ小幫手 發文於   2020/04/13

Hi 大E

小幫手與相關人員共同測試了一段時間,結論如下

為了不超過系統負荷,系統是有預設執行回測超過五分鐘,後續會因為逾時無法繼續作業

您可以在回測報告的"失敗",點選查看錯誤訊息。

我們有幫您簡化了腳本,但是還是跑10年的還原日資料,上市櫃商品仍然不夠
要請您減少商品,亦或者是減少年數,以上說明,謝謝。

input:Ma_Length(60); 
value1=average(close,Ma_Length); 
value2=getsymbolfield("tse.tw","close"); 
value3=average(getsymbolfield("tse.tw","close"),60); 
condition1 = close cross over value1; 
condition2= value2>value3; 

if condition1 and condition2 then  
ret=1;

大E 發文於   2020/04/13

好的  我在嘗試看看 謝謝小幫手

大E 發文於   2020/04/13

你好 我十年改兩個5年回測,20150101-20200413這一個都正常只有一個失敗,而20100101-20151231這一個有很多個失敗97個失敗,請問這是什麼原因呢?   附件中有程式碼

XQ小幫手 發文於   2020/04/15

Hi 大E

您好,只要逾時超過五分鐘,就視為超過運算量因此暫停。

因此仍建議您再縮小範圍,謝謝。

發表回覆
Close