有關XS撰寫問題

  •   644 
  • 最後發表   彭琪  2022 八月 02
彭琪 發文於   2022/07/25

以下是大戶散戶籌碼流向指標腳本

大戶散戶籌碼流向指標腳本如下

{指標數值定義:"大戶=特大單+大單, 散戶=小單
資料為大戶/散戶從開盤累計到現在的(外盤-內盤)張數"

支援商品:台(股票)}

if barfreq <> "Min" and barfreq <> "D" and barfreq <> "AD" then
    raiseruntimeerror("僅支援分鐘與日頻率(含還原)");
    
value91 = GetField("賣出特大單量");//僅提供給有權限的用戶使用

value1 = GetField("賣出特大單量","D") + GetField("賣出大單量","D");
value2 = GetField("買進特大單量","D") + GetField("買進大單量","D");
value3 = value2 - value1;
value11 = GetField("賣出小單量","D");
value21 = GetField("買進小單量","D");
value31 = value21 - value11;
plot1(value3,"大戶買賣力");
plot2(value31,"散戶買賣力");

問題1-請問在日內30分K頻率下,當(此K棒收盤後的大戶買賣力大於前一根大戶買賣力)且(此K棒收盤後的散戶買賣力小於前一根散戶買賣力)且(此K棒收盤後日內累積的的大戶買賣力大於散戶買賣力)時發出警示.腳本該如何撰寫?

問題2-當日9點至10點合計總成交量大於前一日9點至10點合計總成交量的兩倍以上時,如何發出警示?

 

 

XQ小幫手 發文於   2022/08/02

Hello 彭琪,

 

1.您可以用 value31 和 value3 來作判斷。

另外,您要的是當跟Bar的買賣力,還是當日累積的買賣力?

或許您可以表示得更清楚一點,因為下面的腳本都是當日累積的。

如果不要當日累積的話,那麼在取得大單量時不需要特別指定日頻率的資料。

 

需注意 特大單 等資料欄位沒有提供日頻率回測。

value1 = GetField("賣出特大單金額","D") + GetField("賣出大單金額","D");

value2 = GetField("買進特大單金額","D") + GetField("買進大單金額","D");

value3 = value2 - value1;

 

value11 = GetField("賣出小單金額","D");

value12 = GetField("買進小單金額","D");

value13 = value21 - value11;

 

condition1 = value3 > value3[1];   //大戶買賣力大於前一根大戶買賣力

condition2 = value13 < value13[1];    //散戶買賣力小於前一根散戶買賣力

condition3 = value3 > value13;    //日內累積的的大戶買賣力大於散戶買賣力

 

//if condition1 and condition2 and condition3 then ret = 1;   //如果是非逐筆洗價的話

if condition1[1] and condition2[1] and condition3[1] then ret = 1;     //如果是逐筆洗價的話

 

2.您可以用變數來保存當日和前日的成交量。

舉例來說:

if issessionfirstbar then begin

    value2 = value1;   //value2保存value1之前的值

    value1 = 0;

    end;

 

if time >= 090000 and time < 100000 then value1 += volume;  //value1是今日9點~10點的成交量

condition1 = value1 > (value2 * 2);

if condition1 then ret = 1;

 

小幫手建議您可以先閱覽網站上的教學區,裡面有XS語法的基礎和應用。

發表回覆
Close