dynamic cell range in forecast

This works:
address(row()-1,R[-4]C+5-EndPos) it provides the desired cell reference I'll call CELL

and this works:
forecast(R[-4]C,start_Y:R[-1]C[-1],start_X-R[-4]C[-1]) where start_Y and start_X are named references

but this doesn't:
forecast(R[-4]C,start_Y:address(row()-1,R[-4]C+5-EndPos),start_X:address(row()-4,R[-4]C+5-EndPos)

Essentially I want to forecast a value but the cell range is dynamic (I am creating an object sizing calculator that continues to grow with new objects and after a time also starts to decrease with the removal of old objects ... so I don't know the range for FORECAST until the "EndPos" is provided.

If i stick "INDIRECT" in front of ADDRESS I do get a valid formula, but it does bizarre things (I've even tried doing it in two steps with the ADDRESS in a cell (verified providing the right answer) and an INDIRECT of that cell but I get the same result as when inline).

I'm guessing I can't make FORECAST accept the range and I suspect it is cell ranges in general and not really forecast. But there must be a relatively simple way to solve this, I can't be the first person not to know what range of cells I need until runtime.

Thanks for any help!

This is easily solved using

This is easily solved using dynamic defined ranges.

See http://support.microsoft.com/kb/830287