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

Re: Indicator lag



PureBytes Links

Trading Reference Links

Bob - in your formula why is is Log(Price / Price[Offset]); rather than
simply Price / Price[Offset]?

-----Original Message-----
From: Bob Fulks <bfulks@xxxxxxxxxxxx>
To: Trade Jack <trade_jack@xxxxxxxxx>
Cc: Omega-list@xxxxxxxxxx <Omega-list@xxxxxxxxxx>; CRLeBeau@xxxxxxx
<CRLeBeau@xxxxxxx>
Date: October 14, 1998 8:44 AM
Subject: Re: Indicator lag


>At 1:36 AM -0400 10/14/98, Trade Jack wrote:
>
>>"In our regular talks with other traders, we have found that more of them
>>use momentum than almost any other tool, except perhaps moving averages.
>>Momentum isn't always used as their primary study, but the traders monitor
>>it closely and use it with other technical studies to arrive at more
>>timely trading decisions. Among the many reasons for the popularity of
>>momentum are its simplicity, its versatility, and the fact that it is
>>considered to be a rare "lead indicator." Rather than merely reacting to
>>the direction of prices, momentum can change directions before prices
>>change direction. Very few technical studies can provide a trader with
>>this valuable lead factor."
>
>>from "Technical Traders Guide To Computer Analysis Of The Futures Market"
>>by Charles LeBeau and David W. Lucas, 1992, p. 77.
>
>>could of written the above myself. in fact, i did tonight.
>
>
>I agree that momentum is a great indicator. But it helps to really
>understand when it is a "leading indicator" and when it is a "lagging
>indicator". Look at the formula for it:
>
>    Momentum = Price - Price[Length];
>
>So it calculates the amount the price has changed over some number of bars
>and thus it is a measure of the slope of a portion of the price curve.
>
>If the price is moving up smoothly the momentum stays at a fixed positive
>value and tells you how fast the price is moving up.
>
>If the price increase begins to slow down (as you might find near the end
>of an upward move), the momentum (slope of the price curve) will begin to
>decrease. So you might consider this as a "leading indicator" of an
>impending price change under this condition.
>
>But If the price suddenly switches from moving up to moving down, the
>momentum will slowly begin to start down and eventually go negative. In
>this case, a noticeable change in momentum might lag the price change by
>quite a bit. So in this case, you might call it a "lagging indicator".
>
>I usually normalize the value of the indicator so that it plots the slope
>of the price curve in "percent change per year". I find this useful when
>comparing the momentum on different investment opportunities and different
>price compression charts.
>
>The code I use to do this is attached below. This is a function so it must
>be named "Slope" to verify (unless you change the code). (I also use the
>function in systems.)
>
>You also need to create an indicator which calls this function:
>
>---------
>
>Input: Price(Close), Offset(5);
>
>Plot1(Slope(Price, Offset), "Slope");
>Plot4(0, "Zero");
>
>---------
>
>Bob Fulks
>
>---------
>
>Code for function:
>
>{ *******************************************************************
>
>   Function    : Slope
>
>   Last Edit   : 12/16/97
>
>   Provided By : Bob Fulks
>
>   Description : This function returns the slope of a price signal
>      averaged over the past "Offset" bars. It returns the slope
>      normalized to the percent change per year. It uses the
>      approximation that (Price/Price[1] - 1 is << 1)
>
> ********************************************************************}
>
>Inputs: Price(NumericSeries), Offset(NumericSimple);
>
>Vars:   Factor(0);
>
>if CurrentBar = 1 then begin
>   if DataCompression = 1 then begin
>      Value1 = TimeToMinutes(Sess1EndTime) - TimeToMinutes(Sess1StartTime);
>      Factor = (253 * Value1) / (BarInterval * Offset);
>   end;
>   if DataCompression = 2 then Factor =  253 / Offset;
>   if DataCompression = 3 then Factor =   52 / Offset;
>   if DataCompression = 4 then Factor =   12 / Offset;
>end;
>
>if Price[Offset] <> 0 then Value2 = 100 * Factor * Log(Price /
Price[Offset]);
>
>Slope = Value2;
>
>
>
>
>
>
>
>
>