LazyBear

Indicators: Chartmill Value Indicator & Random Walk Index

ChartMill Value Indicator & Modified ChartMill Value Indicator :
-------------------------------
Developed by Dirk Vandycke, CVI             tracks how far the price spread is from its MA. Since MA keeps increasing even when price consolidates or stalls, it is very difficult for the deviation from a moving average to remain in the overbought or oversold regions for extended periods, which represents a significant improvement over other oscillators such as the RSI and Stochastic indicators.

However, a simple price spread from a moving average would not be comparable across all securities, which would preclude us from using the spread in systematic strategies. Fortunately, Mr.Vandycke addresses this problem by dividing the spread by the average true range , which is dependent on both the price level and volatility of the underlying security.

There is a variation of CVI             called Modified CVI             , which does time normalization of ATR (not the MA). This indicator supports displaying "Modified CVI" too. Check the options page.

This indicator is best used with other oscillators, to confirm signals. Zero line (in this case, "1" line since the gray line is drawn at the value of 1) crossovers should also be considered as signals.

I suggest tuning the OB/OS levels to match your instrument (usually it is around 0.5/-0.5 range).

More info:
http://www.traders.com/index.php?option=com_content&view=article&id=1914:the-chartmill-value-indicator&catid=48&Itemid=130

Random Walk Index
-------------------------
RWI is used to determine if an issue is trending or in a random trading range (like ADX/Aroon). It attempts to do this by first determining an issue's trading range. The next step is to calculate a series of RWI indexes for the maximum look-back period. The largest index move in relation to a random walk is used as today's index.

Michael Poulos, inventor of RWI, recommends 2 to 7 for the short-term time frames and 8-64 for long terms. An issue is trending higher if the long term RWI of highs is greater than 1, while a downtrend is indicated if the long term RWI of lows is greater than 1.

Below are some more rules developed by Mr.Poulos:

- Enter a long (or close short) when the long-term RWI of the highs is greater than 1 and the short-term RWI of lows peaks above 1
- Enter short (or close long) when the long-term RWI of the lows is greater than 1 and the short-term RWI of highs peaks above 1

More info:
- http://tradingsim.com/blog/random-walk-index/

For displaying only the histogram (as shown in the bottom pane), select "ShowOnlyHistogram" in the options page.

Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear
//
// If you use this code in its original/modified form, do drop me a note. 
//
study("Chartmill Value Indicator [LazyBear]", shorttitle="CVI_LB")
length=input(3)
vc=sma(hl2, length)
useModifiedFormula=input(false, type=bool)
os1=input(-0.51, title="Oversold 1")
ob1=input(0.43, title="Overbought 1")

// os2=input(-1.5, title="Oversold 2")
// ob2=input(1.5, title="Overbought 2")

denom = (useModifiedFormula == true) ? (atr(length) * sqrt(length)) : atr(length)
cvi = (close-vc) / denom

plot(os1, color=green)
plot(ob1, color=red)

// plot(os2, color=green, style=3)
// plot(ob2, color=red, style=3)

plot(cvi, color=blue, linewidth=2)
Muwa
2 years ago
Your indicators are awesome.
Reply
LazyBear PRO Muwa
2 years ago
Thanks :)
Reply
strategytraders
4 months ago
can you share code for random walk index
Reply
sal157011 strategytraders
3 months ago
@strategytraders, the Random Walk Index you see on the chart is wrong. The code that I developed based on the writings of Mr. Poulos is: please on "chart properties">"scales">mark "indicator last value" as without this the scale gives false values of the indicator, don't ask me why. So, here it is the code:

//@version=2
study("RWI, RWIhi, RWIlo")


minp=input(defval=3,title="min period ",type=integer)
maxp=input(defval=10,title="max period ",type=integer)

rwihi=0
b=0
rwilo=0
for i = minp to maxp
b:=atr(i)
rwihi:=i==minp?(high-low)/(b*sqrt(i)):max((high-low)/(b*sqrt(i)),rwihi)
for i = minp to maxp
b:=atr(i)
rwilo:=i==minp?(high-low)/(b*sqrt(i)):max((high-low)/(b*sqrt(i)),rwilo)
rwi=rwihi-rwilo
plot(rwihi,color=green)
plot(rwilo,color=red)
plot(rwi,color=black)
hline(1,color=blue)


Reply
sal157011 sal157011
3 months ago
@sal157011,
//@version=2
study("RWI, RWIhi, RWIlo")


minp=input(defval=3,title="min period ",type=integer)
maxp=input(defval=10,title="max period ",type=integer)

rwihi=0
b=0
rwilo=0
for i = minp to maxp
b:=atr(i)
rwihi:=i==minp?(high-low)/(b*sqrt(i)):max((high-low)/(b*sqrt(i)),rwihi)
for i = minp to maxp
b:=atr(i)
rwilo:=i==minp?(high-low)/(b*sqrt(i)):max((high-low)/(b*sqrt(i)),rwilo)
rwi=rwihi-rwilo
plot(rwihi,color=green)
plot(rwilo,color=red)
plot(rwi,color=black)
hline(1,color=blue)
Reply
Ideas Scripts Chart
United States
United Kingdom
India
España
France
Italia
Brasil
Россия
Türkiye
日本
한국
Home Stock Screener Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Account and Billing Sign Out