I'd also like to see something allowing the interaction with the "Apply To" include / exclude, which will really shorten the processing time over filtering...
--- In [email protected], dingo <waledi...@...> wrote: > > Your RunNext() suggestion is a great idea! I also think that would be > something TJ should add ASAP. > > d > > On Tue, Jun 9, 2009 at 8:21 AM, bruce1r <bru...@...> wrote: > > > Graham / Mike - > > > > I'd like to briefly offer a couple of suggestions about your comments > > regarding watchlists. But, first the bottom line. Adding the symbol to > > your watchlists in a two step (preferrably automated process) is the > > best way to save yourself some grief. There are several different ways > > to do this. > > > > Mike - you were moving toward something I've used for a while but have > > never shown because of the special cases. I'd call it dynamic > > watchlsits. There is an easier way, though. You were modifying the > > watchlist as it was being processed. The easiest way to do this is > > simply detect the watchlist that is used in the filter and use > > CategoryWatchlist(). Because the entries are cached, the change is > > reflected in the AA Filter loop. BUT, the issue is this. The Filter > > loop processes issues in alpha order. SO, the one(s) that you add need > > to be after stocknum 0 in the collating sequence. I have used the > > technique in the past for app's that need to process dynamic watchlists. > > Now, I just use a two step process, as it is more straightforward. But > > since you went down that path, here's some test code to show the > > technique - > > > > OAB = CreateObject( "Broker.Application" ); > > OAA = OAB.Analysis; > > incwl = OAA.Filter( 0, "watchlist" ); > > ; The symbol added must be after the first symbol in alpha order > > CategoryAddSymbol( "SPY", categoryWatchlist, incwl ); > > Filter = Status( "lastbarinrange" ); > > AddColumn( C, "C", 8.2 ); > > > > Graham - I totally agree with your conclusion about keeping it simple. > > I think that the issue with your second suggestion about using a sector > > or industry is that the long-known issue with the Filter interface is > > the lack of an "OR" operation. If I understand what you were suggesting > > correctly, you'll find that multiple selections on the Include tab are > > an "AND" operation. The Exclude tab effectively implements an "AND NOT" > > operation. A simple "OR" interface has been long needed. > > > > P.S. This usage pattern of running a two step (AFL) job is so common, > > that I'd really like to see Tomasz add a RunNext() command for newer > > users that would execute a subsequent AFL after the current one > > completes. > > > > -- BruceR > > > > > > > > --- In [email protected], Graham <kavemanperth@> wrote: > > > > > > The simplest way is to just add the index symbol to your watchlist. > > > You will just tie yourself up into knots otherwise > > > If you use this watchlist for other items like trade system then just > > > include a condition eg. Buy = BuyConditions AND Name() != "^GSPC"; > > > > > > Another simple method would be to have the index symbol in its own > > > group, eg an unused sector/industry. Then in exploring your watchlist > > > you can add this sector to your analysis window filter. > > > > > > -- > > > Cheers > > > Graham Kav > > > AFL Writing Service > > > http://www.aflwriting.com > > > > > > > > > > > > 2009/6/9 Mike sfclimbers@: > > > > You can cheat, explicitly doing what you are not supposed to do, by > > writing code to use the OLE interface to add your symbol to the > > watchlist as it is being iterated through, then use the API to remove > > your symbol at the end of the exploration. > > > > > > > > In my quick try, adding the symbol seemed to work e.g. assuming > > symbol AA and watchlist #2, add to watchlist on processing of first > > symbol. > > > > > > > > EnableScript("jscript"); > > > > > > > > if ( Status( "stocknum" ) == 0 ) > > > > { > > > > <% > > > > AB = new ActiveXObject("Broker.Application"); > > > > Stocks = AB.Stocks; > > > > Symbol = Stocks.Item("AA"); > > > > Symbol.WatchListBits |= 1 << 2; > > > > %> > > > > } > > > > > > > > I used JScript because AFL did not seem to natively support the << > > operator used in the example found in the user guide > > > > > > > > http://www.amibroker.com/guide/objects.html > > > > > > > > Trying to remove it afterwards was not quite working in my quick > > test. > > > > > > > > Seems like a lot of fuss. What about writing a script to drive the > > OLE interface to include the symbol in all the watchlists that you want > > before running your exploration. Then run your explorations. Then run a > > cleaning script to remove the symbol from the watchlists after you're > > done? > > > > > > > > Moving the code I provided above to an "add to watchlist" script > > would probably do the job. Repeat the line Symbol.WatchListBits |= 1 << > > ??? for each watchlist you want it to appear in. > > > > > > > > To remove from the watchlist try something along the lines of: > > > > > > > > <% > > > > AB = new ActiveXObject("Broker.Application"); > > > > Stocks = AB.Stocks; > > > > Symbol = Stocks.Item("AA"); > > > > Symbol.WatchListBits &= ~(1 << 2); > > > > %> > > > > > > > > None of the above is tested. And I have not spent the time to verify > > its validity or even the wisdom of the approach. But if you're > > determined to go down this road, it might help. > > > > > > > > Mike > > > > > > > > --- In [email protected], "gmorlosky" gmorlosky@ wrote: > > > >> > > > >> Understood... bummer..we really access to the Apply To: function. > > > >> > > > >> --- In [email protected], dingo <waledingo@> wrote: > > > >> > > > > >> > I already explained that to you in my msg above. Read it again. > > > >> > > > > >> > d > > > >> > > > > >> > > > > >> > On Mon, Jun 8, 2009 at 6:18 PM, gmorlosky <gmorlosky@> wrote: > > > >> > > > > >> > > If I do an _TRACE (Tickerlist) the addon ticker is there. > > > >> > > I don't understand why it shows up in the indicator, but not in > > an Explore > > > >> > > ??? > > > >> > > > > > >> > > > > > >> > > > > > >> > > --- In [email protected], dingo <waledingo@> wrote: > > > >> > > > > > > >> > > > by using the filter = 1 you're only going to get the tickers > > that are in > > > >> > > the > > > >> > > > watchlist - AB will only read from that list. > > > >> > > > > > > >> > > > Option 1. Use the watchlist and after the last ticker use the > > foreign on > > > >> > > a > > > >> > > > line by its self. I don't know if this will actually work. > > You'll have > > > >> > > to > > > >> > > > figure out a way to detect that the last ticker in the watch > > list had > > > >> > > been > > > >> > > > read by using the "Status" function. > > > >> > > > > > > >> > > > Option 2. Process the updated ticker list in a loop like > > you've done > > > >> > > > before. When doing this don't use the filter and watchlist - > > just > > > >> > > current > > > >> > > > ticker. > > > >> > > > > > > >> > > > d > > > >> > > > > > > >> > > > On Mon, Jun 8, 2009 at 5:13 PM, gmorlosky <gmorlosky@> > > wrote: > > > >> > > > > > > >> > > > > My test is simply to set my Filter = 1; (at the bottom of > > the code to > > > >> > > > > include all tickers in the output). I get all the watchlist > > tickers, > > > >> > > but, > > > >> > > > > not the additional ^GSPC ticker.... > > > >> > > > > Tried: > > > >> > > > > > > > >> > > > > Tickerlist = Tickerlist + ",^GSPC"; // no results (included > > comma) > > > >> > > > > tickerlist=tickerlist AND Foreign("^GSPC","C"); // AND > > errors > > > >> > > > > tickerlist=tickerlist + Foreign("^GSPC","C"); // no results > > > >> > > > > > > > >> > > > > Any more ideas and what is a skew ? > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > --- In [email protected], "Anthony Faragasso" > > <ajf1111@> > > > >> > > wrote: > > > >> > > > > > > > > >> > > > > > TRY: > > > >> > > > > > > > > >> > > > > > tickerlist=tickerlist and foreign("^GSPC","C"); > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > ----- Original Message ----- > > > >> > > > > > From: gmorlosky > > > >> > > > > > To: [email protected] > > > >> > > > > > Sent: Monday, June 08, 2009 3:40 PM > > > >> > > > > > Subject: [amibroker] Re: Code needed to always include > > a certain > > > >> > > ticker > > > >> > > > > in Explore ??? > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > I have used Foreign for plotting, but I don't want to > > manually add > > > >> > > it > > > >> > > > > for each column. > > > >> > > > > > I like the idea of an addon to the ticker list. I > > tried: > > > >> > > > > > Tickerlist = CategoryGetSymbols( Tickercategory, > > ListNum );// > > > >> > > existing > > > >> > > > > code > > > >> > > > > > Tickerlist = Tickerlist + "^GSPC"; // new code > > > >> > > > > > > > > >> > > > > > but still not picking up on the extra ticker of ^GSPC > > (S&P500). > > > >> > > > > > > > > >> > > > > > Any other ideas on properly concatenating a ticker to a > > list of > > > >> > > tickers > > > >> > > > > ??? > > > >> > > > > > > > > >> > > > > > --- In [email protected], "Anthony Faragasso" > > <ajf1111@> > > > >> > > > > wrote: > > > >> > > > > > > > > > >> > > > > > > you probably do something like: > > > >> > > > > > > > > > >> > > > > > > InWatchList( listno ) and "your ticker here"; > > > >> > > > > > > > > > >> > > > > > > Anthony > > > >> > > > > > > ----- Original Message ----- > > > >> > > > > > > From: gmorlosky > > > >> > > > > > > To: [email protected] > > > >> > > > > > > Sent: Monday, June 08, 2009 3:08 PM > > > >> > > > > > > Subject: [amibroker] Code needed to always include a > > certain > > > >> > > ticker > > > >> > > > > in Explore ??? > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > I would like to have a certain ticker (S&P500) always > > included as > > > >> > > one > > > >> > > > > of the tickers in the Explore. For example, I choose my > > watchlist that > > > >> > > has > > > >> > > > > ETFs only, BUT I want the explore to also have the S&P500 > > ticker info, > > > >> > > for > > > >> > > > > relevance. > > > >> > > > > > > I want to have the reference in the code, not include > > the S&P500 > > > >> > > > > ticker in the watchlist. > > > >> > > > > > > Thanks. > > > > > > > > > > > > > ------------------------------------ > > > > **** 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 > > > > > > > > >
