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

RE: [amibroker] Re: Organize your WatchLists in Daily basis



PureBytes Links

Trading Reference Links

Dimitris, You are great. The solution you provide is exactly what I am
looking for. I have comments below.


Thank you very much.

joey



-----Original Message-----
From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@xxxxxxxxx] 
Sent: Monday, October 27, 2003 5:45 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Re: Organize your WatchLists in Daily basis

Before attempting any solution, I want to make clear your request : 
You want to automatically move all stocks of "GoodOne" for the lat 6 
bars to WL1 and all the rest to WL2.
Correct ?
Please advise.

Yes

My next question re: the 6 last days. If MSFT is GoodOne for the last 
day and Not(GoodOne) the very previous day, in which WL you want to 
send it ?

The good one bucket.

As for the exploration: 
1. When you explore, you actually ask all the stocks which were 
GoodOne even for one of the 6 last days.
2. If MSFT was a GoodOne the 4 of the last 6 days, it will appear 4 
times in the total sum of the exploration results. the most probable 
is to have 200 results for an 100 stocks database.
You should ask *the same thing* from the WL code.
Your request should be Sum(GoodOne,6)>=1
Example:
 // Some 4.46.0 applications
 // Remove symbols from WLs
 CategoryRemoveSymbol( Name(), categoryWatchlist, 30 ); 
 CategoryRemoveSymbol( Name(), categoryWatchlist, 31 ); 
 // Stochastic O/B criteria
 OVERBOUGHT=StochD()>70;
SIXBARS=Sum(OVERBOUGHT,6)>=1;
 WLNumber=IIf(SIXBARS,30,31);
 z=StrToNum(NumToStr(WLNumber));
 // add symbols to the respective WLs
 CategoryAddSymbol(Name(),categoryWatchlist,z);
Filter=1;
AddColumn(SIXBARS,"",1.0);
AddColumn(NOT(SIXBARS),"",1.0);
Explore for the n=1 last quotations to send to WL30 all these stocks 
which they were OVERBOUGHT at least once during the last 6 bars.
See also, since StrToNum, NumToStr are not yet fully described, the 
selectedvalue( ARRAY )  documentation :
"In AA window 'selected element' means THE LAST BAR of currently 
selected
analysis range. It is the last available bar for "all quotes" 
and "last n quotes" range."
You should read all these properties very well before changing codes 
and settings.

Where did this SelectedValue comes into play? I can't image it. How did this
guy cause the symptom that "result panels shows more result than watch list"
using my old code? 

Wel, I think I am just in the troubling period of learning. I should read
more, can you point me to the right FAQs, HowTos for AFL programming. I
found some documents in the file sharing session, but I can't finish them so
soon.To be honest, reading archived messages is not so efficient and the
tutorial is too simple when you face the problem. So, hope I can get the
very best one to start with. 



You will have the same results with
  // Some 4.46.0 applications
 // Remove symbols from WLs
 CategoryRemoveSymbol( Name(), categoryWatchlist, 30 ); 
 CategoryRemoveSymbol( Name(), categoryWatchlist, 31 ); 
 // Stochastic O/B criteria
 OVERBOUGHT=StochD()<50;
SIXBARS=Sum(OVERBOUGHT,6)>=1;
 WLNumber=IIf(SIXBARS,30,31);
 z=SelectedValue(WLNumber);
 // add symbols to the respective WLs
 CategoryAddSymbol(Name(),categoryWatchlist,z);
Filter=1;// EXPLORE FOR THE N=1 LAST QUOTATIONS, PLEASE
AddColumn(SIXBARS,"",1.0);
AddColumn(NOT(SIXBARS),"",1.0);

