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

[amibroker] Re: Question regarding position score



PureBytes Links

Trading Reference Links




<FONT face=Arial color=#0000ff 
size=2>Further to the thread "Need help with SetBarsRequired...", if you 
are still getting Subscript Out of Range errors in QuickAFL please see the 
code Tomasz posted at <A 
href="">http://www.amibroker.com/f?barindex  it 
will probably solve your problems. 
<FONT face=Arial color=#0000ff 
size=2> 
My RT 
indicator originally took 220 milliSeconds to execute (DebugView timing) 
but using QuickAFL now takes only 2.24 milliSeconds: this is a HUNDRED 
times faster (displaying one day of data of about 220 days history). Oh, and 
btw, i didn't need to use the SetBarsRequired()...it works fine without it. 

<FONT face=Arial color=#0000ff 
size=2> 
<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: Friday, July 23, 2004 7:09 
  AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] 
  Thank you TomaszImportance: High
  Herman,
   
  You are welcome. I have added a comment 
  to:
  <A 
  href="">http://www.amibroker.com/f?barindex
   
  for future reference.
  Best regards,Tomasz Janeczkoamibroker.com
  <BLOCKQUOTE 
  >
    ----- Original Message ----- 
    <DIV 
    >From: 
    Herman van den 
    Bergen 
    To: <A title=amibroker@xxxxxxxxxxxxxxx 
    href="">AmiBroker YahooGroups 
    Sent: Friday, July 23, 2004 12:56 
    PM
    Subject: [amibroker] Thank you 
    Tomasz
    
    <SPAN 
    class=328154010-23072004>Tomasz, thank you for all the generous replies. 
    Sorry to have taken up so much of your time. 
    <SPAN 
    class=328154010-23072004> 
    <SPAN 
    class=328154010-23072004>herman
    
      <FONT face=Tahoma 
      size=2>-----Original Message-----From: Tomasz Janeczko 
      [mailto:amibroker@xxxxxx]Sent: Friday, July 23, 2004 4:42 
      AMTo: <A 
      href="">amibroker@xxxxxxxxxxxxxxxSubject: 
      Re: [amibroker] Need help with SetBarsRequired...Importance: 
      High
      Herman,
      No, there is NO problem in using 
      SelectedValue(BarIndex()) and LastValue(BarIndex())
      It is not necessary to spend even 2 minutes on this. Just read what I 
      wrote carefully.
       
      Did you read my NEXT reply ?
      <A 
      href="">http://finance.groups.yahoo.com/group/amibroker/message/67538
       
      Actual array item 
      corresponding to bar index <FONT 
      face=Arial size=2>can be found this way:
       
      bi = BarIndex();
      item = SelectedValue( bi ) - bi[ 0 ];  
      // this line is the key
      Title = NumToStr(MyCustomArray[ item 
      ] ,1.2);
       
       
      Also if you do not want to adjust ANYTHING, 
      you can just add at the top
      SetBarsRequired( 1000000, 1000000 
      );
       
      which effectively turns off quickafl for this 
      SINGLE particular formula (not globally).
       
      I don't know what is so hard to 
      understand:
      if you want to turn off QuickAFL just add 
      SetBarsRequired( 1000000, 1000000 ); at the top
      and you are fine, without need to touch 
      preferences.
       
      If don't understand send me your code and I 
      will show you how to adjust it in 30 seconds or less.
      Best regards,Tomasz 
      Janeczkoamibroker.com
      <BLOCKQUOTE 
      >
        ----- Original Message ----- 
        <DIV 
        >From: 
        Herman van den 
        Bergen 
        To: <A 
        title=amibroker@xxxxxxxxxxxxxxx 
        href="">amibroker@xxxxxxxxxxxxxxx 
        
        Sent: Friday, July 23, 2004 2:19 
        AM
        Subject: RE: [amibroker] Need help 
        with SetBarsRequired...
        
        <FONT face=Arial color=#0000ff 
        size=2>Thank you Tomasz, a good explanation... however, my question 
        wasn't answered. In an attempt to get my code working with 
        QuickAFL-On I spend several hours trimming several hundred 
        complex (for me) lines of code in such a way that the error msg 
        kept occurring, i.e. try to pinpoint the error causing 
        statements. I narrowed it down to the use of <SPAN 
        class=437230100-23072004><SPAN 
        class=640583423-22072004><FONT face=Arial color=#0000ff 
        size=2>SelectedValue(Barindex()) and LastValue(Barindex()). In code 
        using QuickAFL ON and use SetBarsRequired() these statements 
        generate an error message. Does this mean we cannot use these 
        statements in QuickAFL?
        <FONT face=Arial color=#0000ff 
        size=2> 
        <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: Thursday, July 22, 2004 7:45 
          PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: 
          [amibroker] Need help with SetBarsRequired...Importance: 
          High
          Herman,
           
          Short story:
          Your code does NOT really need index 
          addressing, setbarsrequired, barindex at all.
          Somehow you managed to 
          complicate thing when it is very, very simple and can be 
          coded in 2 lines:
          MyCustomArray = 
          EMA(C,3); Title = "NumberFromMyCustomIndicator 
          ="+NumToStr(MyCustomArray ,1.2);
          <FONT face=Arial 
          size=2> 
          Long 
          story:
           
          Take a look at picture 
