同一個xs指標 放日線圖 跟放周線圖 卻不一樣

  •   416 
  • 最後發表   kevin0428  2024 八月 19
kevin0428 發文於   2024/08/12

同一個指標  放周線跟放日線圖同一天顯示卻不一樣

同一天擷取的畫面  我指標都用箭頭放底部顯示   周線圖 當天有顯示 但 日線圖當天未顯示!

我自行比對一下 發現是當中的一個值有問題  但不知道怎麼更改  如下圖

 

我把檔案放上來了  再麻煩小編了

 

附加文件

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/08/12

原因是兩種頻率計算EMA的資料筆數不同所致,亦即在日頻率之下,跨頻率計算周的EMA使用的筆數與周頻率之下,計算周的EMA使用的筆數不同。解決方法:

在周頻率的腳本加SetTotalBar(1000);

在日頻率的腳本加SetTotalBar(5000);

兩者的數據就會一致。

  • 按讚來自於
  • magichouse
kevin0428 發文於   2024/08/13

很感謝您的回覆

不過我照您的方式做更改   還是一樣的狀況!

input:Leng2(10),Leng3(20),Leng4(50),FastLength(6), SlowLength(13), MACDLength(9);

variable:ema2(0),ema3(0),ema4(0),difValue(0), macdValue(0), oscValue(0);

SetTotalBar(5000);

ema2 = xf_ema("AW",close, Leng2);

ema3 = xf_ema("AW",close, Leng3);

ema4 = xf_ema("AW",close, Leng4);  

xf_macd("AW",xf_weightedclose("AW"),FastLength, SlowLength, MACDLength, value1, value2, value3);

value9=EMA(GetField("收盤價","AW"),12);

value10=average(GetField("收盤價","AW"),12);

value11=value9-value10;

value16 = xf_GetValue("AW",value11,1);

value17 = xf_GetValue("AW",value3,1);

 

     condition1 =ema2 >= ema3; 

condition4 =value3 >= value17;

condition10=value11>0;

condition11=value11>=value16;

condition9 =condition1 and condition4 and condition11 and condition10;

if condition9 then plot1(close,"z");

 

在8/12號當天  我選取跟我一開始問的同一支標的來確認

還是沒有出現符合訊號

虎科大許教授 發文於   2024/08/13

問題出在跨頻率處理,在日頻率之下,你的value9及value10是用日頻率計算EMA及其平均。

value9的公式改成 value9=xf_EMA("AW",GetField("收盤價","AW"),12); 才可獲得正確數值,

value10則需要寫一個xf_Average來計算。目前XQ內建的函數沒有這個,需要自己寫。

  • 按讚來自於
  • magichouse
kevin0428 發文於   2024/08/13

感謝您的回覆

我試了一下  value9 是改成您建議的公式

至於value10好像維持原本的公式是可以的 

因我有把 日頻率下的 value9 value10數值 plot出來  跟在周頻率下的數值去做比對  是完全吻合的!!

非常感謝

XS小編 發文於   2024/08/19

Hello kevin0428,

 

小編補充,EMA 函數在計算上會使用到前期變數值,故在跨頻率時要使用另外一個函數 xf_EMA 才能夠計算出正確的數值。

在 XSHelp 上以 xf 或 xfMin 開頭的函數,就是在跨頻率時需要使用的函數。

 

Average 函數在計算上不需要使用前期值,故可以直接使用不同頻率的資料來計算。

  • 按讚來自於
  • Pingzz0719
  • magichouse
發表回覆
Close