macd跨週期指令

  •   244 
  • 最後發表   東尼  2022 十二月 13
東尼 發文於   2022/12/12

請問工程師:

想用雷達寫一個腳本   1. 日osc剛大於0  且 2. 周osc>0 及 月osc>0  

請問下列寫法對嗎? 

1.因為有時跑出來的股票 觀察其技術線圖來看 日osc 都沒問題  但有時候 跑出來個股的周osc  或 月osc 的值並不一定都大於0   感到納悶~~

2.另外要在選股中心   使用日周月macd跨週期程式碼  可以用嗎?  因為發現周osc跟月osc 的OutputField的值都不對

 請您指導一下.....謝謝!

------------------------------------------------------------------------------------------------------------------------------------------------- 

value7 = xf_MACD("D", xf_weightedclose("D"), FastLength, SlowLength, MACDLength, value8, value9, value10); //日macd 

value11 = xf_MACD("W", xf_weightedclose("W"), FastLength, SlowLength, MACDLength, value12, value13, value15); //周macd 

value16 = xf_MACD("M", xf_weightedclose("M"), FastLength, SlowLength, MACDLength, value17, value18, value19); //月macd

if  volume>5000  //成交量  >5000張

and  value10 cross over 0 //  日osc  0軸金叉  

and value15 >0  and  value19>0  // 周osc>0 & 月osc>0 

then ret=1 ; 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/12/13

 Hello 東尼,

 

小幫手認為是因為資料讀取筆數不足所導致。

MACD是種需要用到前期運算值的指標,姑且先假設您是使用在日頻率好了。

由於 MACD 需要 (maxlist(FastLength,SlowLength,6) + MACDLength) * 4 長度的歷史資料 (可參考內建選股腳本),且最大使用在月頻率上。

一個月大約有22個工作天,所以該長度需要在乘以22,一共需要 (maxlist(FastLength,SlowLength,6) + MACDLength) * 4 * 22 的筆數。

 

若您是使用在分鐘頻率的話,就還要乘上一天有多少根分鐘Bar,所以需要的前期筆數驚人。

小幫手會建議您不要跨大這麼大的頻率,或是在選股中心作運算。

選股策略可以將日、週和月的腳本分開寫,再加入同一個策略中即可,這樣在取用前期資料的時候,就可以只取得各頻率所需的最低筆數。

東尼 發文於   2022/12/13

 謝謝您的指導...

發表回覆
Close