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

More PREV stuff



PureBytes Links

Trading Reference Links

I am including MetaStock Support's response to my question. Its interesting
to note that some functions such as LastValue are altered according to what
is in the parenthesis.

-Corey.



----- Original Message -----
From: <support@xxxxxxxxx>
To: <csaxe@xxxxxxxxxxx>
Sent: Tuesday, March 27, 2001 2:24 PM
Subject: RE: Attn: Cheryl Abram (Problems with formula language)
[SUP2001032300000130]


> To enable us to provide more efficient support, use the "Reply" feature in
your email program when responding to this email.  Please send unrelated
issues in a new email.
>
> Your email was responded to by:
> William
> Equis Customer Support
> http://www.equis.com
>
>
> William's response is below the following line.
> -----------------------------------------------------------------------
>
> The +PREV-PREV logic is a way of forcing MetaStock to dynamically
> calculate some value that is normally static.  The formula is suppose to
> sum the differences between the current value of pr and a series of
> previous values.  I could have manually written each days value, but it
> would have been ugly to type and would have locked in a set time frame.
>
> The alterative was to nest the part of the equation that needed to
> change into the logic of:
>
> LastValue( data array +PREV-PREV )
>
> The LastValue() function forces MetaStock to see it as a constant value
> equal to its last calculated value in the chart.  This effect also
> allows the second part to work.
>
> The PREV function forces MetaStock to recalculate the formula to find
> the formula's value for the previous bar.  To illustrate, consider the
> following formula:
>
> ( H-L ) - PREV
>
> Because of the PREV function refers to the previous bar of data, this
> formula has no value for the first record loaded ( there is no previous
> bar to refer to ).
>
> On the second bar, since the formula could not be calculated on the
> first bar, PREV has the value of 0 so the formula is calculated as the
> High minus the Low.  For this example, assume the result is 5.
>
> On the third bar of data, the High minus the Low is calculated again.
> This time the result is 4.  Now the value of the formula for the
> previous bar is recalculated to get the result 5 and that number is
> subtracted from 4.  The result of the formula for this bar is -1.
>
> On the fourth bar, the High minus the Low yields a result of 3.  Now we
> subtract the previous value of the formula, -1, to get the final result
> of 4; ( 3 - (-1) ).
>
> The fact that PREV forces the recalculation negates the LastValue()
> function's only looking at the last bar.  LastValue() returns the last
> calculated value, but PREV keeps changing which value is the last one
> calculated.  Since the formula does not include the previous value in
> its calculation, we can negate the PREV function by subtracting it and
> adding it at the same time.
>
> Looking back at the formula you asked about:
>
> coef:=Sum(Power(Ref(LastValue(pr+PREV-PREV)-pr,-1),2),ti);
>
> The formula is suppose to take a certain time frame, say 5 days.  Over
> those 5 days, it totals the square of the value of pr from 5 days ago
> minus it value today; plus the square of the value of pr from 4 days ago
> minus it value today; plus the square of the value of pr from 3 days ago
> minus it value today; plus the square of the value of pr from 2 days ago
> minus it value today; plus the square of the value of pr from 1 day ago
> minus it value today.  By using the LastValue() +PREV-PREV trick, each
> of the previous values of pr is dynamically calculated for however many
> periods are being used.
>
> I know this concept can be confusing and I hope I explained it well.  If
> any part is confusing, please respond and I will try and answer any
> questions you may still have.
>
>
>
> -----Original Message-----
>
> I am trying to understand the formula as given in April 2001 TASC for
> Ehlers
> Distant Coefficient Filter, namely the use of the two PREV statements
> together.
>
> Name: Distant Coefficient Ehlers Filter
> Formula:
> ti:= 15;
> pr:= MP();
> coef:=Sum(Power(Ref(LastValue(pr+PREV-PREV)-pr,-1),2),ti);
> Sum(coef*pr,ti)/Sum(coef,ti)
>
>
> Although:
> Ref(LastValue(pr+PREV-PREV)-pr,-1) = Ref(LastValue(pr-PREV+PREV)-pr,-1).
>
>
> In examining the equation, I noticed:
>
> pr:=CLOSE;
> Ref(LastValue(pr+PREV-PREV)-pr,-1)
>
> Is not the same as:
>
> Ref(LastValue(CLOSE+PREV-PREV)-CLOSE,-1)
>
> Even though
>
> Ref(LastValue(C)-C,-1) = Ref(LastValue(pr)-pr,-1)
> and
> LastValue(pr+PREV-PREV)-pr = LastValue(C+PREV-PREV)-C
>
> Why is this?
>
> Corey Saxe
> csaxe@xxxxxxxxxxx
> "MetaStock, Equis, OptionScope, and QuoteCenter are registered trademarks
of Equis International.  Achelis Binary Wave, The DownLoader, Expert
Advisor, The Explorer, Visual Control, and Smart Charts are trademarks of
Equis International."
>
>
>