I am just experiencing a similar problem using both "if" and "filter="
InWatchlist()  and
InWatchlistName() in making an atc scan. The results are compiled only from
tickers that satisfy the If-true conditions or Filter. But the entire
database is scanned before the atc is compiled. It takes about 4 minutes on
my core2duo/2GB.

I wonder how the AFL can be written so AA get straight to the watchlist and
does the job, instead of iterating through the entire database.....

best
kazaan

On 19 March 2010 12:37, Keith McCombs <[email protected]> wrote:

>
>
> Just finished two tests to see effect of using Filter = InWatchList().
>
> First test, using following code only:
> *Filter* = InWatchList(49); // WL# 49 contains only two stocks
> *NumColumns* = 1;
> *Buy* = *Filter*;
> *Sell* = *Short* = *Cover* = 0;
>
> With AA>Apply to>use filter>Define>Filter setting, both Include and Exclude
> clear, results were as expected but took approx. 25 seconds to read through
> entire equity list of 8455 files, for each Scan, Explore and Back Test.
> However, if I set Include to Watch list 49 in AA....Filter settings each is
> instantaneous.  I had hoped that Filter = InWatchList() would have been
> instantaneous as well.
>
> Second test, only changed Buy = Filter; to Buy = 1;
> *Filter* = InWatchList(49);
> *NumColumns* = 1;
> *Buy* = 1;
> *Sell* = *Short* = *Cover* = 0;
>
> With AA....Filter settings, both Include and Exclude clear:
> Scan lists all 8455 stocks with as Buy.
> Explore lists correct two stocks.
> Back Test lists four incorrect stocks, which are no longer traded.
> All three analysis took approx. 25 seconds.
>
> Anybody have any thoughts on this?
> Thank you.
> -- Keith
>
>
> On 3/18/2010 19:14, Keith McCombs wrote:
>
>
>
> Anthony --
> I was searching the AB Users Manual for 'InCategory', came up empty, and
> gave up.  I didn't think to look for 'InWatchList'.  Thank you.
>
> However, I believe a bit more manipulation is required to use
> CategoryGetSymbols().  For example, copy list from Category:Index to
> Category:WatchList:WLnumber and then use Filter = InWatchList(WLnumber) as
> you pointed out.  Of coarse one might also want to use
> CategoryRemoveSymbol() to implement exclusion as well.
>
> But, in order to save time, one might want to perform the operation only once
> per scan, exploration, backtest, or optimization.  Ah, so now there's
> another question.
>
> And again, thank you.
> -- Keith
>
>
> On 3/18/2010 17:11, Anthony Faragasso wrote:
>
>
> Keith ,
>
> I believe there are several ways...
>
> *CategoryGetSymbols( category, index ) *
> *GetCategorySymbols( category, index ) *
> *InWatchList( listno ) *
> Filter= InWatchList( 3 ) OR InWatchList( 5 );
>
> Anthony
>
> **
>
> ----- Original Message -----
> *From:* Keith McCombs <[email protected]>
> *To:* [email protected]
> *Sent:* Thursday, March 18, 2010 3:30 PM
> *Subject:* [amibroker] Filter for multiple categories?
>
>
>
> With AA>Apply to>Define>Include, I have two similar problems:
> 1.  If more than one category is selected, the are ANDed, rather than
> ORed.  So that one cannot, for example, filter for Market:Nasdaq OR
> Group:ETF.
>
> 2.  There is no way to select more than one list in a category.  One cannot
> have Watchlist:7 OR Watchlist:13.
>
> I would very much like a solution to both problems.
>
> A programmatic solution would be most appreciated.  I try to have as many
> settings in my code and as few GUI selected as possible.
>
> Thanks for any help.
> -- Keith
>
>    
>

Reply via email to