請問在語法內取得不同週期的前值問題?

  •   153 
  • 最後發表   jessiewhite  2023 六月 01
jessiewhite 發文於   2023/05/28

在XS語法裡面同時使用不同週期的值

KDbbup = bollingerband(GetField("收盤價", "D"), Length3, UpperBand); 

KDbbdn = bollingerband(GetField("收盤價", "D"), Length3, LowerBand); 

KWbbup = bollingerband(GetField("收盤價", "W"), Length3, UpperBand); 

KWbbdn = bollingerband(GetField("收盤價", "W"), Length3, LowerBand);

value1 = KDbbup-KDbbdn ;

value2 = KWbbup-KWbbdn;

在取前值得時候value1、value1[1]、value2 是正確的

但是value2[1]數值並非前一週計算的值

這是因為週資料是用前一日下去計算嗎??

要如何修改才能在裡面同時取得不同週期,該週期正確的前值(日資料取得前一日數值,周資料取得前一周數值,月資料取得前一月數值)??

排序方式: 標準 | 最新
bowen 發文於   2023/05/28

舉例:

我要取上一周收盤價 我會寫 getField("Close","W")[1]   

上上周收盤價getField("Close","W")[2] 以此類推

不要直接用變數value1[1] 

假設你的環境是日K 今天是星期五

value1 = getField("Close","W");

value1[1] 是前一根日K搜上一周的收盤價

value1[2] 是前前一根日K 搜上一周的收盤價

都會是上一周的收盤價 

value1[2]就不會是上上周收盤價

 

XQ小幫手 發文於   2023/06/01

 Hello jessiewhite,

 

變數的頻率是跟著執行頻率。

所以您這邊的 value2[1] 會是前一日 (假設您是使用日頻率的話) 的KWbbup-KWbbdn;。

若要取得變數上一週的資訊,可以參考 xf_GetValue 函數。

 

感謝 bowen 的熱心回覆。

發表回覆
Close