請問如何取得昨天的DIF值?

  •   243 
  • 最後發表   Prudent  2021 七月 26
Prudent 發文於   2021/06/08

請教一下工程師大大:

 

要取得昨天以前的DIF值,可以這樣寫嗎?

if DIF(12,26)[1]<0.5 then........

用[ ]裡面的數字來代表那一天,可以跑,但取得的值好像不對

謝謝您的回答

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/06/09

Hello Prudent,

 

小幫手已經回覆在另一篇文章

您可以參考該篇文章。

 

value1 = xf_MACD("D",xf_weightedclose("D"),12,26,9,value2,value3,value4);

value5 = xf_GetValue("D", value2, 1);

value5即為跨頻率時前一天 DIF 值。

需注意隨著頻率越小資料筆數需要設定的越大運算出的數值才會正確。

Prudent 發文於   2021/06/09

非常感謝您得回答,謝謝!

Tyler Chou 發文於   2021/07/22

 XQ小幫手:

那如果我想在做個股回測的時候納入跨商品的加權指數的DIF

GetSymbolField("TSE.TW","收盤價","D") 這段要在哪邊加入呢,謝謝~

XQ小幫手 發文於   2021/07/26

Hello Tyler Chou,

 

由於計算跨頻率MACD需要用到加權平均。

所以您可以使用 GetSymbolField 來取得不同商品的資訊並以此計算TSE的加權平均。

value6 = (2 * GetSymbolField("TSE.TW","Close","D")  + GetSymbolField("TSE.TW","High","D")  + GetSymbolField("TSE.TW","Low","D") ) / 4;

value1 = xf_MACD("D",value6,12,26,9,value2,value3,value4);

value5 = xf_GetValue("D", value2, 1);

 

需注意資料讀取筆數需要視您的頻率而定。

您可以在範例的指標腳本中確認大概需要幾日的資料,並以此來作設定資料讀取筆數的依據。

上面的範例的話則是(26+9) * 4 = 140天的資訊。

發表回覆
Close