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

Re: [amibroker] Re: Wrong interpretation of first sigScaleOut?



PureBytes Links

Trading Reference Links

That's correct. Any "true" (i.e. non-zero) value will be used as "buy" signal
if there is no open position yet. That's for backward compatibility.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "gp_sydney" <gp.investment@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Sunday, June 24, 2007 1:24 AM
Subject: [amibroker] Re: Wrong interpretation of first sigScaleOut?


> It seems both sigScaleIn and sigScaleOut (or probably any non-zero
> value) are treated the same as True for the first Buy signal.
> 
> I don't know, but I'm guessing that since those two constants are both
> large positive integers (99,998 & 99,999 respectively), the software
> is probably just checking for any non-zero value for the first buy
> condition.
> 
> GP
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "markhoff" <markhoff@xxx> wrote:
> >
> > Hi AB experts,
> > 
> > I observed a strange behaviour in the backtester when using the
> > special constants sigScaleIn and sigScaleOut.
> > 
> > According to the manual, "AB treats first sigScaleIn as buy anyway"
> > when buy variable is set to sigScaleIn instead of True for the
> > position opening. From that, my conclusion would be that if I set the
> > variable "Buy = sigScaleOut" before the position is opened (means I
> > have zero shares and no "buy = true" signal before), the signal should
> > be ignored by the backtester because I cannot reduce my not opened
> > position size if I make only long trades. But, with the following code:
> > 
> > //--- cut here ---
> > 
> > Sell = 0;
> > 
> > BarInRange = Status("barinrange");
> > 
> > MonthBegin = (Month() != Ref( Month(), -1 )) AND BarInRange; 
> > 
> > FirstPurchase = Cum( MonthBegin ) == 1; 
> > 
> > Buy = IIf( FirstPurchase, 1,  // buy on begin of month 
> >            IIf( MonthBegin, sigScaleIn, // each month begin increase
> >            sigScaleOut ) ); // other days decrease position
> > 
> > Filter = 1 ;
> > 
> > AddColumn( IIf( Buy == True, Asc("B"), 
> >            IIf( Buy == sigScaleOut, Asc("O"),
> >            IIf( Buy == sigScaleIn, Asc("I"), Asc(" " )))), "Signal",
> > formatChar );
> > 
> > //--- cut here ---
> > 
> > you can see that the backtester will do a buy on the first bar (which
> > is a sigScaleOut signal if it does not on the begin of a month). Then,
> > on the second bar the backtester sells the open position.
> > 
> > You can also test the behaviour with a more simple script:
> > buy = sigScaleOut;
> > sell = 0;
> > 
> > For me it looks quite strange ... why does backtester do a buy and
> > herewith increase the position when the command is to decrease?
> > 
> > Note: In the backtester settings you must set Reporting to "detailed
> > log" to see what happens ...
> > 
> > Any ideas are welcome!
> > 
> > Thanks,
> > Markus
> >
> 
> 
> 
> 
> 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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
> 
> 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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

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/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> 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/