Commentary MoneyFlow

From MultiCharts
Jump to navigation Jump to search

MultiCharts indicator that uses Expert Commentary functionality. Money Flow suggests a signal when a new period High or Low is reached in the market which is not confirmed by a similar new High in the Money Flow index.

ExpertMoneyFlow Function Code

INPUTS: P1( NUMERICSERIES );
VARIABLES : MFHIGH(0), MFLOW(0), ASSETHIGH(0), ASSETLOW(0), MFAVG(0), AVG(0), STRING1("");
MFHIGH=0;
MFLOW=0;
ASSETHIGH=0;
ASSETLOW=0;
STRING1="";	
IF HIGHESTBAR(P1, 9) = 0 THEN 
	MFHIGH=1;
IF LOWESTBAR(P1, 9) = 0 THEN 
	MFLOW=1;
IF HIGHESTBAR(HIGH, 9) = 0 THEN
	 ASSETHIGH=1;
IF LOWESTBAR(LOW, 9) = 0 THEN 
	ASSETLOW=1;
MFAVG = AVERAGE(P1, 9);
AVG = AVERAGE(CLOSE, 9);

IF CHECKCOMMENTARY THEN BEGIN
	STRING1=STRING1+"CONVENTIONAL INTERPRETATION: ";
	STRING1=STRING1+"MONEY FLOW ISSUES A SIGNAL WHEN A NEW";
	STRING1=STRING1+" PERIOD HIGH OR LOW IS REACHED IN THE ";
	STRING1=STRING1+"MARKET WHICH IS NOT CONFIRMED BY A SIMILAR NEW HIGH IN THE";
	STRING1=STRING1+" MONEY FLOW INDEX.";

	IF ASSETHIGH = 1 AND MFHIGH = 1 THEN BEGIN
	STRING1=STRING1+" THE MARKET REACHED A 9 BAR NEW HIGH HERE. HOWEVER, THE MOVE WAS ";
	STRING1=STRING1+"ACCOMPANIED BY A SIMILAR NEW HIGH IN MONEY FLOW.  THEREFORE NO ";
	STRING1=STRING1+"SIGNAL IS GENERATED HERE.";
	END
	ELSE 
	IF ASSETHIGH = 1 AND MFHIGH = 0 THEN BEGIN
		STRING1=STRING1+" THE MARKET REACHED A 9 BAR NEW HIGH HERE WHICH WAS ";
		STRING1=STRING1+"NOT CONFIRMED BY MONEY FLOW. A BEARISH OUTLOOK IS APPROPRIATE";
		STRING1=STRING1+" HERE.";
		END
	ELSE 
		IF ASSETLOW=1 AND MFLOW=1 THEN BEGIN
		STRING1=STRING1+" THE MARKET REACHED A 9 BAR NEW LOW HERE. HOWEVER, THE MOVE WAS ";
		STRING1=STRING1+"ACCOMPANIED BY A SIMILAR NEW LOW IN MONEY FLOW.  THEREFORE NO ";
		STRING1=STRING1+"SIGNAL IS GENERATED HERE.";
		END
ELSE 
	IF ASSETLOW=1 AND MFLOW=0 THEN BEGIN
		STRING1=STRING1+" THE MARKET REACHED A 9 BAR NEW LOW HERE WHICH WAS ";
		STRING1=STRING1+"NOT CONFIRMED BY MONEY FLOW. A BULLISH OUTLOOK IS APPROPRIATE";
		STRING1=STRING1+" HERE.";
			END;
	STRING1=STRING1+NEWLINE+NEWLINE;
	STRING1=STRING1+"ADDITIONAL ANALYSIS: ";

	IF MFAVG>MFAVG[1] AND MFAVG[1]>MFAVG[2] AND AVG < AVG[1] AND AVG[1] < AVG[2] THEN BEGIN
		STRING1=STRING1+"IN ADDITION TO EXAMINING DIVERGENCES AT EXTREME POINTS, SUCH AS";
		STRING1=STRING1+" NEW HIGHS OR NEW LOWS, DIVERGENCES IN TREND CAN ALSO SIGNAL A REVERSAL.";
		STRING1=STRING1+" HERE, BASED ON THE DIRECTION OF A 9 BAR MOVING AVERAGE, MONEY FLOW IS";
		STRING1=STRING1+" TRENDING UP  DESPITE A DECLINE IN THE MARKET TREND.  THIS SUGGESTS";
		STRING1=STRING1+" A BULLISH"+" REVERSAL WITHIN THE NEXT FEW BARS.";
	END
	ELSE 
		IF MFAVG > MFAVG[1] AND AVG > AVG[1] AND AVG[1] > AVG[2] THEN BEGIN
		STRING1=STRING1+"IN ADDITION TO EXAMINING DIVERGENCES AT EXTREME POINTS, SUCH AS";
		STRING1=STRING1+" NEW HIGHS OR NEW LOWS, DIVERGENCES IN TREND CAN ALSO SIGNAL A REVERSAL.";
		STRING1=STRING1+" HERE, BASED ON THE DIRECTION OF A 9 BAR MOVING AVERAGE, MONEY FLOW IS";
		STRING1=STRING1+" TRENDING DOWN  DESPITE AN ADVANCE IN THE MARKET TREND.  THIS";
		STRING1=STRING1+" SUGGESTS A BEARISH REVERSAL WITHIN THE NEXT FEW BARS.";
	END
	ELSE
		STRING1=STRING1+"NO ADDITIONAL ANALYSIS.";

END;
EXPERTMONEYFLOW = STRING1;

MoneyFlow Expert Commentary Indicator Code'

#BeginCmtry;
   Commentary(EXPERTMONEYFLOW(close));
#End;

Note

This indicator will write the analysis information into Expert Commentary only. Nothing will be plotted on the chart itself.