below:
           <FONT face=Arial 
          size=2>
          
          <TABLE  cellSpacing=0 
          cellPadding=0 width=529 border=0 x:str>
            
            <COL 
             
            width=97>
            <COL 
             
            width=32>
            <COL 
             
            width=28>
            <COL 
             
            width=31>
            <COL 
             
            width=28>
            <COL 
             
            width=30>
            <COL 
             
            width=32>
            <COL 
             
            width=29>
            <COL 
             
            width=37>
            <COL 
             
            width=36>
            <COL 
             
            width=35>
            <COL 
             
            width=40>
            <COL 
             
            width=32>
            <COL 
             
            width=42>
            
            
              <TD class=xl24 
               
              width=97 height=17>Bar 
              Index
              <TD class=xl24 
               
              align=right width=32 x:num><FONT face="Arial CE" 
              size=2>0
              <TD class=xl24 
               
              align=right width=28 x:num><FONT face="Arial CE" 
              size=2>1
              <TD class=xl24 
               
              align=right width=31 x:num><FONT face="Arial CE" 
              size=2>2
              <TD class=xl24 
               
              align=right width=28 x:num><FONT face="Arial CE" 
              size=2>3
              <TD class=xl24 
               
              align=right width=30 x:num><FONT face="Arial CE" 
              size=2>4
              <TD class=xl24 
               
              align=right width=32 x:num><FONT face="Arial CE" 
              size=2>5
              <TD class=xl24 
               
              align=right width=29 x:num><FONT face="Arial CE" 
              size=2>6
              <TD class=xl24 
               
              align=right width=37 x:num><FONT face="Arial CE" 
              size=2>7
              <TD class=xl26 
               
              align=right width=36 x:num><FONT face="Arial CE" 
              size=2>8
              <TD class=xl24 
               
              align=right width=35 x:num><FONT face="Arial CE" 
              size=2>9
              <TD class=xl24 
               
              align=right width=40 x:num><FONT face="Arial CE" 
              size=2>10
              <TD class=xl24 
               
              align=right width=32 x:num><FONT face="Arial CE" 
              size=2>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 
              >
           
           
          You see: Bar index represents ENTIRE data 
          set you have.
          Array may be actually smaller than your 
          entire data set (if visible area for indicator is small) 
          and
          may have LESS elements than entire data 
          set you have.
          Array in indicator builder when QuickAFL 
          is on may include only visible part (plus some extra 
          bars).
           
          Now selected bar is shown with red color. 
          As you can see although it has a bar index of 8,
          the actual array element has the number 
          of 4.
           
          That's why you can not use barindex to 
          address your arrays directly.
           
          Instead use SelectedValue directly on 
          array, by simply typing:
           
          MyCustomArray = 
          EMA(C,3); NumberFromMyCustomIndicator = SelectedValue( 
          MyCustomArray );
           
          It is way simpler than your code 
          and works always and you do not need to bother about quickafl and 
          setbarsrequired at all.
           
          In fact NumToStr already performs 
          "selected value" so you code can be simplified to 2 
