XQ技術支援問題說明
XQ 3.20.02：自動交易 GetSymbolField 讀取日線成交金額出現 1206／Code=8（附診斷腳本與對照紀錄）

文件日期：2026/09/08
所有事件時間：Asia/Taipei，UTC+8。
目的：定位尚未記錄資料準備完成時的欄位錯誤，不是驗證交易績效或請求執行實單。
證據原則：原始CSV、LOG、截圖與腳本均以副本附上；說明文字是整理，不冒充原始事件。

一、問題摘要
在自動交易情境，C診斷碼透過Input Group逐一引用日線日期、前日日線日期、昨日成交金額。使用者提供的五檔設定畫面中，僅2330為執行商品，其他股票是被讀取的資料來源。
最後失敗CSV顯示啟動約七分鐘後，回報2382.TW的日線成交金額欄位異常，1206／Code=8，隨即結束。沒有資料準備完成、即時洗價或任何Print事件。
單檔跨商品及單檔Group曾成功，故尚不能歸因為該股票永久缺資料、Group語法全面不支援、池太大、權限、快取、網路或特定版本缺陷。

二、環境及設定來源
1. 版本3.20.02：由使用者文字提供。未附「關於」畫面，未核實build尾碼、32/64位元、作業系統版本或授權模組細節。
2. 設定圖：原始證據/02_策略設定_Run50.png。
   腳本顯示名稱：AI 隔日沖 - 測試。
   診斷編號：50。
   執行商品：指定商品，台積電2330，僅1檔。
   介面被讀取股池：5檔。
   執行頻率：1分鐘、原始值。
   洗價：逐筆洗價＋自動洗價。
   自動洗價時段：08:50–13:35。
   自動洗價間隔：2秒。
   介面資料讀取筆數：0。
3. 股池圖：原始證據/03_五檔股池順序.png。
   索引1：2492 華新科
   索引2：1301 台塑
   索引3：2330 台積電
   索引4：2382 廣達
   索引5：2892 第一金
   底部空白新增列不計入股池。不是只選了5個執行商品，而是1個執行商品讀5個來源。
4. 帳號/策略部位沒有入鏡，不把這兩張圖當作失敗輪的帳號或部位驗證。
5. Run50與五檔設定來自補圖。最後CSV沒有START，無法從CSV自身核對Run50、股池順序或編譯build。請官方匯入實際策略匯出檔後核對；此限制不影響CSV所記載的欄位錯誤事實。

三、最後失敗輪：原始事件逐筆說明
附件：原始證據/01_失敗事件_125954至130654.csv
原始檔名：AI 隔日沖 V5 盤中測試C.csv
原始編碼：Big5；未轉碼，未增刪或重排資料。
大小：308 bytes；4筆事件，另有1列欄頭。
SHA256：3930515985dc64567ed3bce8b96fecebe6abb52a1a91c913999c07ed5a509d20

12:59:54.574 | --            | 啟動     | --
12:59:54.576 | 台積電(2330)  | 啟動商品 | --
13:06:54.067 | 台積電(2330)  | 執行失敗 | 以下完整錯誤
13:06:54.067 | --            | 結束執行 | --

完整錯誤文字：
原因:執行時發生錯誤[(1206)2382.TW 資料欄位異常, 欄位=成交金額(元), 頻率=日線, Code=8, AT=true]

從啟動商品到失敗相隔419.491秒，約6分59.491秒。這只是觀察值，不將其定義為官方逾時門檻。
未記錄：資料準備完成、開始即時洗價、SD3_START、SD3_POOL、SD3_READ、SD3_DONE。
本輪因失敗而結束，沒有人工停止事件，不需要為了補人工停止而改寫CSV。
專案自訂LOG資料夾中只找到先前C44成功的C類LOG，沒有取得這次失敗的C類Print LOG。這不等於XQ原生系統LOG沒有記錄。

四、成功對照與本包所附範圍
全部對照為2026/09/08；有效日線日期20260908，前日日期20260907。
以下資料來自原始LOG。成功輪的XQ事件CSV本包未附，因本次整理時原檔已不在原先桌面路徑；不可把LOG摘要當作完整CSV。

