Bert - I think that it isn't trivial, but is reasonably straightforward.
1. Set worst rank held to 15. 2. Use mid-level backtester. 3. On the first of the month, walk the signals and set the PosScore of signals 4 - 15 to 0. Remember, you are doing it on the first of the month if BuyDelay is 1. This is because rotational mode shifts the rank signals by the delay and executes. -- BruceR --- In [email protected], "Ron Rowland" <rowl...@...> wrote: > > I don't think it can be done (short of writing special code inside the Custom Backtester). > > Every time I try to change/manipulate the WorstRankHeld option, I get an "invalid type" error. > > Some workarounds, which might get you closer but not all the way there, include: > 1) The ScoreNoRotate method that Tomasz described > 2) Using stop-losses to exit current position and rotate into new one (not the same as a #15 ordinal rank but will get you out mid-month under the defined conditions) > 3) Special coding of PositionScore when not at month end (again, not the same as a #15 ordinal rank but will get you out mid-month under the defined conditions) > > I am interested in this also, so let me know if you find an answer! > > --- In [email protected], "bistrader" bistrader@ wrote: > > > > > > On last day of month I want MaxOpenPositions and WorstRankHeld at 3, which I have. I do not want scoreNoRotate for other days in the month. Rather, for other days in the month I want WorstRankHeld set at 15, leaving MaxOpenPositions at 3, so that system will rotate if any position held drops to below 15th in the ranking. How do I do this? > > > > The idea is to buy on the last day of the month the top 3 ranked and to hold them until the end of the next month, but only if the ranking does not fall a large amount (say, to 15 as I stated above) during the month. > > > > > > Thanks > > > > Bert > > > > > > --- In [email protected], "Tomasz Janeczko \(groups\)" <groups@> wrote: > > > > > > Hello, > > > > > > Set both MaxOpenPositions and WorstRankHeld to 3 > > > AND > > > set PositionScore to scoreNoRotate value for every day BUT the one > > > you want rotation to occur. > > > > > > SetOption("MaxOpenPositions", 3 ); > > > SetOption("WorstRankHeld", 3 ); > > > > > > PositionScore = IIF( Month() != Ref( Month(), 1 ), ...your original score here.., scoreNoRotate ); > > > > > > > > > Best regards, > > > Tomasz Janeczko > > > amibroker.com > > > ----- Original Message ----- > > > From: "bistrader" <bistrader@> > > > To: [email protected] > > > Sent: Wednesday, May 27, 2009 8:45 PM > > > Subject: [amibroker] WorstRankHeld Help > > > > > > > > > >I am working on an afl that rotates into the top 3 ETFs on the last trading day of the month. Here, I set MaxOpenPositions and > > > >WorstRankHeld to 3. I understand how to do this, but would like the afl to set WorstRankHeld to say 15 for any other day in the > > > >month. That is, if the ranking of an owned ETF falls to below 15, on any other market day in the month, then I want to sell the > > > >ETF and buy the next ranked (at that point in time) ETF. > > > > > > > > Does anyone have sample code for this? > > > > > > > > Thanks > > > > > > > > Bert > > > > > > > > > > > > > > > > ------------------------------------ > > > > > > > > **** IMPORTANT PLEASE READ **** > > > > This group is for the discussion between users only. > > > > This is *NOT* technical support channel. > > > > > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to > > > > SUPPORT {at} amibroker.com > > > > > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > > > > http://www.amibroker.com/feedback/ > > > > (submissions sent via other channels won't be considered) > > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > > > > http://www.amibroker.com/devlog/ > > > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > >
