跨頻率問題

  •   468 
  • 最後發表   桃園89  2024 九月 19
桃園89 發文於   2024/09/12

您好,
使用1分K策略執行時拿到的日資料與使用日K策略時拿到的日資料不相同.

下圖為使用日K執行的程式碼, 單純拿成交量.

日K策略

在20240904這天拿到的vol_d = 9691

日K資料

下圖為1分K策略的程式碼:

有使用跨頻率函式去獲取日成交量的資訊.

1分K策略

在20240905 90100這個時間點, 可以正確抓到日頻率(20240904)的成交量.
但是20240905 90200這個時間點, 拿到的卻是日頻率20240903的值: 2388.

1分K資料

 

我的問題如下:

1. 請問不是應該在1分K策略中, 20240905拿到的值都要是日K 20240904的資料嗎?

2. 請問要如何在1分K策略中, 去計算日K成交量的五日簡單平均呢? 以上圖1分K資料來看, 即便先使用跨頻率函式取得日頻率資料, 在計算簡單平均時還是會使用當前加上前面4筆的1分K資料去計算.

3. 請問為何在1分K策略中, 每日印出來的資料只到93800(請看1分K資料圖20240904 93800下一筆就變成20240905 90000)?

感謝!

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/09/12

1.在1分鐘頻率,跨頻率抓前一個交易日的成交量,用的是GetField("成交量","D")[1]。

2.在1分鐘頻率,跨頻率計算日成交量的五日平均:average(GetField("成交量","D"),5)。

3.這個問題應該是你沒有先刪除文字檔,而直接繼續執行程式所造成。先把該文字檔案刪除,重新執行程式看看。

桃園89 發文於   2024/09/12

Hi 虎科大許教授,
感謝你的回覆, 已嘗試修改.

下圖為1分K策略

1分K策略_0

修改之後日成交量確實如預期, 在當天1分K的任何時間點拿到的都是過去1日的成交量, 但是成交量的部分還是會與日K資料不相符(預期應該抓到20240904日K的資料: 3908.6, 請問還有哪邊需要修改嗎?
1分K資料_0

第三題的部分: 確實在刪除檔案之後就正常了! 感謝!

虎科大許教授 發文於   2024/09/12

商品是什麼?

桃園89 發文於   2024/09/12
虎科大許教授 發文於   2024/09/12

2497在9/4的成交量是9691,而非3908.6。3908.6是它的5日平均量。

虎科大許教授 發文於   2024/09/12

vol_d=GetField("成交量", "D")[1];

你若要計算過去5天成交量的平均,不能使用average(vol_d,5) 而應改成average(GetField("成交量", "D")[1],5)。

  • 按讚來自於
  • YYFrankLi0813
桃園89 發文於   2024/09/13

Hi 虎科大許教授,

我發現我的問題描述有誤, 但是目前我已經理解了, 感謝幫忙!

XS小編 發文於   2024/09/19

Hello 桃園89,

 

小編補充,變數的頻率是和腳本的執行頻率相同的。

所以舉例來說:

value1 = getfield("Close", "D");

value1[1] 會是前一根Bar的當日收盤價,除非是執行在日頻率,否則得出的數值會和 getfield("Close", "D")[1] 不同。

 

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close