A33：每檔各自使用GetField讀自己。
本包只附1301、2330、2382、2492、2892五份代表LOG，各有3輪有效READ及DONE。
檔名時間尾碼112657是策略啟動時間；各商品START/READ實際秒數依LOG，不以檔名代替事件時間。
先前曾核對完整145檔讀取結果，但本包並未附全部145份LOG，且當時取得的A事件CSV缺人工停止結尾。因此本包不主張A完整145檔已完成整輪生命週期驗收。

B38：2330透過單一TargetSymbol讀2382.TW。
READ：11:41:21、11:41:32、11:41:43。
三次昨日成交金額：4,687,911,938 元。
DONE：11:41:43。原始LOG共9行。

B43：2330透過單一TargetSymbol讀2492.TW。
READ：12:39:43、12:39:54、12:40:05。
三次昨日成交金額：15,193,624,450 元。
DONE：12:40:05。原始LOG共9行。

C44：2330透過只含2492.TW的Group讀取資料。
READ：12:50:36、12:50:47、12:50:57。
三次昨日成交金額：15,193,624,450 元。
DONE：12:50:57。原始LOG共9行。

A33的2382讀值與B38一致；A33的2492讀值與B43、C44一致。
上述8份成功LOG的START均記錄Position=0、Filled=0、AT_EnableTrade=0。
B38/B43/C44的完整事件CSV先前曾核對通過；本包可直接重核的是附上的LOG，不重新製造已不在原路徑的CSV。
檔名中的「測試B／測試C」是使用者策略名稱；真正profile及Run編號應讀SD3_START，不憑檔名猜測。
成功僅代表該次診斷取值完成，不是資料供應商真實性認證、正式策略正確性、集合競價或實單交易驗證。

五、程式內容與可疑環節
本包附開發資料夾中的原始A/B/C，XS與對應TXT位元組一致。沒有修改行情欄位、筆數或Print路徑。
固定build標記：SD3_81acd1d8bde3b7f3。
這是診斷程式標記，不是XQ版本。
附碼不是本次從XQ編輯器匯出的檔案；成功LOG有相同標記，但失敗輪沒有START，仍須實際XQ匯出內容才能獨立確認當時編譯腳本。

資料設定：
SetTotalBar(0);
SetBackBar(300, "1");
SetBackBar(2, "D");

C的行情相依性：
_dayDate = GetSymbolField(CandidatePool[_i], "Date", "D", default:=0);
_previousDate = GetSymbolField(CandidatePool[_i], "Date", "D", default:=0)[1];
_amount = GetSymbolField(CandidatePool[_i], "成交金額(元)", "D", default:=0)[1];

A相對應使用GetField；B使用GetSymbolField(TargetSymbol, ...)，C直接使用Group元素，沒有先將代碼存成一般字串再傳入GetSymbolField。
腳本已使用default:=0；不假定預設值能攔截所有平台欄位錯誤。
未用收盤價乘成交量替代真實成交金額。

Print只在GetInfo("IsRealTime")=1且GetInfo("TradeMode")=1時開始。沒有首筆Print與CSV沒有開始即時洗價相符，但不能因此推斷XQ內部完全沒執行任何預備計算。
120秒保護從即時診斷START後計時，且須洗價回呼才能檢查；它不是能中斷平台準備或阻塞欄位讀取的獨立計時器。
錯誤來源2382在補圖為第4檔，不代表第1至3檔已成功讀取，因為本輪沒有任何READ。
碼內有頻率、執行商品、RunId、帳號及部位防呆，但失敗輪尚無可用START來核對這些執行值。

六、提供官方的重現設定（非保證每次必現）
請先保留附件原樣，在官方診斷環境另建獨立的自動交易策略。
1. 使用診斷腳本中的C_CrossPoolDaily.xs或對應完整TXT。這是自動交易腳本，不是警示、選股或歷史回測。
2. 只將2330.TW設為執行商品。
3. CandidatePool依序設定2492.TW、1301.TW、2330.TW、2382.TW、2892.TW，來源與失敗補圖相同。
4. 原畫面RunId為50。新的官方重現輪使用1–999999範圍內、未曾用過的正整數編號，避免與既有LOG混淆；執行中不修改參數或股池。
5. 1分鐘原始值，逐筆＋自動洗價2秒，08:50–13:35，介面資料讀取0。保留碼內筆數。
6. 所有交易帳號，包括內建模擬帳號均停用，Position及Filled都為0。附碼不含交易/撤單/SDT API。
7. 在正常台股交易時段啟動，保留從啟動到結束的全部XQ事件，不只截錯誤一行。
8. 預期C五檔結果：1 START、5 POOL、15 READ、3 CYCLE_END、1 DONE，共25筆Print；若出現DONE，再人工停止並匯出完整CSV。若先失敗，保留失敗與結束事件。
9. 腳本Print目前使用本機D槽中文專案路徑。客服環境如無此路徑，可另存副本只改Print目的路徑，並明確標註改動；不要把另存副本當成使用者原始實測碼。

