台指期跨頻率問題

  •   484 
  • 最後發表   kkl  2022 四月 12
kkl 發文於   2022/03/23

想請問是否期貨沒有支援跨頻率運算?

我的自訂指標從5分線圖跨頻率去抓60分線圖MACD的OSC值,

發現在台股範圍(股票、指數)內都可以跟60分線圖的OSC一致,

但是一套用在台指期(FITXN*1),5分線圖跨頻率抓的OSC就無法跟60分線圖的OSC一致。

想知道是否有哪裡出了問題,還是只是期貨不支援跨頻率運算?

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/03/28

Hello kkl,

 

正確來說,期貨不支援 xf/xfmin 這種跨頻率運算函數。

如果您是計算跨頻率SMA這種的話就不會出問題。

kkl 發文於   2022/03/29

那如果避開使用xf/xfmin的運算函數,

在5分線圖下直接以getField("High","60")的方式分別抓出60分線的高、低、收盤價,並算出WeightedClose後,

再用XAverage得出EMA,最後算出60分的MACD的方式是否可行?

XQ小幫手 發文於   2022/04/06

Hello kkl,

 

您可以使用 getField("High","60") 的方式來計算出 WeightedClose,但需注意計算 WeightedClose 的EMA時要另外作處理,取得正確的前期值(60分鐘頻率的前期值而不是5分鐘頻率的前期值)。

如果直接使用變數取前一根的話會是取用到5分鐘頻率前一根60分鐘WeightedClose的值。

您可以利用變數來存取判斷60分鐘頻率是否有變化。

舉例來說:

value1 = getfield("Time", "60");

當value1 <> value1[1]的時候就代表60分鐘頻率換Bar了。

kkl 發文於   2022/04/06

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?

XQ小幫手 發文於   2022/04/12

Hello kkl,

 

如同小幫手之前所說:

您可以使用 getField("High","60") 的方式來計算出 WeightedClose,但需注意計算 WeightedClose 的EMA時要另外作處理,取得正確的前期值(60分鐘頻率的前期值而不是5分鐘頻率的前期值)。

如果直接使用變數取前一根的話會是取用到5分鐘頻率前一根60分鐘WeightedClose的值。

 

XAverage 是會取用前期值的函數,且取用的前期值會是主頻率 (您的案例就是5分鐘頻率) 的前期值。

所以計算出的數值自然會和60分鐘頻率不同。

您需要自行撰寫 XAverage 的計算式 (可以參考內建函數的寫法),讓其能取用到60分鐘頻率的前期值,計算出來的結果才會是正確的。

發表回覆
Close