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

RE: [amibroker] 3D optimization graph water level numeric display



PureBytes Links

Trading Reference Links




O, but this has a reason. First I make an array 
BuyAdjusted:
 
1) BuyAdjusted = Buy;
 
and then I make sure that I only have zeros in this 
array
 
2) BuyAdjusted = 0;
 
so now I have an array BuyAdjusted that has the 
same length as Buy and it is filled with zeros only,
 
rgds, Ed
<BLOCKQUOTE 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  john gibb 
  
  To: <A title=amibroker@xxxxxxxxxxxxxxx 
  href="">amibroker@xxxxxxxxxxxxxxx 
  Sent: Sunday, August 08, 2004 7:14 
  PM
  Subject: Re: [amibroker] while/for loop 
  compiler error 3 question
  
  Hi Ed,
   
  Here is an example of the double initialization I 
  think Gary refers to:
   
      BuyAdjusted = <FONT 
  color=#000000>Buy; BuyAdjusted = 
  0<FONT 
  color=#000000 size=2>; 
  <FONT color=#000000 
  size=2> 
  <FONT 
  face=Arial>-john
  
  <BLOCKQUOTE dir=ltr 
  >
    ----- Original Message ----- 
    <DIV 
    >From: 
    ed nl 
    To: <A title=amibroker@xxxxxxxxxxxxxxx 
    href="">amibroker@xxxxxxxxxxxxxxx 
    Sent: Sunday, August 08, 2004 9:42 
    AM
    Subject: Re: [amibroker] while/for loop 
    compiler error 3 question
    
    hi 
    Gary,
     
    I'm not sure what you mean that I 
    initialize these arrays twice. Please show me where. The reason I initialize 
    the arrays is to make sure the arrays exist and have the same length as the 
    Buy array and are filled with only zeros. 
     
    I add the rest of the program which is 
    a LONG only test program for a N-Bar stop procedure included in a system 
    (instead of the Applystop).
     
    Could be I initialised them twice so I 
    like to see how to avoid that, but this way I know for sure the arrays exist 
    and that they are empty.
     
    regards, Ed
    <FONT 
    color=#800000> 
    <FONT 
    color=#800000> 
    <FONT 
    color=#800000> 
    <FONT 
    color=#800000>procedure ttt(<FONT 
    color=#000000>Buy,<FONT 
    color=#000000>BuyPrice,<FONT 
    color=#000000>Open,<FONT 
    color=#000000>High,<FONT 
    color=#000000>Low,<FONT 
    color=#000000>Close<FONT face="Courier New" 
    color=#000000 size=2>,nbar) { <FONT face="Courier New" 
    color=#008000 size=2>/* Jul 2004 */<FONT 
    face="Courier New"> <FONT 
    color=#800000>global <FONT 
    color=#000000>Sell<FONT 
    size=2>; <FONT 
    color=#800000>global <FONT 
    color=#000000>SellPrice<FONT 
    face="Courier New">; <FONT 
    color=#800000>global<FONT 
    face="Courier New"> BuyAdjusted; 
    global<FONT 
    face="Courier New"> BuyPriceAdjusted; 
    // initialise arrays 
    <FONT 
    face="Courier New"><FONT 
    color=#000000>SellPrice = <FONT 
    color=#000000>BuyPrice; <FONT 
    color=#000000>SellPrice = <FONT 
    color=#ff00ff>0<FONT 
    size=2>; <FONT 
    color=#000000>Sell = <FONT 
    color=#000000>Buy; <FONT 
    color=#000000>Sell = <FONT 
    color=#ff00ff>0<FONT 
    size=2>; BuyAdjusted = <FONT 
    color=#000000>Buy; BuyAdjusted = 
    0<FONT 
    face="Courier New">; BuyPriceAdjusted = 
    BuyPrice; 
    BuyPriceAdjusted = 0<FONT 
    face="Courier New">; <FONT 
    color=#800000>for (i = <FONT 
    color=#ff00ff>0; i < <FONT 
    color=#000000>BarCount<FONT 
    face="Courier New">; i++) { 
       // 
    <FONT face="Courier New" 
    size=2>   <FONT 
    size=2>if 
    (Buy[ i ] == 
    1<FONT 
    face="Courier New">) 
    {          
          // buy at 
    open <FONT face="Courier New" 
    size=2>      BuyAdjusted[ i ] = 
    1<FONT 
    face="Courier New">; 
          BuyPriceAdjusted[ i ] = <FONT 
    color=#000000>Open<FONT 
    size=2>[ i ];        
          // find a 
    sell position + sellprice <FONT 
    face="Courier New" 
    size=2>      <FONT 
    face="Courier New">for<FONT 
    color=#000000> (j = i; j < <FONT 
    color=#000000>BarCount<FONT 
    face="Courier New">; j++) { 
         
             <FONT 
    color=#008000>// nbar stop exit at the open <FONT 
    color=#000000><FONT face="Courier New" 
    size=2>         <FONT 
    face="Courier New" color=#800000 size=2>if<FONT 
    face="Courier New"> ((j - i) == nbar) { 
                       
                <FONT 
    color=#000000>Sell[ j ] = <FONT 
    color=#ff00ff>5<FONT 
    size=2>; 
                <FONT 
    color=#000000>SellPrice[ j ] = 
    Close<FONT 
    face="Courier New">[ j ]; 
                 
                <FONT 
    color=#008000>// enter i-loop starting from the last sell 
    <FONT face="Courier New" 
    size=2>            i 
    = j; 
                     
                <FONT 
    face="Courier New" color=#008000 size=2>// escape from loop <FONT 
    color=#000000><FONT face="Courier New" 
    size=2>            j 
    = <FONT face="Courier New" color=#000000 
    size=2>BarCount<FONT 
    color=#000000>; 
                 
             } 
               
          } 
              } 
                     
    } } // end procedure 
    <FONT 
    face="Courier New" color=#008000 size=2>// initial settings for portfolio 
    trading (also see Settings window) <FONT 
    color=#000000><FONT 
    color=#0000ff>SetBarsRequired(<FONT 
    color=#ff00ff>10000,<FONT 
    color=#ff00ff>10000<FONT 
    size=2>); <FONT 
    color=#0000ff>SetOption(<FONT 
    color=#ff00ff>"MaxOpenPositions", <FONT 
    color=#ff00ff>250<FONT 
    size=2> ); <FONT 
    color=#000000>PositionSize = -<FONT 
    color=#ff00ff>15<FONT 
    size=2>; <FONT 
    color=#0000ff>SetTradeDelays(<FONT 
    color=#ff00ff>1,<FONT 
    color=#ff00ff>1,<FONT 
    color=#ff00ff>1,<FONT 
    color=#ff00ff>1<FONT 
    size=2>); <FONT 
    color=#0000ff>SetOption(<FONT 
    color=#ff00ff>"AllowSameBarExit",<FONT 
    color=#000000>True<FONT 
    size=2>); <FONT 
    color=#0000ff>SetOption(<FONT 
    color=#ff00ff>"AllowPositionShrinking"<FONT 
    color=#000000>,<FONT 
    color=#000000>True<FONT 
    size=2> ); <FONT 
    color=#0000ff>SetOption(<FONT 
    color=#ff00ff>"ActivateStopsImmediately"<FONT 
    color=#000000>,<FONT 
    color=#000000>True<FONT 
    size=2> ); // 
    initial settings of the variables <FONT 
    color=#000000>nb = <FONT 
    face="Courier New" color=#ff00ff size=2>1<FONT 
    face="Courier New">; tt = NumDownBars = 
    BarsSince( 
    C >= 
    Ref(<FONT 
    color=#000000>C,-<FONT 
    color=#ff00ff>1<FONT 
    size=2>) ); <FONT 
    color=#000000>Buy = tt >= <FONT 
    color=#ff00ff>3<FONT 
    size=2>; // build in 
    the trade delay <FONT 
    face="Courier New">Buy<FONT 
    color=#000000> = Ref<FONT 
    color=#000000>(Buy<FONT 
    color=#000000>,-1<FONT 
    face="Courier New">); <FONT 
    color=#000000>BuyPrice = <FONT 
    color=#000000>Open<FONT 
    size=2>; // calculate 
    sell positions <FONT 
    face="Courier New" size=2>ttt(<FONT 
    size=2>Buy<FONT 
    color=#000000>,BuyPrice<FONT 
    color=#000000>,Open<FONT 
    color=#000000>,High<FONT 
    color=#000000>,Low<FONT 
    color=#000000>,<FONT 
    color=#000000>Close<FONT 
    face="Courier New">,nb); 
    Buy<FONT 
    face="Courier New"> = BuyAdjusted; 
    BuyPrice<FONT 
    face="Courier New"> = BuyPriceAdjusted; 
    // move back the 
    arrays<FONT 
    color=#000000> Buy<FONT 
    color=#000000> = Ref<FONT 
    color=#000000>(Buy<FONT 
    color=#000000>,1<FONT 
    face="Courier New">); <FONT 
    color=#000000>Sell = <FONT 
    color=#0000ff>Ref(<FONT 
    color=#000000>Sell,<FONT 
    color=#ff00ff>1<FONT 
    size=2>); <FONT 
    color=#0000ff>Plot(<FONT 
    color=#000000>C,<FONT 
    color=#ff00ff>"C",<FONT 
    color=#ff00ff>1,<FONT 
    color=#ff00ff>64<FONT 
    size=2>); <FONT 
    color=#0000ff>PlotShapes(<FONT 
    color=#000000>shapeUpArrow*<FONT 
    color=#000000>Buy,<FONT 
    color=#000000>colorWhite, layer = 
    0, yposition = 
    BuyPrice, 
    offset = 0<FONT 
    face="Courier New"> ); <FONT 
    color=#0000ff>PlotShapes(<FONT 
    color=#000000>shapeDownArrow*<FONT 
    color=#000000>Sell,<FONT 
    color=#000000>colorYellow, layer = 
    0, yposition = 
    SellPrice, 
    offset = 0<FONT 
    face="Courier New"> ); <FONT 
    color=#000000>Title=<FONT 
    color=#0000ff>Name()+ <FONT 
    color=#ff00ff>", O: "+<FONT 
    color=#0000ff>WriteVal(<FONT 
    color=#000000>O)+ <FONT 
    color=#ff00ff>", H: "+<FONT 
    color=#0000ff>WriteVal(<FONT 
    color=#000000>H)+ <FONT 
    color=#ff00ff>", L: "+<FONT 
    color=#0000ff>WriteVal(<FONT 
    color=#000000>L)+ <FONT 
    color=#ff00ff>", C: "+<FONT 
    color=#0000ff>WriteVal(<FONT 
    color=#000000>C<FONT 
    size=2>); <FONT 
    color=#000000>PositionScore = tt * 
    (50-<FONT 
    color=#0000ff>StochK(<FONT 
    color=#ff00ff>8<FONT 
    size=2>)); <FONT 
    color=#000000>Filter = <FONT 
    color=#ff00ff>1<FONT 
    size=2>; <FONT 
    color=#0000ff>AddColumn(<FONT 
    color=#000000>Buy,<FONT 
    color=#ff00ff>"Buy"<FONT 
    size=2>); <FONT 
    color=#0000ff>AddColumn(<FONT 
    color=#000000>Sell,<FONT 
    color=#ff00ff>"Sell"<FONT 
    size=2>); <FONT 
    color=#0000ff>AddColumn(<FONT 
    color=#000000>PositionScore,<FONT 
    color=#ff00ff>"PositionScore"<FONT 
    size=2>); 
    
    <BLOCKQUOTE 
    >
      ----- Original Message ----- 
      <DIV 
      >From: 
      <A title=serkhoshian777@xxxxxxxxx 
      href="">Gary A. Serkhoshian 
      To: <A 
      title=amibroker@xxxxxxxxxxxxxxx 
      href="">amibroker@xxxxxxxxxxxxxxx 
      
      Sent: Sunday, August 08, 2004 4:31 
      PM
      Subject: Re: [amibroker] while/for 
      loop compiler error 3 question
      
      Ed,
       
      I enjoyed reading through your code, but was confused as to why you 
      initialized the following arrays twice.  Can't they all be set to 
      zero from the start?
       
      Thanks,
      Gary
       
      // initialise arrays 
      SellPrice<FONT 
      color=#000000> = BuyPrice<FONT 
      color=#000000>; SellPrice<FONT 
      color=#000000> = 0<FONT 
      size=2>; <FONT 
      color=#000000>Sell = <FONT 
      color=#000000>Buy; <FONT 
      color=#000000>Sell = <FONT 
      color=#ff00ff>0<FONT 
      face="Courier New">; BuyAdjusted = <FONT 
      color=#000000>Buy; BuyAdjusted = 
      0<FONT 
      face="Courier New">; BuyPriceAdjusted 
      = BuyPrice; 
      BuyPriceAdjusted = 0<FONT 
      size=2>; ed nl 
      <ed2000nl@xxxxxxx> wrote:
      <BLOCKQUOTE class=replbq 
      >
        
        

        hi,
         
        the error you get is because you use whole 
        arrays in the loop. So your exitcondition is probably defined as an 
        array. For instance if you define:
         
        exitCondition = StochK(8) > 90; 
        
         
        then exitCondition is an array and in the 
        loop you have to specify the element using exitCondition[ i 
        ]
         
        For your second question I add an example. 
        You see that I have a j-loop within the 
        i-loop. To exit the j-loop is put j = BarCount. Before 
        I do that I change i to the value I want it to be. So the answer is 
        yes one can change i within the loop.
         
        rgds, Ed
         
         
        <FONT 
        color=#800000>procedure 
        ttt(Buy<FONT 
        color=#000000>,BuyPrice<FONT 
        color=#000000>,Open<FONT 
        color=#000000>,High<FONT 
        color=#000000>,Low<FONT 
        color=#000000>,<FONT 
        color=#000000>Close<FONT face="Courier New" 
        color=#000000 size=2>,nbar) { <FONT face="Courier New" 
        color=#008000 size=2>/* Jul 2004 */<FONT 
        face="Courier New"> 
        global<FONT 
        color=#000000> <FONT 
        color=#000000>Sell<FONT 
        face="Courier New">; <FONT 
        color=#800000>global <FONT 
        color=#000000>SellPrice<FONT 
        face="Courier New">; <FONT 
        color=#800000>global<FONT 
        face="Courier New"> BuyAdjusted; 
        global<FONT 
        face="Courier New"> BuyPriceAdjusted; 
        // initialise arrays 
        <FONT 
        face="Courier New"><FONT 
        color=#000000>SellPrice = <FONT 
        color=#000000>BuyPrice; <FONT 
        color=#000000>SellPrice = <FONT 
        color=#ff00ff>0<FONT 
        size=2>; <FONT 
        color=#000000>Sell = <FONT 
        color=#000000>Buy; <FONT 
        color=#000000>Sell = <FONT 
        color=#ff00ff>0<FONT 
        size=2>; BuyAdjusted = <FONT 
        color=#000000>Buy; BuyAdjusted = 
        0<FONT 
        face="Courier New">; 
        BuyPriceAdjusted = <FONT 
        color=#000000>BuyPrice; 
        BuyPriceAdjusted = <FONT 
        color=#ff00ff>0<FONT 
        size=2>; <FONT 
        color=#800000>for (i = <FONT 
        color=#ff00ff>0; i < <FONT 
        color=#000000>BarCount<FONT 
        face="Courier New">; i++) { 
           // 
        <FONT 
        face="Courier
 New" size=2>   <FONT 
        face="Courier New"><FONT 
        color=#800000>if (<FONT 
        color=#000000>Buy[ i ] == <FONT 
        color=#ff00ff>1<FONT 
        size=2>) {     
             
              // 
        buy at open <FONT 
        face="Courier New" 
        size=2>      BuyAdjusted[ i ] = 
        <FONT face="Courier New" color=#ff00ff 
        size=2>1<FONT 
        color=#000000>; 
              BuyPriceAdjusted[ i ] = 
        Open<FONT 
        face="Courier New">[ i ]; 
               
              // 
        find a sell position + sellprice <FONT 
        color=#000000><FONT face="Courier New" 
        size=2>      <FONT 
        face="Courier New"><FONT 
        color=#800000>for (j = i; j < 
        BarCount<FONT 
        face="Courier New">; j++) { 
             
                 <FONT 
        color=#008000>// nbar stop exit at the open <FONT 
        color=#000000><FONT face="Courier New" 
        size=2>         
        <FONT face="Courier New" color=#800000 
        size=2>if<FONT 
        color=#000000> ((j - i) == nbar) { 
                           
                    <FONT 
        color=#000000>Sell[ j ] = <FONT 
        color=#ff00ff>5<FONT 
        size=2>; 
                    <FONT 
        color=#000000>SellPrice[ j ] = 
        Close<FONT 
        face="Courier New">[ j ]; 
                     
                    <FONT 
        color=#008000>// enter i-loop starting from the last sell 
        <FONT face="Courier New" 
        size=2>            i 
        = j; 
                         
                    <FONT 
        face="Courier New" color=#008000 size=2>// escape from loop <FONT 
        color=#000000><FONT face="Courier New" 
        size=2>            j 
        = <FONT face="Courier New" color=#000000 
        size=2>BarCount<FONT 
        color=#000000>; 
                     
                 } 
                   
              } 
                  } 
                         
        } } // end procedure 
        
        <BLOCKQUOTE 
        >
          OK, this compiler/interpreter 
          behaviour is confusing me:here is a part of my code that is 
          generating compile Error 3, "for, while, if statement can only use 
          boolean or numeric variables" etc.
          The strange part is that the for loop is ok but the while 
          generates this error as shown AND also if I comment the (exitCond 
          == False) part and uncomment the (n < BarCount) part. (error 
          goes away if I change BarCount to 10, e.g., with (exitCond == 
          False) commented out).2nd Question has to do with being able 
          to change i in the middle of the for loop, as I do in the last 
          statement. Is this possible or will i continue from where it left 
          off????for (i = Length+1; i < BarCount; 
          i++){                
          exitCond = 
          False;                
          n = 
          i;                
          inTrade = False;        
                while ((exitCond == False))// AND (n 
          < 
          BarCount))                
          {                   
          n = n + 
          1;                
          }//while        
                i = n;}// forCheck 
        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 
        
      
      
      Do you Yahoo!?Express yourself with Y! Messenger! Free. <A 
      href="">Download 
      now. 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.