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

[amibroker] Re: how does ROC work?



PureBytes Links

Trading Reference Links

Hi,

You are missing a set of parenthesis. Since division takes precedence over subtraction, your calculation is doing:

C - 
Ref(C, -5)/Ref(C, -5)*100

What you want is:

(C - Ref(C, -5)) /
Ref(C, -5)*100

Parenthesis take precendence over division.

http://www.amibroker.com/guide/a_language.html

Note that since Ref(C, -5) is positive (Close is always positive), there is no difference between passing true or false for the abs argument.

As for ROC(C, 5, true) vs. ROC(C, -5, true), the first one compares against the value 5 bars ago, the second one compares against the value 5 bars into the future!

Looking at the definition of ROC, we see that the second argument (periods) is negated and used as the functional equivalent of a Ref statement to the effect Ref(array, -periods).

http://www.amibroker.com/guide/afl/afl_view.php?id=126

Giving a negative number would result in a double negative (equals a positive) which means looking into the future according to Ref.

http://www.amibroker.com/guide/afl/afl_view.php?id=122

Mike

--- In amibroker@xxxxxxxxxxxxxxx, Radek Simcik <radek.simcik@xxx> wrote:
>
> Hi,
> 
> I tried to figure out why below AFL code doen't give me the same
> results. The value calculated using REF and ROC are different.
> 
> AddColumn(C-Ref(C,-5)/Ref(C,-5)*100,   "ROC -5 using ref",   format=1.3);
> AddColumn(ROC(C,5,False),   "ROC 5 using ROC false",   format=1.3);
> AddColumn(ROC(C,5,True),   "ROC 5 using ROC true",   format=1.3);
> 
> But the AFL manual says that
> 
> if absmode = False the value returned is ( array - ref( array,
> -periods ) )/ref( array, -periods )
> if absmode = True the value returned is ( array - ref( array, -periods
> ) )/abs( ref( array, -periods ) )
> 
> Another question is what is the difference in results between
> 
> ROC(C,5,True) and ROC(C,-5,True)
> 
> Thank you,
> 
> Radek
>




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

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

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/