你好
我試著把技術指標裡的MFI改成跨頻率 不過出來的數值不太一樣 想請教一下修改的地方哪裡有問題。
這是原本技術指標腳本裡的MFI:
-------------------------------------------------------
// XQ: MFI指標
Input: Length(6);
variable: tp(0), tv(0), utv(0), dtv(0), pmf(0), nmf(0), mfivalue(0);
SetInputName(1, "天數");
tp = TypicalPrice;
tv = tp * Volume;
if tp > tp[1] then
begin
utv = tv;
dtv = 0;
end
else
begin
utv = 0;
dtv = tv;
end;
pmf = Average(utv, MinList(CurrentBar, length));
nmf = Average(dtv, MinList(CurrentBar, length));
if CurrentBar < Length or (pmf + nmf) = 0 then
mfivalue = 50
else
mfivalue = 100 * pmf /(pmf + nmf);
Plot1(mfivalue, "MFI");
--------------------------------------------------------------------------------------
我試著改成在60分鐘頻率以下看60分鐘的MFI指標 有一個地方我不知道要怎麼改(打*的地方) 請工程師指教:(我知道Average函數需要用數列,但我不知道變數的數列要怎麼寫)
Input: Length(6);
variable: tp(0), tv(0), utv(0), dtv(0), pmf(0), nmf(0), mfivalue(0);
tp = (getfield("high","60")+getfield("low","60")+getfield("close","60"))/3;
tv = xfMin_GetValue("60",tp,0) * getfield("Volume","60");
if xfMin_GetValue("60",tp,0) > xfMin_GetValue("60",tp,1) then
begin
utv = tv;
dtv = 0;
end
else
begin
utv = 0;
dtv = tv;
end;
*pmf = Average(utv, MinList(xf_GetCurrentBar("60"), Length));
*nmf = Average(dtv, MinList(xf_GetCurrentBar("60"), length));
if xf_GetCurrentBar("60") < Length or (pmf + nmf) = 0 then
mfivalue = 50
else
mfivalue = 100 * pmf /(pmf + nmf);
Plot1(mfivalue, "MFI");
-------------------------------------------------------------
感謝
不知道哪裡還需要修改 所以想麻煩工程師幫我看一下
感恩
2 評論