各位大大,
因為XQ內建的特大單金額是400萬以上,我覺得這不太便利,我想要透過自訂金額的方式來找出特大單。
所以我嘗試用AI來幫忙寫出這樣的想法,但是輸出的圖明顯是錯的,因為我將特大單自訂金額設定為400萬以上,來跟xq內建的做比較,來看說ai寫得對不對。所以想請各位大大幫忙看一下哪邊邏輯出錯了
謝謝
// ---------------------------------------------------------------------------
// 腳本名稱:自訂特大單累計金額與淨額指標
// 執行頻率:建議設定為 "Tick"
// ---------------------------------------------------------------------------
input:
_ThresholdInput(400, "自訂大單門檻(萬元)", InputKind:=Dict(
["400萬", 400],
["1000萬", 1000],
["3000萬", 3000],
["5000萬", 5000],
["1億", 10000]
), Quickedit:=True);
var: intrabarpersist _LargeBuyAmtSum(0); // 累計自訂大單買入金額(元)
var: intrabarpersist _LargeSellAmtSum(0); // 累計自訂大單賣出金額(元)
var: _TickAmount(0); // 當前 Tick 成交金額
var: _ThresholdValue(0); // 門檻值(元)
var: _NetLargeAmt(0); // 大單買賣差額(元)
// ------------------------------
// 1. 初始化與每日重置邏輯
// ------------------------------
// 使用 date <> date[1] 判斷新交易日,重置累計數值
if date <> date[1] then begin
_LargeBuyAmtSum = 0;
_LargeSellAmtSum = 0;
end;
// 將輸入的萬元門檻轉換為元
_ThresholdValue = _ThresholdInput * 10000;
// ------------------------------
// 2. Tick 資料取得與金額計算
// ------------------------------
// 計算當前 Tick 成交總額 (價格 * 張數 * 1000股)
_TickAmount = Close * Volume * 1000;
// ------------------------------
// 3. 門檻過濾與金額累加
// ------------------------------
// 判斷當前 Tick 金額是否大於等於自訂門檻
if _TickAmount >= _ThresholdValue then begin
// 取得內外盤標記:1 為外盤(買進), -1 為內盤(賣出)
value1 = GetField("BidAskFlag", "Tick");
if value1 = 1 then begin
_LargeBuyAmtSum = _LargeBuyAmtSum + _TickAmount; // 累加買盤大單金額
end else if value1 = -1 then begin
_LargeSellAmtSum = _LargeSellAmtSum + _TickAmount; // 累加賣盤大單金額
end;
end;
// ------------------------------
// 4. 計算買賣差額
// ------------------------------
// 計算買賣大單的淨流向 (買入 - 賣出)
_NetLargeAmt = _LargeBuyAmtSum - _LargeSellAmtSum;
// ------------------------------
// 5. 數值輸出與繪圖
// ------------------------------
// 將所有結果轉換回「萬元」單位輸出
plot1(_LargeBuyAmtSum / 10000, "自訂大單買入(萬)");
plot2(_LargeSellAmtSum / 10000, "自訂大單賣出(萬)");
plot3(_NetLargeAmt / 10000, "大單買賣差額(萬)"); // 新增:買賣大單淨額
4 評論