Title: Re: [amibroker] Re: How to Skip Empty Symbols when looping through wishlist
symbols are strings, try
Count = Count + (myforeign != "");
Wednesday, November 19, 2008, 4:35:18 AM, you wrote:
> Having changed
> IIf(IsNull(myforeign), Count, Count++);
> into
> Count = Count + IIf(IsNull(myforeign), 1, 0);
> is not working either.
> It really seems like IsNull function doesn't return True for empty
> symbols.
> New entire code below
> // EmptySymbols finder
> // retrive comma-separated list of symbols
> // from Group 0
> list = CategoryGetSymbols(categoryGroup, 0);
> Count = 0;
> for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
> {
> SetForeign(sym);
> myforeign = C;
> RestorePriceArrays();
> //if the symbol is empty Count is not increased
> Count = Count + IIf(IsNull(myforeign), 1, 0);
> _TRACE("symbol " + sym);
> _TRACE("Count " + Count);
> _TRACE("IsNull " + IsNull(myforeign));
> }
> --- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@xxx> wrote:
>> Actually, you are running into a documented side effect of IIF
> usage.
>> Specifically; the IIF statement always executes BOTH the true and
> the
>> false branches of the code. So, you will always have your Count++
> code
>> executed regardless of the value of the IsNull _expression_.
>> Refer to the user guide for details:
>> http://www.amibroker.com/guide/afl/afl_view.php?id=72
>> Mike
>> --- In amibroker@xxxxxxxxxxxxxxx, "Paolo Cavatore" <pcavatore@>
>> wrote:
>> >
>> > Does anyone know how to skip empty symbols when looping through a
>> > list of them?
>> >
>> > The code below shows that IsNull function doesn't return TRUE for
>> > empty symbols.
>> >
>> > Thanks,
>> >
>> > paolo
>> >
>> > // EmptySymbols finder
>> > // retrive comma-separated list of symbols
>> > // from Group 0
>> > list = CategoryGetSymbols(categoryGroup, 0);
>> >
>> > Count = 0;
>> >
>> > for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
>> > {
>> > SetForeign(sym);
>> > myforeign = C;
>> > RestorePriceArrays();
>> >
>> > //if the symbol is empty Count is not increased
>> > IIf(IsNull(myforeign), Count, Count++);
>> > _TRACE("symbol " + sym);
>> > _TRACE("Count " + Count);
>> > _TRACE("IsNull " + IsNull(myforeign));
>> >
>> > }
>> >
> ------------------------------------
> **** 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/
__._,_.___
**** 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
*********************************
__,_._,___
|