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

Re: [amibroker] Re: Is there an easier way?



PureBytes Links

Trading Reference Links

Dimitris,

1. Now for loops are *pure* AFL too.

2. Should be ROC( Close, lookback ) of course.

Best regards,
Tomasz Janeczko
amibroker.com

----- Original Message ----- 
From: "DIMITRIS TSOKAKIS" <TSOKAKIS@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Monday, April 21, 2003 11:17 PM
Subject: [amibroker] Re: Is there an easier way?


> Tomasz,
> It is more educative to give pure AFL, when possible.
> If the AFL code is long, the user will easily understand reasons to 
> use for loop as alternative. 
> One should know to write a 50 lines code and then, if he repeats the 
> same calculation every 3rd line, then he will be convinced that it is 
> the time to deal with a more flexible for loop.
> But, the most important, is to use for loop when no AFL could solve 
> the situation.The loop introduction is a great step in AFL structure 
> and will increase the language power.
> Thank you for your endless efforts.
> Dimitris Tsokakis
> BTW, with your
> Change = ROC( Close, -lookback );
> you try to ...look into the future ?
> If positive, the amibroker future is great !!!
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx> 
> wrote:
> > Dimitris,
> > 
> > Nice but still for loop is shorter especially when there
> > are more ranges to scan.
> > 
> > Once can of course use your ROC() approach to shorten even for loop.
> > Whats more for loop makes it possible to parametrize:
> > 
> > startl = Param("Lookback start", 16, 1, 100, 1 );
> > endl = Param("Lookback end", 30, 1, 100, 1 );
> > 
> > SumChange = 0;
> > for( lookback = startl; lookback <= endl; lookback++ )
> > {
> >    Change = ROC( Close, -lookback );
> >    SumChange = ( Change > 0 ) - ( Change < 0 );
> >  }
> > 
> > 
> > Best regards,
> > Tomasz Janeczko
> > amibroker.com
> > 
> > 
> > ----- Original Message ----- 
> > From: "DIMITRIS TSOKAKIS" <TSOKAKIS@xxxx>
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > Sent: Monday, April 21, 2003 9:24 PM
> > Subject: [amibroker] Re: Is there an easier way?
> > 
> > 
> > > Eugene,
> > > Your variable
> > > x16=IIf(C>Ref(C,-16),1,IIf(C==Ref(C,-16),0,-1));
> > > is equivalent to the 
> > > x16A=(ROC(C,16)>0)-(ROC(C,16)<0);
> > > Your sum (x16+x17+x18+x19) is equivalent to the 
> (x16A+x17A+x18A+x19A) 
> > > and it is
> > > S=(ROC(C,16)>0)-(ROC(C,16)<0)+
> > > (ROC(C,17)>0)-(ROC(C,17)<0)+
> > > (ROC(C,18)>0)-(ROC(C,18)<0)+
> > > (ROC(C,19)>0)-(ROC(C,19)<0);
> > > If you need it, it is not that complicated !!
> > > Note that S is a daily function and you may use it in IB
> > > 
> > > S=(ROC(C,16)>0)-(ROC(C,16)<0)+
> > > (ROC(C,17)>0)-(ROC(C,17)<0)+
> > > (ROC(C,18)>0)-(ROC(C,18)<0)+
> > > (ROC(C,19)>0)-(ROC(C,19)<0);
> > > Plot(S,"My sum",4,8);
> > > 
> > > or in AA
> > > 
> > > S=(ROC(C,16)>0)-(ROC(C,16)<0)+
> > > (ROC(C,17)>0)-(ROC(C,17)<0)+
> > > (ROC(C,18)>0)-(ROC(C,18)<0)+
> > > (ROC(C,19)>0)-(ROC(C,19)<0);
> > > Filter=S>=3;
> > > AddColumn...
> > > 
> > > Dimitris Tsokakis
> > > 
> > > 
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" 
> <amibroker@xxxx> 
> > > wrote:
> > > > Hello,
> > > > 
> > > > Using most latest betas (4.31.x or higher) you can use this 
> code:
> > > > 
> > > > SumChange = 0;
> > > > for( lookback = 16; lookback <= 20; lookback++ )
> > > > {
> > > >    Change = Close - Ref( Close, -lookback );
> > > > 
> > > >    SumChange = IIF( Change > 0, 1,
> > > >                          IIF( Change < 0, -1, 0 ) );
> > > > }
> > > > 
> > > > 
> > > > 
> > > > Best regards,
> > > > Tomasz Janeczko
> > > > amibroker.com
> > > > ----- Original Message ----- 
> > > > From: "Eugene" <johngalt1234@xxxx>
> > > > To: <amibroker@xxxxxxxxxxxxxxx>
> > > > Sent: Monday, April 21, 2003 6:04 PM
> > > > Subject: [amibroker] Is there an easier way?
> > > > 
> > > > 
> > > > > I am working with a mutual fund and am trying the following:
> > > > > 
> > > > > iif(close>ref(c,-16),1,iif(c=ref(c,-16),0,-1))
> > > > > 
> > > > > am comparing the close today to the close 16 days earlier and
> > > > > assigning a +1 if it is greater, 0 if it is equal and -1 if 
> it is 
> > > lower.
> > > > > 
> > > > > I want to compare todays price with the price 16,17,18,19 and 
> 20 
> > > days
> > > > > earlier. and repeat the same with prices for the preceeding 5 
> > > days.
> > > > > and sum all the values obtained. 
> > > > > 
> > > > > Not being a programmer, I see that I have to write a lot of 
> > > lines. Is
> > > > > there a simpler way?
> > > > > 
> > > > > TIA
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 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/ 
> > > > > 
> > > > > 
> > > > >
> > > 
> > > 
> > > 
> > > 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/ 
> > > 
> > > 
> > >
> 
> 
> 
> 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/ 
> 
> 
> 

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Make Money Online Auctions! Make $500.00 or We Will Give You Thirty Dollars for Trying!
http://us.click.yahoo.com/yMx78A/fNtFAA/i5gGAA/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/