KD選股條件

  •   1K 
  • 最後發表   KKuramas  2021 一月 18
KKuramas 發文於   2020/01/14

你好

我是新手使用者,目前使用策略雷達30分K選股

 主要條件為 30分K KD K<30 黃金交叉

要如何進階加入1. 篩選 5日均量> 500 張 

                      2. 周MACD DIF>MACD 的條件呢?

再麻煩小編解惑了>"<

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/01/15

Hi KKuramas

您好,您需要的是使用跨頻率的方式,請您參考getfield語法xf_MACD語法

不過目前使用小頻率跨大頻率的作法,其資料筆數涵蓋範圍就會跟著加大,這是需要注意的

小幫手這邊有替您製作個範例,請您參考,您可以使用提供給您的網頁查詢相關的欄位語法說明。

以上說明,謝謝^^

 

附加文件

KKuramas 發文於   2020/01/17

謝謝小幫手。

有依照您提供的範例來跑策略雷達,使用30分鐘頻率,收尋商品組合 - 上市櫃普桶鼓

但每30分都無法取得警示商品。

如果取消周MACD的條件部分,就可以顯示出商品。

請教小編,是否有使用周MACD的條件就無法每30分鐘都顯示呢? 謝謝

 

 

附加文件

XQ小幫手 發文於   2020/01/17

Hi KKuramas

 

您好,小幫手測試了一下,因為目前XS相關雷達執行有限制2K的記憶體

因為使用30分K,去計算跨頻率的MACD,又要跑全部商品,計算範圍過大

因此無法正常執行完畢,建議減少商品數量,或是減少MACD的週數才能執行

以上說明,謝謝。

 

KKuramas 發文於   2020/01/20

謝謝小幫手。

如果30分K的KD條件不變,日成交量>500 不變,將周MACD的條件改為日MACD是否可以減少記憶體使用量?

自行修改程式如下,但黑粗體字的部分或是其他地方似乎有錯誤,所以程式無法顯示出個股,能否請小幫手協助,謝謝

 

input:Length(9), RSVt(3), Kt(3),FastLength(12), SlowLength(26), MACDLength(9);

 

SetTotalBar(((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8)*45);   //用30分鐘的跨頻率到周所需要的資料量

value1 = Stochastic(Length,RSVt,Kt,value2,value3,value4);       //計算KD指標

value5 = average(getfield("volume","D"),5);  //抓日資料計算5日平均量

//value10 = getfield("volume","D");

value6 = xf_MACD("D",xf_weightedclose("D"),FastLength,SlowLength,MACDLength,value7,value8,value9);  

//跨頻率抓週資料計算周MACD值,分別是DIF.MACD.OSC

if value3<40 and value3 crosses above value4 

and value5>500

and value7>value8 then ret=1;

XQ小幫手 發文於   2020/01/22

Hi KKuramas

您好,資料筆數設定的地方,原本會*45是因為一天有9根30分K,而一週有5日交易日

如果改成日資料,請將後面改成*9 即可足夠資料筆數

小幫手這邊測試,30分K,商品跑普通股全部是可以正常執行的喔,請您再試試看。

以下提供給您小編測試成功的圖片,語法就是與您給我的一樣喔(*45改成*9)~

 

 

附加文件

雅姆 發文於   2021/01/15

請問 如果我要用 30分的macd金叉 該怎麼寫

XQ小幫手 發文於   2021/01/18

雅姆 您好

您可以使用以下內建雷達

// MACD 黃金交叉 (dif向上穿越macd)
//
input: FastLength(12), SlowLength(26), MACDLength(9);
variable: difValue(0), macdValue(0), oscValue(0);

SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);

SetInputName(1, "DIF短期期數");
SetInputName(2, "DIF長期期數");
SetInputName(3, "MACD期數");

MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

Ret = difValue Crosses Above macdValue;

並將雷達指定為30分k 就可以了

or 或是您要跨頻率取30分k macd  請改成

xf_macd 函式

https://xshelp.xq.com.tw/XSHelp/?HelpName=xf_MACD&group=FREQUENCYFUNC

發表回覆
Close