自動交易-- MACD 跨頻率

  •   460 
  • 最後發表   fredchang  2023 九月 20
fredchang 發文於   2023/09/12

小幫手 您好,

1. 如果程式用 5 分鐘頻率執行,要抓取 MACD 10 分鐘頻率以下程式是否正確?

2. setbackbar(SlowLength); 是否可以這樣設定?

 

input: FastLength(16, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");

variable: difValue(0), macdValue(0), oscValue(0);

setbackbar(SlowLength);

value1 = xfMin_MACD("10",xfMin_weightedclose("10"),FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

xfMin_GetValue("10",value1,1);

condition1 = oscValue > 0;

XQ小幫手 發文於   2023/09/20

 Hello fredchang,

 

1. 是的,value1 = xfMin_MACD("10",xfMin_weightedclose("10"),FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

就會計算出10分鐘頻率的MACD。

但value1 本身沒有意義 (只會回傳1),所以xfMin_GetValue("10",value1,1);是不需要的。

 

2. setbackbar 是設定引用筆數。

MACD是需要使用前期運算值的指標,所以需要另外設定資料讀取筆數。

由於是5分鐘跨10分鐘,所以會需要同頻率所需筆數的兩倍:

SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 4 * 2);

所需筆數可以參考內建選股腳本。

 

發表回覆
Close