dmi跨頻率

  •   137 
  • 最後發表   東尼  2021 六月 30
東尼 發文於   2021/06/24

請問工程師

欲用 雷達 "跨頻率30分" 去搜尋 "日DMI"   pdi CROSS OVER  ndi

input: length(14);

variable : pdi(0), ndi(0) ,adx_value(0);

settotalbar(maxlist(length,6)*13+8);

DirectionMovement(  length, pdi, ndi ,adx_value;

if  pdi(getfield("CLOSE" , "D" ), length , pdi ,ndi ,adx_value)  CROSS OVER  ndi(getfield("CLOSE" , "D"), length , p di ,ndi ,adx_value)  ?

試了之後好像不可以   請問該怎麼修正?

謝謝

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/06/25

Hello 東尼,

 

您可以參考 xf_DirectionMovementxf_GetValue 函數。

另外腳本內pdi跟ndi是變數不是函數。

 

input: length(14);

variable : pdi(0), ndi(0) ,adx_value(0);

settotalbar((maxlist(length,6)*13+8) * 9);

xf_DirectionMovement("D", length, pdi, ndi, adx_value);

if  pdi CROSS OVER ndi then ret = 1;

東尼 發文於   2021/06/25

謝謝工程師

 

東尼 發文於   2021/06/27

請問工程師:

我用60分頻率去搜尋 if pdi cross over ndi then ret =1  沒問題

但我把程式碼改成 用60分頻率去搜尋 日的 if adx_value cross over ndi then ret =1 ;  卻沒結果

但我用日頻率去搜尋時  日的 if adx_value cross over ndi then ret =1 ; 

可找出  2204, 2033, 6269, 6164, 3094, 3006  6檔股票( 110-06-25日)

請問是那邊需要調整?  謝謝~

 

 

 

XQ小幫手 發文於   2021/06/29

Hello 東尼,

 

小幫手依照您所說的使用60分鐘頻率搭配此條件

if  adx_value CROSS OVER ndi then ret = 1;

跑回測,有搜尋出東西。

建議您可以在腳本裡使用print看DMI計算出來的值有沒有異常。

如果有異常的話可以將 settotalbar 裡的數值加大看是否能解決。

附上截圖以及回測報告供您參考。

附加文件

東尼 發文於   2021/06/30

謝謝工程師指導!

發表回覆
Close