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

[amibroker] Re: sum only positive days



PureBytes Links

Trading Reference Links

And one less loop:

x = 0;
y = 0;
for( i = 1; i < pds + 1; i++ )
{
	x = x + ValueWhen( C > Ref( C, -1 ), Volume, i );
	y = y + ValueWhen( C < Ref( C, -1 ), Volume, i );
}

Rgds,

Phsst
--- In amibroker@xxxxxxxxxxxxxxx, "William Peters"
<williampeters@xxxx> wrote:
> Jayson,
> 
> You need to change that loop a little. The loop should continue
while i < pds + 1
> See below. Otherwise your home.
> 
> for( i = 1; i < pds + 1; i++ )
> {
> 	x = x + ValueWhen( C > Ref( C, -1 ), Volume, i );
> }
> y = 0;
> for( i = 1; i < pds + 1; i++ )
> {
> 	y = y + ValueWhen( C < Ref( C, -1 ), Volume, i );
> }
> 
> 
> Regards,
> William Peters
> www.amitools.com
> 
> 
> 
> -----Original Message-----
> From: Jayson [mailto:jcasavant@x...]
> Sent: Thursday November 27, 2003 11:54 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: RE: [amibroker] sum only positive days
> 
> 
> Thanks to all who provided interesting and creative approaches to my
> question. My goal was to look at the last 20 up days and compare the
volume
> to the last 20 down days. William Peters got me started with a for
loop (I
> really have to learn better to use these!!) and others provided
variations.
> and I came up with the following......
> 
> pds=Param("PDS",20,6,22,1);
> smooth=Param("Smooth",12,1,50,1);
> trig=Param("Trigger",10,1,25,1);
> x = 0;
> 
> for( i = 1; i < pds; i++ )
> {
> 	x = x + ValueWhen( C > Ref( C, -1 ), Volume, i );
> }
> y = 0;
> for( i = 1; i < pds; i++ )
> {
> 	y = y + ValueWhen( C < Ref( C, -1 ), Volume, i );
> }
> 
> vp=EMA(x-y,smooth);
> trigger=MA(vp,trig);
> Plot(vp,"",IIf(x-y>0,colorBrightGreen,colorRed),1);
> Plot(trigger,"",colorYellow,1);
> 
> Title="A/D Volume of "+Name()+ " is "+
> WriteIf(x-y>0,EncodeColor(colorBrightGreen)+ "
> Positive",EncodeColor(colorRed)+" Is
Negative")+EncodeColor(colorWhite)+"\n
> Bar % of  all Vol Average = "+WriteVal(V/MA(V,50)*100,1.0) +"%";
> Buy=Cross(Vp,trigger);
> Sell=Cross(trigger,Vp);Equity(1);
> 
> I am still experimenting with look back parameters and perhaps some
> smoothing. The MA cross may be important or perhaps a zero cross is
more to
> the point. It will take some study. In any case this looks like an
> interesting way to gauge money flow into and out of a stock. If there is
> more interest (volume) on up days then perhaps the stock is under
> accumulation, if more on down days perhaps distribution. At first
glance the
> indicator turns ahead of the price. I like that as it allows me a
heads up.
> Please do not confuse my reference to "Buy" and "Sell" as a system.
This is
> just an interesting study that some of you may find useful.
> 
> Enjoy your Holiday
> 
> 
> Regards,
> Jayson
> -----Original Message-----
> From: Graham [mailto:gkavanagh@x...]
> Sent: Wednesday, November 26, 2003 5:49 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: RE: [amibroker] sum only positive days
> 
> 
> Jayson, this will sum the last 20 bars for  x which will either be
zero or
> the volume.
> 
> x=iif(c>ref(c,-1),v,0)
> Y = sum(x,20);
> 
> 
> 
> Cheers,
> Graham
> http://groups.msn.com/ASXShareTrading
> http://groups.msn.com/FMSAustralia
> 
> >  -----Original Message-----
> > From:       Jayson [mailto:jcasavant@x...]
> > Sent:      Thursday, 27 November 2003 3:18 AM
> > To:      1ami
> > Subject:      [amibroker] sum only positive days
> >
> > I cannot seem to get my mind around what should be a fairly simple
thing
> > to code. Perhaps someone could nudge me in the right direction.
> >
> > I want to sum the volume of the last 20 up days and compare it to
the last
> > 20 down days. This is not to be confused with summing the up days
of the
> > last 20 bars,  Simple code such as  plot( c>ref(c,-1)"",4,2); 
will plot
> > just the up days and x=iif(c>ref(c,-1),v,0) can calculate the
volume but
> > how do I sum the last 20 bars where x>0 as opposed to summing the
last 20
> > bars of X  ?
> >
> > TIA
> >
> > Regards,
> > Jayson
> >
> 
> 
> Yahoo! Groups Sponsor
> ADVERTISEMENT
> 
> 
> 
> 
> Send BUG REPORTS to bugs@xxxx
> Send SUGGESTIONS to suggest@xxxx
> -----------------------------------------
> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
> (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> --------------------------------------------
> Check group FAQ at:
> http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> 
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
> 
> 
> 
> 
> Send BUG REPORTS to bugs@xxxx
> Send SUGGESTIONS to suggest@xxxx
> -----------------------------------------
> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
> (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> --------------------------------------------
> Check group FAQ at:
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> 
> Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/GHeqlB/TM
---------------------------------------------------------------------~->

Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/