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

[amibroker] Re: sum only positive days



PureBytes Links

Trading Reference Links

Jayson,

Add Herman's code and my filter to bottom of your AFL:

m=BarCount-1; // From Herman
UpVolDays = 0; 
for(n=m; n>0; n--) if(C[n]>C[n-1]) UpVolDays[m--] = V[n];
SumLastUpdays = Sum(UpVolDays,20);

Filter = 1;
AddColumn(C,"Close",1.4);
AddColumn(V,"Vol",1.4);
AddColumn(SumLastUpdays,"SumLastUpdays",1.0);
AddColumn(x,"x",1.0);
AddColumn(y,"y",1.0);

... then do an explore.

I compared the results from your loop to Herman's.

Herman's appears to produce the correct results.

One other point. I like your concept of working with UpVol / DownVol
metrics, however I'll be making a significant modification to it... 

assume you have two days with volume of 1,000,000

one day the close rises $.05

the other day the close falls $2.00

Your calcs would result in a net zero diff in Up versus Down volume

I plan to work with $ based volume changes in order to measure the
real depth of price changes.

Thanks for the concept.

Regards,

Phsst



--- In amibroker@xxxxxxxxxxxxxxx, "Jayson" <jcasavant@xxxx> wrote:
> 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.


------------------------ 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/