[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Need coding help with volume indicator



PureBytes Links

Trading Reference Links

Thanks for your time and help. I'm getting a syntax error at the end
of the last line of code. If it's too much trouble, thanks for your
help so far.  The code you wrote is definitely beyond me: but I will
keep reading and looking at examples...

Lorin

--- In amibroker@xxxxxxxxxxxxxxx, "steesehwy" <steesehwy@xxx> wrote:
>
> Ok, here's a way to do it (warning: untested code, I'm just
> free-styling here...)
> 
> UpVol =IIf(C > O, V, -1);
> DownVol =IIf(C < O, V, -1);
> 
> UpVol[0] = DownVol[0] = V[0];  // Be sure to start with something
> 
> // Loop through to pad the arrays
> for (i = 1; i < BarCount; i++)
> {
>   if (UpVol[i] < 0)
>   {
>     UpVol[i] = UpVol[i - 1];
>   }
> 
>   if (DownVol[i] < 0)
>   {
>     DownVol[i] = DownVol[i - 1];
>   }
>  
> Period = Param("Period",3,2,10,1);
> UpVolAvg = EMA( UpVol, Period ) ;
> DownVolAvg = EMA( DownVol, Period ) ;
> Plot(UpVolAvg,"UpVolume", colorGreen);
> Plot(DownVolAvg, "DownVolume", colorRed);
> 
> - Bill
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "l_abarr" <l_abarr@> wrote:
> >
> > I want UpVolume defined as Volume on days when the Close > Open.
> > DownVolume is Volume on days when Close < Open. Then I'd like to plot
> > two moving averages: one for UpVolume and one for DownVolume.  The
> > problem is that on each day there will be no value for either UpVolume
> > or DownVolume.  So if the Close > Open today, we'd have a value for
> > UpVolume (today's Volume) but no value for DownVolume. So I'd like the
> > value for DownVolume to remain at yesterday's DownVolume value.
> > 
> > Thanks, I'm new at this, I appreciate your patience.
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx, "steesehwy" <steesehwy@> wrote:
> > >
> > > The arguments for IIf are (condition, truearray, falsearray). 
In your
> > > first and second lines, you use a value for the "falsearray", not an
> > > array.
> > > 
> > > Also, you seem to be trying to repeat the last value for volume when
> > > it isn't up or down - that is, repeat the last down volume on an up
> > > day.  That will cause a falsely weighted average.  For example, in a
> > > strong up trend, the down-volume average could consist of repeated
> > > entries of the last down day's volume.  I don't have a good
> > > work-around, unless I knew a little more about what you are
trying to
> > > accomplish.
> > > 
> > > - Bill
> > > 
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "l_abarr" <l_abarr@> wrote:
> > > >
> > > > I'm new at this. I'm getting an error in the first line
because the
> > > > variable 'upvol' hasn't been initialized. I want UpVol to
remain the
> > > > same as yesterday if C < O.  Thanks for any help!
> > > > 
> > > > UpVol =IIf(C > O, V, Ref(UpVol,-1));
> > > > DownVol =IIf(C < O, V, Ref(DownVol,-1));
> > > > Period = Param("Period",3,2,10,1);
> > > > UpVolAvg = EMA( UpVol, Period ) ;
> > > > DownVolAvg = EMA( DownVol, Period ) ;
> > > > Plot(UpVolAvg,"UpVolume", colorGreen);
> > > > Plot(DownVolAvg, "DownVolume", colorRed);
> > > >
> > >
> >
>



Content-Description: "AVG certification"
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.430 / Virus Database: 268.15.4/563 - Release Date: 12/2/2006 9:59 AM