This error occurs when N-volume compression setting produces data longer than original data set.
N-volume bars are very different from time-based bars(compression of data
to N-volume bar may actually deliver MORE output bars - for example if one
tick is 1000 shares and you have specified 100V bars then single tick will
be expanded to TEN 100V bars - ten times original size)
TimeFrame functions are protected against array overrun and will not decompress
beyond original array size (you will get an "Error 48"). Also switching main time frame to
some weird N-volume bar value will result in limiting the output to maximum
twice original data size(without error message).
You should keep that in mind and avoid using too small N-volume bar intervals that could lead to such condition. Also due to the nature of N-volume bars the only TimeFrameSet() function will yield correct N-volume bar values, TimeFrameGetPrice() may give slightly distorted results.
Example:
TimeFrameMode( 2 );
TimeFrameSet( 20 ); //
possible Error 48 - 20-share bar compression may be too small