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

Fwd: Re: [amibroker] Re: Function "position status or similar" available ?



PureBytes Links

Trading Reference Links

As I have just learned (much to my surprise), you have to be very 
careful with the statement 
..... ref(Buy, -1)....
because that refers to tomorrow's bar.
So, everything will be cool in backtesting, however you will never 
get a "scan" signal -because it is always waiting for tomorrow's 
data.
As a matter of fact, the statement that I had posted,
inLong = Ref(Flip(Buy,Sell),-1);
inShort = Ref(Flip(Short,Cover),-1);
is also at fault.
It works great - except for the last bar.
Perhaps someone (who is much more astute with ab language than I) 
could re-write those two lines so that they work as intended 
(shifting one day forward), except for the last bar!


--- In amibroker@xxxxxxxxxxxxxxx, "Charles Stangor" 
<cstangor232@xxxx> wrote:
Thanks again...... it may be starting to sink in, slowly... :)
  ----- Original Message ----- 
  From: Terry 
  To: amibroker@xxxxxxxxxxxxxxx 
  Sent: Tuesday, September 27, 2005 9:42 AM
  Subject: RE: [amibroker] Re: Function "position status or similar" 
available ?


  Right because if you have something like this, which it appears 
you do (since you didn't post any code):



  Buy = some conditions;

  Totalbuys = Sum(Ref(Buy, -1), BarsSince(Cross(Timenum(), 093000)));

  Buy = 1;



  With the third statement you have said that BUY = TRUE for every 
bar of data you have, thus wiping out any results from the first Buy 
statement (which defined Buy as "some conditions" for every bar of 
data you have.

  --

  Terry

  -----Original Message-----
  From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] 
On Behalf Of Charles Stangor
  Sent: Tuesday, September 27, 2005 09:32
  To: amibroker@xxxxxxxxxxxxxxx
  Subject: Re: [amibroker] Re: Function "position status or similar" 
available ?



  Thanks Terry.  I learned to program years ago when everything was 
loops.  The ++ idea is still hazy for me.  



  I believe that I'm finding that the value of totalbuys:

  Totalbuys = Sum(Ref(Buy, -1), BarsSince(Cross(Timenum(), 093000)));



  is changed if I give the subsequent statement:

  Buy =1;



  Would that be possible?  I thought that the first statement 
referred to an array that was entirely prior to the current bar.  
But your statement: 



  However, you must be aware that you cannot go back up to your 
Buy/Sell statements and use the inLong or inShort information to 
change your trades. This is because each line is essentially read 
once and executed for all bars. Then the next line is executed based 
on previously known results



  makes me think that values of arrays specified as ref(array, -1) 
are changed by operations in the current bar.



  Thanks again.



    ----- Original Message ----- 

    From: Terry 

    To: amibroker@xxxxxxxxxxxxxxx 

    Sent: Tuesday, September 27, 2005 8:24 AM

    Subject: RE: [amibroker] Re: Function "position status or 
similar" available ?



    AFL arrays are computed "all at once" for ALL BARS in your 
database.

    So I guess the answer to your question is Yes. However, you must 
be aware that you cannot go back up to your Buy/Sell statements and 
use the inLong or inShort information to change your trades. This is 
because each line is essentially read once and executed for all 
bars. Then the next line is executed based on previously known 
results.



    This behavior can be changed by using "looping" code which 
computes these results on a bar by bar basis, thus allowing you to 
use this information from the previous bar to help determine your 
next trade (for example, only go Long while "inShort").

    --

    Terry



    -----Original Message-----
    From: amibroker@xxxxxxxxxxxxxxx 
[mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Charles Stangor
    Sent: Tuesday, September 27, 2005 06:51
    To: amibroker@xxxxxxxxxxxxxxx
    Subject: Re: [amibroker] Re: Function "position status or 
similar" available ?



    > Graph0=Equity(1);

    > inLong = Ref(Flip(Buy,Sell),-1);

    > inShort = Ref(Flip(Short,Cover),-1);

    > inNothing = inLong==0 AND inShort==0;



    This code seems really good.  But I don't completely understand 
how AFL 

    works.  Here's my question:  Is it the case that these new 
variables, inlong 

    and inshort (which are created from an array that ends on the 
prior bar) 

    will be created when the code is read in the AFL, and then not 
be changed by 

    any code that follows them in the AFL?  In other words, can they 
be used to 

    create buy and sell signals on the current bar without worrying 
that their 

    prior values will be changed by new operations that reference 
their 

    components?



    thanks



    >

    > Please note that the reason for the Ref(... ,-1) is because I 
have a

    > trade delay of 1.

    >

    > --- In amibroker@xxxxxxxxxxxxxxx, Thomas Z <tzg@xxxx> wrote:

    >>

    >

    >

    >

    >

    >

    > Please note that this group is for discussion between users 
only.

    >

    > To get support from AmiBroker please send an e-mail directly to

    > SUPPORT {at} amibroker.com

    >

    > For other support material please check also:

    > http://www.amibroker.com/support.html

    >

    >

    > Yahoo! Groups Links

    >

    >

    >

    >

    >

    > 










    Please note that this group is for discussion between users only.



    To get support from AmiBroker please send an e-mail directly to 

    SUPPORT {at} amibroker.com



    For other support material please check also:

    http://www.amibroker.com/support.html





    Yahoo! Groups Links



        http://groups.yahoo.com/group/amibroker/



        amibroker-unsubscribe@xxxxxxxxxxxxxxx



        http://docs.yahoo.com/info/terms/







    Please note that this group is for discussion between users only.

    To get support from AmiBroker please send an e-mail directly to 
    SUPPORT {at} amibroker.com

    For other support material please check also:
    http://www.amibroker.com/support.html





    SPONSORED LINKS Investment management software  Real estate 
investment software  Investment property software  
          Software support  Real estate investment analysis 
software  Investment software  


---------------------------------------------------------------------
-------
    YAHOO! GROUPS LINKS 

      a..  Visit your group "amibroker" on the web.
        
      b..  To unsubscribe from this group, send an email to:
       amibroker-unsubscribe@xxxxxxxxxxxxxxx
        
      c..  Your use of Yahoo! Groups is subject to the Yahoo! Terms 
of Service. 


---------------------------------------------------------------------
-------
--- End forwarded message ---





------------------------ Yahoo! Groups Sponsor --------------------~--> 
Try Online Currency Trading with GFT. Free 50K Demo. Trade 
24 Hours. Commission-Free. 
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html

 
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:
    http://docs.yahoo.com/info/terms/