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

RE: [amibroker] Re: Quote sources (EOD providers)



PureBytes Links

Trading Reference Links




TJ, i 
did NOT use Apply. I emailed test result emailed to you privately for your 
persusal.
<FONT face=Arial color=#0000ff 
size=2> 
best 
regards,
<FONT face=Arial color=#0000ff 
size=2>herman.

  <FONT face=Tahoma 
  size=2>-----Original Message-----From: Tomasz Janeczko 
  [mailto:amibroker@xxxxxx]Sent: Sunday, July 25, 2004 10:11 
  AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] 
  Looping within QuickAFL boundsImportance: High
  Herman,
   
  The last sentence from my previous 
  e-mail should give you an answer:
  "Please note that the very <FONT 
  color=#800000>first exectution after clicking "APPLY" in Indicator 
  Builder uses always *ALL* bars 
  because
  
  it needs to analyse your code and its 
  requirements. Only subsequent executions use QuickAFL (less 
  bars)."
  
   
  Best regards,Tomasz 
  Janeczkoamibroker.com
  <BLOCKQUOTE 
  >
    ----- Original Message ----- 
    <DIV 
    >From: 
    Herman van den 
    Bergen 
    To: <A title=amibroker@xxxxxxxxxxxxxxx 
    href="">amibroker@xxxxxxxxxxxxxxx 
    Sent: Sunday, July 25, 2004 1:38 
    PM
    Subject: RE: [amibroker] Looping within 
    QuickAFL bounds
    
    
      <FONT face=Arial color=#0000ff 
      size=2>Tomasz, I understand what you are saying.... But if I test the code 
      below using DebugView and i get 0.43 Second 
      execution regardless of wether I have QuickAFL set On 
      or OFF. So it appears that in this case QuickAFL does not restrict my 
      loops to its bounds...( i used AB 4.6, EOD data, max zoom (10bars 
      displayed)). Now if I set the loop to start at Barcount-40 to cover only 
      the data I think i should i get a dramatic improvement in execution - 
      which is what i want. <FONT 
      size=+0><SPAN 
      class=406480511-25072004>What am i doing 
    wrong?
    
      <SPAN 
      class=406480511-25072004><FONT face=Arial color=#0000ff 
      size=2>h<SPAN 
      class=406480511-25072004>erman<SPAN 
      class=406480511-25072004><FONT 
      color=#0000ff>_TRACE("#Start");<FONT 
      face="Lucida Console">array = <FONT face="Lucida Console" 
      color=#ff00ff>0<FONT 
      face="Lucida Console">;<FONT face="Lucida Console" 
      color=#800000>for<FONT 
      face="Lucida Console">(bar=<FONT face="Lucida Console" 
      color=#ff00ff>0; 
      bar<BarCount; bar++) { T1=<FONT 
      color=#0000ff>LinearReg(<FONT 
      color=#0000ff>LinearReg(C,<FONT 
      color=#ff00ff>20),20); <FONT 
      size=2>// just to slow things down a 
      bitLRR[bar] = T1[bar];<FONT 
      face="Lucida Console">array[ bar ] = bar; }<FONT 
      face="Lucida Console" color=#0000ff>Plot<FONT 
      face="Lucida Console">( array, <FONT face="Lucida Console" 
      color=#ff00ff>"bar"<FONT 
      face="Lucida Console">, colorRed );<FONT 
      face="Lucida Console" color=#0000ff>Plot<FONT 
      face="Lucida Console">( <FONT face="Lucida Console" 
      color=#0000ff>BarIndex(), <FONT 
      face="Lucida Console" color=#ff00ff>"barindex"<FONT 
      size=2>, colorBlue );<FONT 
      color=#0000ff>_TRACE(<FONT 
      color=#ff00ff>"#End");
    
      <FONT 
      size=2><FONT face=Arial 
      color=#0000ff> 
      <FONT 
      size=2> 
      <FONT 
      size=2> -----Original 
      Message-----From: Tomasz Janeczko 
      [mailto:amibroker@xxxxxx]Sent: Sunday, July 25, 2004 3:40 
      AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: 
      [amibroker] Looping within QuickAFL boundsImportance: 
      High
      Herman,
       
      You do not do worry about it or handle it by 
      yourself.
      AmiBroker does it for you.
       
      for(bar=0; bar<barcount; bar++) { .... 
      }
       
      does not waste any cycles,
       
      Try it:
      
       
      array = 0;
      for(bar=0; bar<barcount; bar++) 
      
      { 
        array[ bar ] = bar; 
      }
      Plot( array, "bar", colorRed );
      Plot( BarIndex(), "barindex", colorBlue 
      );
       
      This  because array item 0 already 
      is the first bar used by quick AFL (not the first bar in your data 
      set)
      and (barcount-1) is a last 
      array item of quickafl (not the last bar in your data 
      set).
      I have mentioned it that barcount is a number 
      of bars (items) in the array which may be smaller.
       
      
      <TABLE  cellSpacing=0 
      cellPadding=0 width=529 border=0 x:str>
        
        
          <TD class=xl24 
           
          width=97 height=17>Bar Index
          <TD class=xl24 
           
          align=right width=32 x:num>0
          <TD class=xl24 
           
          align=right width=28 x:num>1
          <TD class=xl24 
           
          align=right width=31 x:num>2
          <TD class=xl24 
           
          align=right width=28 x:num>3
          <TD class=xl24 
           
          align=right width=30 x:num>4
          <TD class=xl24 
           
          align=right width=32 x:num>5
          <TD class=xl24 
           
          align=right width=29 x:num>6
          <TD class=xl24 
           
          align=right width=37 x:num>7
          <TD class=xl26 
           
          align=right width=36 x:num>8
          <TD class=xl24 
           
          align=right width=35 x:num>9
          <TD class=xl24 
           
          align=right width=40 x:num>10
          <TD class=xl24 
           
          align=right width=32 x:num>11
          <TD class=xl24 
           
          align=right width=42 x:num><FONT face="Arial CE" 
        size=2>12
        
          <TD class=xl25 
           
          height=17>Array element
          <TD 
          ><FONT 
            face="Arial CE" size=2>
          <TD 
          ><FONT 
            face="Arial CE" size=2>
          <TD 
          ><FONT 
            face="Arial CE" size=2>
          <TD 
          ><FONT 
            face="Arial CE" size=2>
          <TD class=xl25 
           
          align=right x:num>0
          <TD class=xl25 
           
          align=right x:num>1
          <TD class=xl25 
           
          align=right x:num>2
          <TD class=xl25 
           
          align=right x:num>3
          <TD class=xl26 
           
          align=right x:num>4
          <TD class=xl25 
           
          align=right x:num>5
          <TD 
          >
          <TD 
          >
          <TD 
          >
       
      As you can see in the picture above when 
      QuickAFL is on, BarCount variable will give you 6 in that 
