(小幫手已回答,我還沒測試驗證) 如何在警示腳本裡面回測"累加過去60天的成交量"而不發生逾時錯誤?答案:會發生的逾時的股票都是"2017"尚未上市的股票

  •   163 
  • 最後發表   Sadless  2020 十月 27
Sadless 發文於   2020/10/15

如題,我寫了一個測試用的警示腳本如附檔:

[不知道為甚麼字數超過6000字,無法將程式碼放在文字內容裡面。]

 

 為了避免 for 迴圈造成的逾時問題,我把所有的陣列元素攤開來寫,而不使用for迴圈。

這個運算很簡單,只是單純取得成交量的資料而已,還沒有進行運算,就會發生這麼多逾時的錯誤。

請問小幫手,是甚麼原因呢?要怎麼處理呢?感謝。

 

 測試結果如下: 

附加文件

排序方式: 標準 | 最新
Sadless 發文於   2020/10/15

我測試了這個組合,測試時間長度為最近三年:

2017/10/08 - 2020/10/08 (1分鐘資料台股上市櫃類股-普通股全部(組合1588(成功)123(失敗)

全部都是逾時失敗。

Sadless 發文於   2020/10/15

我也測試了比較少的組合,測試時間長度為最近三年:

2017/10/08 - 2020/10/08 (1分鐘資料台股上市櫃類股-半導體(組合141(成功)10(失敗)

全部都是逾時失敗,其實只是測試對象的數量變少,但是失敗的比例數量並沒有變少。

Sadless 發文於   2020/10/15

我也測試了比較短的時間長度,測試時間長度為最近三年:

2019/10/14 - 2020/10/14 (1分鐘資料台股上市櫃類股-普通股全部(組合1685(成功)27(失敗)

全部都是逾時失敗,但是只有失敗的比例數量有變少,因為失敗數並沒有變為027個失敗 x 分開的三年,依然會出現81個失敗。

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

Sadless 您好

我有幫您測試過了  確實看出會有結果不同的問題

此問題整理後會在洽詢開發人員

得出原因後會在告知您 感謝

FrankLi 發文於   2020/10/20

看來大家回測時都有碰到類似的問題

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

Sadless 您好

這個問題的原因在於 會發生的逾時的股票都是"2017"尚未上市的股票

ex日月光控2018/4/30 晶相光 2018/7 /16 等

而我們涵式運行的邏輯式  假設該天沒有資料 那就會以下一跟開始跑來重新計算

而三年以上的資料在一分k的情況下,

必須要跑bar 197910根

所以當這類股票發生沒資料,所以持續反覆計算到有資料那天時

那該股票就會超過2分鐘的計算限制

導致計算逾時

以上原因提供給您參考 感謝

發表回覆
Close