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

Re: Point & Figure Chart in AFL



PureBytes Links

Trading Reference Links

hi mirat+ peter,
how did you guys get ambi to disply
the fancy "x" + "o"?saw this on an attach
going around was it just the attach not
ambi!tell me this is not so????
thanks dave
In amibroker@xxxx, "bluesinvestor" <investor@xxxx> wrote:
> Hello Mirat,
> 
> I have not looked too much into your boxsize calculation, so I 
can't comment
> on how well it works. If you look at the reply I sent to Richard, 
it
> appears that Bollinger had similar thoughts on boxsize.
> 
> I do know that the methods presented on dorseywright.com and 
stockcharts.com
> have been the traditional methods.
> 
> As far as reversal goes, again 3 box reversal is traditional. You 
can
> experiment with changing this value but I have no experience with 
non
> traditional values.
> 
> In other words I have not tested enough to see if there is any 
merit to
> changing the traditional philosophy. It may be worth a look. Let 
me know
> if you find anything interesting.
> 
> Peter
> 
> -----Original Message-----
> From: mirat_dave [mailto:mirat_dave@x...]
> Sent: Monday, July 22, 2002 10:31 AM
> To: amibroker@xxxx
> Subject: [amibroker] Re: Point & Figure Chart in AFL
> 
> 
> Thank you all for your comments and kind words.
> 
> In the original script that I wrote, I used the Box scaling 
suggested
> on StockCharts.com. It worked well; my script produced charts 
almost
> identical to those on that site.
> 
> The reason I changed the method of calculating the Box size is that 
I
> follow a number of stocks that have seen a trading range over the
> past few years of $4 - $200 or more extreme. I also follow the
> market indicies which are in the thousands. In addition, I wanted 
to
> be able to switch between ^DJI, MMM, IBM, MSFT, AOL, HPQ, and others
> without manually changing the Box size.
> 
> Traditionally, the Box and Reversal values are set at the outset and
> not changed during the plot of a single stock. In my case, since
> stock prices have changed dramatically, I wanted to dynamcially vary
> the Box size as the stock price changed to produce a finer chart.
> 
> The values suggested below and those on the stockcharst.com site 
are,
> of course, the more widely used and accepted values.
> 
> For the curious, the number 7.3374 and more accurately these
> calculations:
> Box = ((tot[i]/(i+1))^.5)/7.3374;
> Reverse = Box * 3;
> 
> came from an attempt to use the Box values on the stockcharts.com
> site. The formula tries to dynamically calculate the Box sizes such
> that they correspond to the following.
> 
> Price Range Box Size
> Under $0.25 .0625
> .26 to 1.00 .125
> 1.01 to 5 .25
> 5.01 to 20 .50
> 20.01 to 100 1.00
> 100.01 to 200 2.00
> 200.01 to 500 4.00
> 500.01 to 1,000 5.00
> 1,000.01 to 25,000 50.00
> 25,000.01 and up 500.00
> 
> Preference/bias was toward being more accurate on the Box sizes
> corresponding the stock prices equal to and under $100.
> 
> I have a question, by varying the Box and reversal values am I doing
> more harm than good in the resulting PnF analysis?
> 
> Thanks,
> 
> Mirat
> 
> 
> --- In amibroker@xxxx, "bluesinvestor" <investor@xxxx> wrote:
> > I think I should elaborate on my last email ... the is the
> traditional scale
> > used in PnF.dll:
> >
> > Price Range Box Size
> > 0.00 to 5.00 .25
> > 5.01 to 20.00 .50
> > 20.01 to 100.00 1.00
> > Over 100.00 2.00
> >
> >
> >
> >
> > But if anyone sees a reason to change this let me know.
> >
> > Peter
> > -----Original Message-----
> > From: bluesinvestor [mailto:investor@x...]
> > Sent: Friday, July 19, 2002 5:11 PM
> > To: amibroker@xxxx
> > Subject: RE: [amibroker] Re: Point & Figure Chart in AFL
> >
> >
> > Richard,
> >
> > From
> http://stockcharts.com/education/How/AnalysisTools/pnfCharts.html:
> >
> > Traditional box scaling preloads box sizes historically used for
> that
> > particular price range. The reversal amount starts at 2 (this
> should be 3),
> > but can be adjusted dynamically. Here are the traditional box 
sizes
> used in
> > our charts:
> >
> >
> > Price Range Box Size
> > Under $0.25 .0625
> > .26 to 1.00 .125
> > 1.01 to 5.00 .25
> > 5.01 to 20.00 .50
> > 20.01 to 100.00 1.00
> > 100.01 to 200.00 2.00
> > 200.01 to 500.00 4.00
> > 500.01 to 1,000.00 5.00
> > 1,000.01 to 25,000.00 50.00
> > 25,000.01 and up 500.00
> >
> >
> >
> > The traditional scaling in PnF.dll only uses .25 (less than $5)
> up to 2
> > (greater than $100) because I have been a student of Dorsey Wright
> long
> > before StockCharts came along, but the DLL can change when and if
> needed.
> > Plus you have the ability to use your own boxsize in the DLL.
> >
> > Peter
> > -----Original Message-----
> > From: Richard Alford [mailto:richard.alford@x...]
> > Sent: Friday, July 19, 2002 4:59 PM
> > To: amibroker@xxxx
> > Subject: Re: [amibroker] Re: Point & Figure Chart in AFL
> >
> >
> > Looks great, Peter. Can you elaborate on what is meant by the
> > traditional scaling? "x = Boxsize (use '0' for traditional 
scaling)
> or
> > provide a reference. I was checking out Kaufman and I couldn't
> find a
> > recommended box size.
> >
> > Thanks,
> >
> > Richard
> >
> >
> > ----- Original Message -----
> > From: bluesinvestor
> > To: amibroker@xxxx
> > Sent: Friday, July 19, 2002 3:29 PM
> > Subject: RE: [amibroker] Re: Point & Figure Chart in AFL
> >
> >
> > Forgot to mention:
> >
> > http://groups.yahoo.com/group/amibroker/message/17288
> >
> > For PnF.dll information.
> >
> > Peter
> > -----Original Message-----
> > From: bluesinvestor [mailto:investor@x...]
> > Sent: Friday, July 19, 2002 4:23 PM
> > To: amibroker@xxxx
> > Subject: RE: [amibroker] Re: Point & Figure Chart in AFL
> >
> >
> > Hello Mirat,
> >
> > Good stuff!! I made some modifications to your code to
> call my
> > Point & Figure DLL and plot the data using your jscript code. I
> tested it
> > on one stock (PYPL - short history) and it looks correct (except
> for the
> > beginning bars:
> >
> >
> >
> >
> >
> > I have attached the AFL to this email (and posted below 
for
> Yahoo
> > viewers).
> >
> > Thanks again,
> > Peter
> >
> > // PF Chart by Mirat Dave
> >
> > // Copy and paste this as a custom indicator.
> >
> > x=calcPnF(0,3);
> >
> > EnableScript("jscript");
> >
> > <%
> >
> > PnFValue = VBArray( AFL( "PnFVal" ) ).toArray();
> >
> > PnFColumn = VBArray( AFL( "PnFCol" ) ).toArray();
> >
> > // Calculate running average stock price for use in
> calculating the
> > Box size.
> >
> > PFO = new Array();
> >
> > PFC = new Array();
> >
> > // initialize first element
> >
> > j = 0;
> >
> > PFO[j] = PnFValue[0];
> >
> > PFC[j] = PnFValue[0];
> >
> > // perform the loop that produces PF Chart
> >
> > for( i = 1; i < PnFValue.length; i++ )
> >
> > {
> >
> > if ( PnFColumn[i] == 0 )
> >
> > {
> >
> > if( PnFColumn[i] == 0 && PnFColumn[i-1] == 0)
> >
> > {
> >
> > PFC[j] = PnFValue[i];
> >
> > }
> >
> > if( PnFColumn[i] == 0 && PnFColumn[i-1] != 0 )
> >
> > {
> >
> > j++;
> >
> > PFC[j] = PnFValue[i];
> >
> > PFO[j] = PnFValue[i-1];
> >
> > }
> >
> > }
> >
> > else
> >
> > {
> >
> > if (PnFColumn[i] == 1)
> >
> > {
> >
> > if( PnFColumn[i] == 1 && PnFColumn[i-1] == 1 )
> >
> > {
> >
> > PFC[j] = PnFValue[i];
> >
> > }
> >
> > if( PnFColumn[i] == 1 && PnFColumn[i-1] != 1 )
> >
> > {
> >
> > j++;
> >
> > PFO[j] = PnFValue[i-1];
> >
> > PFC[j] = PnFValue[i];
> >
> > }
> >
> > }
> >
> > }
> >
> > }
> >
> > // Shift chart to the right to eliminate trailing empty 
data
> >
> > // - PF charts are generally smaller/shorter then the full
> stock
> > charts because they lack a time scale.
> >
> > delta = PnFValue.length - PFO.length;
> >
> > for( i = PnFValue.length; i > delta; i-- )
> >
> > {
> >
> > PFO[ i-1 ] = PFO[ i-delta-1];
> >
> > PFC[ i-1 ] = PFC[ i-delta-1];
> >
> > }
> >
> > for( i = 0; i < delta; i++)
> >
> > {
> >
> > PFO[ i-1 ] = 0;
> >
> > PFC[ i-1 ] = 0;
> >
> > }
> >
> > AFL.Var("delta") = delta;
> >
> > AFL.Var("length") = PnFValue.length;
> >
> > AFL.Var("PFO") = PFO;
> >
> > AFL.Var("PFC") = PFC;
> >
> > %>
> >
> > O = PFO;
> >
> > C = PFC;
> >
> > H = (O+C)/2;
> >
> > L = (O+C)/2;
> >
> > GraphXSpace = 9;
> >
> > Graph0Style = 64;
> >
> > Graph0Color =1;
> >
> > Graph0 = C;
> >
> > Filter=C>0;
> >
> > AddColumn(PFO,"PFO");
> >
> > AddColumn(PFC,"PFC");
> >
> >
> >
> >
> > -----Original Message-----
> > From: mirat_dave [mailto:mirat_dave@x...]
> > Sent: Friday, July 19, 2002 10:00 AM
> > To: amibroker@xxxx
> > Subject: [amibroker] Re: Point & Figure Chart in AFL
> >
> >
> > Hello Richard and Dimitris,
> >
> > Sorry to have caused so much confusion.
> >
> > Since most stocks since 2000 have been trending down, you
> may get a
> > only a few bars because the P&F Chart ignores small up
> moves and
> > only
> > extends down bars when the price moves more than the box
> size.
> > Since
> > 2000, you may very well have only a few bars. Try loading
> more data
> > for at least one stock.
> >
> > I used AmiQuote and Yahoo for the data. I have data from
> January
> > 1994. The AmiBroker version on which I created this file
> is 4.0.0
> > Apr 26 2002.
> >
> > I do not know if the AmiBroker version is causing the
> difference. I
> > saw that it worked for Richard on MSFT (although I am not
> sure what
> > the whole MSFT v. MSFT issue was - it seems to have 
resolved
> > itself). Perhaps Richard also has more data loaded.
> >
> > As you can see from the script, it is very simple. If
> problems
> > continue, I would be happy to go through it in detail to
> see if
> > there
> > is a coding error.
> >
> > I'm afraid I have no other explanation other than more
> data. Let's
> > try that first.
> >
> > Mirat
> >
> > PS I would post .gifs of my charts but I do not know how
> to attach
> > a
> > file to my reply. Although that would not help resolve 
the
> issue.
> > :-)
> >
> >
> >
> >
> >
> > --- In amibroker@xxxx, "Richard Alford"
> <richard.alford@xxxx> wrote:
> > > I am just isolating variables. If we have the same
> program and
> > version (4.06.1 Jun 19 build), the same indicator code
> (this I
> > confirmed) and same data we should get the same result. 
(I
> continue
> > to believe in deterministic computing - probably naive in
> light of
> > Microsoft!). The questionable variable, and a big one, is
> the data
> > source - I use qp2. Perhaps someone using yahoo could
> compare to
> > your results?
> > >
> > >
> > > It does appear that the "box size", the significant
> change that
> > defines an X or O in my understanding, should be 
normalized
> to the
> > price of the instrument to account for the difference in
> WCOME
> > pricing vs. DJIA, for example. I am referring to the code
> fragment:
> > >
> > > // Calculate PF Chart Box size and minimum Reverse 
values
> > > // Box = ((tot[i]/(i+1))^.5)/7.3374;
> > >
> > > Cheers,
> > >
> > > Richard
> > > ----- Original Message -----
> > > From: dtsokakis
> > > To: amibroker@xxxx
> > > Sent: Wednesday, July 17, 2002 2:49 PM
> > > Subject: [amibroker] Re: Point & Figure Chart in AFL
> > >
> > >
> > > Richard,
> > > YHOO via Amiquote.
> > > Why do you think it is a matter of data provider ?
> > > Dimitris Tsokakis
> > >
> > > --- In amibroker@xxxx, "Richard Alford"
> <richard.alford@xxxx>
> > wrote:
> > > > but the point remains that you and I get different
> results.
> > what
> > > is your data source?
> > > >
> > > > Richard
> > > > ----- Original Message -----
> > > > From: dtsokakis
> > > > To: amibroker@xxxx
> > > > Sent: Wednesday, July 17, 2002 1:47 PM
> > > > Subject: [amibroker] Re: Point & Figure Chart in 
AFL
> > > >
> > > >
> > > > Richard,
> > > > ANY other function works just fine with my 
valuable
> > Amibroker
> > > 4.06.
> > > > Just fine.
> > > > I can not see the reason for this P&F script.
> > > > Anyway, the author perhaps could expain.
> > > > Dimitris Tsokakis
> > > >
> > > > --- In amibroker@xxxx, "Richard Alford"
> > <richard.alford@xxxx>
> > > wrote:
> > > > > DT, I agree it was not easy to understand. The
> attached
> > charts
> > > > showed the TWO results that were generated 
whenever
> I
> > entered
> > the
> > > > symbol MSFT - it appears to be a fluke and I 
cannot
> > reproduce
> > it
> > > any
> > > > longer. Although there is not ticker name in the
> formula,
> > there
> > > was
> > > > strange behavior occurring for MSFT and MSFT only
> at that
> > time.
> > > > >
> > > > > The gist of my reply to you was that using the
> SAME code
> > as
> > you
> > > > posted and using the code I copied from the files
> sections,
> > I
> > > > generated the same results - and not the results
> that you
> > were
> > > > creating. That suggests that you have a problem 
in
> your
> > data
> > > and/or
> > > > setup. The only reason for the two codes was to
> guarantee
> > that
> > > there
> > > > wasn't a subtle error - there was not.
> > > > >
> > > > > Sorry for adding the confusion about the MSFT
> fluke at the
> > same
> > > > time.
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Richard
> > > > > ----- Original Message -----
> > > > > From: dtsokakis
> > > > > To: amibroker@xxxx
> > > > > Sent: Wednesday, July 17, 2002 12:47 AM
> > > > > Subject: [amibroker] Re: Point & Figure Chart
> in AFL
> > > > >
> > > > >
> > > > > Richard,
> > > > > It is not easy to understand this
> > > > > "the plot for MSFT changes when one changes 
the
> symbol
> > go
> > > MSFT
> > > > from
> > > > > MSFT??? "
> > > > > I copied the formula from
> > > > >
> > http://groups.yahoo.com/group/amibroker/files/Point-Figure
> > > > > pasted in my Ind. builder and get the posted
> gifs.
> > > > > No ticker name is into the formula.
> > > > > What is "the two MSFT " ???
> > > > > Do you use the same code from the above
> address??
> > > > > DT
> > > > >
> > > > >
> > > > > --- In amibroker@xxxx, "Richard Alford"
> > <richard.alford@xxxx>
> > > > wrote:
> > > > > > Those are not the figures I generate using
> the code in
> > > > the "files
> > > > > section". (Why wasn't this put in the AFL
> library is a
> > > question
> > > > in
> > > > > my mind???)
> > > > > >
> > > > > > Just noticed that the plot for MSFT changes
> when one
> > > changes
> > > > the
> > > > > symbol go MSFT from MSFT??? Not the case for
> AMZN or
> > ORCL?
> > > > > >
> > > > > > I attached the two MSFT for comparison, one
> is "my"
> > copy,
> > > and
> > > > the
> > > > > other is a copy and paste of the code in your
> note. The
> > > > difference
> > > > > is the quirk in MSFT, not an error in the code
> you have
> > used.
> > > And
> > > > DT
> > > > > do you really like black on blue borders?
> Personally, I
> > can
> > > > never
> > > > > read your chart titles.
> > > > > >
> > > > > > Cheers,
> > > > > >
> > > > > > Richard
> > > > > >
> > > > > >
> > > > > > ----- Original Message -----
> > > > > > From: Dimitris Tsokakis
> > > > > > To: amibroker@xxxx
> > > > > > Sent: Tuesday, July 16, 2002 1:14 PM
> > > > > > Subject: [amibroker] Re: Point & Figure
> Chart in AFL
> > > > > >
> > > > > >
> > > > > > Mirat,
> > > > > > Here is P&F charts for AMZN, MSFT and 
ORCL.
> > > > > > Data since Jan 2000.
> > > > > > Is it the expected picture ?
> > > > > > The code, copied from files section
> > > > > >
> > > > > > // PF Chart by Mirat Dave
> > > > > > // Copy and paste this as a custom
> indicator.
> > > > > >
> > > > > > EnableScript("jscript");
> > > > > > <%
> > > > > >
> > > > > > High = VBArray( AFL( "High" ) ).toArray();
> > > > > > Low = VBArray( AFL( "Low" ) ).toArray();
> > > > > >
> > > > > > // Calculate running average stock price
> for use in
> > > > calculating
> > > > > the Box size.
> > > > > >
> > > > > > tot = new Array();
> > > > > > tot[0] = (High[0] + Low[0])/2;
> > > > > > for( i=1; i < High.length; i++ )
> > > > > > {
> > > > > > tot[i] = tot[i-1] + ((High[i] + Low
[i])/2);
> > > > > > }
> > > > > > PFO = new Array();
> > > > > > PFC = new Array();
> > > > > >
> > > > > > // initialize first element
> > > > > >
> > > > > > j = 0;
> > > > > > PFO[j] = High[0];
> > > > > > PFC[j] = Low[0];
> > > > > > down = 1; // By default the first bar is a
> down bar.
> > > > > >
> > > > > > up = 0;
> > > > > > swap = 0;
> > > > > >
> > > > > > // perform the loop that produces PF Chart
> > > > > >
> > > > > > for( i = 1; i < High.length; i++ )
> > > > > > {
> > > > > > // Calculate PF Chart Box size and minimum
> Reverse
> > values
> > > > > >
> > > > > > Box = ((tot[i]/(i+1))^.5)/7.3374;
> > > > > > Reverse = Box * 3;
> > > > > > if( Low[i] < PFC[j] - Box && down)
> > > > > > {
> > > > > > PFC[j] = Low[i];
> > > > > > }
> > > > > > else
> > > > > > {
> > > > > > if( High[i] >= PFC[j] + Reverse && down)
> > > > > > {
> > > > > > j++;
> > > > > > swap = 1;
> > > > > > PFO[j] = Low[i];
> > > > > > PFC[j] = High[i];
> > > > > > }
> > > > > > }
> > > > > > if( High[i] > PFC[j] + Box && up)
> > > > > > {
> > > > > > PFC[j] = High[i];
> > > > > > }
> > > > > > else
> > > > > > {
> > > > > > if( Low[i] <= PFC[j] - Reverse && up)
> > > > > > {
> > > > > > j++;
> > > > > > PFC[j] = Low[i];
> > > > > > PFO[j] = High[i];
> > > > > > swap = 1;
> > > > > > }
> > > > > > }
> > > > > > if( swap )
> > > > > > {
> > > > > > swap = 0;
> > > > > > if( up )
> > > > > > {
> > > > > > up = 0;
> > > > > > down = 1;
> > > > > > }
> > > > > > else
> > > > > > {
> > > > > > up = 1;
> > > > > > down = 0;
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > // Shift chart to the right to eliminate
> trailing
> > empty
> > > data
> > > > > > // - PF charts are generally
> smaller/shorter then
> > the
> > > full
> > > > stock
> > > > > charts because they lack a time scale.
> > > > > >
> > > > > > delta = High.length - PFO.length;
> > > > > > for( i = High.length; i > delta; i-- )
> > > > > > {
> > > > > > PFO[ i-1 ] = PFO[ i-delta-1];
> > > > > > PFC[ i-1 ] = PFC[ i-delta-1];
> > > > > > }
> > > > > > for( i = 0; i < delta; i++)
> > > > > > {
> > > > > > PFO[ i-1 ] = 0;
> > > > > > PFC[ i-1 ] = 0;
> > > > > > }
> > > > > > AFL.Var("PFO") = PFO;
> > > > > > AFL.Var("PFC") = PFC;
> > > > > > %>
> > > > > >
> > > > > > O = PFO;
> > > > > > C = PFC;
> > > > > >
> > > > > > H = (O+C)/2;
> > > > > > L = (O+C)/2;
> > > > > >
> > > > > > GraphXSpace = 9;
> > > > > > Graph0Style = 64;
> > > > > >
> > > > > > Graph0Color =1;
> > > > > > Graph0 = C;
> > > > > >
> > > > > > Thanks in advance for any reply.
> > > > > > Dimitris Tsokakis
> > > > > >
> > > > > > Yahoo! Groups Sponsor
> > > > > >
> > > > > > Click here to find your contact
> lenses!
> > > > > >
> > > > > > Your use of Yahoo! Groups is subject to 
the
> Yahoo!
> > Terms
> > > of
> > > > > Service.
> > > > >
> > > > >
> > > > > Yahoo! Groups Sponsor
> > > > > ADVERTISEMENT
> > > > >
> > > > >
> > > > >
> > > > > Your use of Yahoo! Groups is subject to the
> Yahoo! Terms
> > of
> > > > Service.
> > > >
> > > >
> > > > Yahoo! Groups Sponsor
> > > > ADVERTISEMENT
> > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to the Yahoo!
> Terms of
> > > Service.
> > >
> > >
> > > Yahoo! Groups Sponsor
> > > ADVERTISEMENT
> > >
> > >
> > >
> > > Your use of Yahoo! Groups is subject to the Yahoo!
> Terms of
> > Service.
> >
> >
> > ------------------------ Yahoo! Groups
> > Sponsor ---------------------~-->
> > Will You Find True Love?
> > Will You Meet the One?
> > Free Love Reading by phone!
> > http://us.click.yahoo.com/O3jeVD/R_ZEAA/Ey.GAA/GHeqlB/TM
> > ----------------------------------------------------------
--
> --------
> > -~->
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
> > http://docs.yahoo.com/info/terms/
> >
> >
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service.
> >
> >
> >
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service.
> >
> >
> > Yahoo! Groups Sponsor
> > ADVERTISEMENT
> >
> >
> >
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service.
> 
> 
> 
> 
> 
> Your use of Yahoo! Groups is subject to 
http://docs.yahoo.com/info/terms/