procedure BackgroundSetting()
{
SetChartBkGradientFill( ParamColor("BackgroundTop", colorSkyblue),
ParamColor("BackgroudBottom", colorWhite),ParamColor("TitleBlock",colorWhite));
}
SetBarsRequired( -2, -2 );
_SECTION_BEGIN("Display Setting");
GraphXSpace = 10;
Backgroundsetting();
_SECTION_END();//Display Setting
//Expansion for clarity:
PathA1= Ref(C,-1)-L;
PathB1= H-L;
PathC1= H-C;
Path1 = PathA1+PathB1+PathC1;
UpShare1 = PathB1;
DnShare1 = PathA1+PathC1;
PathA2= H-Ref(C,-1);
PathB2= H-L;
PathC2= C-L;
Path2 = PathA2+PathB2+PathC2;
UpShare2 = PathA2+PathC2;
DnShare2 = PathB2;
Paths = IIf(C<Ref(C,-1),Path1, IIf(C>Ref(C,-1),Path2, 1));
UpShare= IIf(C<Ref(C,-1),UpShare1,IIf(C>Ref(C,-1),UpShare2,0));
DnShare= IIf(C<Ref(C,-1),DnShare1,IIf(C>Ref(C,-1),DnShare2,0));
FlowFactor = Avg;
FlowIn = UpShare/Paths*Volume*FlowFactor;
FlowOut = DnShare/Paths*Volume*FlowFactor;
NetFlow = FlowIn - FlowOut;
TotalFlow = Cum(NetFlow );
PlotType = ParamList("Type of Chart Plotting:","Cumulative|Time Segmented",1);
LBP = Param("LBP for Time Segmented Plot",36,10,50,1);
FastSmoothMF = EMA(TotalFlow,int(LBP/2));
SlowSmoothMF = EMA(TotalFlow,LBP);
DailyNetFlow= IIf(NetFlow==0,MA(Netflow,30),NetFlow);
if(PlotType=="Cumulative")
{
Plot(TotalFlow ,"Garrett Money Flow",colorRed,styleThick);
}
else if (PlotType=="Time Segmented")
{
TSMF=FastSmoothMF - SlowSmoothMF;
Plot(TSMF,"Time Segmented Money Flow",colorRed,styleThick);
Plot(0,"",colorBlack);
TSMFsig = EMA(TSMF,9);
Plot(TSMFsig,"Sig",colorBlue);
Histogram = TSMF-TSMFSig;
col = IIf(Histogram>0,colorGreen,colorRed);
Plot(Histogram,"Histogram",col,styleHistogram,styleThick);
}