PureBytes Links
Trading Reference Links
|
David,
Thanks. I actually figured it out for myself after another hour or so
of trying out ideas, and reading the User Guide! This is what I am
using (last 3 lines of code):
weekend = DayOfWeek()>Ref(DayOfWeek(),1);
RSI2 = Ref(RSIa(C,2),-1);
PositionScore = IIf(weekend,100-RSI2,scoreNoRotate);
I ran this on a fund family in which I have account, and it worked!
Some funds were held over for 2 weeks (presumably because they ranked
in the top 2 for 2 weeks in a row), but every switch took place on
the last day of the week. I also changed your RSI2 line so that the
switch was based on the RSI score the prior evening; I got much
better results in Backtest with this version rather than your line of
RSI2 = RSIa(C,2);
Thank you for your original posting.
Regards,
David
--- In amibroker@xxxxxxxxxxxxxxx, "dweilmuenster95125"
<dweilmuenster95125@xxxx> wrote:
> Hi, yes, someone tipped me to an approach which goes like this
> (omitting extraneous details):
>
> EnableRotationalTrading();
>
> weekend = DayOfWeek()>Ref(DayOfWeek(),1);
>
> PositionScore = IIf(weekend,100-rsi(2),scorenorotate);
>
>
> Hope that helps with what you're trying to do.
>
>
> Regards,
> David
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "David Nowotnik" <dnowotnik@xxxx>
wrote:
> > David,
> >
> > Did you get response to this question, as I would also like to
> > develop a script which performs rotational trading but is not
limited
> > by what EnableRotationalTrading() does and does not appear to
allow?
> >
> > I assume that the problem is that there is no option to
> > AllowSameBarEntry, equivalent to AllowSameBarExit. So an exit
cannot
> > trigger the next entry even when Buy is true, but instead, you
have
> > to wait for the next bar in which a Buy condition is met.
> >
> > I tried many variations to your script (I'm sure you did too), to
no
> > avail. The closest was to delay the buy to the first day of the
week
> > following the sale:
> >
> > weekend = DayOfWeek()>Ref(DayOfWeek(),1);
> > FirstDay = DayOfWeek()==1;
> >
> > RSI2 = RSIa(C,2);
> > PositionScore = 100-RSI2;
> >
> > Buy = FirstDay;
> > Sell = weekend;
> >
> > Regards,
> > David
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "dweilmuenster95125"
> > <dweilmuenster95125@xxxx> wrote:
> > >
> > > I am trying to set up a portfolio backtest to:
> > >
> > > - Buy on the last trading day of each week the top 2 equities
in a
> > > watchlist, ranked by 100-RSI(2).
> > >
> > > - Sell those 2 equities on the last trading day of the next
week,
> > and
> > > replace them with 2 equities that satisfy the above rule.
> > >
> > > (Note: EnableRotationalTrading() doesn't do the trick, because
> > > I want to exit unconditionally at the end of the following
week, not
> > > because the current positions fall below a positionrank
threshhold.)
> > >
> > > I'm using the code below, and it almost works. Problem is that
it
> > > skips every other week. E.g., starting at the beginning of
2002, it
> > > buys two stocks on 1/4/2002, and sells them on 1/11/2002. But
it
> > > doesn't buy anything on 1/11/2002. Instead, it buys 2 stocks
again
> > on
> > > 1/18/2002, and sells them on 1/25/2002. Doesn't buy anything on
> > > 1/25/2002. But, it buys 2 stocks on 2/1/2002, and sells them on
> > > 2/8/2002. Etc.
> > >
> > > Suggestions?
> > >
> > > Thanks,
> > > David
> > >
> > > -------------------------------------------------------------
> > >
> > >
> > > SetOption("InitialEquity",100000);
> > > SetOption("CommissionMode",1);
> > > SetOption("CommissionAmount",0);
> > > SetOption("MaxOpenPositions",2);
> > > SetOption("MarginRequirement",100);
> > > SetOption("UsePrevBarEquityForPosSizing",False);
> > > SetOption("AllowPositionShrinking" , True);
> > > SetOption("AllowSameBarExit",False);
> > > SetTradeDelays(0,0,0,0);
> > > BuyPrice = C;
> > > SellPrice = C;
> > > SetPositionSize(50,spsPercentOfEquity);
> > > RoundLotSize = 10;
> > >
> > > weekend = DayOfWeek()>Ref(DayOfWeek(),1);
> > >
> > > RSI2 = RSIa(C,2);
> > > PositionScore = 100-RSI2;
> > >
> > >
> > > Buy = weekend;
> > > Sell = weekend;
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/
|