PureBytes Links
Trading Reference Links
|
If 2147483647 is the limit then I think your solution of negating the volume
gives the wrong answer. Once the volume goes above 2147483647 then -volume
will start to count down from 2147483647 as the volume ticks up (two's
compliment arithmetic). I can understand that it would be easy to miss this
as it probably wouldn't go below 2000000000 and would seem plausible.
I don't know that there is a solution. If TS is using 32 bit signed numbers
then this is a hard limit. You might consider ploting the volume in blocks
of 100, ie:
if vol < 0 then begin
blockVol = 21474836.47 + (-vol/100)
else
blockVol = vol/100;
This should work until volumes reach 200B+ !
Ian Smith
>On Fri, 21 Sep 2001 13:33:40 -0500 "Mike Moore" <mmoore04@xxxxxxxxxxxxx>
wrote.
>It could very well be that number. It has been some time since I looked
>into the problem. I remember it was greater than 2 billion but I don't
>recall narrowing it down to a specific number.
>
>Mike Moore
>
>-----Original Message-----
>From: ian [mailto:ian@xxxxxxxxxxx]
>Sent: Friday, September 21, 2001 1:02 PM
>To: mike@xxxxxxxxxx
>Subject: Re: Problem with plotting volume as a symbol in chart
>
>could the volume limit be 2147483647? (2**31) -1 two's compliment 32
>bit
>number.
>
>Ian Smith
>
>Mike Moore wrote:
>
>> I also had a problem with TS giving incorrect volume when the volume was
>> above 2 billion. My solution was to create the following new indicator.
>> Hope this helps.
>>
>> Inputs: AvgLength(50), BreakoutPcnt(50), UpVolColor(Green),
>> DownVolColor(Red);
>> Variables: Vol(0), AvgVol(0), LrgVol(0);
>>
>> If Volume < 0 then begin
>> LrgVol = -(volume);
>> end
>> Else begin
>> LrgVol = Volume;
>> end;
>>
>> If Volume <> 0 Then Begin
>> If DataCompression >= 2 Then Begin
>> Plot1(LrgVol, "Volume");
>> Plot2(Average(LrgVol, AvgLength), "Volume Avg");
>> End
>> Else Begin
>> Plot1(UpTicks DownTicks, "Volume");
>> Plot2(Average(UpTicks DownTicks, AvgLength), "Volume
>Avg");
>> End;
>>
>> If Close >= Close[1] Then
>> SetPlotColor(1, UpVolColor)
>> Else
>> SetPlotColor(1, DownVolColor);
>> End;
>>
>> IF Plot1 >= Plot2 * (1 (BreakoutPcnt * .01)) Then
>> Alert("Volume is " NumToStr(BreakoutPcnt, 2) "bove its
>average");
>>
>> {Volume Expert Commentary}
>> #BeginCmtry
>> Commentary(ExpertVolumeAvg(Plot1, AvgLength, BreakoutPcnt));
>> #End;
>>
>> I am using TS2000 and have charts that plot and use as systems input
data,
>> 60 minute bars of total volume as a symbol for both New York and NASD.
>>
>> My problem is that when total volume goes over 2 billion, TS plots the
>close
>> as 0 rather than the correct number. The correct number is in the global
>> server but won't plot correctly. I am using e-signal as a data feed.
>>
>> Is there a fix available.
>>
>> Roger
>
|