如何寫出跨頻率均線糾結語法

  •   60 
  • 最後發表   Jack Williams  3 週前
Jack Williams 發文於   2025/09/06

請問要如何寫出日K周K的5日20日60日120日240日移動平均線都糾結在一起,糾結幅度在30%以內之選股語法?非常謝謝。

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

主頻率:日

5日均線:average(c,5)

5週均線:average(getField("收盤價","W"),5)

把所有日均線及週均線數值分別算出來,再各自算這些均線數值最大及最小值,然後比較最大及最小值差距是否在30%之內。

XS小編 發文於   2025/09/10

Hello Jack Williams,

 

小編補充,系統內建的選股跟警示腳本中有不少都包含糾結的條件,您可以參考看看。

Jack Williams 發文於   2025/09/12

謝謝你們。我先寫了周K糾結,不知有何需要修改的地方? 要加上日K不知要如何修改?

 

//K糾結均線

SetTotalBar(300);

 

input: shortlength(5);  setinputname(1,"短期均線期數");

input: midlength(20);   setinputname(2,"中期均線期數");

input: Longlength(60);  setinputname(3,"長期均線期數");

input: Percent(2);      setinputname(4,"均線糾結區間%");

 

variable: shortaverage(0);

variable: midaverage(0);

variable: Longaverage(0);

variable: maxaverage(0);

 

shortaverage = xf_XAverage("W",GetField("Close","W"),5);

midaverage = xf_XAverage("W",GetField("Close","W"),20);

Longaverage= xf_XAverage("W",GetField("Close","W"),60);

maxaverage = maxlist(shortaverage,midaverage,Longaverage);

 

value1= absvalue(shortaverage -midaverage);

value2= absvalue(midaverage -Longaverage);

value3= absvalue(Longaverage -shortaverage);

if maxlist(value1,value2,value3)*100 < Percent*Close then ret=1;

虎科大許教授 發文於   2025/09/12

(1)若均線不一定非得用指數平均(其實技術分析圖表上的均線指標大部份都用簡單平均),則5週平均可寫成

shortaverage=average(GetField("Close","W"),5);

5日平均只需要把W改成D。

(2)均線糾結有不同的概念,我比較喜歡用三種均線的最高與最低者的距離小於多少趴。例如,小於10%,程式可撰寫如下:

shortaverage=average(GetField("Close","W"),5);

midaverage=average(GetField("Close","W"),20);

Longaverage=average(GetField("Close","W"),60);

value1=maxlist(shortaverage,midaverage,Longaverage);

value2=minlist(shortaverage,midaverage,Longaverage);

if 100*(value1/value2-1)<10 then ret=1;

 

Jack Williams 發文於   2025/09/28

謝謝許教授,感謝您!

發表回覆
Close