LazyBear

Indicator: Weis Wave Volume [LazyBear]

This indicator takes market volume and organizes it into wave charts, clearly highlighting inflection points and regions of supply/demand.

Try tuning this for your instrument (Forex not supported) by adjusting the "Trend Detection Length". This "clubs together" minor waves. If you like an oscillator-kind-of display, enable "ShowDistributionBelowZero" option.

Note: This indicator is a port of a clone of WeisVolumePlugin available for another platform. I don't know how close this is to the original Weis, if any has access to it, do let me know how this compares. Thanks.

More info:
http://weisonwyckoff.com/weis-wave/

Complete list of my indicators:
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study("Weis Wave Volume [LazyBear]", shorttitle="WWV_LB")
trendDetectionLength=input(2)
showDistributionBelowZero=input(false, type=bool)
mov = close>close[1] ? 1 : close<close[1] ? -1 : 0
trend= (mov != 0) and (mov != mov[1]) ? mov : nz(trend[1])
isTrending = rising(close, trendDetectionLength) or falling(close, trendDetectionLength) //abs(close-close[1]) >= dif
wave=(trend != nz(wave[1])) and isTrending ? trend : nz(wave[1])
vol=wave==wave[1] ? (nz(vol[1])+volume) : volume
up=wave == 1 ? vol : 0
dn=showDistributionBelowZero ? (wave == 1 ? 0 : wave == -1 ? -vol : vol) : (wave == 1 ? 0 : vol)
plot(up, style=histogram, color=green, linewidth=3)
plot(dn, style=histogram, color=red, linewidth=3)
hi how can ı write metastock (MATRİKs)this indicator.. please help me lazybear
Reply
Is there a documentation on how to interpret this script? Can someone explain please? This looks amazing.
Reply
//@version=3
study("Weis Wave Volume ", shorttitle="WWV_LB")
// Umur Ozkul: This version is suitable for the security function. So that it can be used in multi time frame strategies

trendDetectionLength=input(2)
showDistributionBelowZero=input(false, type=bool)

weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
mov = cls>cls ? 1 : cls<cls ? -1 : 0
trend = 0
trend := (mov != 0) and (mov != mov) ? mov : nz(trend)
isTrending = rising(cls, trendDetectionLength) or falling(cls, trendDetectionLength) //abs(cls-cls) >= dif
wave = 0
wave := (trend != nz(wave)) and isTrending ? trend : nz(wave)
vol = vlm
vol := wave==wave ? (nz(vol)+vlm) : vlm
up=wave == 1 ? vol : 0
dn=showDistributionBelowZero ? (wave == 1 ? 0 : wave == -1 ? -vol : vol) : (wave == 1 ? 0 : vol)


weissWaveWave(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
wave
weissWaveVol(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
vol
weissWaveUp(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
up
weissWaveDn(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
dn

wave = weissWaveWave(trendDetectionLength, showDistributionBelowZero, close, volume)
vol = weissWaveVol(trendDetectionLength, showDistributionBelowZero, close, volume)
up = weissWaveUp(trendDetectionLength, showDistributionBelowZero, close, volume)
dn = weissWaveDn(trendDetectionLength, showDistributionBelowZero, close, volume)

plot(up, color=green, style=histogram)
plot(dn, color=red, style=histogram)
+2 Reply
umur.ozkul umur.ozkul
@umur.ozkul, Sorry, posting as a comment removed the tabs.
+3 Reply
Hello! Thanks for sharing this.

Does this indicator repaint? Also what would you recommend the trend detection length should be for using this on the 5m chart for day trading? The default setup is 2, and I noticed on the description that it says it should be modified to best fit your trading.

Thanks a lot and happy trading!
+2 Reply
Great Script ;thank you ;i could improve the accuracy with the help of this indicator thank you.


+2 Reply
luciferlx MarxBabu
@MarxBabu, wow :D
Reply
How would you convert this to version 3 ? I am trying to add it to a script I already use.
+3 Reply
braincipher braincipher
@braincipher, Never mind... just had to declare variable first as 0:0 then put a ":" before "=" variable on next line like

mov = 0.0
mov := close>close ? 1 : close<close ? -1 : 0
Reply
masa_crypto braincipher
@braincipher,

This comment helped me, thanks!!
Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing House Rules Moderators Website & Broker Solutions Widgets Charting Solutions Help Center Feature Request Blog & News FAQ Wiki Twitter
Profile Profile Settings Account and Billing TradingView Coins My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out