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

[amibroker] Amibroker error



PureBytes Links

Trading Reference Links




Hello,
 
> The only safe way to count [and use it as a daily 
function] is > through AddToComposite() function.This is NOT entirely 
true. 
The code you are using counts simply the number of items in 
comma separated
list of tickers. There are 3 strings so the result is 
thee.
 
BUT THERE IS NOTHING THAT PREVENTS US FROM COUNTING ON BAR BY 
BAR BASIS
and this does NOT really require AddToComposite, see the code 
below:
 
//Count tickers in watchlist 
function <FONT 
color=#008000>//For Indicator Builder<FONT 
face="Courier New"> WatchlistNumber=<FONT 
color=#0000ff>Param(<FONT 
color=#ff00ff>"Watchlist",<FONT 
color=#ff00ff>20,<FONT 
color=#ff00ff>0,<FONT 
color=#ff00ff>63,<FONT 
color=#ff00ff>1) ;//enter 
watchlist number 
function<FONT 
face="Courier New"> CountTickersInWatchList( Listnum ) { 
   // retrive comma-separated list 
of symbols in watch list<FONT 
color=#000000>      list = <FONT 
color=#0000ff>GetCategorySymbols( <FONT 
color=#000000>categoryWatchlist<FONT 
face="Courier New">, listnum ); 
   Counter=0<FONT 
color=#000000>; // INITIALIZE 
COUNTER 
   for<FONT 
