PureBytes Links
Trading Reference Links
|
It is apparent that many indicators can be slightly changed by taking
the log of a variable or input contained in the indicator, or dividing a
variable or input by a constant, or etc, etc. Indicators can be made to
look complicated when many of them can be greatly reduced to a simpler
form. For example RSI is reducible from 100 - [100/(1+RS)] to
100[RS/(1+RS)]. It can be further reduced since RS is the average of
the difference in up closes divided by the average of the difference in
down closes. RS= sum(upC)/sum(downC) = C’/C" where the sum covers
"length" number of bars. Since average = sum/length the length cancels
in the RS ratio so the sum can be used instead of the average. RSI =
100[(C’/C")/1+(C’/C")] = 100[C’/(C’+C")]. Now it is easily seen that RSI
is just 100*(sum of the difference in up closes) / (sum of the
difference in down closes + sum of difference in up closes). In a up
trend generally C[i]>C[i+1] and C’>C"so RSI approaches 100. In down
trends C’ is small and RSI approaches 0. This is easier for me to
understand than from the first formula. (Interesting, 58*C/Ave(C,14)
traces the RSI very closely in shape).
On Aug. 26 and 27 an indicator called $%B was discussed under the
subject: Message pops up say can’t divide by zero. The formula, as
given, was quit convoluted involving many parameters. Pierre Orphelin
reduced it to a simpler form but missed the simplest form: 100(price -
AvgPrice)/coeff*xStdDev. Price - AvgPrice is just a common oscillator.
It can be divided by a number of different parameters that tend to keep
an oscillator bound within the same limits for different commodities,
e.g. AvgTrueRange. In fact, using AvgTrueRange gives almost the same
curve. $%B is not bound such as stochastic where the numerator can only
go from 0 to 1.
My first point is, why are so many indicators written in such a complex
manner? Secondly, is there really an advantage with a given indicator
dividing by StdDev compare to AvgTrueRange? If so, how about saying so
if you are the author of an indicator.
And more!
In the Dreiss Chopiness Index, discussed on the list during November 1
and 3, the final result for this index is Choppinessindex =
100*Log(ratio)/Log(n), where n is the length. As length increases the
value of ratio increases but at a much slower rate than n and this moves
the curve down. To keep the curve approximately at the same level for
different commodities the value of n needs to be decreased. The common
way to lessen the effect of a parameter is to take the log of it and
this is probably the reason for Log(n). It is not clear why Log(ratio)
is used as this lessens the choppyness effect making it less apparent.
37*ratio/Log(n) gives almost the same curve with a little more emphasis
on the high points. Again, how about the author (poster) explaining some
of the less common features of their code when it is posted, as Bob
Fulks did a while back? This may sound like I am not grateful for
posted code, which I am. It is time consuming enough to figure out code
without why some features are the way they are.
Wayne Mathews
|