[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Code needed to always include a certain ticker in Explore ???



PureBytes Links

Trading Reference Links

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 amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso" <ajf1111@xxx> 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: amibroker@xxxxxxxxxxxxxxx 
>   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" <gmorlosky@xxx>
>   To: <amibroker@xxxxxxxxxxxxxxx>
>   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 amibroker@xxxxxxxxxxxxxxx, 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 amibroker@xxxxxxxxxxxxxxx, 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 amibroker@xxxxxxxxxxxxxxx, "gmorlosky" gmorlosky@ wrote:
>   >> > > >>
>   >> > > >> Understood... bummer..we really access to the Apply To: function.
>   >> > > >>
>   >> > > >> --- In amibroker@xxxxxxxxxxxxxxx, 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 amibroker@xxxxxxxxxxxxxxx, 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 amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso"
>   >> > <ajf1111@>
>   >> > > >> > > wrote:
>   >> > > >> > > > > >
>   >> > > >> > > > > > TRY:
>   >> > > >> > > > > >
>   >> > > >> > > > > > tickerlist=tickerlist and foreign("^GSPC","C");
>   >> > > >> > > > > >
>   >> > > >> > > > > >
>   >> > > >> > > > > > ----- Original Message -----
>   >> > > >> > > > > > From: gmorlosky
>   >> > > >> > > > > > To: amibroker@xxxxxxxxxxxxxxx
>   >> > > >> > > > > > 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 amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso"
>   >> > <ajf1111@>
>   >> > > >> > > > > wrote:
>   >> > > >> > > > > > >
>   >> > > >> > > > > > > you probably do something like:
>   >> > > >> > > > > > >
>   >> > > >> > > > > > > InWatchList( listno ) and "your ticker here";
>   >> > > >> > > > > > >
>   >> > > >> > > > > > > Anthony
>   >> > > >> > > > > > > ----- Original Message -----
>   >> > > >> > > > > > > From: gmorlosky
>   >> > > >> > > > > > > To: amibroker@xxxxxxxxxxxxxxx
>   >> > > >> > > > > > > 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
>   >
>   >
>   >
>




------------------------------------

**** 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

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/