請問大大, 我想寫一個日線級別的ATR, 可ˊ以用在更小的時間單位(比方說30分線)裡面當濾網..但找不到相關的函數
如果只寫ATR的話, 只要改變頻率週期相應的變數也會改變, 希望ATR計算能固定在日線頻率
煩請指導~謝謝~
請問大大, 我想寫一個日線級別的ATR, 可ˊ以用在更小的時間單位(比方說30分線)裡面當濾網..但找不到相關的函數
如果只寫ATR的話, 只要改變頻率週期相應的變數也會改變, 希望ATR計算能固定在日線頻率
煩請指導~謝謝~
Hello Brahms5566,
內建的ATR函數計算的是執行的頻率。
如果您需要跨頻率的話,可以自行計算。
您可以計算出日頻率的 True Range,接著使用 xf_GetValue 來取得前幾日的資訊並平均即可。
舉例來說:
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。
了解~ 謝謝小幫手!!
Dear 小幫手
我想在台指期夜盤1分K 計算 日頻率ATR,寫法如下,但是好像算不出正確的20日ATR,可否幫我看看哪邊寫法不對呢?
//計算跨頻率ATR
if currentTime = 150500 then begin //只計算1次避免效能低落
value24 = xf_GetValue("D", TrueRange, 0);
for value25 = 1 to 19 begin
value24 += xf_GetValue("D", TrueRange, value25);
end;
value26 = value24/20; //20日ATR
end else value26 = value26[1];
4 評論