Refer to the user guide. There are some example JScript files (e.g. .js) at the bottom for running a backtest. Just call scan inside the .js file instead of backtest, then call explore.
http://www.amibroker.com/guide/objects.html To run the .js file once it's been written: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/wsh_runfromwindowsbasedhost.mspx?mfr=true Mike --- In [email protected], "Anthony Faragasso" <ajf1...@...> wrote: > > I would like to run a scan to create composites and then run explore....how > is this accomplished with OLE ? > > Anthony > > > ----- Original Message ----- > From: Tomasz Janeczko > To: [email protected] > Sent: Tuesday, June 09, 2009 2:11 PM > Subject: Re: [amibroker] Re: Code needed to always include a certain ticker > in Explore ??? > > > > > > OLE interface allows that already > http://www.amibroker.com/guide/objects.html > > Best regards, > Tomasz Janeczko > amibroker.com > ----- Original Message ----- > From: "gmorlosky" <gmorlo...@...> > To: <[email protected]> > Sent: Tuesday, June 09, 2009 7:16 PM > Subject: [amibroker] Re: Code needed to always include a certain ticker in > Explore ??? > > > 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 <waledingo@> 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 <brucer@> 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 > >> > > >> > > >> > > >> > > >> > > > > > > > > > > ------------------------------------ > > > > **** 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 > > > > > > >
