Im running a pairs code and trying it the way Mike was saying. Make two 
watchlists and then run the code on the first one and then it would pick out 
the opposites of each. It does it beautifully for the indicators but it won't 
buy that security in the second watchlist if Im running it on the first only. 
even if I setforeign etc. Is there no way to do this?

--- On Mon, 12/15/08, Steve Davis <[email protected]> wrote:
From: Steve Davis <[email protected]>
Subject: [amibroker] Re: scrolling through a watchlist
To: [email protected]
Date: Monday, December 15, 2008, 6:30 PM










    
            When you perform a portfolio backtest, AmiBroker automatically loops

over each symbol in the watchlist, giving your AFL a chance to

generate buy/sell signals for each symbol. The Buy and Sell signals

always refer to the current symbol, Name(). You could place both

symbols in the same watchlist, or perform two separate backtests on

different watchlists.



-Steve



--- In amibro...@yahoogrou ps.com, jim fenster <normanjade@ ...> wrote:

>

> What Im trying to say is, if I have 2 watchlists. I run the code on

watchlist1. But in the code I setforeign to a symbol in watchlist2 and

do buys and sells. It won't buy the foreign. Is it possible to buy the

foreign if its not in the first watchlist that I am running the code on?

> 

> --- On Mon, 12/15/08, jim fenster <normanjade@ ...> wrote:

> From: jim fenster <normanjade@ ...>

> Subject: Re: [amibroker] Re: scrolling through a watchlist

> To: amibro...@yahoogrou ps.com

> Date: Monday, December 15, 2008, 4:48 PM

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

>     

>             Thanks so much. I tried it this way and I almost got it.

Im running it on the first watchlist and then using the

setforeign(opposite ); function. But Im having a problem. There are

variables I declared early in the code. Then I say setforeign(opposite

); Then put in buy conditions based on those variables but I get no

buys or sells in this foreign ticker. Only buys and sells in the first

watchlist. How come?

> 

> --- On Sun, 12/14/08, Mike <sfclimbers@ yahoo. com> wrote:

> From: Mike <sfclimbers@ yahoo. com>

> Subject: [amibroker] Re: scrolling through a watchlist

> To: amibro...@yahoogrou ps.com

> Date: Sunday, December 14, 2008, 2:31 AM

> 

> 

> 

> 

> 

> 

> 

>     

>             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( categoryWatchlis t, 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 amibro...@yahoogrou ps.com, 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: amibro...@yahoogrou ps.com

> 

> > 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 amibro...@yahoogrou 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?

> 

> > 

> 

> > >

> 

> >

>




      

    
    
        
         
        
        








        


        
        


      

Reply via email to