ATR跨頻率在分K圖上和走勢圖副圖上的兩個數值不一樣,如何修正?

  •   323 
  • 最後發表   XQYi  2023 十一月 09
XQYi 發文於   2023/09/12

if getfield("Close", "D")[1] > getfield("High", "D") then value1 = getfield("Close", "D")[1] else value1 = getfield("High", "D");

if getfield("Close", "D")[1] < getfield("Low", "D") then value2 = getfield("Close", "D")[1] else value2 = getfield("Low", "D");

value3 = value1 - value2;

value4 = value3;

for value5 = 1 to 4 begin

    value4 += xf_GetValue("D", value3, value5);

    end;

value4 就會是5日的 True Range 加總,只要除以5就會是5日ATR。

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/09/20

 Hello xqyi,

 

小幫手這邊使用您的腳本測試是相同的。(參考附圖)

需注意用xf_GetValue取變數取前期值時,資料讀取筆數要足夠長讓腳本運算過所取得的時間的對應變數值,才可以取得正確的值。

所以XS指標計算範圍至少要有5日以上才可以正確計算出數值。

 

如果還是有問題的話,麻煩提供 頁面匯出檔包含(勾選)指標腳本、錯誤的截圖 以及 XQ Log 來檢驗。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

 

附加文件

XQYi 發文於   2023/09/23

Hi 小幫手

 

1分K ATR169.8/162.是正確的

走勢圖 ATR 167.3 / 164.7 不是預期的

 

程式碼如下 及1分K和走勢圖中的比較圖如附圖

 

{

指標說明

https://xstrader.net/股性系列之六真實波動區間/

}

input: ATRL(2);

if getfield("Close", "D")[1] > getfield("High", "D") then value41 = getfield("Close", "D")[1]

 else value41 = getfield("High", "D");

 

if getfield("Close", "D")[1] < getfield("Low", "D") then value42 = getfield("Close", "D")[1] 

else value42 = getfield("Low", "D");

 

value43 = value41 - value42;

 

value44 = value43;

 

for value45 = 1 to  ATRL begin

 

    value44 += xfMin_GetValue("D", value43, value45);

 

    end;

value46=(value44/(atrl+1));

 

 

 

plot1(opend(0)+(value46)/2,"ATR上",checkbox:=1);

plot2(opend(0)-(value46)/2,"ATR下",checkbox:=1);

附加文件

XQYi 發文於   2023/09/23

取5筆資料,3014我的ATR抓出來的是不一樣的 6.4 / 2.2

 

已mail log檔

XQ小幫手 發文於   2023/10/16

 Hello xqyi,

 

這應該是資料讀取筆數不足的關係。

由於value43是變數要運算過才會有值,因此若運算筆數不足的話抓到的值就會有誤。

建議您可以在腳本中加上 settotalbar,像是 settotalbar(270*ATRL); 來避免這樣的狀況。

附加文件

XQYi 發文於   2023/11/07

hi 小幫手

settotalbar(270*ATRL) 為何要270*ATRL ?筆數*天數 尤其是*天數用意何在

輸出PLOT變得很慢

另外應用在走勢圖中的PLOT 在置底時經常時有時無的不出現 為何?

XQYi 發文於   2023/11/07

hi 小幫手

1. settotalbar(270*ATRL) 為何要270*ATRL ?筆數*天數 尤其是*天數用意何在

2. 輸出PLOT變得很慢,如何修正

3.另外應用在走勢圖中的PLOT 在置底時經常時有時無的不出現 為何?

4. 而且5日ATR在分K跑出來的與日K數值不同?

XQ小幫手 發文於   2023/11/09

Hello xqyi,

 

1. 如同小幫手上面所說,該變數要有運算過才會有值,

您在腳本中有使用 xfMin_GetValue,且最大有到 ATRL,換句話說就是會抓到 ATRL 天前的資料。

故腳本最少要有運算到 ATRL 天前,當下這根Bar計算出來的值才會是正確的。

您使用在1分鐘頻率上,股票一天交易4個半小時,所以會有270根Bar。

因此是 270 * ATRL。

當然您也可以不需要設定 settotalbar,由於您是使用指標,只要將線圖設定中的 XS指標計算範圍 設的夠長 (ex. 想看的天數 + 5 天) 即可。

 

2 & 3. 麻煩您提供 頁面匯出檔勾選(包含)指標腳本 以及 XQ Log 來確認。

2 的部分最簡單的方法是設定的計算期間不要太長。

3 的部分麻煩告知是在什麼日期時間發生的。

 

 

4.小幫手這邊測試將ATRL參數調整成5後兩者是相同的。(參考附圖)

需注意若兩個頻率都已經掛到圖上的話,要在指標設定中修改參數才會改變,在腳本中改input參數編譯不會對已經在圖上的指標腳本參數有影響。

 

附加文件

  • 按讚來自於
  • u2591215
發表回覆
Close