請問可否自製各類股清單 然後用選股中心做選股呢?
自製類股清單
- 120
- 最後發表 mina2310 2026 六月 26
虎科大許教授
發文於
2026/06/20
你可以在選股腳本裡面使用Group。這是沒有問題的。
mina2310
發文於
2026/06/21
可是好像沒有辦法回傳 group的名稱?

不好意思 我實在不太會 所以我請chatgpt幫我寫了一點 如下
想問可否最終顯示細產業名稱?(AI伺服器 散熱 PCB)
去做選股的篩選?
Input: G1(group, "AI伺服器"), G2(group, "散熱"), G3(group, "PCB"); Vars: i(0), j(0), cnt(0), pct(0), sumPct(0), groupAvg(0); // ===== 排行用 ===== Array: rankRT[10,2](0); // [編號, 漲跌幅] Array: gname[10](""); // ===== 名稱 ===== gname[1] = "AI伺服器"; gname[2] = "散熱"; gname[3] = "PCB"; // ====================== // Group 1 // ====================== sumPct = 0; cnt = GroupSize(G1); for j = 1 to cnt begin pct = 100 * (GetSymbolField(G1[j], "Close", default := 0) - GetSymbolField(G1[j], "參考價", "D", default := 0)) / GetSymbolField(G1[j], "參考價", "D", default := 1); sumPct = sumPct + pct; end; if cnt > 0 then groupAvg = sumPct / cnt else groupAvg = 0; rankRT[1,1] = 1; rankRT[1,2] = groupAvg; // ====================== // Group 2 // ====================== sumPct = 0; cnt = GroupSize(G2); for j = 1 to cnt begin pct = 100 * (GetSymbolField(G2[j], "Close", default := 0) - GetSymbolField(G2[j], "參考價", "D", default := 0)) / GetSymbolField(G2[j], "參考價", "D", default := 1); sumPct = sumPct + pct; end; if cnt > 0 then groupAvg = sumPct / cnt else groupAvg = 0; rankRT[2,1] = 2; rankRT[2,2] = groupAvg; // ====================== // Group 3 // ====================== sumPct = 0; cnt = GroupSize(G3); for j = 1 to cnt begin pct = 100 * (GetSymbolField(G3[j], "Close", default := 0) - GetSymbolField(G3[j], "參考價", "D", default := 0)) / GetSymbolField(G3[j], "參考價", "D", default := 1); sumPct = sumPct + pct; end; if cnt > 0 then groupAvg = sumPct / cnt else groupAvg = 0; rankRT[3,1] = 3; rankRT[3,2] = groupAvg; // ====================== // 排序(漲跌幅大 → 小) // ====================== Array_Sort2d(rankRT, 1, 3, 2, false); // ====================== // 輸出排行 // ====================== Print("===== Group 強弱排行 ====="); for i = 1 to 3 begin if rankRT[i,1] = 1 then begin Print(NumToStr(i,0), ". ", gname[1], " ", NumToStr(rankRT[i,2],2), "%"); end; if rankRT[i,1] = 2 then begin Print(NumToStr(i,0), ". ", gname[2], " ", NumToStr(rankRT[i,2],2), "%"); end; if rankRT[i,1] = 3 then begin Print(NumToStr(i,0), ". ", gname[3], " ", NumToStr(rankRT[i,2],2), "%"); end; end; Print("========================");
虎科大許教授
發文於
2026/06/21
你的選股腳本只是列印三個類股的漲跌幅,並沒有ret=1,所以不會有選股結果。
mina2310
發文於
2026/06/21
不好意思 可以請教授多給我一點指點嗎?
怎麼用group在選股中心 把我excel 分類的csv 檔 顯示出對應的類股檔名? (伺服器 散熱 pcb)
我只想顯示類股的名稱 不想要顯示個股
謝謝教授
虎科大許教授
發文於
2026/06/21
你可以選擇指定「檔案」方式將CSV檔加入Group清單。不過檔案只能有一欄,存放的是商品代號,例如:
I023174.TW
I023175.TW
......
mina2310
發文於
2026/06/26
所以是說可以製作自訂類股代號嗎?
虎科大許教授
發文於
2026/06/26
類股代號是系統預設的,我們無法自訂,但可以將代號加入自選商品組合,然後用Input宣告方式加入Group。
7 評論