我是使用在指標上
標的是可轉債
我print(GetfirstBarDate);
回傳的都不是第一根BAR的日期
請問該怎麼解決
例如26416
firstbardate應該是20230823 回傳卻是20230920
13462
firstbardate應該是20201201 回傳卻是20220908
我是使用在指標上
標的是可轉債
我print(GetfirstBarDate);
回傳的都不是第一根BAR的日期
請問該怎麼解決
例如26416
firstbardate應該是20230823 回傳卻是20230920
13462
firstbardate應該是20201201 回傳卻是20220908
這可能是伺服器存放的資料限制。26416在伺服器裡面只有407筆,亦即從2023/9/20開始。
這應該是有問題吧
不論資料筆數長短 就算剛上市不久的CB 資料也都對不上
像34341
第一根BAR的日期明明是20250227 回傳卻是20250310
34341在伺服器裡面的第一筆資料是2025031。
對,所以我說是不是Server端有問題??
打開K線圖 第一根Bar的日期明明就是20250227
為何伺服器回傳20250310
如果檔個股的差距天數都一樣就算了 重點是還都不一樣
教授您在試一次34341
3.16板顯示20250227了
所以舊版是有問題沒錯
不過又有新的問題了
新版應該是已修正了這個問題了。
Hello RS168,
小編補充,GetFirstBarDate 回傳的並不是線圖上第一根K棒的日期,而是腳本運算的第一根Bar的日期。
舉例來說,若您設定資料讀取筆數為10的話 (settotalbar(10);),那麼 GetFirstBarDate 取得的就會是10個工作天前的日期。
那請問要怎麼抓出線圖上第一根K棒的日期呢? 有特定的函數嗎?
有一個函數GetFieldStartOffset,可傳回第一根K棒的數據,不過,它只能用於選股腳本。執行下列選股策略,可傳回台積電第一根K棒的日期。
if symbol="2330.TW" then begin value1 = GetFieldStartOffset("收盤價", "D"); ret=1; outputField1(date[value1],"第一筆日期"); end;
Hello 韭菜栢,
就小編所知沒有類似的函數。
如果您需要該數值的話,可以考慮將指標腳本的執行範圍 (繪圖範圍) 設定為最長,並將 setbackbar 設為0。
這樣腳本就會從線圖的第一根Bar開始計算,此時只要判斷CurrentBar是否等於1,如果是的話該根Bar的日期就是第一根K棒的日期。
10 評論