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

RE: [amibroker] Custom AFL formulas refusing to load



PureBytes Links

Trading Reference Links

d,
I will admit it was complicated, some 6-ply parentheses needed 
cautious copy/paste. When I was working the respective MA, EMA, DEMA 
formulas I was using paper [landscape size...].This time everything 
was written directly in IB window. It was a nice excercise, 
especially when the result was appearing from the corner sooner or 
later.
BTW, the predictions statistics was impressive, never met something 
similar...
Dimitris Tsokakis
--- In amibroker@xxxxxxxxxxxxxxx, "dingo" <dingo@xxxx> wrote:
> I agree but how about the time (and determination) it took to get 
the exact
> solution?  
>  
> d
> 
> 
>   _____  
> 
> From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> Sent: Monday, April 05, 2004 6:07 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: estimating price for possible crossover on 
T3
> indicator
> 
> 
> dingo,
> It is nice to have the exact formula, when possible of course.
> It is fast, accurate and, the most important, it gives very 
> interesting side effects. The Cross(Ti3a,Ti3b) prediction is one of 
> them. 
> Dimitris Tsokakis
> --- In amibroker@xxxxxxxxxxxxxxx, "dingo" <dingo@xxxx> wrote:
> > Here's a general purpose routine provided by Fred Tonetti that 
you 
> can adapt
> > to suit your needs.
> >  
> > d
> >  
> > >>Is there any way this can be accomplished...
> > >>
> > >>the question is...What price must the security close at for a 
> > >>crossover the next day?
> > >>
> > >>TIA
> > 
> > 
> > 
> > 
> >   _____  
> > 
> > From: Fred [mailto:ftonetti@x...] 
> > Sent: Friday, January 30, 2004 12:41 PM
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] Re: Search Routine for Crossover Point -- 
EMA 
> Version
> > 
> > 
> > Is there any reason to limit this to an xMA when this can easily 
be 
> > done for any built in AB indicator or any custom AFL "indicator" 
> that 
> > one cares to write ?
> > 
> > //      *********************************************** 
> > //
> > //      An all purpose routine to find the price 
> > //            necessary to move an indicator to a GOAL.
> > //
> > //      This should work for virtually any indicator,
> > //            built in or otherwise.  It's demonstrated 
> > //            here using RSI & BBand's ...
> > //
> > //      Note:      It will appear to use future quotes
> > //                        because of the down shifting of the
> > //                        price array, but obviously it can't
> > //                        "know" tomorrows price.  There's 
> > //                        probably a way to rectify this but 
> > //                        I was more concerned with the rest 
> > //                        of the process.
> > //
> > //      The maximum iterations have arbitrarily been 
> > //            set to 200 which is undoubtedly overkill 
> > //            as I've yet to see anything take 200 even
> > //            when tolerance was set to 0 on datastreams 
> > //            with very high prices.
> > //
> > //      For real usage the saving of i in j and the
> > //            accuracy calculation can be tossed as they 
> > //            were only put in for demonstration purposes 
> > //
> > //      ***********************************************
> > //
> > //      This Routine requires the following things
> > //
> > //      P0            = A price array or synthetic
> > //
> > //      Goal      = The goal value of the indicator
> > //
> > //      Acc            = An accuracy level for the calculations
> > //
> > //                    Set this to the order of magnitude 
> > //                    that you want.  For example if you want 
> > //                    accuracy in calculated price to within 
> > //                    0.01 then set it 0.01.  It can even 
> > //                    be set to 0 which will force AB to 
> > //                    calculate until it can't find any 
> > //                    further improvements (Usually between
> > //                    150-170 iterations) but this is semi
> > //                    useless as improvements relative to 
> > //                    price granularity have long since 
> > //                    been gone by.
> > //
> > //                    The lower you set it the longer it 
> > //                    will take but it's pretty quick 
> > //                    (Usually between 15-30 iterations) 
> > //                    unless you set it at 0.
> > //                              
> > //      ***********************************************
> > //
> > //      Note:      Some goals are virtually unattainable on
> > //                  the next bar, especially on the downside
> > //                  as they would require a negative price
> > //                  which is what this routine will show if
> > //                  that is what is required.
> > //
> > //      ***********************************************
> > 
> > P0   = C;
> > 
> > Acc  = 0.0001;
> > 
> > LVBI = LastValue(BarIndex());
> > Mult = 1;
> > 
> > //      ***********************************************
> > //      Shift Price up by n orders of magnitude to make 
> > //            it >= 1.  This is useful to increase 
> > //            accuracy on very low priced datastreams 
> > //            such as the JY.
> > //      ***********************************************
> > for (i = 0; i < 10; i++)
> > { 
> >       if (P0[LVBI] >= 1) 
> >             i = 99; 
> >       else 
> >             Mult = Mult * 10; 
> > } 
> > // ***********************************************
> > 
> > P1   = Ref(P0, 1) * Mult;
> > UpDn = 100 * P1[LVBI];
> > 
> > for (i = 0; i < 200; i++)
> > {
> > 
> > //      An example for finding price associated with the next 
bars 
> > BBandTop
> > //
> > //
> >       
**************************************************************
> > ***************
> > //      Put whatever indicator you want to goal seek here based 
on 
> P1
> > //
> >       
**************************************************************
> > ***************
> >       Calc = P1;
> > //
> >       
**************************************************************
> > ***************
> > //      Put whatever you want for the goal here ...
> > //
> > //      The reason for putting it in the loop is because 
sometimes 
> > the goal is price 
> > //            oriented and will need to be recalculated on each 
> > iteration.
> > //
> >       
**************************************************************
> > ***************
> >       Goal = LastValue(BBandBot(P1, 14, 2));
> > //
> >       
**************************************************************
> > ***************
> > 
> > 
> > 
> > //      An example for finding price associated with the next 
bars 
> > RSI value of 65
> > //
> > //
> >       
**************************************************************
> > ***************
> > //      Put whatever indicator you want to goal seek here based 
on 
> P1
> > //
> >       
**************************************************************
> > ***************
> > //      Calc = RSIa(P1, 14);
> > //
> >       
**************************************************************
> > ***************
> > //      Put whatever you want for the goal here ...
> > //
> > //      The reason for putting it in the loop is because 
sometimes 
> > the goal is price 
> > //            oriented and will need to be recalculated on each 
> > iteration.
> > //
> >       
**************************************************************
> > ***************
> > //      Goal = 65;
> > //
> >       
**************************************************************
> > ***************
> > 
> >       if (Calc[LVBI] < Goal)
> >             P1[LVBI] = P1[LVBI] + UpDn;
> >       else
> >             P1[LVBI] = P1[LVBI] - UpDn;
> >       UpDn = UpDn / 2;
> >       if (UpDn <= Acc)
> >       {
> >             j = i;
> >             i = 99999;
> >       }
> > }
> > 
> > Accuracy = 100 * (abs(Goal - Calc) / Goal);
> > 
> > Filter = BarIndex() == LVBI;
> > 
> > AddColumn(Mult,                              
> >       "Multiplier",   1.0);
> > AddColumn(Calc[LVBI - 1] / Mult,      "Curr Ind Val", 1.9);
> > AddColumn(Goal / Mult,                        "Goal Ind Val", 
1.9);
> > AddColumn(Calc[LVBI] / Mult,            "Calc Ind Val", 1.9);
> > AddColumn(j,                                    
> >       "Iterations",   1.0);
> > AddColumn(Accuracy,                           "Accuray (%)",  
1.9);
> > AddColumn(Ref(P1, -1) / Mult,            "Todays Price", 1.9);
> > AddColumn(P1 / Mult,                              "Goal 
> > Price",   1.9);
> > 
> > 
> > 
> > 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 
> > 
> > 
> > 
> > Yahoo! Groups Sponsor      
> > 
> > ADVERTISEMENT
> >  
> > 
> 
<http://rd.yahoo.com/SIG=12cr5290c/M=268585.4464812.5643763.1261774/D=
> egroup
> > 
> 
web/S=1705632198:HM/EXP=1075570907/A=1950447/R=0/*http://ashnin.com/cl
> k/mury
> > utaitakenattogyo?YH=4464812&yhad=1950447> click here      
> >  
> > <http://us.adserver.yahoo.com/l?
> M=268585.4464812.5643763.1261774/D=egroupmai
> > l/S=:HM/A=1950447/rand=928413924>       
> > 
> >   _____  
> > 
> > Yahoo! Groups Links
> > 
> > 
> > *      To visit your group on the web, go to:
> > http://groups.yahoo.com/group/amibroker/
> >   
> > 
> > *      To unsubscribe from this group, send an email to:
> > amibroker-unsubscribe@xxxxxxxxxxxxxxx
> > <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?
subject=Unsubscribe> 
> >   
> > 
> > *      Your use of Yahoo! Groups is subject to the Yahoo! Terms 
of 
> Service
> > <http://docs.yahoo.com/info/terms/> .
> 
> 
> 
> 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 
> 
> 
> 
> Yahoo! Groups Sponsor	
> 
> ADVERTISEMENT
>  
> 
<http://rd.yahoo.com/SIG=12caqhvns/M=291630.4786521.5933964.1261774/D=
egroup
> 
web/S=1705632198:HM/EXP=1081246024/A=2072415/R=0/SIG=11thh7ako/*http:/
/www.n
> etflix.com/Default?mqso=60178432&partid=4786521> click here	
>  
> <http://us.adserver.yahoo.com/l?
M=291630.4786521.5933964.1261774/D=egroupweb
> /S=:HM/A=2072415/rand=289688772> 	
> 
> 
>   _____  
> 
> Yahoo! Groups Links
> 
> 
> *	To visit your group on the web, go to:
> http://groups.yahoo.com/group/amibroker/
>   
> 
> *	To unsubscribe from this group, send an email to:
> amibroker-unsubscribe@xxxxxxxxxxxxxxx
> <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe> 
>   
> 
> *	Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
Service
> <http://docs.yahoo.com/info/terms/> .



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 
Yahoo! Groups Links

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

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