期货软件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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容