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

Re: [amibroker] Re: Consistent coding structure problem



PureBytes Links

Trading Reference Links

Title: Re: [amibroker] Re: Consistent coding structure problem

just duplicate the code as often as is needed:



RU1_Check = 

IIf( XYZ_Check == 0Open>Ref(Open,-1AND Open>Ref(Open,-2AND Open>Ref(Open,-3),

IIf( XYZ_Check == 1Open>Ref(Open,-2AND Open>Ref(Open,-3AND Open>Ref(Open,-4),

IIf( XYZ_Check == 2Open>Ref(Open,-3AND Open>Ref(Open,-4AND Open>Ref(Open,-5),

IIf( XYZ_Check == 3Open>Ref(Open,-4AND Open>Ref(Open,-5AND Open>Ref(Open,-6),

0))));



RU2_Check = // I didn't bother to change the definitions.

IIf( XYZ_Check == 0Open>Ref(Open,-1AND Open>Ref(Open,-2AND Open>Ref(Open,-3),

IIf( XYZ_Check == 1Open>Ref(Open,-2AND Open>Ref(Open,-3AND Open>Ref(Open,-4),

IIf( XYZ_Check == 2Open>Ref(Open,-3AND Open>Ref(Open,-4AND Open>Ref(Open,-5),

IIf( XYZ_Check == 3Open>Ref(Open,-4AND Open>Ref(Open,-5AND Open>Ref(Open,-6),

0))));



Thursday, November 6, 2008, 5:34:07 PM, you wrote:


> Mike & Herman,


> Thank you. Both good ideas... and sorry about moving the goal posts

> here... but the problem is still becoming clear to me as I think about

> it more... Actually, the problem I have with IIF() in these

> circumstances is where I want to evaluate more than one _expression_

> within the if() condition... for example,


> HLRange = abs( H - L );

ABC = HLRange >> Ref( HLRange, -1 ) AND HLRange > Ref( HLRange, -2) AND

HLRange >> Ref( HLRange, -3 );

> XYZ_Check=IIf(Ref(ABC,-1),1,IIf(Ref(ABC,-2),2,IIf(Ref(ABC,-3),3,0)));


> if(XYZ_Check==0)

> {

RU1_Check = Open>>Ref(Open,-1) AND Open>Ref(Open,-2) AND Open>Ref(Open,-3);

RU2_Check = Close>>Ref(Close,-1) AND Close>Ref(Close,-2) AND

Close>>Ref(Close,-3);

> }

> if(XYZ_Check==1)

> {

RU1_Check = Open>>Ref(Open,-2) AND Open>Ref(Open,-3) AND Open>Ref(Open,-4);

RU2_Check = Close>>Ref(Close,-2) AND Close>Ref(Close,-3) AND

Close>>Ref(Close,-4);

> }

> if(XYZ_Check==2)

> {

RU1_Check = Open>>Ref(Open,-3) AND Open>Ref(Open,-4) AND Open>Ref(Open,-5);

RU2_Check = Close>>Ref(Close,-3) AND Close>Ref(Close,-4) AND

Close>>Ref(Close,-5);

> }

> if(XYZ_Check==3)

> {

RU1_Check = Open>>Ref(Open,-4) AND Open>Ref(Open,-5) AND Open>Ref(Open,-6);

RU2_Check = Close>>Ref(Close,-4) AND Close>Ref(Close,-5) AND

Close>>Ref(Close,-6);

> }


> Sorry if this is labouring a point. But I always get stuck by this

> structure... I guess I should just use a loop, but I am loathe to if

> there is another way.


> TIA


> --- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@xxx> wrote:


>> Why not do it the same way you did XYZ_Check? Also, it would be more 

>> efficient to add variables rather than repeating the same operation.


>> Open1 = Open > Ref(Open, -1);

>> Open2 = Open > Ref(Open, -2);

>> ...

>> Open6 = Open > Ref(Open, -6);


>> Open123 = Open1 AND Open2 AND Open3;

>> Open234 = Open2 AND Open3 AND Open4;

>> ...

>> Open456 = Open4 AND Open5 AND Open6;


>> RU1_Check = IIF(XYZ_Check == 0,

>>   Open123,

>>   IIF(XYZ_Check == 1, 

>>     Open234,

>>     IIF(XYZ_Check == 2,

>>     ...

>> );


>> Mike

>> --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@> 

>> wrote:

>> >

>> > Herman,

>> > 

>> > This is where the problem occurs... because what I actually want to 

>> do

>> > within each conditional if() statement is carry out some more array

>> > manipulations. For example,

>> > 

>> > HLRange = abs( H - L );

>> > ABC = HLRange > Ref( HLRange, -1 ) AND HLRange > Ref( HLRange, -2) 

>> AND

>> > HLRange > Ref( HLRange, -3 );

>> > XYZ_Check=IIf(Ref(ABC,-1),1,IIf(Ref(ABC,-2),2,IIf(Ref(ABC,-

>> 3),3,0)));

>> > 

>> > if(XYZ_Check==0)

>> > {

>> > RU1_Check = Open>Ref(Open,-1) AND Open>Ref(Open,-2) AND 

>> Open>Ref(Open,-3);

>> > }

>> > if(XYZ_Check==1)

>> > {

>> > RU1_Check = Open>Ref(Open,-2) AND Open>Ref(Open,-3) AND 

>> Open>Ref(Open,-4);

>> > }

>> > if(XYZ_Check==2)

>> > {

>> > RU1_Check = Open>Ref(Open,-3) AND Open>Ref(Open,-4) AND 

>> Open>Ref(Open,-5);

>> > }

>> > if(XYZ_Check==3)

>> > {

>> > RU1_Check = Open>Ref(Open,-4) AND Open>Ref(Open,-5) AND 

>> Open>Ref(Open,-6);

>> > }

>> > 

>> > Any way to achieve this across the entire price array outside of a

>> > loop....?

>> > 

>> > TIA

>> >





> ------------------------------------


> **** 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

*********************************




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___