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

Re: [amibroker] What a Great Ranking Tool



PureBytes Links

Trading Reference Links

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 <ken45140@xxxxxxxxx>:

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.

 

 

 


__._,_.___

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___