Dimitris Tsokakis
--- In amibroker@xxxxxxxxxxxxxxx, "Joey Lin" <lzhiyi@xxxx> wrote:
> Ok. Here is the script I used to test. I run it with range set "n 
last days"
> n =6. The result panel shows 130 records, why list 1 only a few. If 
you run
> it, maybe you will know what's my problem.
> 
> Thanks 
> 
> joey
> 
______________________________________________________________________
_____
> //category watch list testing. 
> 
> //CategoryRemoveSymbol("",categoryWatchlist,0);
> CategoryRemoveSymbol("",categoryWatchlist,1);
> //CategoryRemoveSymbol("",categoryWatchlist,2);
> 
> Condition1 = BarsSince (Volume <= MA(Volume, 15)*2 )>= 1 ; //volume 
increase
> twice average
> Condition2 = MA(Volume, 15) > 500000; // average volume greater 
than 500,000
> 
> GoodOne = Condition1 AND Condition2 ;
> 
> WLNum = IIf(GoodOne, 1, 2);		
> z=StrToNum(NumToStr(WLNum));
> CategoryAddSymbol(Name(), categoryWatchlist, z);
> 
> Filter = 	Condition1 AND Condition2 ;
> Buy = Filter;
> Sell = BuyPrice * 0.05;
> 
> AddColumn(Close, "Close ");
> AddColumn(Volume, "Volume ");
> AddColumn(LastValue(MA(Volume,3)), "last 3 day average volume");
> AddColumn(MA(Volume,15), "average volume");
> AddColumn(LinRegSlope(C, 100), "long ter slop");
> 
> 
______________________________________________________________________
______
> -----Original Message-----
> From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> Sent: Monday, October 27, 2003 10:35 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: Organize your WatchLists in Daily basis
> 
> No, the results are not added as you expect.
> There is a CategoryRemoveSymbol() statement at the beginning of the 
> exploration. It REMOVES all stocks from the WL. Then the selected 
> stocks are added. If this statement was not included, WLs would 
> contain all stocks in a few days.
> What do you search, beyond this code. Do you want to create a WL 
with 
> the ADVISSUES of March1, 2003 for example ? Is it possible to 
explain 
> your request ? Do not ask from a code to do everything, check if it 
> does what promisses to do.
> Dimitris Tsokakis
> --- In amibroker@xxxxxxxxxxxxxxx, "Joey Lin" <lzhiyi@xxxx> wrote:
> > Well, I am expecting that the result shown in the result panel 
will 
> all be
> > added into the watch list instead of just today's. The point is 
> there is a
> > discrepancy of result between what's inserted into the watch list 
> and result
> > panel, and I don't how to resolve this.
> > 
> > Thanks 
> > 
> > joey
> > 
> > -----Original Message-----
> > From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> > Sent: Monday, October 27, 2003 9:09 AM
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] Re: Organize your WatchLists in Daily basis
> > 
> > But, it is written :"Explore all stocks, n=1 last quotations 
> with..."
> > Is it not enough ?
> > Dimitris Tsokakis
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx, "Joey Lin" <lzhiyi@xxxx> wrote:
> > > Hi
> > > 
> > > Thanks all for the great example for automation of watch list. 
> But 
> > it seems
> > > can only for the stocks that qualify the conditions for the 
> current 
> > date. I
> > > setup some conditions, and no matter how I choose the date 
range 
> > either last
> > > 10 dates or from 10/14/2003 to 10/24/2003(today) the result 
panel 
> > gets a lot
> > > of results, which seems right, but watch list only get the 
result 
> > from
> > > today, far fewer than the list in the result panel.
> > > 
> > > I am new for the AB programming and I don't know what's logic 
> behind
> > > exploration dialog, so can someone shed some light onto this?
> > > 
> > > Thanks 
> > > 
> > > joey
> > > 
> > > -----Original Message-----
> > > From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> > > Sent: Sunday, October 26, 2003 6:30 AM
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Subject: [amibroker] Re: Organize your WatchLists in Daily basis
> > > 
> > > Tomasz,
> > > thank you for the simplified example.
> > > BTW, how should I know this "emtpy string means current 
symbol" ??
> > > I have met this "" in your code for GetCategorySymbols( 
category, 
> > > index ) 
> > > You write [and I use]
> > > 
> > > for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
> > > 
> > > Does it mean "sym not equal to current symbol" ??
> > > Because, in this looping, current symbol *will be included* in 
> the 
> > > search...
> > > What I understood from this !="" was : all symbols [no matter 
how 
> > > many]. Did I miss something in this [important] loop ?
> > > Dimitris Tsokakis
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" 
> > <amibroker@xxxx> 
> > > wrote:
> > > > Dimitris,
> > > > 
> > > > No you dont need StrToNum() at all. and you don't need Name() 
> > > because "" emtpy string means current symbol.
> > > > 
> > > > Your code therefore can be simplified to:
> > > > 
> > > > // Some 4.46.0 applications
> > > > // Remove symbols from WLs
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 30 ); 
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 31 ); 
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 32 ); 
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 33 ); 
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 34 ); 
> > > > CategoryRemoveSymbol( "", categoryWatchlist, 35 ); 
> > > > // Stochastic O/B, O/S criteria
> > > > OVERBOUGHT=LastValue(StochD()>70);
> > > > OVERSOLD=LastValue(StochD()<30);
> > > > WLNumber=IIf(OVERBOUGHT,30,IIf(OVERSOLD,32,31));
> > > > // add symbols to the respective WLs
> > > > CategoryAddSymbol(Name(),categoryWatchlist,WLNumber);
> > > > // Adv, Dec criteria
> > > > Adv=LastValue( C>Ref(C,-1) );
> > > > Dec=LastValue( C<Ref(C,-1) );
> > > > WLNumber1=IIf(Adv,33,IIf(Dec,35,34));
> > > > CategoryAddSymbol(Name(),categoryWatchlist,WLNumber1);
> > > > Filter=1;
> > > > AddColumn(C,"C");
> > > > 
> > > > Best regards,
> > > > Tomasz Janeczko
> > > > amibroker.com
> > > >   ----- Original Message ----- 
> > > >   From: Dimitris Tsokakis 
> > > >   To: amibroker@xxxxxxxxxxxxxxx 
> > > >   Sent: Sunday, October 26, 2003 12:04 PM
> > > >   Subject: [amibroker] Organize your WatchLists in Daily basis
> > > > 
> > > > 
> > > >   The fresh 4.46.0, Oct22, 2003 gives some excellent 
> > possibilities 
> > > to automatically organize your WatchLists.
> > > >   Example:
> > > >   Select some Watchlists not in use, say WL30, WL31, WL32 to 
be 
> > the 
> > > stochastic O/B, CONGESTIVE, O/S respectively and
> > > >   WL33, WL34, WL35 to be the ADVISSUES, UNCISSUES and 
DECISSUES 
> > > respectively.
> > > >   Right after the new EODs download,  Explore all stocks, n=1 
> > last 
> > > quotations with
> > > > 
> > > >   // Some 4.46.0 applications
> > > >   // Remove symbols from WLs
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 30 ); 
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 31 ); 
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 32 ); 
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 33 ); 
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 34 ); 
> > > >   CategoryRemoveSymbol( Name(), categoryWatchlist, 35 ); 
> > > >   // Stochastic O/B, O/S criteria
> > > >   OVERBOUGHT=StochD()>70;
> > > >   OVERSOLD=StochD()<30;
> > > >   WLNumber=IIf(OVERBOUGHT,30,IIf(OVERSOLD,32,31));
> > > >   z=StrToNum(NumToStr(WLNumber));
> > > >   // add symbols to the respective WLs
> > > >   CategoryAddSymbol(Name(),categoryWatchlist,z);
> > > >   // Adv, Dec criteria
> > > >   Adv=C>Ref(C,-1);
> > > >   Dec=C<Ref(C,-1);
> > > >   WLNumber1=IIf(Adv,33,IIf(Dec,35,34));
> > > >   z1=StrToNum(NumToStr(WLNumber1));
> > > >   CategoryAddSymbol(Name(),categoryWatchlist,z1);
> > > >   Filter=1;
> > > >   AddColumn(C,"C");
> > > > 
> > > >   then hit View->RefreshAll and all above  WatchLists will be 
> > > automatically updated for further use.
> > > >   Through Symbol->Categories->WatchLists->EditName you may 
name 
> > the 
> > > respective WatchLists.
> > > >   You may create now your own organization with various 
> > conditions.
> > > >   Note1: the new function CategoryAddSymbol( symbol, 
category, 
> > > number ) does not accept a variable inrut for "number", but 
the  
> > > >   StrToNum(NumToStr(variable)) will overcome this obstacle.
> > > >   Dimitris Tsokakis
> > > > 
> > > >         Yahoo! Groups Sponsor 
> > > >               ADVERTISEMENT
> > > >              
> > > >        
> > > >        
> > > > 
> > > >   Send BUG REPORTS to bugs@xxxx
> > > >   Send SUGGESTIONS to suggest@xxxx
> > > >   -----------------------------------------
> > > >   Post AmiQuote-related messages ONLY to: 
> > amiquote@xxxxxxxxxxxxxxx 
> > > >   (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> > > >   --------------------------------------------
> > > >   Check group FAQ at: 
> > > http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> > > > 
> > > >   Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
> > > Service.
> > > 
> > > 
> > > 
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > Post AmiQuote-related messages ONLY to: 
amiquote@xxxxxxxxxxxxxxx 
> > > (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> > > --------------------------------------------
> > > Check group FAQ at:
> > > http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> > > 
> > > Your use of Yahoo! Groups is subject to 
> > http://docs.yahoo.com/info/terms/
> > 
> > 
> > 
> > Send BUG REPORTS to bugs@xxxx
> > Send SUGGESTIONS to suggest@xxxx
> > -----------------------------------------
> > Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
> > (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> > --------------------------------------------
> > Check group FAQ at:
> > http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> > 
> > Your use of Yahoo! Groups is subject to 
> http://docs.yahoo.com/info/terms/
> 
> 
> 
> Send BUG REPORTS to bugs@xxxx
> Send SUGGESTIONS to suggest@xxxx
> -----------------------------------------
> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
> (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> --------------------------------------------
> Check group FAQ at:
> http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> 
> Your use of Yahoo! Groups is subject to 
http://docs.yahoo.com/info/terms/



Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at:
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

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



------------------------ Yahoo! Groups Sponsor ---------------------~-->
Rent DVDs from home.
Over 14,500 titles. Free Shipping
& No Late Fees. Try Netflix for FREE!
http://us.click.yahoo.com/ybSovB/hP.FAA/3jkFAA/GHeqlB/TM
---------------------------------------------------------------------~->

Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

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