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:
Keluarkan daripada Skrip Pilihan Tambah kepada Skrip Pilihan
// @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:


If anyone is looking for a profitable cryptocurrency trading strategy using this indicator:

+27 Balas
@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?

+1 Balas
Alecto wjsharples1
@wjsharples1, how can find it?
Hi, LazyBear.
I am Wyckoff Trader and the Weis Wave indicator that you provided on trading view is really useful.

I would ask you kindly, to complete this indicator adding also the ZigZag line with the cumulated volume on the reversal points.

The Weis Wave Indicator shows also this particular features.

You can see these features in this Webinar that David Weis hosted some years ago:

Please, could make it for us?

Kind regards

G. Aloe
+22 Balas
modhelius girolamoaloe
@girolamoaloe, you can find an implementation that make use of a zig zag-line here .
+10 Balas
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.
+5 Balas
This is a fantastic indicator. Thanks so much LazyBear. Appreciate your contributions.
+8 Balas
Is it possible to ad zigzag with volume on end of each swing here? like on weis charts.
+7 Balas
Thank you LazyBear. Is there a formula or method to set/choose the optimum trend detection length for each script/stock?
+6 Balas
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)
+6 Balas
Laman Utama Penyaring Saham Penyaring Forex Penyaring Kripto Kalendar Ekonomi Bagaimana ia berfungsi Ciri-ciri Carta Harga Rujuk rakan Peraturan Dalaman Pusat Bantuan Laman web dan Penyelesaian Broker Widget Penyelesaian Pencartaan Perpustakaan Pencartaan yang Ringan Blog & Berita Twitter
Profil Tetapan Profil Akaun dan Pengebilan Kawan-kawan yang dirujuk Coin Tiket Sokongan Saya Pusat Bantuan Idea yang diterbitkan Pengikut Mengikuti Mesej Peribadi Sembang Daftar Keluar