日頻率執行無法取得09:30的收盤價

  •   90 
  • 最後發表   Zreedom  2023 十月 12
Zreedom 發文於   2023/09/27

小幫手您好,我想要取得09:30的價格,但用下列兩種方法,用日頻率執行所跑出來的數值都是0,只有在1分鐘頻率執行才能跑出數值,該怎麼修正調整

第一個方法

if getfield("時間", "1")=093000 then value6=getField("收盤價", "1");

plot1(value6,"0930的收盤價");

 

第二個方法

value6=getField("收盤價", "1");

if getfield("時間", "1")=093000 then value61 = xf_GetValue("1",value6,0);

plot1(value61,"0930的收盤價");

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/10/04

Hello Zreedom,

 

過去的日頻率資料不會逐筆洗價,且當根即時的Bar value1 不是 intrabarpersist 所以不會記錄當根bar內的運算。

 

小幫手建議您直接使用 getfield("Close", "30")[8],就可以取得歷史資料的第一根30分鐘Bar收盤價。

當日盤中的資料可以用迴圈來判斷要往前幾根Bar才是開盤第一根30分鐘頻率。

Zreedom 發文於   2023/10/06

想請教為何[8]會是歷史資料的第一根 我的理解[]中數字越大是越往後面的Bar

不太懂"當日盤中的資料可以用迴圈來判斷要往前幾根Bar才是開盤第一根30分鐘頻率"的意思 是指哪一種迴圈 

是否有簡單的範例可以參考

XQ小幫手 發文於   2023/10/12

Hello Zreedom,

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

 

[N] 是前N根Bar的意思,所以 getfield("Close", "30")[8] 就會是向前第8根30分鐘Bar的收盤價。

會這樣對位是因為已經結束的日頻率Bar對到的會是當天最後一根30分鐘Bar,所以要從最後一根Bar向前取。

您可以把30分鐘頻率的Time畫出來,或許會比較容易理解,像是在日頻率的線圖上畫出plot1(getfield("Time", "30")[8]);。

發表回覆
Close