週、日k混合腳本

  •   433 
  • 最後發表   asdrestart  2023 五月 26
asdrestart 發文於   2023/05/23

請問小幫手

若想要進行選股,條件是在上揚的週k5日均線之上,找出日K多頭排列(5日均>10日均>20日均且都上揚)出紅棒時的股票。

初步撰寫的內容如下,但跑出結果不如預期,想請小幫手看看哪裡有問題,謝謝:

VARs:close_dma_5(0), close_dma_10(0), close_dma_20(0), close_dma_60(0), close_dma_240(0);  //日均

VARs:close_wma_5(0);  //週均

close_wma_5 = average(GETField("close", "W"),5);

close_dma_5 = average(close, 5);

close_dma_10 = average(close, 10);

close_dma_20 = average(close, 20);

close_dma_60 = average(close, 60);

close_dma_240 = average(close, 240);

 

if close_wma_5 > close_wma_5[1] //週5上揚(當週收盤價>前一週收盤價)

then begin

if close > close_dma_60 and close_dma_60 > close_dma_60[1] //收盤價在日/60之上且日/60上揚

then begin

if close > open and close > close_dma_5  //收盤價>日/5 且 收紅k

then begin

if close_dma_5 > close_dma_5[1] and close_dma_10 > close_dma_10[1] and close_dma_20 > close_dma_20[1] // 日/5、10、20上揚

then begin

if close_dma_5 > close_dma_10 and close_dma_10 > close_dma_20 //日/5、10、20多頭排列

then ret=1;

end;

end;

end;

end;

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/05/24

 Hello asdrestart,

 

如果您可以描述下是哪裡不如預期 (ex. 什麼商品什麼時候應該被篩選出卻每有),會讓小幫手比較容易找出問題點。

另外,可以使用 print 或 outputfield 來輸出資訊確認。

 

close_wma_5 > close_wma_5[1] 這邊是當日的週5MA大於昨日的週5MA,跟當週上週收盤價沒關係。

需注意變數是跟著執行的頻率。

撰寫腳本時可以使用 condition 來保存布林變數,這樣會比較容易閱讀。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

asdrestart 發文於   2023/05/25

小幫手您好

碰到的問題是選股結果日K是多頭排列,但轉到週K卻不是我想的週/5上揚,不過小幫手的回覆讓我知道close_wma_5 > close_wma_5[1] 這邊是當日的週5MA大於昨日的週5MA,跟當週上週收盤價沒關係。

想請問如果希望是當日週5MA大於上週5MA,是否要改寫成如下:

 

VALUE1= average(GETField("close", "W"),5);

 

VALUE2= average(GETField("close", "W")[1],5); 

if VALUE1 > VALUE2 //週5上揚(當週收盤價>前一週收盤價)

then begin..........

 

還是週、日沒辦法在同一個腳本內完成??  謝謝。

XQ小幫手 發文於   2023/05/26

Hello asdrestart,

 

是的,您那種寫法就會是當日週5MA大於上週5MA。

另外也可以使用 xf_GetValue / xfMin_GetValue 來抓取不同頻率的變數值。

發表回覆
Close