(請益)找出成交量接近一年最高點, 但上市未滿一年也可以???

  •   199 
  • 最後發表   lobogaw  2024 一月 25
lobogaw 發文於   2024/01/02

XQ小幫手 & 版上先進 :

如題, 我想找出今天的成交量 創近一年來的新高, 或是與近一年來最大量 相差不超過 10% 的個股.

其中, 會用到 highest(volume[1], 240) 來找出近一年的最大成交量.

但遭遇到上市上櫃未滿一年的個股,  今天成交量創新高了, 卻無法被程式找出來.

我想原因是在 highest(volume[1], 240), 新股會在 XS 執行時 有 "資料長度不夠計算(50019)" 的錯誤訊息.

 

我嘗試用 

launchDate = GetField("公司掛牌日期");

value1 = getbaroffset(launchDate);

來取得新股最大K棒數, 以取代 highest 裡面的 240.

但...例如

2948 寶陞, 掛牌日是 2023/12/12 但實際上 K棒在 2020/12/20 就出現了.

所以 無法用掛牌日來回推 K棒數.

 

請問, 該如何解? 感謝 !

 

排序方式: 標準 | 最新
lobogaw 發文於   2024/01/08

Hello~ 

請問 XQ小幫手, 可以幫忙看一下提問的問題嗎? 謝謝 !

lobogaw 發文於   2024/01/19

to XS小編 :

請協助此問題, 謝謝 !

XQ小幫手 發文於   2024/01/25

Hello, lobogaw.

小幫手將您的CODE修改了一下,

先取得掛牌日期,再取得相對位置,這邊相對位置如果超過240,就用240來當昨一年的長度,

 

再來計算時今天這根K棒其實是0,所以植樹問題,所以傳入長度+1。

SetTotalBar(250);

var: launchDate(0);
launchDate = GetField("公司掛牌日期");
value1 = getbaroffset(launchDate);

if 
    value1 > 240
then
    value1 = 240;

value2 = highestBar(volume, value1 + 1);


ret = 1;

outputField1(Open[value2], 2, "OPEN");
outputField2(High[value2], 2, "High");
outputField3(Low[value2], 2, "Low");
outputField4(Close[value2], 2, "Clsoe");
outputField5(Volume[value2], 2, "Volume");

outputField6(value1, 0, "value1");
outputField7(value2, 0, "value2");


outputField8(launchDate, 0, "launchDate");

謝謝。

發表回覆
Close