如何自行撰寫法人連續買賣超選股腳本

  •   1.4K 
  • 最後發表   Freedom  2018 七月 24
Freedom 發文於   2018/05/10

HI

在XQ系統中的選股 -> 法人進出中,有相關法人的連續買賣超排行榜,要如何將這邊的數字重現在選股中心呢??

因為法人有外資、投信、自營商,為了方便使用,腳本部分就撰寫成函數腳本,比較好使用

函數腳本範例如下:

1.計算連續買賣天數

input: N(numeric, "計算對象");


variable: count(0) ;
if sign(N)*sign(N[1]) > 0 then
count = count + sign(N)
else
count = sign(N);

buysellcount = count;

 

2.計算連續買賣超張數

input:N(numeric, "計算對象"),day(numeric,"期數");
variable: totalV(0);

if  trueall(N>0,day) or trueall(N<0,day)  then
totalV = summation(N,day)
else
totalV = 0;


buysellvolume = totalV;

 

這邊用外資當作範例,選股腳本範例如下:

input:day(3,"天數");

Ret = 1;
outputfield1(buysellcount(GetField("外資買賣超","D")), "連續買賣天數");
outputfield2(buysellvolume(GetField("外資買賣超","D"),day), "外資買賣超(張)");

 

選出來的結果可以看到是一樣的了

選股中心

 

 

以上提供參考

 

排序方式: 標準 | 最新
Mark Wu 發文於   2018/07/24

你好:

能否請問計算鏈續天數的方式,為什麼是像上面那樣寫呢?計算N天內的連續買賣超量可以看得懂,可是計算連續買賣超天數,實在不太懂。

依照上面程式來看,今日買賣超和昨日買賣超的正負符號一致, count 就往上加 1(或 -1),正負不一致  count 就重設為 1(或-1)。最後傳回 count。

可是這樣為什麼可以計算出連續買賣超的天數呢?

這個 count 出來的結果是指計算的筆數中,最長的連續天數嗎?還是從今天算起的連續天數?

能否再深入說明一下,謝謝。

Mark Wu 發文於   2018/07/24

看了我自己之前問的問題,我應該看懂了,因為他由資料筆數的第一根開始往後面日期的計算,所以這樣 count 的確是從今天往回算的連續買賣超。

發表回覆
Close