Weis Wave Volume - Simple labels and comparisonThis script is designed to identify and display the Weis Wave Volume on a chart. The Weis Wave Volume is a volume-based indicator that helps traders analyze market waves, identify trend reversals, and assess the strength of a trend. The script calculates wave volume based on user-defined input parameters, detects price waves, and displays the results as labels on the chart.
This version in particular is based on ideas from @the_MarketWhisperer and some other pieces of the script from @LucF.
The overall functionality of the script is to identify price waves and their corresponding volume. It does this by determining the trend direction and detecting trend reversals based on user-defined inputs such as the Trend reversal length and Price source for trend detection. The script also calculates and displays the cumulative volume of the current wave, the number of bars in the wave, the average volume in the wave, and consecutive increasing average volume bars in the same wave:
- An 'o' is printed to show that the volume of the current wave was 'O'ver/ above the count of the volume from preceding wave (regardless of it being up or down).
- An 'u' is printed to show that the volume of the current wave was 'U'nder/ below the count of the volume from preceding wave (regardless of it being up or down).
- Current wave will be between ' ' signaling that the wave is not confirmed yet.
- Actual values for the wave are available as tooltips. You decide how many bars to show the labels for, but for now and since I am a fan of clean charts, this is set to 50.
The user can adjust various inputs that affect the output of the script, such as Trend reversal length, Price source for trend detection, Labels for X last bars. Adjusting these inputs allows the trader to customize the script's behavior to better suit their trading style or specific market conditions. For example, by increasing the Trend reversal length, the script will require more consecutive bars in the opposite direction to confirm a trend reversal, potentially filtering out shorter-term price fluctuations. Similarly, adjusting the Price source for trend detection allows the user to base trend calculations on different price values, such as the high, low, or close of each bar.
In addition to the customizable inputs, the user can enable or disable the display of pivot markers and choose the colors for the up and down volume labels. This helps the trader to easily visualize and analyze the wave volume information on the chart.
In summary, this script offers traders a powerful tool for visualizing and analyzing the Weis Wave Volume on a chart. By identifying price waves, detecting trend reversals, and providing insights into the strength of a trend based on volume, the script can be a valuable addition to a trader's technical analysis toolbox. Please note this is not meant to provide any buy or sell signals, it should be rather used to complement your existing analysis.
Have fun and trade wisely ;)
Weis
Weis Wave Volume NumbersWhat is it?
This is an indicator to complement @modhelius' Weis Wave Volume Indicator.
Original code has been modified to display wave volume (cumulative) numbers above or below the latest candle of the corresponding wave on the main pane. Since we are concerned only with relative volume, VOLUME NUMBERS HAVE BEEN SCALED DOWN. (If you need actual volume numbers, uncheck "Scale Down Volume" option in Settings). Rising wave volume is denoted in green. Falling wave volume is denoted in red. Developing wave volume is postfixed with a '_'. Confirmed wave volumes won't have this.
Who is it for?
This indicator is useful if you already use Weis Waves in your analysis and could do with an additional numerical representation of the wave volume on the main pane. Can be used in conjunciton with @modhelius' Weis Wave Volume (WWV) indicator (need to be added separately) to complement the visual representation of the waves. Can be used independently as well.
Pelase note that if you use any other Weis Wave indicator (other than @modhelius'), the numbers and the waveforms might not match.
WWV_LB pivotfix histogram jayy
This is a modification of LazyBear's WWV_LB which plots cumulative volume of waves. The reversal points are defined through relative closing prices. I made adjustments to the script to show waves turning on actual/true low or high pivots as opposed to the bar/candle identified in the LazyBear script. What I mean by that is that the actual/true low or high pivots are in fact the true WWV_LB pivots. The original WWV_LB script calculates cumulative volume from reversal confirmation bar to reversal confirmation bar as opposed to the true WWV_LB pivot bar to pivot bar. As such the waves can have slightly different start and end points. As such the cumulative volume can also be different from te WWV_LB script. This is because confirmation of a wave reversal can lag a few bars after the true reversal pivot bar. In the script notes, you will see the original key WWV_LB script lines that identify the true high or low pivots and confirm the wave direction has reversed. I have taken these lines from LazyBear's original script. I have included the LazyBear script within the script notes so that the original can be compared to what I have added/changed. Instead of "trendDetectionLength" I have inserted "Trend Detection Length". You can of course change the descriptor to what you wish by editing script line 33 to the original term or whatever you wish. You might also wish to set the default to the value "2" as per the original script. I have set the default to "3". This script should be used in conjunction with "WWV-LB zigzag pivot fix jayy" script which is shown on this screen for comparison.
Here is a link to the original LazyBear histogram script which can be used for comparison. The differences are subtle, however, the histograms will regularly be different by a bar or two:
The lowest panel has the original LazyBear WWV_LB script for comparison. All three scripts have been set to a Trend Detection Length of 3.jayy
WWV_LB zigzag pivot fix jayyThis is a zigzag version of LazyBear's WWV_LB. In order to plot the WWV_LB as a zigzag, it made sense to me to set the zigzag pivot at the true WWV_LB low or high pivot bars as opposed to the "pivot" bars plotted by the original WWV_LB script. The pivot point identified in the WWV_LB script is actually the point at which a wave reversal is confirmed as opposed to the true script pivot point. Confirmation of a wave reversal can, at times, lag the true pivot by a few bars especially as trendDetectionLength values increase above "1". The WWV_LB script calculates cumulative volume from wave reversal confirmation bar to wave reversal confirmation bar as opposed to the actual/true WWV_LB reversal pivot bar to reversal pivot bar. As such the waves plotted by the original and this pivot fixed scripts not only look slightly different but can also have different cumulative volumes. Confirmation of a wave reversal can lag a few bars behind the true pivot point.
The following critical lines of the original WWV_LB script determine when a wave reverses, both the true pivot and the confirmation point:mov = close>close ? 1 : close<close ? -1 : 0
trend= (mov != 0) and (mov != mov ) ? mov : nz(trend )
isTrending = rising(close, trendDetectionLength) or falling(close, trendDetectionLength)
wave=(trend != nz(wave )) and isTrending ? trend : nz(wave ) These original script lines are replicated in lines 62 to 65 of my script and are used to define wave reversal pivot bars and wave reversal confirmation bars. The original WWV_LB script does not track potential or actual pivot bars. The information can be extracted and tracked from the original script and then used to plot the actual reversal pivot bars. This allows the volume to be tracked from the actual/true pivot bars.Instead of "trendDetectionLength" I have inserted "Trend Detection Length" in the dialogue boxes. You can of course change the descriptor to what you wish by editing script line 33 to the original term or whatever you wish. You might also wish to set the default to the value "2" as per the original script. I have set the default to "3".
If you use a dark background I suggest you edit script line 4 from blackr=black to something such as blackr=yellow The volume values are shown in a vertical column of 3 numbers. Given the limitations of Pinescript Version 3 relative to V4, they are plotted at the point where the wave reversal is confirmed as opposed to the true pivot point. The zigzag lines plot the true pivot points. The plot location of numbers could be improved in Pinescript Version 4. I explain below why I have not published the Pinescript version 4 scripThe volume values plotted on the chart are calculated to be relative numbers. The script is limited to showing only three numbers vertically. Only the highest three values of a number are shown. For example, if the highest recent pip value is 12,345 only the first 3 numerals would be displayed ie 123. But suppose there is a recent value of 691. It would not be helpful to display 691 if the other wave size is shown as 123. To give the appropriate relative value the script will show a value of 7 instead of 691. This informs you of the relative magnitude of the values. This is done automatically within the script. There is likely no need to manually override the automatically calculated value. I will create a video that demonstrates the manual override method.
Should you update to Pinescript version 4? You could but if you do you will need to change the "plotchar" criteria since this script will exceed the 64 plot limit when converted to version 4. Version 4 would also allow the zigzags lines to be straight lines. However, the 50 label and line plot limit (Pinescript calls this resource sparing feature "garbage collection") significantly truncates the screen available information provided on screen. This algo optionally allows the plotting of zigzags as calculated by the original WWV_LB script. Toggling between the two script versions allows you to see the zigzag plot differences. I have also made some modifications to the original WWV_LB histogram script to adjust the pivot points.This zigzag script should be used in conjunction with the "WWV_LB pivot fix histogram jayy" shown in the panel below the main screen.
Here is a link to the original LazyBear histogram script which can be used for comparison. The differences are subtle, however, the histograms will regularly be different by a bar or two:
The lowest panel has the original LazyBear WWV_LB script for comparison. All three scripts have been set to a Trend Detection Length of 3.
jayy
Weis pip zigzag jayyWhat you see here is the Weis pip zigzag wave plotted directly on the price chart. This script is the companion to the Weis pip wave ( ) which is plotted in the lower panel of the displayed chart and can be used as an alternate way of plotting the same results. The Weis pip zigzag wave shows how far in terms of price a Weis wave has traveled through the duration of a Weis wave. The Weis pip zigzag wave is used in combination with the Weis cumulative volume wave. The two waves must be set to the same "wave size".
To use this script you must set the wave size. Using the traditional Weis method simply enter the desired wave size in the box "Select Weis Wave Size" In this example, it is set to 5. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method a more automatic way to set wave size would be to use ATR. This is not the true Weis method but it does give you similar waves and, importantly, without the hassle described above. Once the Weis wave size is set then the pip wave will be shown.
I have put a pip zigzag of a 5 point Weis wave on the bar chart - that is a different script. I have added it to allow your eye to see what a Weis wave looks like. You will notice that the wave is not in straight lines connecting wave tops to bottoms this is a function of the limitations of Pinescript version 1. This script would need to be in version 4 to allow straight lines. There are too many calculations within this script to allow conversion to Pinescript version 4 or even Version 3. I am in the process of rewriting this script to reduce the number of calculations and streamline the algorithm.
The numbers plotted on the chart are calculated to be relative numbers. The script is limited to showing only three numbers vertically. Only the highest three values of a number are shown. For example, if the highest recent pip value is 12,345 only the first 3 numerals would be displayed ie 123. But suppose there is a recent value of 691. It would not be helpful to display 691 if the other wave size is shown as 123. To give the appropriate relative value the script will show a value of 7 instead of 691. This informs you of the relative magnitude of the values. This is done automatically within the script. There is likely no need to manually override the automatically calculated value. I will create a video that demonstrates the manual override method.
What is a Weis wave? David Weis has been recognized as a Wyckoff method analyst he has written two books one of which, Trades About to Happen, describes the evolution of the now popular Weis wave. The method employed by Weis is to identify waves of price action and to compare the strength of the waves on characteristics of wave strength. Chief among the characteristics of strength is the cumulative volume of the wave. There are other markers that Weis uses as well for example how the actual price difference between the start of the Weis wave from start to finish. Weis also uses time, particularly when using a Renko chart. Weis specifically uses candle or bar closes to define all wave action ie a line chart.
David Weis did a futures io video which is a popular source of information about his method.
This is the identical script with the identical settings but without the offending links. If you want to see the pip Weis method in practice then search Weis pip wave. If you want to see Weis chart in pdf then message me and I will give a link or the Weis pdf. Why would you want to see the Weis chart for May 27, 2020? Merely to confirm the veracity of my algorithm. You could compare my Weis chart here () from the same period to the David Weis chart from May 27. Both waves are for the ES!1 4 hour chart and both for a wave size of 5.
Weis Pip Wave jayyWhat you see here is the Weis pip wave. The Weis pip wave shows how far in price a Weis wave has traveled through the duration of a Weis wave. The Weis pip wave is used in combination with the Weis cumulative volume wave. The two waves must be set to the same "wave size" and using the same method as described by Weis.
Using the traditional Weis method simply enter the desired wave size in the box "Select Weis Wave Size". In the example shown, it is set to 5 points. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method a more automatic way to set wave size would be to use ATR. This is not the true Weis method but it does give you similar waves and, importantly, without the hassle of selecting a wave size for every chart. Once the Weis wave size is set then the pip wave will be shown.
I have put a zigzag of a 5 point Weis wave on the above bar chart. I have added it to allow your eye to get a better appreciation for Weis wave pivot points. You will notice that the wave is not in straight lines connecting wave tops to bottoms this is a function of the limitations of Pinescript version 1. This script would need to be in version 4 to allow straight lines. I will elaborate on the Weis pip zigzag script.
What is a Weis wave? David Weis has been recognized as a Wyckoff method analyst he has written two books one of which, Trades About to Happen, describes the evolution of the now popular Weis wave. The method employed by Weis is to identify waves of price action and to compare the strength of the waves on characteristics of wave strength. Chief among the characteristics of strength is the cumulative volume of the wave. There are other markers that Weis uses as well for example how the actual price difference between the start of the Weis wave from start to finish. Weis also uses time, particularly when using a Renko chart. Weis specifically uses candle/bar closes to define all wave action.
David Weis did a futures.io video which is a popular source of information about his method.
Cheers jayy
PS This script was published a day ago, however, I had included some links to the website of a person that uses Weis pip waves and also a dropbox link that contains the Weis wave chart for May 27, 2020, published by David Weis. Providing those links is against TV policy and so the script was hidden by TV. This is the identical script with the identical settings but without the offending links. If you want to see the pip Weis method in practice then search Weis pip wave. I have absolutely no affiliation. If you want to see Weis chart in pdf then message me and I will give a link or the Weis pdf. Why would you want to see the Weis chart for May 27, 2020? Merely to confirm the veracity of my algorithm. You could compare my chart () from the same period to the Weis chart. Both waves are for the ES!1 4 hour chart and both for a wave size of 5.
R100 Wave Volume v2 (*v*)This indicator is similar to the Weis Wave Volume indicator in that it shows cumulative volume for each up and down price wave. However it is calculated differently, using the Jurik moving average to determine turning points. Use this in conjunction with the R100 Wave indicator to determine the best fit Jurik length and power settings.
A great indicator to help analyse the strength of pullbacks, continuation moves and changes in behaviour.
I hope you get some value out of it. Only conditions of use are that if you improve it, let me know and if you publish something that uses it, don't hide the code! Enjoy!
Code pinched and modified from Zero Lag ZigZag by Duyck - thankyou
Jurik Moving Average (for turning points) by Everget - thankyou
and Weis Wave by Modhelius - thankyou
R100 Wave v2 (*v*)This is a Wave (or Zig Zag) indicator I made to use in conjunction with the Wave Volume indicator I use.
It uses the Jurik moving average to determine turning points, and will plot the tops and bottoms of the wave based on the most recent high- so you can also use to quickly find pivot highs and lows. If you are using with the R100 Wave Volume indicator, first adjust the wave to fit better (if required) using the Jurik length and/or power, and then use the same settings on the Wave Volume indicator. Default settings work pretty well for most stocks, but adjusting the length between 8 and 14 should be enough for a good fit, or adjust the power between 1 and 3, or get fussy and tweak it with both.
The Jurik MA has been modified to include a VWAP component, so will only work where you have volume. The last "leg" of the wave will move about until the next pivot high or low is found and then will remain fixed.
I hope you find some value with it. Only conditions of use are that if you improve it, let me know and if you publish something that uses it, don't hide the code! Enjoy!
Code pinched and modified from Zero Lag ZigZag by Duyck - thankyou
Jurik Moving Average (for turning points) by Everget - thankyou
and Weis Wave by Modhelius - thankyou
Ord Volume [LucF]Tim Ord came up with the Ord Volume concept. The idea is similar to Weis Wave , except that where Weis Wave keeps a cumulative tab of each wave’s successive volume columns, Ord Volume tracks the wave's average volume .
Features
You can choose to distinguish the area’s colors when the average is rising/falling (default).
You can show an EMA of the wave averages, which is different than an EMA on raw volume.
You can show (default) the last wave’s ending average over the current wave, to help in comparing relative levels.
You can change the length of the trend that needs to be broken for a new wave to start, as well as the price used in trend detection.
Use Cases
As with Weis Wave, what I look at first are three characteristics of the waves: their length, height and slope. I then compare those to the corresponding price movements, looking for discrepancies. For example, consecutive bearish waves of equal strength associated with lesser and lesser price movements are often a good indication of an impeding reversal.
Because Ord Volume uses average rather than cumulative volume, I find it is often easier to distinguish what is going on during waves, especially exhaustion at the end of waves.
Tim Ord has a method for entries and exits where he uses Ord Volume in conjunction with tests of support and resistance levels. Here are two articles published in 2004 where Ord explains his technique:
pr.b5z.net
n.b5z.net
Note
Being dependent on volume information as it is currently available in Pine, which does not include a practical way to retrieve delta volume information, the indicator suffers the same lack of precision as most other Pine-built volume indicators. For those not aware of the issue, the problem is that there is no way to distinguish the buying and selling volume (delta volume) in a bar, other than by looping through inside intervals using the security() function, which for me makes performance unsustainable in day to day use, while only providing an approximation of delta volume.
Weis Wave Volume with alert [LazyBear]LFI added alert conditions to LazyBear's indicator on the second bar of a turn to bullish or bearish.
To use alerts:
be sure you are on the interval you want to create your alert,
be sure the indicator inputs are the way you want them,
create an alert, choose this indicator and then choose one of the 2 conditions.
Changes to the inputs after an alert was created require alerts to be recreated.
The alerts trigger on the second bar to avoid noise.
I also changed the default aesthetics, but more importantly the default period (from 2 to 5, because that's what I use most often).
My WaveThis is my implementation in TradingView of my modified version of the "Weis Wave".
Given the limitations of TradingView in alter past variable values, whenever the close change direction and the wave don't I sum the volume to the present wave and also to a possible future wave.
This results in columns of a mixed color within the columns of the histogram. By changing the percentage input you can and must keep this extra columns to a minimum.
You must insert two copies of the indicator on your chart and "unmerge down" one of them. On the overlayed you must * format and edit and unmark Histup and Histdown, on the unmerged down you must * format and edit and unmark BetaZigZag and stableZigZag.
You can also unmark Bar Color on both if you don't want to colour the bars according to the waves.
Trend: If the buying waves are longer than the selling waves the immediate trend is up, and vice versa.
Look out for a change in trend if in an uptrend the selling waves begin to increase in time and distance or the buying waves shorten, and vice versa.
From the volume histogram you can get the force of the buying and selling waves.
From the price waves you get the result of that force. You can also spot the "shortening of the thrust" up or down.
Comparing the two you can spot "effort without result" "ease of movement".
References: "Trades About To Happen" David H. Weis, Division 2 of the Richard D. Wyckoff Method of Trading in Stocks.
Weis Wave ChartThis indicator is based on the Weis Wave described by David H. Weis in his book Trades About to Happen: A Modern Adaptation of the Wyckoff Method, more info how to use this indicator can be found in this video . The Weis Wave is an adaptation of Richard D. Wyckoff’s method Wave Charts. It works in all time periods and can be applied to all asset types.
Unlike other implementations I found here on TradingView, this implementation make use of a Renko-like zig zag pattern, very similar to how it is described in David H. Weis' book. The settings for the zig zag pattern are very similar to the standard Renko settings here on TradingView, in the "Renko Assignment Method" you either chose "ATR" or "Traditional" (read more about it here ). The ATR length or the brick size is then entered in the textbox "Value". You can also chose another setting in the "Renko Assignment Method" drop down named "Part of Price" which calculate the brick size from the current close and divide it by the value in the text box "Value". It is also possible to chose if the zig zag pattern shall use the high/low, the open/close or just the close as the most extreme values in its calculation, you select this in the drop down "Price Source".
TradingView's pine script does currently not support to print non-static text on the chart, so it is not possible at this point to write out the volume on the zig zag chart. It is also not possible to have both an overlay and separate chart pane in the same indicator, therefor this indicator is split up in two.
You can find the volume indicator here:
Weis Wave VolumeThis indicator is based on the Weis Wave described by David H. Weis in his book Trades About to Happen: A Modern Adaptation of the Wyckoff Method, more info how to use this indicator can also be found in this video . The Weis Wave is an adaptation of Richard D. Wyckoff’s method Wave Charts. It works in all time periods and can be applied to all asset types. For assets that do not support volume Weis propose in his book to use the true range instead, so if you want to use this indicator for assets that do not support volume, make sure to enable the checkbox "Use True Range instead of Volume".
Unlike other implementations I found here on Trading, this implementation make use of a Renko-like zig zag pattern, very similar to how it is described in David H. Weis' book. The settings for the zig zag pattern are very similar to the standard Renko settings here on TradingView, in the "Renko Assignment Method" you either chose "ATR" or "Traditional" (read more about it here ). The ATR length or the brick size is then entered in the textbox "Value". You can also chose another setting in the "Renko Assignment Method" drop down named "Part of Price" which calculate the brick size from the current close and divide it by the value in the text box "Value". It is also possible to chose if the zig zag pattern shall use the high/low, the open/close or just the close as the most extreme values in its calculation, you select this in the drop down "Price Source". If you want the price to oscillate around a zero value, enable the "Oscillating" checkbox.
TradingView's pine script does currently not support to print non-static text on the chart, so it is not possible at this point to write out the volume on the zig zag chart. It is also not possible to have both an overlay and separate chart pane in the same indicator, therefor this indicator is split up in two.
You can find the zig zag indicator here: