// 頻率1分鐘無法執行以下程式碼,但是2分鐘(含)以上卻可以執行。

  •   50 
  • 最後發表   TOYOTA78  3 週前
TOYOTA78 發文於   2026/02/03

// 頻率1分鐘無法執行以下程式碼,但是2分鐘(含)以上卻可以執行。

// 可以幫我看一下嗎?! 感謝!..

Input: NewContractDay(20260122, "新合約起始日--> 20251218 <-- 範例");

 

Value800 = GetBarOffset(NewContractDay,150000);

Value801 = Open[Value800];

Plot17((GetField("收盤價", "D")[0]) - (Value801), "新約漲跌幅" ,Checkbox:=0);

Plot97(Value801, "新約--開盤價", Checkbox:=0);

 

// 設定月開盤價(離到期日天數&開盤價連線)

Variable: MonthOpen(0);

If DaysToExpirationTF = 1 and Time = 150000 then   

MonthOpen = Open;   

Plot19((MonthOpen[0]), "新約--開盤價",Checkbox:=0);

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

你的問題出在準備的資料不足。以今天測試,不論是1分鐘或2分鐘頻率,都找不到指定的K棒,亦即value800都是0。

以今天而言,距離該K棒有9天時,1分K一天有1140根,保守一點準備10天資料,亦即加入setTotalBar(11400);即可。

TOYOTA78 發文於   2026/02/04

好的!.. 謝謝.. 許教授 抽空幫忙 感恩呦.. 另外跟 許教授.. 拜個早年 祝福許教授 馬到成功 年年有餘.. 大家178(一起發)呦  ^^。

XS小編 發文於   2026/02/05

Hello TOYOTA78,

 

小編補充,如果您要取得指定日期的開盤價,建議可以透過迴圈搭配 once 來找相同日期的開盤價,這樣會比較節省效能。

如此也不需使用 settotalbar,而是可以改用 setbackbar 來處理。

不過您是使用在指標上,更簡單的作法是在技術線圖上 右鍵 => 設定 => 調整XS指標計算範圍,確保分鐘頻率計算的範圍有包括input設定的日期即可。

TOYOTA78 發文於   2026/02/11

好的!.. 很感謝"XS小編".. 後來改用右側函數後再1分K就讀取的到 ^^  SetBackBar((MAXlist(24+1) *268),"1");。另外再回饋一張圖片給XS小編看(幫人解答後應該最想看結果..所以特別貼出來)。那至於 "迴圈搭配 Once" 春節休假再來測試。

 

祝福".. XS小編.. 新年快樂!.. 馬年馬上大發大利..   大家178(一起發).. ^^)

發表回覆
Close