case
      (the number of items in the array). So if you 
      will iterate from 0 to 5 you will access only visible
      items automatically.
       <FONT face=Arial 
      size=2>
      So writing 
      for(bar=0; bar<barcount; bar++)  you are already accessing 
      only what is necessary, not more.
       
      Please note that the very first exectution 
      after clicking "APPLY" in Indicator Builder uses always *ALL* bars 
      because
      it needs to analyse your code and its 
      requirements. Only subsequent executions use QuickAFL (less 
      bars).
      
      Best regards,Tomasz 
      Janeczkoamibroker.com
      <BLOCKQUOTE 
      >
        ----- Original Message ----- 
        <DIV 
        >From: 
        Herman van den 
        Bergen 
        To: <A 
        title=amibroker@xxxxxxxxxxxxxxx 
        href="">AmiBroker YahooGroups 
        Sent: Sunday, July 25, 2004 2:38 
        AM
        Subject: [amibroker] Looping within 
        QuickAFL bounds
        
        <SPAN 
        class=437013000-25072004>Hello,
        <SPAN 
        class=437013000-25072004> 
        would 
        anybody have figured out how to restrict a loop to the same range as 
        QuickAFL. Normally is use loops like:
        
          <SPAN 
          class=437013000-25072004>for(bar=0; bar<barcount; bar++) { .... 
          }
        <SPAN 
        class=437013000-25072004> 
        However this 
        is wasting a lot of cycles, especially when working with about 100,000 
        minute bars of which only the displayed segment (about 1% of the 
        data) is important. <SPAN 
        class=437013000-25072004>For use with QuickAFL ON, can anybody 
        provide the code to define:
        
          <SPAN 
          class=437013000-25072004>FirstBarUsedByQuickAFL =  
          ?
          <SPAN 
          class=437013000-25072004>LastBarUsedByQuickAFL =  
          ?
        <SPAN 
        class=437013000-25072004>so that I can make the loop like 
        so:
        
          <SPAN 
          class=437013000-25072004>for( bar = FirstBarUsedByQuickAFL; bar <= 
          LastBarUsedByQuickAFL; Bar++ ) { .... 
        }
        Many 
        thanks,
        <SPAN 
        class=437013000-25072004>herman.Check 
        AmiBroker web page at:<A 
        href="">http://www.amibroker.com/Check 
        group FAQ at: <A 
        href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
        Check AmiBroker web page at:<A 
        href="">http://www.amibroker.com/Check 
        group FAQ at: <A 
        href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
        Check AmiBroker web page 
    at:<A 
    href="">http://www.amibroker.com/Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Check AmiBroker web page at:<A 
    href="">http://www.amibroker.com/Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    


Check AmiBroker web page at:
http://www.amibroker.com/

Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html








Yahoo! Groups Sponsor


  ADVERTISEMENT 












Yahoo! Groups Links
To visit your group on the web, go to:http://groups.yahoo.com/group/amibroker/ 
To unsubscribe from this group, send an email to:amibroker-unsubscribe@xxxxxxxxxxxxxxx 
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.