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

[amibroker] Re: scrolling through a watchlist



PureBytes Links

Trading Reference Links

Note also, that if you *really* just want to work on a single pair at 
a time. The same construction can be used, except that each pair of 
lists contains a single item.

e.g.
watchList0 = A
watchList1 = X

watchList2 = M
watchList3 = Y

watchList4 = I
watchList5 = Z

Then change the line:
list = CategoryGetSymbols(categoryWatchlist, 2);

to:
list = CategoryGetSymbols(categoryWatchlist, Param("Opposite", 1, 1, 
63));

That way you can select the watchlist to act upon, then use the 
Parameters dialog to select the opposite list before running.

Mike

--- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@xxx> wrote:
>
> If you want to go down that route, you might consider just two 
lists, 
> each with one side of the pair for each pair, rather than separate 
> lists per pair.
> 
> e.g.
> instead of:
> watchList1 = A,X
> watchList2 = M,Y
> watchList3 = I,Z
> 
> do:
> watchList1 = A,I,M
> watchList2 = X,Z,Y
> 
> Then you can run your script on watchList1, making indexed 
reference 
> to the symbols in watchList2 as shown below.
> 
> Note, however, that I rearanged watchList1 to be in alphabetical 
> order before adding the indexed opposite symbols in watchList2.
> 
> It appears that AmiBroker iterates through the active watchList in 
> alphabetical order (regardless of the order that the symbols were 
> added to the list). So, you must ensure that the indexed opposites 
in 
> watchList2 will match their partner based on the assumption that 
the 
> partners were sorted before being processed by your script.
> 
> If your lists are expected to be relatively unchanging, this may be 
> an acceptable bit of book keeping.
> 
> Buy = Sell = Short = Cover = 0;
> 
> // Get opposites from second list, ordered as originally entered.
> list = CategoryGetSymbols(categoryWatchlist, 2);
> 
> // Get alphabetized index of current symbol from first list.
> index = status("stocknum");
> 
> // Extract opposite for the current symbol.
> opposite = StrExtract(list, index);
> 
> _TRACE(Name() + " and " + opposite);
> 
> SetForeign(opposite);
>   // Do whatever you want with foreign opposite
> RestorePriceArrays();
> 
> 
> Mike
> 
> --- In amibroker@xxxxxxxxxxxxxxx, jim fenster <normanjade@> wrote:
> >
> > thanks yes Im looking for something like this. In the end I have 
a 
> code that at the beginning designates two symbols. ticker1=ibm , 
> ticker2=ge for example. Then I run the code. 
> > The thing is, I have a few of them and I dont want to manually 
> enter them. Instead I was thinking of putting a couple of tickers 
per 
> watchlist. Then trying to call upon them by saying take each 
> watchlist and make first symbol in watchlist = ticker1 and then 2nd 
= 
> ticker2.
> > Then run code. Then take watchlist 2 and do the same thing and 
run 
> code.
> > Is it possible to do that? How would I code that?
> > 
> > --- On Wed, 12/10/08, Barry Scarborough <razzbarry@> wrote:
> > From: Barry Scarborough <razzbarry@>
> > Subject: [amibroker] Re: scrolling through a watchlist
> > To: amibroker@xxxxxxxxxxxxxxx
> > Date: Wednesday, December 10, 2008, 11:32 PM
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >     
> >             I an not sure what you are looking for. This program 
> runs through a 
> > 
> > watch list and processes the the symbols individually. You can do 
> all 
> > 
> > sorts of things within SetForeign() and RestorePriceArrays( );
> > 
> > 
> > 
> > Barry
> > 
> > 
> > 
> > _SECTION_BEGIN( "Using SetForeign") ;  
> > 
> > SetChartOptions( 0, chartShowArrows | chartShowDates ); 
> > 
> > Filename = StrLeft(_DEFAULT_ NAME(),StrLen( _DEFAULT_ NAME())-2) ;
> > 
> > _N(Title = filename + StrFormat(" - {{DATE}} {{VALUES}} "));
> > 
> > 
> > 
> > // parameters
> > 
> > 
> > 
> > Watchlist = 10; 
> > 
> > 
> > 
> > // create comma separated list of symbols in the watch list 
> > 
> > list = CategoryGetSymbols( categoryWatchlist, watchlist ); 
> > 
> > 
> > 
> > /*
> > 
> > this gets the symbol name and the for loop will process every one 
> in 
> > 
> > the watch list for each bar. In an auto trading program it will 
run 
> > 
> > every time a tick is received
> > 
> > */
> > 
> > 
> > 
> > for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ ) 
> > 
> > { 
> > 
> > 	SetForeign(sym) ; // switches to the symbol array, OHLCVOi
> > 
> > /* 
> > 
> > put your code here. You can create an include that will define 
the 
> > 
> > parameters for each symbol you have optimized and dynamically 
> switch 
> > 
> > the parameters for the indicators. You can also dynamically 
switch 
> to 
> > 
> > a different system for some symbols. Your imagination is the 
limit.
> > 
> > */
> > 
> > 	RestorePriceArrays( ); 
> > 
> > } 
> > 
> > _SECTION_END( );
> > 
> > 
> > 
> > --- In amibroker@xxxxxxxxx ps.com, jim fenster <normanjade@ ...> 
> wrote:
> > 
> > >
> > 
> > > If you have a code that works on two symbols, is it possible 
call 
> > 
> > upon the first and second tickers in the watchlist without having 
> to 
> > 
> > actually manually write the tickers? Like referring to them as 
1st 
> > 
> > and 2nd ticker in this specific watchlist. possible?
> > 
> > >
> >
>



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

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

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