color=#000000>( i = 0; ( 
sym = StrExtract( list, i 
) ) != ""<FONT 
color=#000000>; i++ ) 
   {      <FONT 
color=#008000>// TO COUNT BAR BY BAR YOU HAVE TO USE ARRAYS NOT 
SCALAR<FONT 
color=#008000> AND USE FOREIGN TO FIND OUT HOLES<FONT 
face="Courier New"><FONT 
color=#000000>     Counter=Counter + ( <FONT 
color=#000000>NOT <FONT 
color=#0000ff>IsNull( <FONT 
color=#0000ff>Foreign( sym, <FONT 
color=#ff00ff>"C", <FONT 
color=#000000>False<FONT 
color=#000000> ) ) );    } 
   <FONT 
color=#800000>return<FONT 
color=#000000> Counter; } <FONT 
color=#000000>Title=<FONT 
color=#ff00ff>"Watchlist # "+<FONT 
color=#0000ff>WriteVal(watchlistnumber,<FONT 
color=#ff00ff>1)+" has 
"+ 
CountTickersInWatchList( WatchlistNumber) + " 
Tickers"; 
Plot<FONT 
color=#000000>(CountTickersInWatchList( WatchlistNumber) ,<FONT 
color=#ff00ff>"",<FONT 
color=#ff00ff>1,<FONT 
color=#ff00ff>1); 
Plot(<FONT 
color=#0000ff>Foreign(<FONT 
color=#ff00ff>"~count",<FONT 
color=#ff00ff>"v"),<FONT 
color=#ff00ff>"",<FONT 
color=#ff00ff>4,<FONT 
color=#ff00ff>2); 
Best regards,Tomasz 
Janeczkoamibroker.com
----- Original Message ----- 
From: "DIMITRIS TSOKAKIS" <<A 
href="">TSOKAKIS@xxxxxxxxx<FONT 
size=2>>
To: <<A 
href=""><FONT 
size=2>amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, February 28, 2004 9:45 AM
Subject: [amibroker] Re: empty scan of a watchlist 
(?)
> Anthony,> One 
important detail !> The code counts the symbols of WLxx, it DOES NOT give 
the population > of WLxx in daily basis.> If you have 3 tickers in 
WL20 and there are some missing data, the > result will still be 
3.> The only safe way to count [and use it as a daily function] is 
> through AddToComposite() function.> Try to delete some 
quotations in WL20 stocks, run the> 
AddToComposite(1,"~count","v");> Buy=0;> for WL20 and then plot 
the>  //Count tickers in watchlist function> //For Indicator 
Builder> WatchlistNumber=Param("Watchlist",20,0,63,1) ;//enter watchlist 
number> function CountTickersInWatchList( Listnum )> {> // 
retrive comma-separated list of symbols in watch list> list = 
GetCategorySymbols( categoryWatchlist, listnum );> for( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ )> {> Count1=i;> 
}> return i;> }> Title="Watchlist # 
"+WriteVal(watchlistnumber,1)+" has "+> CountTickersInWatchList( 
WatchlistNumber) + " Tickers";> Plot(CountTickersInWatchList( 
WatchlistNumber) ,"",1,1);> Plot(Foreign("~count","v"),"",4,2); > 
and you will see.> [We have a recent discussion with Stephane on the same 
subject.]> The reason should be simple: If WL20 includes IBM, INTC and 
MSFT, > then there should be somewhere an inside  syntax > 
WL20="IBM,INTC,MSFT", in other words WL20 should be nothing but a > comma 
separated string. This fact does not include any info about > missing [or 
excessive] bars.> Dimitris Tsokakis> --- In <A 
href=""><FONT 
size=2>amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso" 
<ajf1111@x<FONT 
size=2>...> > wrote:> > Dalengo,> > > > 
Put this into Indicator builder, you can use  Parameter to select > 
different> > watchlist....the total count will be in the 
title.> > > > > > //Count tickers in watchlist 
function> > > > //For Indicator Builder> > 
> > WatchlistNumber=Param("Watchlist",0,0,63,1) ;//enter watchlist 
> number> > > > function CountTickersInWatchList( 
Listnum )> > > > {> > > > // retrive 
comma-separated list of symbols in watch list> > > > list = 
GetCategorySymbols( categoryWatchlist, listnum );> > > > 
for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )> > > 
> {> > > > Count1=i;> > > > }> 
> > > return i;> > > > }> > > 
> Title="Watchlist # "+WriteVal(watchlistnumber,1)+" has "+> > 
> > CountTickersInWatchList( WatchlistNumber) + " Tickers";> 
> > > > > > > Anthony> > > 
> ----- Original Message ----- > > From: "dalengo" <<A 
href="">dalengo@x<FONT 
size=2>...>> > To: <<A 
href=""><FONT 
size=2>amibroker@xxxxxxxxxxxxxxx>> > Sent: 
Friday, February 27, 2004 12:29 PM> > Subject: [amibroker] empty scan 
of a watchlist (?)> > > > > > > Hi,> 
> > Can someone help with the scan of a watchlist function?> > 
> I am trying a trivial counting of entries in N100 watchlist> > 
> by scanning the AFL AB 4.51.1:> > >> > > 
AddToComposite(1,"~COUNT","V");> > > Buy=0;> > 
>> > > N100 is in List0, and all entries in List0 are valid 
(display> > > properly).> > > I use filter:list0 in AA 
to aim AA at list0 per User Guide,> > > run the Scan and get 
nothing.> > > Run for CURRENT stock, get ~COUNT=1, run for ALL 
STOCKS, get> > > (in US-Stocks) ~COUNT=6592 on 2/23/04, again for 
one stock, get 1.> > > Run again on List0 using Filter: get nothing 
(old result remains> > > unchanged).> > >> > 
> What's wrong?> > >> > > Many thanks for your 
suggestions,> > > -Dalengo> > >> > 
>> > >> > > Send BUG REPORTS to <A 
href="">bugs@x...> > 
> Send SUGGESTIONS to <FONT 
size=2>suggest@x...> > > 
-----------------------------------------> > > Post 
AmiQuote-related messages ONLY to: <A 
href=""><FONT 
size=2>amiquote@xxxxxxxxxxxxxxx> > > (Web 
page: <FONT 
size=2>http://groups.yahoo.com/group/amiquote/messages/<FONT 
size=2>)> > > --------------------------------------------> 
> > Check group FAQ at:> > <A 
href=""><FONT 
size=2>http://groups.yahoo.com/group/amibroker/files/groupfaq.html<FONT 
size=2>> > > Yahoo! Groups Links> > >> > 
>> > >> > >> > >> > > 
> > > ---> > Outgoing mail is certified Virus 
Free.> > Checked by AVG anti-virus system (<A 
href=""><FONT 
size=2>http://www.grisoft.com).> > Version: 
6.0.583 / Virus Database: 369 - Release Date: 2/10/2004> > 
> > Send BUG REPORTS to <A 
href=""><FONT 
size=2>bugs@xxxxxxxxxxxxx> Send SUGGESTIONS to 
<FONT 
size=2>suggest@xxxxxxxxxxxxx> 
-----------------------------------------> Post AmiQuote-related messages 
ONLY to: <FONT 
size=2>amiquote@xxxxxxxxxxxxxxx > (Web page: 
<FONT 
size=2>http://groups.yahoo.com/group/amiquote/messages/<FONT 
size=2>)> --------------------------------------------> Check 
group FAQ at: <A 
href=""><FONT 
size=2>http://groups.yahoo.com/group/amibroker/files/groupfaq.html<FONT 
size=2> > Yahoo! Groups Links> > <*> To visit your 
group on the web, go to:>      <A 
href=""><FONT 
size=2>http://groups.yahoo.com/group/amibroker/> 
> <*> To unsubscribe from this group, send an email to:> 
     <A 
href=""><FONT 
size=2>amibroker-unsubscribe@xxxxxxxxxxxxxxx> 
> <*> Your use of Yahoo! Groups is subject to:> 
     <A 
href=""><FONT 
size=2>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








Yahoo! Groups Links
To visit your group on the web, go to:http://groups.yahoo.com/group/amibroker/ 
To unsubscribe from this group, send an email to:amibroker-unsubscribe@xxxxxxxxxxxxxxx 
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.