跨頻率KD,5分15分30分同時偵測

  •   896 
  • 最後發表   ANDY LU  2021 三月 19
ANDY LU 發文於   2021/03/18

我使用的是策略雷達要偵測5分15分30分KD同時都有在77以上,而且前一根5分KD要小於76

也就是我希望在15分跟30分本來KD就大於77的情況下

當5分KD從小於76轉變成大於77就通知我該檔股票可以買

執行回測沒有問題都可以跑,但是實際我按「啟動」,就不會跑了
在執行記錄欄位顯示「引用的歷史資料不存在,錯誤代碼5029」

以下是我寫的程式碼,拜託幫我看看哪裡有問題,謝謝

value1 = xfMin_Stochastic("5",9,3,3,value2,value3,value4);       //計算5分鐘線KD指標

value5 = xfMin_Stochastic("15",9,3,3,value6,value7,value8);       //計算15分鐘線KD指標

value9 = xfMin_Stochastic("30",9,3,3,value10,value11,value12);       //計算30分鐘線KD指標

if value3[1]<=76 and value3>=77 and value7>=77 and value11>=77 then ret=1;

 

XQ小幫手 發文於   2021/03/19

Hi ANDY LU,

可以參考附檔範例雷達腳本,注意資料讀取筆數在KD(9、3、3)要設定 300 筆,運算出來的KD數值才會正確,

修改後的範例警示腳本如下,小幫手有跑過台積電查看期運算結果出來的數值是對的,

以上撰寫方向提供給您參考,謝謝:

if barfreq <> "Min" or barInterval <> 5 then raiseRunTimeError("僅支援5分鐘頻率");

//執行頻率是 5分鐘時,則 5分KD 不用使用跨頻率來撰寫
stochastic(9,3,3,value2,value3,value4); //計算 5 分鐘線KD

value5 = xfMin_Stochastic("15",9,3,3,value6,value7,value8);       //計算15分鐘線KD指標

value9 = xfMin_Stochastic("30",9,3,3,value10,value11,value12);       //計算30分鐘線KD指標

//「當5分KD從小於76轉變成大於77」←這個可以用 cross above 來代表。
if value3 cross Above 77 and value7>=77 and value11>=77 then ret=1;

//驗證數值用
//print(date,time,value2,value3,value4,value6,value7,value8,value10,value11,value12);

 

 

附加文件

發表回覆
Close