期貨軟體TB系統原始碼解讀系列60-MFI

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


分享到:


相關文章: