Hello, Thank you. I will try it and report here on the progress.
Best regards, Michal --- In [email protected], Tomasz Janeczko <gro...@...> wrote: > > Hello, > > "BUT that is different than applying condition Buy:RSI(2)<5 ONLY on > three highest priced stocks in a watchlist of 100 stocks " > > Remember that what the signal is depends on you. > > In that case you can simply replace your buy condition with > Buy = 1; > > and do the RSI(2)<5 condition checking inside custom backtest part. > > Or use rotational mode to the same effect. > > Best regards, > Tomasz Janeczko > amibroker.com > > On 2010-04-09 12:31, mkecera wrote: > > Hello, > > > > This will rank signals. If I have > > > > Buy:RSI(2)<5; > > PositionScore=Close; > > SetOption("MaxOpenPositions",3); > > > > It will buy 3 highest priced stocks with low RSI. > > > > BUT that is different than applying condition Buy:RSI(2)<5 ONLY on three > > highest priced stocks in a watchlist of 100 stocks. > > > > First one might get a trade where the second one wont because there might > > be no stock within three highest priced that has RSI(2) lower than 5. > > > > This is how I understood PositionScore and therefore didnt use it. Am I > > wrong? > > > > --- In [email protected], Tomasz Janeczko<groups@> wrote: > > > >> Hello, > >> > >> You are doing things wrong way. > >> Leave the processing to the backtester. > >> Generate BUY/Sell signals FIRST, REGARDLESS of score, > >> and assign the score to PositionScore > >> AmiBroker will sort all signals based on their score and then decide > >> which ones > >> are FIRST (top ranked) and trade them. > >> It will NOT trade all signals, but only top-ranked ones. > >> The amount is controllable by the user using MaxOpenPositions. > >> You don't need to do this processing on your own, it is all built-in > >> and many times faster than you could ever do in your formula. > >> You don't need any custom backtester code to do the ranking and trading > >> top-N symbols as > >> it is integral and built in part of the backtest process. > >> Why re-invent the wheel ? > >> > >> It is explained here: > >> http://www.amibroker.com/guide/h_portfolio.html > >> > >> > >> Best regards, > >> Tomasz Janeczko > >> amibroker.com > >> > >> On 2010-04-09 08:47, mkecera wrote: > >> > >>> Hello, > >>> > >>> Thank you. > >>> > >>> I came up with the code below. So signal array has ALL the symbols sorted > >>> or just the ones which passed the BUY rules? Because I want to sort ALL > >>> the symbols first and then apply some BUY rules on the first five symbols. > >>> > >>> Again thanks for your help. > >>> > >>> SetCustomBacktestProc(""); > >>> if (Status("action") == actionPortfolio) > >>> { > >>> bo = GetBacktesterObject(); > >>> bo.PreProcess(); > >>> for (i = 0; i< BarCount; i++) > >>> { > >>> Counter[i]=0; > >>> for (sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal(i)) > >>> { > >>> Counter[i]=Counter[i]+1; > >>> if (Counter[i]>5){sig.PosSize=0;} > >>> } > >>> bo.ProcessTradeSignals(i); > >>> } > >>> bo.PostProcess(); > >>> } > >>> > >>> > >>> --- In [email protected], Tomasz Janeczko<groups@> wrote: > >>> > >>> > >>>> Hello, > >>>> > >>>> Using GetFirstSignal/GetNextSignal methods. > >>>> When you iterate using those functions you will get the list of > >>>> symbols sorted by absolute value of positionscore. > >>>> For more info see: > >>>> http://www.amibroker.com/guide/a_custombacktest.html > >>>> and > >>>> http://www.amibroker.org/userkb/2008/03/16/amibroker-custom-backtester-interface-2/ > >>>> > >>>> Best regards, > >>>> Tomasz Janeczko > >>>> amibroker.com > >>>> > >>>> On 2010-04-08 22:23, mkecera wrote: > >>>> > >>>> > >>>>> Fast response! Thank you. Can you be more specific on how to access > >>>>> rankings using custom backtester? > >>>>> > >>>>> --- In [email protected], Tomasz Janeczko<groups@> wrote: > >>>>> > >>>>> > >>>>> > >>>>>> Hello, > >>>>>> > >>>>>> Oh my God! It does not only re-iterates for all stocks BUT repeating it > >>>>>> for ALL bars > >>>>>> A MUST-READ is this: http://www.amibroker.com/guide/x_performance.html > >>>>>> > >>>>>> Follow advice given in the article and MOVE LOOP INVARIANTS OUTSIDE THE > >>>>>> LOOP ! > >>>>>> > >>>>>> Better yet REMOVE THIS code altogether. > >>>>>> You don't need this. > >>>>>> Instead use PositionScore that does the ranking for you ! > >>>>>> This is a 2nd must read: > >>>>>> http://www.amibroker.com/guide/h_portfolio.html > >>>>>> > >>>>>> If you need to access rankings use custom backtester - the signal array > >>>>>> will have all symbols sorted by absolute > >>>>>> value of position score on bar by bar basis - it will be many orders of > >>>>>> magnitude > >>>>>> faster than your code. > >>>>>> > >>>>>> Best regards, > >>>>>> Tomasz Janeczko > >>>>>> amibroker.com > >>>>>> > >>>>>> On 2010-04-08 21:52, mkecera wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>>> Hi All, > >>>>>>> > >>>>>>> I am using the function below to get ranking of particular stock in > >>>>>>> the watchlist according to defined function. Problem is that for > >>>>>>> backtest its too slow as it recalculates for each stock. > >>>>>>> > >>>>>>> Is there a way to store the rankings once and then just read them or > >>>>>>> pass them between different stocks during portfolio backtest? > >>>>>>> > >>>>>>> Any pointers are greatly appreciated. Thank you. > >>>>>>> > >>>>>>> function GetValue(index) > >>>>>>> { > >>>>>>> return C[index]; > >>>>>>> } > >>>>>>> > >>>>>>> for (z=1; z<=BarCount-1; z++) > >>>>>>> { > >>>>>>> local List; > >>>>>>> > >>>>>>> List = CategoryGetSymbols( categoryWatchlist, WatchlistNumber > >>>>>>> ); > >>>>>>> > >>>>>>> for( i = 0; ( SymbolNumber= StrExtract( List, i ) ) != ""; i++ > >>>>>>> ) > >>>>>>> { > >>>>>>> SetForeign(SymbolNumber); > >>>>>>> TemporaryValue = GetValue(z); > >>>>>>> RestorePriceArrays(); > >>>>>>> TickersValue[i] = TemporaryValue; > >>>>>>> } > >>>>>>> > >>>>>>> MyPosition[z]=0; > >>>>>>> for( n = 0; n<=i; n++ ) > >>>>>>> { > >>>>>>> > >>>>>>> MyPosition[z]=IIf(MyValue[z]<TickersValue[n],MyPosition[z]+1,MyPosition[z]); > >>>>>>> } > >>>>>>> } > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> ------------------------------------ > >>>>>>> > >>>>>>> **** 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 > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> ------------------------------------ > >>>>> > >>>>> **** 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 > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> > >>> ------------------------------------ > >>> > >>> **** 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 > >>> > >>> > >>> > >>> > >>> > >>> > >> > > > > > > > > ------------------------------------ > > > > **** 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 > > > > > > > > > > >
