想請問是否期貨沒有支援跨頻率運算?
我的自訂指標從5分線圖跨頻率去抓60分線圖MACD的OSC值,
發現在台股範圍(股票、指數)內都可以跟60分線圖的OSC一致,
但是一套用在台指期(FITXN*1),5分線圖跨頻率抓的OSC就無法跟60分線圖的OSC一致。
想知道是否有哪裡出了問題,還是只是期貨不支援跨頻率運算?
想請問是否期貨沒有支援跨頻率運算?
我的自訂指標從5分線圖跨頻率去抓60分線圖MACD的OSC值,
發現在台股範圍(股票、指數)內都可以跟60分線圖的OSC一致,
但是一套用在台指期(FITXN*1),5分線圖跨頻率抓的OSC就無法跟60分線圖的OSC一致。
想知道是否有哪裡出了問題,還是只是期貨不支援跨頻率運算?
Hello kkl,
正確來說,期貨不支援 xf/xfmin 這種跨頻率運算函數。
如果您是計算跨頻率SMA這種的話就不會出問題。
那如果避開使用xf/xfmin的運算函數,
在5分線圖下直接以getField("High","60")的方式分別抓出60分線的高、低、收盤價,並算出WeightedClose後,
再用XAverage得出EMA,最後算出60分的MACD的方式是否可行?
Hello kkl,
您可以使用 getField("High","60") 的方式來計算出 WeightedClose,但需注意計算 WeightedClose 的EMA時要另外作處理,取得正確的前期值(60分鐘頻率的前期值而不是5分鐘頻率的前期值)。
如果直接使用變數取前一根的話會是取用到5分鐘頻率前一根60分鐘WeightedClose的值。
您可以利用變數來存取判斷60分鐘頻率是否有變化。
舉例來說:
value1 = getfield("Time", "60");
當value1 <> value1[1]的時候就代表60分鐘頻率換Bar了。
value1 = getfield("Time", "60");
if value1 <> value1[1] then
begin
value2 = getField("High","60")[1];
value3 = getField("low","60")[1];
value4 = getField("close","60")[1];
end;
WeightedClose = (value2 + value3 +(value4*2))/4;
當我照舉例的方式固定好60分K頻率後,在5分頻率下確實可以正確抓到當根5分K之前期60分K高、低、收盤價,並算出WeightedClose
但是當我想算出前期60分K的EMA時,
EMA12 = XAverage(WeightedClose,12);
就會發現EMA數字對不上,同理就算拿當期60分K的高低收盤價算出WeightedClose,再用XAverage算出的EMA也是不對的數字。
想請問小幫手還有甚麼方法可以在台指期(FITXN*1),從5分頻率下,正確的跨頻率算出60分的EMA或是MACD?
Hello kkl,
如同小幫手之前所說:
您可以使用 getField("High","60") 的方式來計算出 WeightedClose,但需注意計算 WeightedClose 的EMA時要另外作處理,取得正確的前期值(60分鐘頻率的前期值而不是5分鐘頻率的前期值)。
如果直接使用變數取前一根的話會是取用到5分鐘頻率前一根60分鐘WeightedClose的值。
XAverage 是會取用前期值的函數,且取用的前期值會是主頻率 (您的案例就是5分鐘頻率) 的前期值。
所以計算出的數值自然會和60分鐘頻率不同。
您需要自行撰寫 XAverage 的計算式 (可以參考內建函數的寫法),讓其能取用到60分鐘頻率的前期值,計算出來的結果才會是正確的。
5 評論