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

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



PureBytes Links

Trading Reference Links



Hello,
 
First of all, control should be done from EXTERNAL JScript file.
So write the script and save it with .JS exception then double click on it.
Remember to use AB = new ActiveXObject("Broker.Application"); when you are using JScript.
 
Second thing - if it says can not open formula file, it means that the path provided is wrong
- use full path.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
Sent: Thursday, June 11, 2009 12:23 PM
Subject: Re: [amibroker] Re: Code needed to always include a certain ticker in Explore ???

Hello,
 
Easier said then done....Here is what I tried....error saying can not open formula file:
 

/* create AB object */

AB = CreateObject("Broker.Application");

/* retrieve automatic analysis object */

AA = AB.Analysis;

/* load formula from external file */

AA.LoadFormula("afl\\Relative Strength exploration.afl");

/* optional: load settings */

// AA.LoadSettings("the_path_to_the_settings_file.abs");

/* setup filters */

/* backtest over symbols present in market 0 only (zero-based number) */

AA.ClearFilters();

//AA.Filter( 0, "market" ) = 0;

// uncomment line below to

// AA.Filter( 1, "market" ) = 2; // exclude 2nd market

/* set apply to and range */

//AA.ApplyTo = 2; // use filters

AA.RangeMode = 0; // use all available quotes

//Scan to create composites

AA.Scan();

----- Original Message -----
Sent: Wednesday, June 10, 2009 7:39 PM
Subject: Re: [amibroker] Re: Code needed to always include a certain ticker in Explore ???

There are JScript examples given in the web page I pointed out already

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
Sent: Tuesday, June 09, 2009 11:52 PM
Subject: Re: [amibroker] Re: Code needed to always include a certain ticker in Explore ???

I would like to run a scan to create composites and then run explore....how is this accomplished with OLE ?
 
Anthony
 
 
----- Original Message -----
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@xxxxxxcom>
To: <amibroker@xxxxxxxxxps.com>
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@xxxxxxxxxps.com, dingo <waledingo@x..> 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@xxx> 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@xxxxxxxxxps.com, 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@xxxxxxxxxps.com, "gmorlosky" gmorlosky@ wrote:
>> > > >>
>> > > >> Understood... bummer..we really access to the Apply To: function.
>> > > >>
>> > > >> --- In amibroker@xxxxxxxxxps.com, 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@xxxxxxxxxps.com, 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@xxxxxxxxxps.com, "Anthony Faragasso"
>> > <ajf1111@>
>> > > >> > > wrote:
>> > > >> > > > > >
>> > > >> > > > > > TRY:
>> > > >> > > > > >
>> > > >> > > > > > tickerlist=tickerlist and foreign("^GSPC","C");
>> > > >> > > > > >
>> > > >> > > > > >
>> > > >> > > > > > ----- Original Message -----
>> > > >> > > > > > From: gmorlosky
>> > > >> > > > > > To: amibroker@xxxxxxxxxps.com
>> > > >> > > > > > 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@xxxxxxxxxps.com, "Anthony Faragasso"
>> > <ajf1111@>
>> > > >> > > > > wrote:
>> > > >> > > > > > >
>> > > >> > > > > > > you probably do something like:
>> > > >> > > > > > >
>> > > >> > > > > > > InWatchList( listno ) and "your ticker here";
>> > > >> > > > > > >
>> > > >> > > > > > > Anthony
>> > > >> > > > > > > ----- Original Message -----
>> > > >> > > > > > > From: gmorlosky
>> > > >> > > > > > > To: amibroker@xxxxxxxxxps.com
>> > > >> > > > > > > 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/





Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___