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" <m...@...> 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);
>