為何大單 經常執行失敗?

  •   39 
  • 最後發表   XQYi  2 小時前
XQYi 發文於   2026/05/13

截圖圖片

1分K逐筆,商品經常出現執行失敗。有時再啟動就OK,有時還是失敗!!

vBigPlayerNetBuy = (GetField("買進特大單量", "D", default:=0) + GetField("買進大單量", "D", default:=0)) - (GetField("賣出特大單量", "D", default:=0) + GetField("賣出大單量", "D", default:=0)); 

    

    // 2. 取得當日累計總量 (指定 "D" 確保抓到日總量,避開1分K陷阱)

     vDailyVolume = GetField("Volume", "D");

    

    // 3. 計算大戶佔比 (%)

    If vDailyVolume > 0 Then 

        vBigPlayerRatio = (vBigPlayerNetBuy / vDailyVolume) * 100.0 

    Else 

        vBigPlayerRatio = 0;

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/05/13

我這邊用1分鐘逐筆洗價+自動洗價,執行6456,是正常的。

TOYOTA78 發文於   2026/05/13

// 您是可以再多加一組"防呆"機智.. (如下舉例..)

IF BarFreq = "Tick" or BarFreq = "Min" or BarFreq = "D" {or BarFreq = "M"} Then Begin

{這個區間 放入你要計算的公式}

End;

// 或者

If (GetField("買進特大單量", "D", default:=0)) > 0 Then Begin

{這個區間 放入你要計算的公式}

End;

// 這兩種"防呆"可以試一試!..

XQYi 發文於   2026/05/13

所以不是代碼的問題!!

是某些商品當下取值時,資料伺服端有問題尚無法提供?

XS小編 發文於   2026/05/19

Hello XQYi,

 

小編這邊用您提供的腳本內容測試沒有發生相同的狀況。

麻煩提供 XQ Log 讓相關人員確認。

您可以透過XQ內的設定 => 問題回報的方式來上傳提供,並附上討論區問題連結。

若需要附上的檔案數量或大小超過了問題回報可附上的範圍,則可以將相關檔案放置在雲端空間開放權限後提供連結。

感謝。

TOYOTA78 發文於   2026/05/20

我有一組與您"類同"的"程式碼"供您參考.. (您用1分K跑..在1分鐘內沒有新資料更新就會卡到..而重新啟動..就如同強制更新)。

If Volume_C <> 0 or Volume_D <> 0 Then Begin // 註:若你希望分母為 0 時保留前一筆的數值,可改寫為 TransactionRatio_B = TransactionRatio_B[1];。

    TransactionRatio_B = ((Volume_C - Volume_D) / (GetField("Volume","D")[0]) * 100); 

End Else Begin

    TransactionRatio_B = TransactionRatio_B[1]; // 當資料量不足時則引用前1K數值

    {TransactionRatio_B = 0;} // 這是我原本寫法..後來我改成上行..引用前K就沒再發生此類問題!..

End;

End;

發表回覆
Close