[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 ???


  • To: <amibroker@xxxxxxxxxxxxxxx>
  • Subject: Re: [amibroker] Re: Code needed to always include a certain ticker in Explore ???
  • From: "Anthony Faragasso" <ajf1111@xxxxxxxx>
  • Date: Thu, 11 Jun 2009 06:23:23 -0400

PureBytes Links

Trading Reference Links



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

__,_._,___