請問股價跌破30分K均線的結果有問題

  •   339 
  • 最後發表   台中阿誠  2025 二月 16
台中阿誠 發文於   2025/02/16

小編您好,跟您請教一下程式問題,我寫了一個股價跌破30分K的20EMA的腳本,按單次洗價模式出來的結果會出現2、3天前就符合條件的個股,如果在最後面加上time >000900 and <133000這個條件後又會變成全部個股都找不到,請問這是什麼問題哪邊要進行修改? 謝謝您!

程式如下

value1 = ema(getfield("close","30"),20);

value2 = getfield("close","30");

if value2 cross below value1 then ret = 1;

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/02/16

主頻率若不是30分鐘,則EMA應該用跨頻率的函數xfMin_EMA處理,且不得透過變數value1、value2判斷是否有死亡交叉,否則會有邏輯錯誤問題。

台中阿誠 發文於   2025/02/16

許教授您好,謝謝您的回覆與指導,我再研究一下。

早上有找之前其他前輩寫的if barfreq <>"Min" or barinterval<> 30 then raiseruntimeerror 這個設定30分K再下去寫,但都沒成功一直試後寫才會出來稍早寫的那個方式。

虎科大許教授 發文於   2025/02/16

(1)正確的寫法如下:

if barfreq <>"Min" or barinterval<> 30 then raiseruntimeerror("限用30分鐘頻率");

(2)若主頻率是30分鐘,則你的程式基本上沒問題,就剩一個地方要注意,那就是EMA與讀取的資料息息相關。若你用的是選股腳本,預設只有10筆資料,若用的是警示腳本,則準備的資料只有200筆。不論哪一種,與技術分析圖表的EMA數值都不會相同。你可試著setTotalBar(3000),或是更多的筆數,情況可能會改善些。

台中阿誠 發文於   2025/02/16

許教授晚安,再次感謝您的回覆與指導,有按您上次回覆的主頻率修改為30分鐘後跑出來的標的有改善了,我會再按您這次教導的方式進行修改,再次謝謝您的指導!

發表回覆
Close