This will produce a top 5 list in a window pane...
// The top5 list
list = CategoryGetSymbols( categoryWatchlist, 2 );
g=-100;
t="";
topList="";
i1=0;
nt=5;// calibrate here the topX
for(n=1;n<=nt;n++)
{
for( i = 0; ( sym = StrExtract( list, i ) ) != "" ; i++ )
{
SetForeign(sym);
x= C;//the individual metric
t=WriteIf(x>g,sym,t);
i1=IIf(x>g,i,i1);
g=Max(g,x);
}
topList=topList + t + ",";
L0="";
for( i = 0; ( sym = StrExtract( list, i ) ) != "" ; i++ )
{
SetForeign(sym);
L0=L0+ WriteIf(i!=i1,sym+",","");
}
List=L0;
g=-100;
}
Title="The top "+WriteVal(nt,1.0)+" list for "+Date()+" is "+topList;
----- Original Message -----
From: Herman
To: Mike
Sent: Monday, March 15, 2010 3:49 AM
Subject: Re: [amibroker] Re: How to limit to top 5 in an Exploration
You could sort the results, export the result table, read the top 5
tickers from the exported file into a new watchlist, and run another
exploration on that watchlist. All this can be automated in script -
check out OLE Automation in the help.
herman
> You would have to limit the number of symbols in the exploration to 5 ;)
> But seriously, I think that you're out of luck. One typical
> approach would be to run the exploration, then select the first 5
> and right click to select the popup menu for adding the selected
> symbols to a new watchlist. Do whatever else you were planning on, but
using the new watchlist.
> Mike
> --- In [email protected], "gelsner99" <gels...@...> wrote:
>>
>> For the simple AFL code below, what would I need to change so that when I
run the Exploration it lists only the top 5?
>>
>>
>> Fund = Close;
>>
>> Period = Param( ".....Period", 126, 63, 252, 63);
>>
>> // Calculate Total Gain and Annual Gain
>> TotalGain = ROC(fund, period);
>> AnnGain = Nz(100 *LastValue(((TotalGain/100+1)^(252/period)) - 1));
>>
>> // Exploration
>> Filter = 1;
>>
>> AddTextColumn(FullName(),"Fund Name",1.0);
>> AddColumn( AnnGain, "AnnGain", 1.2 );
>>
>> SetSortColumns(-4,);
>>
> ------------------------------------
> **** 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