bistrader, It was the format of the Positionscore that I needed:
PositionScore = IIf( j>MA(j,10), C/Ref(C,-6), 0); Once this was understood (and once I've seen it, it looks easy...), the rest was OK! Many thanks, Steve --- In [email protected], "bistrader" <bistra...@...> wrote: > > 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" <bistrader@> 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); > > > > > >