七、希望官方回答的問題
1. (1206)、Code=8、AT=true各代表什麼？本案發生於自動交易欄位讀取，請依完整錯誤訊息說明各代碼及實際觸發條件。
2. 為何尚未記錄「資料準備完成」便回報成交金額欄位異常？能否從2026/09/08 12:59:54至13:06:54的原生LOG定位請求/回應/相依性建立或驗證環節？
3. B的TargetSymbol與C的Group多商品，是否走不同的資料預載、快取或欄位準備流程？這是待查假說，不是本包已認定原因。
4. 目前SetTotalBar(0)、SetBackBar(300,"1")、SetBackBar(2,"D")搭配日線[1]是否符合規則？如果不符合，請提供具體筆數需求及原因。
5. 3.20.02有無相關已知問題、build差異或修正版？與公告中「自動交易長時間顯示準備中未完成」是否相同？僅文字相似不足以認定同一問題。
6. 若需更多證據，請給出精確原生LOG檔名/時間段，或一個最小且能區別原因的對照，不以反覆改股票數量取代定位。
7. 若目前方式有官方限制，是否有支援自動交易多商品日線成交金額的正式建議寫法？

八、目前不下的結論
不認定：固定壞股、股池容量上限、網路、權限、快取損壞、版本太舊、XQ已確認bug或本腳本完全無誤。
不認定：7分鐘等於Code8的官方逾時門檻。
不建議在未定位前任意加大SetBackBar、重裝、退版、清資料、刪股、忽略錯誤填0繼續排名。
本包不是要求客服操作真實交易帳號，也未包含正式選股、預算分批或下單策略。
目前正式交易可用性未通過；日線資料取值診斷成功不能當成實單放行。

九、附件來源及缺件
原始副本：1份最後失敗CSV、2張設定圖片、6份A/B/C的XS及TXT、8份成功LOG、原始build-manifest.json。
新整理：本說明、客服貼文、送件檢查、附件SHA256清單及核對結果。
舊CSV未能在本次整理時取得，不重建為原始CSV；歷史事件只作文字摘要並揭露來源限制。
待由XQ內補匯出：此次失敗策略（含選股策略、引用函數）、實際交易腳本匯出檔。
待透過官方問題回報或依官方要求提供：XQ原生系統LOG。預設位置C:\SysJust\XQLite\LOG，不是本包SD3自訂Print LOG。
本包沒有自動收錄原生加密LOG，也未代為上傳或寄送。

十、官方參考資料（查閱日期2026/09/08）
1. 3.20.02／7.20.02版本公告（2026/08/06），其中有準備中未完成的修繕描述，但未指明本案1206／Code8：
https://xq.com.tw/announce/17400/
2. 商品清單功能，官方示範直接把Group元素傳給GetSymbolField：
https://www.xq.com.tw/lesson/xspractice/商品清單功能/
3. 自動交易錯誤碼與問題反映流程，列出策略、腳本及原生LOG等所需附件；該公開表未定義本案1206內部Code8：
https://www.xq.com.tw/learning/自動交易中心：錯誤代碼說明與問題反映步驟教學/
4. 官方回覆個人版可由設定→問題回報提供說明與附件：
https://forum.xq.com.tw/thread/交易錯誤訊息-要去哪裡查問題/
5. 自動洗價只在啟動運算完成後的即時區間運作：
https://xq.com.tw/lesson/sensor/auto-marked-to-market/
6. GetField預設值及欄位說明：
https://xshelp.xq.com.tw/XSHelp/?HelpName=GetField&group=FIELDFUNC
https://xshelp.xq.com.tw/XSHelp/?HelpName=成交金額%28元%29&group=TOFTEN
