PureBytes Links
Trading Reference Links
|
To remove all sigScaleOut values before the first buy (which includes
a sigScaleIn), add this:
Buy = IIf(Flip(Buy==True||Buy==sigScaleIn, False), Buy, False);
GP
--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko \(groups\)"
<groups@xxx> wrote:
>
> 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@xxx>
> 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@> 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/
|