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:

Complete list of my indicators:
Skrypt open-source

Zgodnie z prawdziwym duchem TradingView, autor tego skryptu opublikował go jako open-source, aby traderzy mogli go zrozumieć i zweryfikować. Brawo dla autora! Możesz używać go za darmo, ale ponowne wykorzystanie tego kodu w publikacji jest regulowane przez Dobre Praktyki. Możesz go dodać do ulubionych, żeby używać go na wykresie.

Chcesz użyć tego skryptu na wykresie?
// @author LazyBear 
// List of all my indicators:
study("Weis Wave Volume [LazyBear]", shorttitle="WWV_LB")
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)
List of my free indicators:
List of my indicators at Appstore:


Komentarz został usunięty.
@wjsharples1, do you still play like this? Would you suggest only WWV_LB (5) is good for daily chart or are there other good lengths you discovered?

+25 Odpowiedz
Alecto wjsharples1
@wjsharples1, how can find it?
+2 Odpowiedz
Komentarz został usunięty.
modhelius girolamoaloe
@girolamoaloe, you can find an implementation that make use of a zig zag-line here .
+15 Odpowiedz
girolamoaloe modhelius
@modhelius, Thank you very much for your work :) . Your work was great in the making of this tool.

I don't use the Weis Wave. I was just testing the tool. I am sharing your indicators with my trading students, in the case, someone of them wants to use it.
+10 Odpowiedz
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

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)
weissWaveVol(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
weissWaveUp(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)
weissWaveDn(trendDetectionLength, showDistributionBelowZero, cls, vlm) =>
= weissWave(trendDetectionLength, showDistributionBelowZero, cls, vlm)

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)
+14 Odpowiedz
umur.ozkul umur.ozkul
@umur.ozkul, Sorry, posting as a comment removed the tabs.
+5 Odpowiedz
Thank you LazyBear. Is there a formula or method to set/choose the optimum trend detection length for each script/stock?
+13 Odpowiedz
From what I understand of WW it follows the zig zag pattern of price movement up or down. The wave histogram is the cumulative volume from the lowest point of the price zigzag (swing) to the highest or vice versa. You change the setting of the height of the price zigzag (swing) (from say .5 to any value above or below - not negative). This allows you to choose the setting of the zigzag (swing) that is most appropriate for your work. The volume wave will follow the price zigzag (swing) starting from the lowest or highest to next high or low based on the individuals setting, and will continue going higher or lower till there is a reversal in price based on the setting.
This allows you to see the cumulative volume for that move of the price swing. (eg. your setting may be 1.5 for stocks or a value appropriate for currencies or commodities. The wave will continue beyond 1.5 till there is a reversal of that amount or less if you want to provision for that say 1.) Hope this helps
+10 Odpowiedz