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

[amibroker] Re: Reverse engineering eSignal ZigZag code



PureBytes Links

Trading Reference Links




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 <FONT face=Arial 
      color=#0000ff size=2><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:
         
        
        <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...
              
              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>[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:
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.