Hi everyone,

This seem interesting.  Is there a way to add this to a backtest so the
backtest would consider let's say the 500 best results?

I'll try to be more clear: if I can spot a condition for having a symbol in
my watchlist but I want a maximum of 500 tickers in my watchlist, can I do
this by using some ranking that would go automatically in the backtest?

Thanks,

Louis

2008/7/5 Ken Close <[EMAIL PROTECTED]>:

>    Paul Ho has come up with a supurb ranking tool.  I have expanded it to
> two indicators.  Feel free to expand the code structure to any number of
> indicators.
>
> Possible next step: stick the Tot_Rank values into the OI field for the
> symbols, then Plot the Ranks for a visual representation of "where the
> symbol is over time".
>
> The possibilities are endless (or at least enlarged because of Paul's code
> idea).  Thanks Paul for your creative input.
>
> Ken
>
>
> *//  Ranking_Alt01.afl    KSC    **07/05/2008***
>
> *//  Original code by Paul Ho, Amibroker list **07/05/2008***
>
> *//  Modifications and expansions by Ken Close **07/05/2008***
>
> * *
>
> *//  Will ordinal rank every symbol in watchlist for every bar.***
>
> * *
>
> * *
>
> *mOwnROC = **ROC**(**C**, **14**);*
>
> *mOwnRSI = **RSIa**(**C**, **14**);***
>
> *mRoc = **0**;*
>
> *mRSI = **0**;*
>
> *list = **CategoryGetSymbols**(**categoryWatchlist**, **16**);*
>
> *ROCcount[**0**] = rocrank[**0**] = **0**;*
>
> *RSIcount[**0**] = RSIrank[**0**] = **0**;*
>
> *for**(i = **0**; (sym = **StrExtract**(list, i)) != **""**; i++)*
>
> *  {*
>
> *   **SetForeign**(sym);*
>
> *   mRoc = **ROC**(**C**, **14**);*
>
> *   mRSI = **RSIa**(**C**, **14**);*
>
> *   **RestorePriceArrays**(); *
>
> *   n = !**IsNull**(mRoc);*
>
> *   m = !**IsNull**(mRSI);*
>
> *   roccount += n;*
>
> *   rsicount += m;*
>
> *   rocrank = **IIf**(**Nz**(mRoc) > mOwnROC, Rocrank + n, rocrank);*
>
> *   rsirank = **IIf**(**Nz**(mRsi) > mOwnRSI, Rsirank + m, rsirank);*
>
> *   Totrank = rocrank + rsirank;*
>
> *  }*
>
> *ROCn = **ROC**(**C**, **14**);*
>
> *RSIn = **RSIa**(**C**, **14**);*
>
> *Filter** = **1**;*
>
> *Buy** = **Sell** = **0**;*
>
> *AddColumn**(ROCn, **"ROCn"**,**1.2**);*
>
> *AddColumn**(RSIn, **"RSIn"**,**1.2**);*
>
> *AddColumn**(mRoc, **"MROC"**, **1.2**);*
>
> *AddColumn**(ROCrank, **"ROCRank"**, **1.0**);*
>
> *AddColumn**(RSIrank, **"rsirank"**,**1.0**);*
>
> *AddColumn**(Totrank, **"Totrank"**, **1.0**);*
>
> * *
>
> *//  To check the sorting, run on a watchlist, then click once on the date
> column, ***
>
> *//  Then shift click on one of the indicators, ie, RSIn, and you will see
> the ***
>
> *//  ordinal values in order.***
>
> * *
>
> * *
>
>
>  
>

Reply via email to