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

[amibroker] Re: AFL 101



PureBytes Links

Trading Reference Links

Hi Keith,
Thanks for the input!!

I must admit I had given up hope a while back and chimed in as others appeared to have the same difficulty that I had.

I followed your lead and went thru the manual and put together an AFL guide.Hopefully I will nail it this time..Once again,thanks for your assistance


Allan


--- In amibroker@xxxxxxxxxxxxxxx, Keith McCombs <kmccombs@xxx> wrote:
>
> Allan --
> I saw your sentence, "How would one .......", and immediately opened my 
> .pdf copy of "AmiBroker 5.20 User's Guide", meaning to show you how to 
> get the answers to your question.  So, first searched for == (I assumed 
> that I might find fewer of those than for example { or ,.  Well there 
> are 99 of them in the guide. It took me about a minute to get past 
> examples that just coincidentally used == until I cam across an 
> explanation of what they mean on page 331.  We really luck out here 
> because this is in a section called "Language Structure" starting on the 
> preceding page.  It also tells all about the other symbols that AFL uses.
> 
> Hmmm, nothing about 'indent' there though.  So, we just do a search for 
> 'indent'.  Oops -- struck out; its not even mentioned in the User's 
> Guide at all.
> 
> So, here goes, I know this from my experience with the 'C' computer 
> language.  The 'indent' means NOTHING to the computer.  It is only a 
> crutch for us humans, so we can see more easily what is going on.
> 
> If I had not known that though, I might assume that it was very common 
> to computer languages in general (otherwise it would have been explained 
> in the User's Manual).  So I 'Google' "+computer +language +indent".  
> And there, the fifth one down, is Wikipedia, my favorite first reference 
> on everything.  And it says, "Indentation is not a requirement of most 
> programming languages. Rather, programmers indent to better convey the 
> structure of their program to human readers."
> 
> BTW, here is a very good example.  Yahoo seems to blow away all 
> indention in the code we post, so I will use spaces in it.  The 
> following is from your posting below:
> 
> To the computer, this:
> for( i = 0; i < BarCount; i++ ) {if( priceatbuy == 0 AND Buy[ i ] ){ 
> priceatbuy = BuyPrice[ i ];}
> 
> is exactly this:
> for(i = 0; i<BarCount; i++){
>   if(priceatbuy == 0 AND Buy[i]){
>     priceatbuy = BuyPrice[i];
>   }
> 
> But the addition of indentation made it easier for ME to see the 
> structure.  And also, for me to see that the for statement is not yet 
> complete, because there is no } in line with the f in for.
> -- Keith
> 
> matrix10014 wrote:
> >
> > Hi,
> >
> > If anyone could direct me to a resource that would explain the code 
> > below,that would be appreciated.I understand the code,I just have no 
> > idea of the logic behind it.How would one begin to get an 
> > understanding of the use of {,==,i++ as well as the indentation of 
> > various lines of code
> >
> > Is that standard computer language jargon?
> >
> > Example of code that exits 50% on first profit target, 50% on next 
> > profit target and everything at trailing stop:
> >
> > Buy = Cross( MA( C, 10 ), MA( C, 50 ) );
> > Sell = 0;
> >
> > // the system will exit
> > // 50% of position if FIRST PROFIT TARGET stop is hit
> > // 50% of position is SECOND PROFIT TARGET stop is hit
> > // 100% of position if TRAILING STOP is hit
> >
> > FirstProfitTarget = 10; // profit
> > SecondProfitTarget = 20; // in percent
> > TrailingStop = 10; // also in percent
> >
> > priceatbuy=0;
> > highsincebuy = 0;
> >
> > exit = 0;
> >
> > for( i = 0; i < BarCount; i++ )
> > {
> > if( priceatbuy == 0 AND Buy[ i ] )
> > {
> > priceatbuy = BuyPrice[ i ];
> > }
> >
> > if( priceatbuy > 0 )
> > {
> > highsincebuy = Max( High[ i ], highsincebuy );
> >
> > if( exit == 0 AND
> > High[ i ] >= ( 1 + FirstProfitTarget * 0.01 ) * priceatbuy )
> > {
> > // first profit target hit - scale-out
> > exit = 1;
> > Buy[ i ] = sigScaleOut;
> > }
> >
> > if( exit == 1 AND
> > High[ i ] >= ( 1 + SecondProfitTarget * 0.01 ) * priceatbuy )
> > {
> > // second profit target hit - exit
> > exit = 2;
> > SellPrice[ i ] = Max( Open[ i ], ( 1 + SecondProfitTarget * 0.01 ) * 
> > priceatbuy );
> > }
> >
> > if( Low[ i ] <= ( 1 - TrailingStop * 0.01 ) * highsincebuy )
> > {
> > // trailing stop hit - exit
> > exit = 3;
> > SellPrice[ i ] = Min( Open[ i ], ( 1 - TrailingStop * 0.01 ) * 
> > highsincebuy );
> > }
> >
> > if( exit >= 2 )
> > {
> > Buy[ i ] = 0;
> > Sell[ i ] = exit + 1; // mark appropriate exit code
> > exit = 0;
> > priceatbuy = 0; // reset price
> > highsincebuy = 0;
> > }
> > }
> > }
> >
> > SetPositionSize( 50, spsPercentOfEquity );
> > SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) ); 
> > // scale out 50% of position
> >
> > --- In amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>, 
> > Louies <Louies88@> wrote:
> > >
> > > Hi Allan
> > >
> > > Another great way for newbies to learn the coding process, that is 
> > if someone has the will to help, is to go into the Amibroker's member 
> > area where they store all the monthly codes for the Technical Analysis 
> > of Stock & Commodity magazine articles and begin shredding those codes 
> > into "chewable" pieces. I wish someone with strong coding aptitude 
> > would lend a hand by explaining LINE BY LINE the codes for the monthly 
> > article. That's a great way to learn. I mean it's great to see Tomasz 
> > eloquently codes it. It's entirely new experience to see the codes 
> > explained. Personally, I think it's a great way to learn. After all, 
> > we don't buy Amibroker software just to manually draw 
> > support/resistance lines or just to drag indictors to chart. I believe 
> > most of us who buy this product all wish to learn the coding process. 
> > What's a better way than to have someone REALLY explains that to us.
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: matrix10014 <allansn@>
> > > To: amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>
> > > Sent: Monday, March 23, 2009 1:17:47 PM
> > > Subject: [amibroker] Re: AFL 101
> > >
> > >
> > > Hi Louie88,
> > >
> > > I couldnt agree with you more regarding the need for a book that 
> > would enable traders with zero to little programming skills to develop 
> > a foundation and grow from there.I would certainly be the very first 
> > customer
> > >
> > > Allan
> > >
> > > --- In amibroker@xxxxxxxxx ps.com, "louies88" <Louies88@ .> wrote:
> > >
> > > >
> > > > Anyway, what I'm looking for in the market these days is a book 
> > simple enough to teach traders w/ some trading experience under their 
> > belt, but lack the coding know-hows to express their ideas in terms of 
> > a programming language. I can safely say that the majority of traders 
> > severely lack the programming skills to express their trading ideas, 
> > and/or testing them ADEQUATELY in a trading platform. My wish is that 
> > if someone in here or else where who is fluent in AFL to write a book 
> > about coding AFL in ENGLISH (please) with plenty of examples and lots 
> > of explanations. The examples illustrated the concept while the 
> > explanations drive home the points being made. I find out that the 
> > best learning technique is imitation. If I can follow what's being 
> > coded and replicated them on my own, I'll remember it longer. I'm sure 
> > that if somebody comes out w/ a book like that in any scripting 
> > language whether that is EasyLanguage of TradeStation or AFL of 
> > Amibroker, it
> > > would sell like hot cakes. In today's market, there is no such a 
> > book exists.
> > > >
> > > > s, "Introduction to
> > > > > Amibroker" or "Quantitative Trading Systems".
> > > > >
> > > > > "Introduction to Amibroker" is mostly a rehash of the User 
> > Guide, and
> > > > > therefore I personally don't recommend it. I may stand alone 
> > with this
> > > > > opinion -- many others rave about it. I bought this book, was a bit
> > > > > disappointed, but am not complaining because the one below is 
> > worth more
> > > > > (to me) than the cost of the two combined.
> > > > >
> > > > > "Quantitative Trading Systems", is more advanced. But it 
> > contains many
> > > > > more examples and the code for them is available to buyers of 
> > the book
> > > > > on the book's web site. Each of examples focuses on a single 
> > topic and
> > > > > is very well documented. Going through these examples on your 
> > computer
> > > > > (and modifying them as you wish) will keep you focused as well.
> > > > >
> > > > > Howard is writing a third book and I will order it as soon as he 
> > lets me.
> > > > > -- Keith
> > > > >
> > > >
> > >
> >
> >
>




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

**** 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:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto: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/