OPEN-SOURCE SCRIPT

ZigZag With ATR Filter [vnhilton]

Telah dikemas kini
(OVERVIEW)
The typical ZigZag indicator, which connects pivot points (see TradingView's Help Center regarding their indicator Pivot Points High Low, for an in depth explanation on how they are calculated) with lines, except instead of a percentage threshold, it uses ATR which adjusts for volatility of the ticker you are viewing. The ZigZag indicator can therefore be used to help visualise price legs and trends on a usually noisy looking chart.

(FEATURES)
- Toggles for pivot point label contents such as the value, the trend, or nothing at all.
- ATR and pivot point periods.
- ATR multiplier minimum threshold to plot pivots and draw lines only when this threshold is met (helps eliminate small, perhaps insignificant price movements, to have a better focus on the overall trend).
- Show the last 2 to 499 ZigZag lines.
- Uptrend, downtrend and range colors for high and low pivot labels, text labels and lines, for both confirmed and real-time plots.
- Label size, and label styles for the high and low pivots.
- Customisable width and styles (Arrow Right, Dashed, Dotted, Solid) for the ZigZag line.

syot kilat
In the main chart picture, labels show both the pivot point value and the trend at that point. In the picture above, on the left shows only the pivot point value, the right shows only the trend.

syot kilat
Picture above shows just the label with 0 contents. Also notice the last recent line being blue instead of green. This is because the current bar hasn't finished so this line is currently live and not confirmed, so is subject to change. Keep in mind even if a pivot point is confirmed, it can be updated by a subsequent higher high/lower low.

syot kilat
Left chart shows a minimum ATR threshold multiplier of 1x; Right chart has 2x ATR minimum threshold. Notice the left chart highlights more price legs as more price legs satisfy a less strict threshold.
Nota Keluaran
- Correctly formatted pivot price (using format.mintick)
Nota Keluaran
- Fixed issue of new pivot high/low occurring right after a pivot high/low (plotted pivots should only alternate between high and low). Solution was to add additional condition making sure pivot highs were higher than last low pivot, and pivot lows lower than last high pivot. Also changed conditional statements to using strings instead of high/low built in variables.
Nota Keluaran
- Changed pivot point identifier logic (now allows bar highs/lows to equal each other). Done because moves with double/triple/etc. tops/bottoms were ignored.
Nota Keluaran
- Decreased max zig zag lines by 1 (498 max) to make room for the potential line.

(NEW FEATURE)
- Added the potential line. Plots a line from the last pivot point to the current bar as a potential ZigZag line. When the current close is above/level/below the last pivot, the line right point attaches to the current high/close/low. The line left point attaches to the last pivot if there is only 1 pivot, or the line is sloping up/down and the last pivot is a low/high pivot, or the line is level. Else, it attaches to the 2nd last pivot.

- Customisable line width and style
- 3 line colors for when the current close is above/level/below the last pivot

syot kilat
Potential up line from the 2nd last pivot, which is a pivot low.

syot kilat
Potential down line from the last pivot, which is a pivot high.





Nota Keluaran
- Adjusted default ATR period to 20

(NEW FEATURES)
- Added ZigZag size label text
- Added ZigZag time label text
- Added ZigZag volume label text (with imperfect solution, so if encountering error, please use lower pivot point length or disable volume entirely (apologies))
Nota Keluaran
- Made label formatting neater based on differing toggle options.
Nota Keluaran
- Reduced max lines to 497

(NEW FEATURE)
- Potential line label
_____________________________
(I will add second order pivot ZigZag in the future when I am free. The code will also be completely revamped to be more robust, efficient and clean, written with scalability in mind. Challenges for this future update are: working out the garbage logic for 1st and 2nd order ZigZag lines (as there can only be maximum 500 lines for 1 indicator), adapting the code so that it can be used for both calculating 1st and 2nd order ZigZag lines, and tracking volume for each ZigZag line)
Nota Keluaran
- Fixed potential line label values
Average True Range (ATR)Pivot PointsZig Zag Indicator

Skrip sumber terbuka

Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai sumber terbuka supaya pedagang dapat memahami dan mengesahkannya. Sorakan kepada penulis! Anda boleh menggunakan perpustakaan ini secara percuma, tetapi penggunaan semula kod dalam penerbitan ini adalah dikawal oleh Peraturan dalaman. Anda boleh menyukainya untuk menggunakannya pada carta.

Ingin menggunakan skrip ini pada carta?

Penafian