Click Image To Enlarge. Please Rate And Comment.
_SECTION_BEGIN("Ed"); //Market Profile GraphXSpace= 5; SetChartOptions(0, chartShowDates); Den = Param("Density", 40, 10, 100, 10); StyleVP = ParamStyle("style VP", styleLine, maskAll); BarsInDay = BarsSince(Day() != Ref(Day(), -1)) + 1; lastBarInDay = Day() != Ref(Day(), 1) OR Cum(1) == BarCount; Bot = TimeFrameGetPrice("L", inDaily, 0); Top = TimeFrameGetPrice("H", inDaily, 0); Vol = abs(TimeFrameGetPrice("V", inDaily, 0)); Range = (Top-Bot); Box = Range/Den; VolumeUnit = abs(Vol)/BarsInDay; // stored detected volume within certain price range at last bar of day for(k = 0; k < Den; k++) { Line = Bot + k * Box; detect = Line >= L & Line <= H; IntraV = IIf(lastBarInDay, Sum(detect * abs(V), BarsInDay), 0); VarSet("Vol" + k, IntraV); } // Look for the biggest value and index MaxVal = -1e20; MaxIndex = -1e20; POC = Top; for(i = 0; i < Den; i++) { Line = Bot + i * Box; Vi = VarGet("Vol" + i); MaxIndex = IIf(MaxVal < Vi, i, MaxIndex); POC = IIf(MaxVal < Vi, Line, POC); MaxVal = IIf(MaxVal < Vi, Vi, MaxVal); } // plot the point of control Plot(Ref(ValueWhen(lastBarInDay,POC),-1) , "POC", colorGold,1); // MP charting for(j=0; j<Den; j++) { Line = Bot + j * Box; // MP charting IntraV2 = VarGet("Vol" + j) / VolumeUnit; ppp = Ref(ValueWhen(lastBarInDay, IntraV2, 0), -1); VpLine = IIf(ppp >= BarsInDay, Line + Box/4, Null); Plot(VpLine, "", IIf(ValueWhen(lastBarInDay, MaxIndex , 0)== j, colorRed, colorBlue), styleDots); } SetChartBkColor( ParamColor("ColorBG", ColorRGB( 0, 0, 0 ) ) ); GraphXSpace= 5; SetChartOptions(0, chartShowDates); Plot(C,"\nLast",colorWhite,64); _SECTION_END();