MFI即為資金流量指數,對於該指標的構築和解釋與相對強弱指標相似,區別只是在於:成交量對於資金流量指數是重要的。代碼及解讀如下:
Params
Numeric Length(14);//聲明數值參數Length,初值14.//
Numeric SmoothLength(6);//聲明數值參數SmoothLength,初值6.//
Numeric OverSold(20) ;//聲明數值參數OverSold,初值20.//
Numeric OverBought(80) ;//聲明數值參數OverBought,初值80.//
Vars
NumericSeries TypicalPrice;//聲明數值序列變量TypicalPrice。//
NumericSeries MoneyFlow;//聲明數值序列變量MoneyFlow。//
NumericSeries PMoneyFlow;//聲明數值序列變量PMoneyFlow。//
Numeric PType;//聲明數值變量PType。//
Numeric SumMoneyFlow; //聲明數值變量SumMoneyFlow。//
NumericSeries MFIValue;//聲明數值序列變量MFIValue。//
Numeric SumPMoneyFlow;//聲明數值變量SumPMoneyFlow。//
Numeric MFIAvg;//聲明數值變量MFIAvg。//
Begin
TypicalPrice = (High+Low+Close)/3;//開盤價、最高與最低三個價格的均值。//
PType = IIF(TypicalPrice >= TypicalPrice[1], 1, 0);//當前的k線的均值大於等於前一k線的均值的,則取值為1,否則取值0.//
MoneyFlow = Vol * TypicalPrice;//成交量乘以均值,即可得變量MoneyFlow值。//
PMoneyFlow = MoneyFlow*PType;//把上面求得的兩值相乘了。//
SumMoneyFlow = SummationFC(MoneyFlow, Length);//代入相應數值與週期,快速求和,即可得SumMoneyFlow總值。//
SumPMoneyFlow = SummationFC(PMoneyFlow, Length);//同理,代入相應數值與週期,快速求和,得到SumPMoneyFlow總值。//
If(SumMoneyFlow <> 0)//假如總值SumMoneyFlow不等於0.//
MFIValue = SumPMoneyFlow/SumMoneyFlow*100;//則把兩總值相除,再乘以100,即得MFIValue值。//
Else//總值等於0的。//
MFIValue = 0; //變量MFIValue賦值為0.//
MFIAvg = AverageFC(MFIValue, SmoothLength);//把相應數值與週期6代入函數AvergeFC,求得均值,即為MFIAvg值。//
PlotNumeric("MFI",MFIValue);//畫線MFI,值為MFIValue值。//
PlotNumeric("MFI Avg",MFIAvg);//畫線MFIAvg,值為MFIAvg值。//
PlotNumeric("超買",OverBought);//畫線超買,值為80.//
PlotNumeric("超賣",OverSold);//畫線超賣,值為20.//
End
![期貨軟件TB系統源代碼解讀系列60-MFI](http://p2.ttnews.xyz/loading.gif)
閱讀更多 依之翊 的文章