選股腳本- 周EMA 和 技術分析圖 顯示值不同

  •   270 
  • 最後發表   andylee  2018 六月 15
andylee 發文於   2018/06/14

我寫了一個選股腳本用周EMA 篩選股票

篩選出來後發現某些檔和技術分析圖的值不一樣如 6596和6548,

但大部分股票值是一樣的, 如9927...

周EMA取 7 13 21 53, 本周沒過完, 所以看上一周weekema[1]...

麻煩了, 謝謝

 

附上程式

input: weeklength(7);   setinputname(1,"周均線期數");
input: dweeklength(13);     setinputname(2,"雙周均線期數");
input: monlength(21);   setinputname(3,"月均線期數");
input: quartlength(53);     setinputname(4,"季均線期數");

variable: weekema(0);
variable: dweekema(0);
variable: monema(0);
variable: quartema(0);
variable: maxaverage(0);
variable: minaverage(0);

SetTotalBar(1000);

weekema = xf_ema ("W", close,weeklength);
dweekema = xf_XAverage ("W", close,dweeklength);
monema = xf_ema ("W", close,monlength);
quartema = xf_XAverage ("W", close,quartlength);
maxaverage = maxlist(weekema,dweekema,monema,quartema);
minaverage = minlist(weekema,dweekema,monema,quartema);

if 
    closew(1) > maxaverage[1]  and loww(1)>minaverage[1] and  loww(1)< (maxaverage[1]-(maxaverage[1]-minaverage[1])*0.5)

then 

  begin
    value1= absvalue(weekema[1] -dweekema[1]);
    value2= absvalue(dweekema[1] -monema[1]);
    value3= absvalue(monema[1] -quartema[1]);
    value4= absvalue(quartema[1] -weekema[1]);
    if maxlist(value1,value2,value3,value4) < 0.05*closew(1) then  ret=1;
    outputfield(1, weekema[1], "weekema[1]");
    outputfield(2, dweekema[1], "dweekema[1]");
    outputfield(3, monema[1], "monema[1]");
    outputfield(4, quartema[1], "quartema[1]"); 
    outputfield(5, closew(1), "closew(1)"); 
  end;

 

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

Hi andylee,

猜想您的執行頻率應該是日,若是的話,請使用 xf_GetValue 來取得跨頻率前期值( 不是用 weekema[1] 來取得前期值 ),相關說明請參考XS函數搜尋網頁,謝謝。

andylee 發文於   2018/06/15

不是喔 我執行時選的是"周"

不過一剛開始選日 的確是會全都錯..

後來選周就是現在這樣, 有幾檔會錯

XQ小幫手 發文於   2018/06/15

Hi andylee,

選週的話,因為頻率相同,就不用跨頻率語法撰寫囉~ 用EMA語法撰寫即可,

如果您的頻率相同,然後使用跨頻率語法撰寫,且跨頻率語法取前期值不是用 xf_getvalue 取,則會有問題,

以上說明,請您修改為 EMA 後再試試看,謝謝。

P.S. 小幫手這裡更改測試後,數值正確,如附檔圖。

附加文件

發表回覆
Close