關於內建指標投信賣張

  •   60 
  • 最後發表   catlover999  2022 八月 23
catlover999 發文於   2022/08/18

最近才剛開始在學習xq的語法

寫了一個簡單的投信低一天大賣的選股

var:v1(0),v2(0);

v1=getField("投信賣張", "D");

v2=summation(v1[1],20);

 

if v2<10 and v1>=500

then ret=1;

想問2個問題

1.因為想找的是第一天賣超,如果我想寫除了今天往前20天的賣張加總的話照v2這個寫法可以嗎

2.寫出來後今天8/18 缺篩出了8183,但我看資料8183在8/1、8/2共有1600張左右的賣超,請問是為何

 

附加文件

排序方式: 標準 | 最新
貓市 發文於   2022/08/19

v2這個寫法是用變數v1去計算20期, 而v1變數需要夠長的資料讀取才會計算

可能是因為資料讀取預設10所以篩出8183, 可以調整長一點

 

或也可以直接利用getfield去計算summation

v2 = summation(getField("投信賣張", "D")[1], 20);

  • 按讚來自於
  • Dowson Liu
XQ小幫手 發文於   2022/08/23

Hello catlover999,

 

小幫手補充,關於資料讀取筆數運算的部分,您可以參考此篇文章: 資料讀取範圍與腳本執行的關係

變數是要運算才有值,所以若腳本的運算需要取用到超出資料讀取範圍的變數前期值的話,運算就會出錯。

 

感謝 貓市 的熱心回覆。

發表回覆
Close