lines:
          
           
          MyCustomArray = 
          EMA(C,3); Title = "NumberFromMyCustomIndicator 
          ="+NumToStr(MyCustomArray ,1.2);
          <FONT face=Arial 
          size=2> 
          It performs as you wanted it to perfom 
          and takes 2 lines instead of 5.
          It is all actually simpler than you 
          think. 
          Best regards,Tomasz 
          Janeczkoamibroker.com
          <BLOCKQUOTE 
          >
            ----- Original Message ----- 
            <DIV 
            >From: 
            Herman van 
            den Bergen 
            To: <A 
            title=amibroker@xxxxxxxxxxxxxxx 
            href="">amibroker@xxxxxxxxxxxxxxx 
            
            Sent: Friday, July 23, 2004 
            12:45 AM
            Subject: RE: [amibroker] Need 
            help with SetBarsRequired...
            
            <FONT face=Arial color=#0000ff 
            size=2>The number in the title, did it stay or was it 'replaced' by 
            a permanent error msg? 
            <FONT face=Arial color=#0000ff 
            size=2> 
            <FONT face=Arial color=#0000ff 
            size=2>The subscript should not be out of range...any idea what is 
            wrong with my code? 
            <FONT face=Arial color=#0000ff 
            size=2> 
            <FONT face=Arial color=#0000ff 
            size=2>I think the error occurs in the first two passes but not in 
            the last. If nobody can correct me I'll send it to support. I 
            think this problem was reported on the list more than a year ago but 
            i can't remember/find whether there was a 
            solution.
            <FONT face=Arial color=#0000ff 
            size=2> 
            <FONT face=Arial color=#0000ff 
            size=2>thanks!
            <FONT face=Arial color=#0000ff 
            size=2>herman
            
              <FONT 
              face=Tahoma size=2>-----Original Message-----From: Ara 
              Kaloustian [mailto:ara1@xxxxxxxxxx]Sent: Thursday, July 
              22, 2004 5:48 PMTo: 
              amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] Need 
              help with SetBarsRequired...Importance: 
              High
              Herman,
               
              I got an answer (in title line) of 
              19.19 and then an error message saying subscript out of 
              range
              <BLOCKQUOTE 
              >
                ----- Original Message ----- 

                <DIV 
                >From: 
                Herman 
                van den Bergen 
                To: <A 
                title=amibroker@xxxxxxxxxxxxxxx 
                href="">AmiBroker 
                YahooGroups 
                Sent: Thursday, July 22, 
                2004 12:23 PM
                Subject: [amibroker] Need 
                help with SetBarsRequired...
                
                <SPAN 
                class=500051718-22072004>Sorry to raise this topic once 
                more...but could some kind soul please turn ON QuickAFL and run 
                the example code below in an Indicator by 
                pressing APPLY? <FONT face=Arial 
                size=2>In the AB Status bar it 
                says it retrieved 89815 bars (RT data), <FONT 
                face=Arial size=2><SPAN 
                class=500051718-22072004>Using DebugView, 
                w<SPAN 
                class=500051718-22072004>ith 
                QuickAFL Enabled, pressing Apply gives me these 
                numbers:
                <SPAN 
                class=500051718-22072004><SPAN 
                class=500051718-22072004> 
                <SPAN 
                class=500051718-22072004><FONT 
                color=#ff0000>[1704] # BarNum=75,988  
                BarCount=75989[1704] # BarNum=75,918  
                BarCount=75989[1704] # BarNum=75,918  
                BarCount=483<SPAN 
                class=500051718-22072004>
                It appears that the 
                BarCount returned by <FONT face="Times New Roman" 
                size=3>SelectedValue(BarIndex()) during the first the two 
                passes defaults to normal count even though QuickAFL is 
                enabled, this<SPAN 
                class=500051718-22072004> triggers an error msg. C<SPAN 
                class=500051718-22072004>an somebody please explain how i can 
                run this code with QuickAFL() On and 
                SetBarsRequired()? I know 
                that i can program around the problem but that doesn't help 
                me in my real application. 
                <SPAN 
                class=500051718-22072004><FONT 
                face=Arial><SPAN 
                class=500051718-22072004> 
                <FONT 
                face=Arial size=2>Your help will be much 
                appreciated!
                <FONT face=Arial 
                size=2>herman.
                <SPAN 
                class=500051718-22072004> 
                
                
                
                SetBarsRequired( 
                100,10);
                MyCustomArray = 
                EMA(C,3); BarNum = SelectedValue(BarIndex()); // i want 
                to read the value at the cursorNumberFromMyCustomIndicator = 
                MyCustomArray [Barnum]; Title = 
                "NumberFromMyCustomIndicator 
                ="+NumToStr(NumberFromMyCustomIndicator ,1.2);
                //_TRACE("# 
                BarNum="+NumToStr(BarNum,1.0)+"  
                BarCount="+NumToStr(BarCount,1.0,False));
                
                
                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:<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.