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

Re: [amibroker] What is wrong with these 3 lines of code?



PureBytes Links

Trading Reference Links

Hello,

You need to carefully read "Understanding AFL" section of the guide
http://www.amibroker.com/guide/h_understandafl.html

One important thing to know is that all arrays are processed
IMMEDIATELLY, in one pass.

Your formula is self-referring (circular reference) and in direct
form should be processed bar-by-bar, i.e. in the LOOP,
as opposed to immediate process.

There are array FUNCTIONS that allow to achieve the same
without loop.
What you need in this case is FLIP function

auxCrossedIntermed= Low< Intermed AND High> Intermed;

CrossIntermed = Flip( auxCrossedIntermed, 0 ); // this single line has been changed as compared to your code to prevent circular 
reference

CrossedIntermed=IIf(TimeNum()>120000,666,CrossedIntermed);


Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "nunopires2001" <nunopires2001@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, November 18, 2008 12:13 PM
Subject: [amibroker] What is wrong with these 3 lines of code?


> Hello,
>
> After a encouraging start with Amibroker, i am realizing that writing
> code on AFL is not all that simple...
>
> Anyone can explain me what is wrong with these lines of code?
>
>    CrossedIntermed=0;
>    auxCrossedIntermed=IIf(Low< Intermed AND High> Intermed,1,0);
>    CrossedIntermed=auxCrossedIntermed OR Ref(CrossedIntermed,-1);
>    CrossedIntermed=IIf(TimeNum()>120000,666,CrossedIntermed);
>
> I am working with intraday, 1min data. The market opens at 110000 and
> closes at 193000.
>
> I just want to check the CrossedIntermed Value after 12.00h, and the
> value returned should be:
> -> 1: If the security crossed Intermed
> -> 0: Otherwise
> -> 666: If TimeNum()>120000
>
>
> Thanks alot!
>
>
> ------------------------------------
>
> **** 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
>
>
>


------------------------------------

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