got a PM from Panos telling me about this: http://centerworldinvestment.blogspot.be/2016/04/re-amibroker-amibroker-6130-beta_27.html
so added that to the code.
Will leave it at that unless I get suggestions or mistakes and will correct for it. I do not really see why one needs an exploration with this but the way I solved it does not seem very good. So anyone who can do this more efficiently please show me how 
// in reply to: http://forum.amibroker.com/t/how-to-get-the-most-traded-area-value-of-previous-day-intraday-data/2472
// code assumes your working with intraday data (e.g. 5min data)
// Value area calculation: http://onlinelibrary.wiley.com/doi/10.1002/9781118659724.app1/pdf
// !!!! TickSize is hardcoded in code. You need to adjust for, according to contract specifics.
// E.M.Pottasch (10/2017)
// possible strategies (did not test any myself)
// - 80% rule: https://marketdelta.com/wp-content/uploads/Strategy-80PercentRule.pdf
// -
// TickSize = 0.25; // <<<<==== adjust yourself
volumeValuearea = Param( "Volume Value area (%)", 0.7, 0, 1, 0.01 );
showVolume = ParamToggle( "Show Volume", "No|Yes", 1 );
showHL = ParamToggle( "Show High/Low boundaries", "No|Yes", 0 );
showVal1 = ParamToggle( "Show Value area inside same day", "No|Yes", 0 );
showVal0 = ParamToggle( "Show Value area projected into the next day", "No|Yes", 1 );
showPOC = ParamToggle( "Show Point Of Control (POC)", "No|Yes", 1 );
vai = Param( "Volume Value area Color Intensity", 15, 0, 254, 1 );
dn = DateNum();
newDay = dn != Ref( dn, -1 );
bi = BarIndex();
fvb = FirstVisibleValue( bi );
lvb = LastVisibleValue( bi );
fvb = Max( 0, fvb );
lvb = Max( 0, lvb );
valueHigh1 = valueLow1 = Null;
valueHigh0 = valueLow0 = Null;
pointOfControl = Null;
highOfDay = TimeFrameGetPrice( "H", inDaily );
lowOfDay = TimeFrameGetPrice( "L", inDaily );
lbx2 = ValueWhen( newDay, bi, 2 );
lbx1 = ValueWhen( newDay, bi, 1 );
lbx0 = ValueWhen( newDay, bi, 0 );
function calculateVolumeValueArea( fb, lb )
{
GfxSetZOrder( -4 );
GfxSetCoordsMode( 1 );
cnt = 0; // count number of visible days
for( i = lb; i > fb; i-- )
{
idx0 = lbx0[ i ];
idx1 = lbx1[ i ];
idx2 = lbx2[ i ];
if( IsEmpty( idx1 ) ) break;
bins = int( ( highOfDay[ idx1 - 1 ] - lowOfDay[ idx1 - 1 ] ) / TickSize );
mx = PriceVolDistribution( H, L, V, bins, False, idx2, idx1 );
//bins = MxGetSize( mx, 0 );
//_trace( "bins: " + bins );
dx = idx1 - idx2;
mxVolBinIdx = 0;
mxVol = 0;
totVol = 0;
for( j = 0; j < bins; j++ )
{
price = mx[ j ][ 0 ]; // price level
relvolume = mx[ j ][ 1 ]; // relative volume 0..1
relbar = relvolume * dx;
if( showVolume )
{
GfxSelectPen( ColorRGB( 80, 0, 0 ), 1, 0 );
GfxMoveTo( idx2, price );
GfxLineTo( idx2 + relbar, price );
}
if( relvolume > mxVol )
{
mxVol = relvolume;
mxVolBinIdx = j;
}
totVol = totVol + relvolume;
}
// calculate Volume Value area
mxih = mxil = mxVolBinIdx;
tvol = mx[ mxVolBinIdx ][ 1 ];
pricePOC = mx[ mxVolBinIdx ][ 0 ];
for( j = 0; j < bins; j++ )
{
if( mxih + 2 < bins AND mxil - 2 >= 0 )
{
relvolumeh = mx[ mxih + 1 ][ 1 ] + mx[ mxih + 2 ][ 1 ];
relvolumel = mx[ mxil - 1 ][ 1 ] + mx[ mxil - 2 ][ 1 ];
if( relvolumeh > relvolumel )
{
mxih = mxih + 2;
tvol = tvol + relvolumeh;
}
else
if( relvolumeh < relvolumel )
{
mxil = mxil - 2;
tvol = tvol + relvolumel;
}
else
if( relvolumeh == relvolumel )
{
mxih = mxih + 2;
mxil = mxil - 2;
tvol = tvol + relvolumeh + relvolumel;
}
}
else
if( mxih + 2 >= bins AND mxil - 2 >= 0 )
{
relvolumel = mx[ mxil - 1 ][ 1 ] + mx[ mxil - 2 ][ 1 ];
mxil = mxil - 2;
tvol = tvol + relvolumel;
}
else
if( mxih + 2 < bins AND mxil - 2 < 0 )
{
relvolumeh = mx[ mxih + 1 ][ 1 ] + mx[ mxih + 2 ][ 1 ];
mxih = mxih + 2;
tvol = tvol + relvolumeh;
}
// handle uneven bars left
if( mxih + 2 >= bins AND mxil - 2 < 0 )
{
if( mxih + 1 < bins )
{
relvolumeh = mx[ mxih + 1 ][ 1 ];
mxih = mxih + 1;
tvol = tvol + relvolumeh;
}
if( mxil - 1 >= 0 )
{
relvolumel = mx[ mxil - 1 ][ 1 ];
mxil = mxil - 1;
tvol = tvol + relvolumel;
}
}
if( ( tvol / totVol ) >= volumeValuearea ) break;
}
priceh = mx[ mxih ][ 0 ];
pricel = mx[ mxil ][ 0 ];
x1 = idx2;
x2 = idx1;
line = LineArray( x1, priceh, x2, priceh );
valueHigh1 = IIf( line, line, valueHigh1 );
line = LineArray( x1, pricel, x2, pricel );
valueLow1 = IIf( line, line, valueLow1 );
// draw into next day
if( cnt > 0 )
{
x1 = idx1;
x2 = idx0;
line = LineArray( x1, priceh, x2, priceh );
valueHigh0 = IIf( line, line, valueHigh0 );
line = LineArray( x1, pricel, x2, pricel );
valueLow0 = IIf( line, line, valueLow0 );
line = LineArray( x1, pricePOC, x2, pricePOC );
pointOfControl = IIf( line, line, pointOfControl );
}
else
if( cnt == 0 )
{
x1 = idx1;
x2 = BarCount - 1;
line = LineArray( x1, priceh, x2, priceh );
valueHigh0 = IIf( line, line, valueHigh0 );
line = LineArray( x1, pricel, x2, pricel );
valueLow0 = IIf( line, line, valueLow0 );
line = LineArray( x1, pricePOC, x2, pricePOC );
pointOfControl = IIf( line, line, pointOfControl );
// draw volume current day
if( showVolume )
{
bins = int( ( highOfDay[ x2 ] - lowOfDay[ x2 ] ) / TickSize );
mx = PriceVolDistribution( H, L, V, bins, False, x1, x2 );
//bins = MxGetSize( mx, 0 );
//_trace( "bins: " + bins + " x1: " + x1 + " x2: " + x2 );
dx = x2 - x1;
for( j = 0; j < bins; j++ )
{
price = mx[ j ][ 0 ]; // price level
relvolume = mx[ j ][ 1 ]; // relative volume 0..1
relbar = relvolume * dx;
GfxSelectPen( ColorRGB( 80, 0, 0 ), 1, 0 );
GfxMoveTo( x1, price );
GfxLineTo( x1 + relbar, price );
}
}
}
i = lbx1[ idx1 ];
cnt++;
}
}
if( Status( "Action" ) == actionIndicator )
{
Title = Name() + " Volume area (%): " + volumeValuearea * 100;
SetChartOptions( 0, chartShowDates );
SetChartBkColor( ColorRGB( 0, 0, 0 ) );
Plot( Close, "Price", colorDefault, styleCandle, Null, Null, 0, 0, 1 );
Plot( newday, "", colorDarkBlue, styleHistogram | styleOwnScale | styleNoLabel | styleNoRescale, 0, 1, 0, -2, 5 );
if( showHL )
{
Plot( highOfDay, "", colorGreen, styleDots | styleNoLine | styleNoRescale, Null, Null, 0, 0, 1 );
Plot( lowOfDay, "", colorRed, styleDots | styleNoLine | styleNoRescale, Null, Null, 0, 0, 1 );
}
calculateVolumeValueArea( fvb, lvb );
if( showVal1 )
{
Plot( valueHigh1, "", ColorRGB( 0, 250, 250 ), styleDots | styleNoLine | styleNoRescale, Null, Null, 0, -3, 1 );
Plot( valueLow1, "", ColorRGB( 0, 250, 250 ), styleDots | styleNoLine | styleNoRescale, Null, Null, 0, -3, 1 );
}
if( showVal0 )
{
Plot( valueHigh0, "", ColorRGB( 250, 250, 0 ), styleDots | styleNoLine | styleNoRescale, Null, Null, 0, -3, 1 );
Plot( valueLow0, "", ColorRGB( 250, 250, 0 ), styleDots | styleNoLine | styleNoRescale, Null, Null, 0, -3, 1 );
PlotOHLC( valueLow0, valueLow0, valueHigh0, valueHigh0, "", ColorRGB( vai, vai, 0 ), styleCloud | styleNoRescale, Null, Null, 0, -5, 1 );
}
if( showPOC )
{
Plot( pointOfControl, "", ColorRGB( 250, 0, 250 ), styleDots | styleNoLine | styleNoRescale, Null, Null, 0, -3, 1 );
}
}
if( Status( "Action" ) == actionExplore )
{
calculateVolumeValueArea( 0, BarCount - 1 );
Filter = Nz( valueHigh0 ) OR Nz( valueLow0 );
AddColumn( Nz( valueHigh0 ), "Upper Boundary Volume Value area", 1.2, colorWhite, colorRed, -1 );
AddColumn( Nz( valueLow0 ), "Lower Boundary Volume Value area", 1.2, colorWhite, colorGreen, -1 );
}