GetSymbolField 收盤價 掛牌前價格異常

  •   152 
  • 最後發表   NNYY  2023 十二月 15
NNYY 發文於   2023/12/07

請問XS小編, 有辦法取得特定族群的每日收盤價嗎?

我想拿來做一些運算, 在看盤介面主圖或副圖畫出這些運算後的結果,

例如 : 下方這個案例, 想改取得整個"台灣上市電子類股", 或是"台灣所有上市公司股票"的收盤價來畫出『站在月線之上』的股票檔數.

https://www.xq.com.tw/xstrader/%E6%8C%87%E6%A8%99%E8%82%A1%E7%AB%99%E5%9C%A8%E6%9C%88%E7%B7%9A%E4%B9%8B%E4%B8%8A%E7%9A%84%E5%AE%B6%E6%95%B8/

排序方式: 標準 | 最新
NNYY 發文於   2023/12/11

 hi 小幫手, 

  我找到問題了, 用下方的XS程式劃圖, 資料跑起來只有鄰近幾天的, 原因近期剛掛牌的公司沒有早期資料, 回讀掛牌前收盤價會出錯, 請問這怎麼避開呢? 我試過要把當天收盤價回讀到資料<=0的或是大於3000這種價格先break迴圈, 都沒辦法解決, 不知道掛牌前的data會讀到什麼資料, 請小幫手幫忙看看了, 這問題應該非常明確, 妳們應該也會遇到類似狀況, 謝謝   下方範例是找一些汽車類股, 找出收盤價, "2258.TW"的資料不適合拿來計算, 避免錯誤, 但我會拉出很多個股, 所以無法一一手動確認哪個標的要從哪個時間點開始算, 請問有沒有更好的寫法呢?     variable:num(0);
num=5;

array:PriceClosed5;

PriceClosed[1]=GetSymbolField("2258.TW","收盤價","D"); //鴻華先進
PriceClosed[2]=GetSymbolField("2227.TW","收盤價","W"); //裕日車
PriceClosed[3]=GetSymbolField("2204.TW","收盤價","W"); //中華
PriceClosed[4]=GetSymbolField("1319.TW","收盤價","W"); //東陽
PriceClosed[5]=GetSymbolField("6605.TW","收盤價","W"); //帝寶


variable:i(0),j(0);
array:CntPriceOver2,freq2;

for j=1 to 2 begin
Cnt
PriceOver[j]=0;
end;

freq[1]=5;
freq[2]=20;

for i=1 to num begin
for j=1 to 2 begin
if PriceClosed[i] > average(PriceClosed[i],freq[j])
then
Cnt
PriceOver[j]=CntPriceOver[j]+1;
end;
end;

plot1(Cnt
PriceOver[1],"站上5日線之家數");
plot2(Cnt_PriceOver[2],"站上20日線之家數");  

 

XQ小幫手 發文於   2023/12/15

Hello NNYY,

 

有辦法取得特定族群的每日收盤價嗎?

=> 您可以使用 getsymbolfield 來取得不同商品的資料。

目前沒有辦法讀取群組或自選股的商品名稱,需要自行手動輸入。

 

剛掛牌的公司沒有早期資料,回讀掛牌前收盤價會出錯。

=> 因為資料不存在,所以取用資料的話會得出空值導致無法計算。

如果是在選股腳本的話,可以使用 GetFieldStartOffset 來判斷,其他腳本的話就小幫手所知沒有辦法。

或許您可以考慮先用選股確認可許用的最早資料日期,再以此來撰寫指標腳本。

發表回覆
Close