請教藉由"投信買賣超"資料迴圈計算投信連續買超或是連續賣超天數

  •   380 
  • 最後發表   幻鷹  2024 十一月 26
幻鷹 發文於   2024/11/22

版上各位先進好:

末學剛開始自己摸索XSscript遇到不少問題,

先前曾有先進在板上請教過計算投信連續買超天數的迴圈語法,
但當時回復的語法只會統計"連續買超天數"或是顯示0天。

想請問如果要實現在投信買超張數 =0、>0以及<0三個不同條件下,

分別進行三個不同的迴圈計算出0天、連續買超天數或是連續賣超天數三種結果的XSscript語法該怎麼寫呢?

還請版上先進不吝指導,末學在此先謝過~~

 

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

XS是序列語言,很多時候是不需要跑迴圈的。要獲得投信最近連續買超幾天,用TrueCount函數即可。

幻鷹 發文於   2024/11/23

謝謝教授的函數指引,查詢到的函數定義如下:

回傳數值=TrueCount(條件數列,期數)

有關"條件數列"處,因為會有投信買超張數 =0、>0以及<0等3種情況

我希望XS能在當天"投信買超張數 =0"時回傳數值為0,
"投信買超張數 >0"時回傳的是連續買超天數(+a),

"投信買超張數<0"時回傳的則是連續賣超天數(-b),

還請教授不吝指點在"條件數列"處的XScript應該如何攥寫,
才能讓XS實現上面的想法。

末學在此先謝過教授。

虎科大許教授 發文於   2024/11/24

value1=TrueCount(getField("投信買賣超","D")>0,10);

若value=3,代表這10天內,最近3天連續買超,3天前沒買超。

把大於0改成小於0,則為最近3天都賣超。

幻鷹 發文於   2024/11/25

謝謝教授撥冗回復,

不過末學期待的是能以一篇XScript,

就能讓個股在當天"投信買超張數 =0"時顯示數值為0,

當天"投信買超張數 >0"時顯示的是連續買超天數(+天數),

當天"投信買超張數<0"時顯示的則是連續賣超天數(-天數),

這樣就只需要用一個欄位就能一目瞭然投信對個股近期的買賣情況了。

再次謝謝教授的回覆,

也請版上先進不吝協助解惑,

末學在此先謝過~

 

虎科大許教授 發文於   2024/11/26

setBarFreq("D");
input: Length(100,"天數");
setTotalBar(Length);
var: Str("");
value1=GetField("投信買賣超");
switch (value1)
    begin
        case 0:
            Str="   "+numtoStr(value1,0);
        case >0:
            Str="  +"+numtoStr(TrueCount(value1>0,Length),0);
        case <0:
            Str="  -"+numtoStr(TrueCount(value1<0,Length),0);
    end;
ret=1;
outputField1(Str,"投信連續買賣超天數");

  • 按讚來自於
  • filteryz
虎科大許教授 發文於   2024/11/26

若在最後一根K棒才做條件判斷,會更有效率。

setBarFreq("D");
input: Length(100,"天數");
setTotalBar(Length);
var: Str("");
value1=GetField("投信買賣超");
if isLastBar then
    begin
        switch (value1)
            begin
                case 0:
                    Str="   "+numtoStr(value1,0);
                case >0:
                    Str="  +"+numtoStr(TrueCount(value1>0,Length),0);
                case <0:
                    Str="  -"+numtoStr(TrueCount(value1<0,Length),0);
            end;
        ret=1;
        outputField1(Str,"投信連續買賣超天數");
    end;

  • 按讚來自於
  • filteryz
幻鷹 發文於   2024/11/26

謝謝教授出手,
這篇XScript實現了末學所想,
也提點了末學有關isLastBar以及switch語法的使用方式,

再次謝謝教授!

 

發表回覆
Close