4. Just noticed that your posting talked about using monthly data, so may need 
TimeFrameSet(inMonthly); at top of your afl.  Could also just leave daily and 
multiple monthly periods shown by say 22 for 22 average market days per month.

--- In [email protected], "bistrader" <bistra...@...> wrote:
>
> Lets see ...
> 
> 1. Place all to select from in watchlist.
> 2. Use filter and select this watchlist.
> 3. Use SetOption to set MaxOpenPositions to 3 and not just worstrankheld. So, 
> will pick 3 top only.
> 4. Decide when you want to rotate as yours is set so can happen any market 
> day which might be what you want.
> 5.  Count just set PositionSize = -100 / GetOption("MaxOpenPositions") or 
> take a look at Boiler Plate afl from AmiBrokeru.com free downloads.
> 6. Not sure what you are doing with PositionScore as it appears to be kind of 
> a True or False condition with your AND.  The less than sign is a problem as 
> well.  Maybe you are looking for ...
> PositionScore = IIf( j>MA(j,10), C/Ref(C,-6), 0);
> 
> --- In [email protected], "Steve_Almond" <me@> wrote:
> >
> > I'm able to use the backtester for Fund rotation (and I understand the use 
> > of 'Foreign' symbols.
> > I cannot seem to combine the two, though.
> > 
> > I want to invest in 3 funds from a group of 10 using the best 6 month 
> > return to select the top 3. I use PositionScore =  C/Ref(C,-6);
> > 
> > BUT, I only want to invest in those funds if the ETF SPY is above its 10 
> > month MA.
> > 
> > Can anyone suggest how to accomplish this?
> > 
> > Below is my attempt. It correctly invests only when SPY is above its 10 
> > month MA, but ALWAYS selects the first 3 funds in the list.
> > 
> > Steve
> > 
> > EnableRotationalTrading(); 
> > SetOption("WorstRankHeld",3); 
> > 
> > j=Foreign("SPY","C");
> > PositionSize = -100/3;
> > PositionScore =  C/Ref(C,-6)AND  j>MA(j,10);
> >
>


Reply via email to