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

[amibroker] Re: How to limit to top 5 in an Exploration



PureBytes Links

Trading Reference Links


Anthony,

Thank you for your help with this.  When I add this code it seems to run fine; but the Exploration table still shows all symbols in the Watchlist.  Should I be looking for a special "Pane"?  How do I seed it?  Also, should I run the code as an Exploration?

Pls see the Exploration code at the bottom of below:

All your suggestions will be greatly appreciated!!!


Fund                            = Close;
//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);

Period  = 126;  
// Calculate Total Gain and Annual Gain
TotalGain                        = ROC(fund, period);
AnnGain                          = Nz(100 *LastValue(((TotalGain/100+1)^(252/period)) - 1));

x= AnnGain;                    //the individual metric

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

//==========
// Exploration
Filter 		= 1;

AddTextColumn(FullName(),"Fund Name",1.0);
AddColumn( AnnGain,       "AnnGain",   1.2 );


SetSortColumns(-4);


=====

--- In amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso" <ajf1111@xxx> wrote:
>
> 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 amibroker@xxxxxxxxxxxxxxx, "gelsner99" <gelsner@> 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
>




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

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