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

[amibroker] Re: Is there an easier way?



PureBytes Links

Trading Reference Links

Tomasz,
--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx> 
wrote:
> Dimitris,
> 
> 1. Now for loops are *pure* AFL too.

I am the last who will not agree. On the other side, as you see, the 
loop concept takes some time to become friendly. It is the cost of 
any great step.
Some examples of exclusive for loop solution would help, IMO.
Thanks again
Dimitris Tsokakis
> 
> 2. Should be ROC( Close, lookback ) of course.
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> 
> ----- Original Message ----- 
> From: "DIMITRIS TSOKAKIS" <TSOKAKIS@xxxx>
> 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@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/ 
> > 
> > 
> >


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