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

RE: [amibroker] The top10 ROC(C,1)



PureBytes Links

Trading Reference Links




I 
second that! I love it DT,
<FONT face=Arial color=#0000ff 
size=2> 
great 
stuff. 
<FONT face=Arial color=#0000ff 
size=2>herman

  <FONT face=Tahoma 
  size=2>-----Original Message-----From: Tomasz Janeczko 
  [mailto:amibroker@xxxxxx]Sent: Saturday, October 04, 2003 5:33 
  PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] 
  The top10 ROC(C,1)
  Dimitris,
   
  Your AFL coding is poetry !
  Thanks for showing the power of AFL.
   
  Best regards,Tomasz Janeczkoamibroker.com
  <BLOCKQUOTE 
  >
    ----- Original Message ----- 
    <DIV 
    >From: 
    Dimitris 
    Tsokakis 
    To: <A title=amibroker@xxxxxxxxxxxxxxx 
    href="">amibroker@xxxxxxxxxxxxxxx 
    Sent: Saturday, October 04, 2003 11:26 
    PM
    Subject: [amibroker] The top10 
    ROC(C,1)
    
    Hypothesis : 
    *My Nasdaq100 stocks are placed in Group254. 
    *They are 101, the 100 stocks and the index 
    ^NDX.
    *They are absolutely aligned, they begin from the same 
    date and include the same bars.
    Question : 
    The top10 last day ROCs.
    The idea :
    I will read the 101 ROC values for the last day and then I 
    will place them as the last 101 elements of an artificial array 
    H0.
    Then, I will search for the highest value. 
    
    As soon as it is detected and localised in detail, in the 
    very next step it will be replaced by -1000 <FONT 
    size=2>.
    In the new search the 2nd highest will be detected 
    etc.
    There is an internal loop counter to give the rank 
    #
    A solution :
    There is no need for any exploration.
    In  indicator builder window paste the 
     
    // Top10 ROCs
    function naming( listnum,ORdNo ){list = 
    GetCategorySymbols( categoryGroup, listnum );for( i = 0; ( sym = 
    StrExtract( list, i ) ) != ""; i++ 
    ){if(i==ORdno){n1=sym;}}return n1 ; } 
    function select( listnum ){list = GetCategorySymbols( 
    categoryGroup, listnum );Rank = 0; for( i = 0; ( sym = StrExtract( 
    list, i ) ) != ""; i++ ){C1 = Foreign( sym, "C" 
    );f=LastValue(ROC(C1,1));Rank[BarCount-1-i] = f[i];}return 
    Rank ; }No=254;// my N100 database is in Group254R= 
    Select(No);H0=Select(No);G=0;Plot(H0,"",2,2);G0=0;L1=LastValue(Cum(1));N=101;// 
    the population of my databaseTOP=10;// 10 may change from 1 to 
    101
    Counter=0;Title="Top10 
    ROC"+"\n";for(K=1;K<=TOP;K++){H1=LastValue(HHV(H0,n));BAR1=LastValue((ValueWhen(H0==H1,Cum(1)-1)));H0[BAR1]=-1000;Counter=Counter+1;G0[L1-CountER]=-H1;shape=IIf(Counter==1,shapeDigit1,IIf(Counter==2 
    ,shapeDigit2,IIf(Counter==3 ,shapeDigit3,IIf(Counter==4 
    ,shapeDigit4,IIf(Counter==5 ,shapeDigit5,IIf(Counter==6 
    ,shapeDigit6,IIf(Counter==7 ,shapeDigit7,IIf(Counter==8 
    ,shapeDigit8,IIf(Counter==9 
    ,shapeDigit9,shapeDigit0)))))))));PlotShapes((Cum(1)==bar1+1)*shape,Counter,0,Graph0,5);Title=Title+WriteVal(Counter,1.0)+")"+WriteVal(H1)+ 
    " ["+WriteVal(L1-bar1-1,1.0)+"-"+naming(254,L1-bar1-1)+"]"+ 
    "\n";}Plot((Cum(1)>L1-N)*R,"",(H0==-10)*6+1,2);Plot(0,"",1,1);GraphXSpace=3;
     
    and you will have all related info.
    The ROC magnitudes, for a useful visual outline at a 
    glance, the top10 ROCs, the values, the ordinal No of the stocks, the names, 
    everything.
    The graph and its info is unique, it will remain the same 
    when you move from ticker to ticker and will change by the next EOD 
    update.
    A similar procedure may give the bottom10 
    stocks.
    Ranking questions for an individual stock, indicators 
    arrays for individuals or the whole WatchList/Group etc have clear and quick 
    solutions
    thanks to the great GetCategorySymbols() function. 
    
    The rest is looping tricks of a non-programmer and it is 
    better to make an indulgent criticism...
    Dimitris TsokakisSend BUG REPORTS 
    to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of Service. 
    Send 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor


  ADVERTISEMENT<img
src="" width=300 height=250 border=0>  









Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.