Ton,

The problem is that you can't assign values within the IIF statement.
Graham is assigning values as a result of the IIF statement.   You are
correct in stating that it doesn't give a syntax error.  Technically the
syntax is incorrect, but it's a very subtle error that would be difficult
for a compiler to pick up.

Mark

On 15/02/07, Ton Sieverding <[EMAIL PROTECTED]> wrote:

   What's wrong with this statement Graham ? First it does not give me a
syntax error and second it does what is says that it should do. But frankly
I don't like those AND's as I told you. I'll will test the whole thing again
with arrays in stead of single variables. Will let you know later because
I've have no time to do it now ...

But if you're right and this statement is wrong then we have a problem
with the double IF. It's impossible to include more than one action. And yes
the only efficient way to program around this problem is what you are
suggesting ...

Ton.


----- Original Message -----
*From:* Graham <[EMAIL PROTECTED]>
*To:* [email protected]
*Sent:* Thursday, February 15, 2007 10:27 AM
*Subject:* Re: [amibroker] AFL syntax for nested IIF ?

 This statement is NOT correct ===>>> IIF(Barnum > 5, This = 10 AND That =
20 AND Something = 30, Null );
The email I sent with each variable independantly assigned is the only way
to do this
Here it is again
Here is correct and only method using IIF to create the arrays of values
for each variable
highbar = iif(barnum < 21, C , null );
lowbar = iif(barnum < 21, C , null );
range = iif(barnum < 21, C, null);

--
Cheers
Graham
AB-Write >< Professional AFL Writing Service
Yes, I write AFL code to your requirements
http://www.aflwriting.com


On 15/02/07, Ton Sieverding <[EMAIL PROTECTED]> wrote:
>
> Thanks. No my problem is not how to use nested conditions in the double
> IIF. That's fully explained in the manual. My problem is how to include
> several actions in the IIF. Since the IIF is an array supporting IF this
> could create a problem. Of course there are many solutions and Herman as
> well as Graham showed some of them but that's not what I was looking for.
> Please read my answers to Herman and Graham. It seems that Bill gave me the
> correct answer ...
>
> Ton.
>
>
>
> ----- Original Message -----
> *From:* mrdavis9 <[EMAIL PROTECTED]>
> *To:* [email protected]
> *Sent:* Thursday, February 15, 2007 3:48 AM
> *Subject:* Re: [amibroker] AFL syntax for nested IIF ?
>
>
>
>
> Amisiev, I just created this nested iff for checking the last three days
> of
> the close. Is this the kind of thing that you had in mind? You can keep
> adding as many more iff statements as you like. Ron D
>
> /*This nested IIf will return a 1 if todays Close, is greater than
>
> (yesterdays Close, OR the two days ago Close, OR the three days ago
> Close).
>
> If todays close is NOT greater than any of the last three closes, then
>
> this nested iff will return a 0.*/
>
> NestedIIf=IIf(C>Ref(C,-1),1,IIf(C>Ref(C,-2),1,IIf(C>Ref(C,-2),1,0)));
>
> Plot(NestedIIf,"rd",colorRed,styleLine);
>
> ----- Original Message -----
> From: "amsiev" <[EMAIL PROTECTED] <ton.sieverding%40scarlet.be>>
> To: <[email protected] <amibroker%40yahoogroups.com>>
> Sent: Wednesday, February 14, 2007 11:39 AM
> Subject: [amibroker] AFL syntax for nested IIF ?
>
> > What's the syntax in AFL for a double IF with following structure ?
> >
> > IF True
> > Do This ;
> > Do That ;
> > Do anything;
> > Endif
> >
> > I'm working with arrays so I must use the double IF but my problem is
> > that I just cannot get the correct syntax. There are in fact two
> > problemens. First I only want the IIF to do something when the
> > condition is true. Therefore I don't want the third part in case the
> > IIF is false or the 'Do if false'. Second I want the IIF to do
> > several things. Not just one. Following syntax is wrong. So what's
> > the correct one ?
> >
> > IIf(BarNumAct<=21,
> > {
> > Highs[BarNumAct] = Close;
> > Lows[BarNumAct] = Close;
> > Range[BarNumAct] = (High - Low)/2;
> > }
> > ,"");
> >
> >
> >
> > Please note that this group is for discussion between users only.
> >
> > To get 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
> >
> >
> >
>
>


Reply via email to