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 [email protected], "steesehwy" <[EMAIL PROTECTED]> 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 [email protected], "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 [email protected], "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 [email protected], "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); > > > > > > > > > >
