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

[amibroker] Re: Writing a fib cluster indicator


  • Date: Sat, 19 Dec 2009 05:32:22 -0000
  • From: "Mike" <sfclimbers@xxxxxxxxx>
  • Subject: [amibroker] Re: Writing a fib cluster indicator

PureBytes Links

Trading Reference Links

Hi,

A couple of quick points to spare you some wasted time.

1. In general; I think that you would benifet greatly by reading the following:

http://www.amibroker.com/guide/h_understandafl.html

2. You *really* do not want to be making array based function calls (e.g. PeakBars, ValueWhen, IIF, TroughBars, etc) within a loop. This will be horribly slow. Look for a way to calculate everything outside of a loop.

3. The termination check of all your for loops are incorrect. Do not use "i = 10". You probably want something like "i <= 10". It needs to be a boolean if you ever want it to terminate. Also "=" is assignment, "==" is equivalence test.

http://www.amibroker.com/guide/a_mistakes.html

4. When trying to populate an array inside a loop, you generally should be populating bar by bar: e.g.  array[i] = ...

Mike

--- In amibroker@xxxxxxxxxxxxxxx, "kevinoversby" <kevinoversby@xxx> wrote:
>
> 
> 
> 
> 
> 
> Parts 1) & 2)
> 
> n = 0.3 //approx. 4 point swing on ES
> fibs = [-.62 -.27 0 .38 .5 .62 1 1.27 1.62]; //symmetric
> 
> for(i=1;i=10;i++)
> {
> PeakCondition=PeakBars(H,n)==0;
> p[i] = ValueWhen(PeakCondition,H,i);
> p[i] = IIf(p[i] >= HHV(p,i),p[i],0); //set to zero if not HH
> 
> TroughCondition=TroughBars(L,n)==0;
> t[i] = ValueWhen(TroughCondition,L,i);
> t[i] = IIf(t[i] <= LLV(t,i),t[i],0); //set to zero if not LL
> 
>    for(j=1;j=10;j++)
>    {
>        for(k=1;k=9;k++)
>        {
> 
> array = t[i] + fibs[k] * (p[j] - t[i]); // calc fib levels
> }}}
> 
> I'm unsure of the last line - how to assign the fib levels to an array for sorting.  Thanks in advance for any help.
> 
> 
> Kevin
> 
> 
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "kevinoversby" <kevinoversby@> wrote:
> >
> > I have not found an AFL implementation of this so decided to develop my own.  I'm doing it here as there are a couple of coding issues I'm unsure of.  Constructive comments and tips most welcome.
> > 
> > Process:
> > 
> > 1) Find i last higher peaks and j last lower troughs
> > 2) For each peak/trough pair, calculate fib levels and add to array
> > 3) Sort array
> > 4) Discard a level if distance to next level > tolerance
> > 5) Plot remaining levels, preferably at left or right edge like volume at price (VAP) to simplify chart.
> > 
> > (A thought just occurred that this would also be a useful exercise with VAP levels - investigate later).
> > 
> > 
> > Kevin
> >
>




------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    amibroker-digest@xxxxxxxxxxxxxxx 
    amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

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