OPEN-SOURCE SCRIPT
Updated Gann Swing Points

Indicator Logic
This is a GANN-style swing indicator that classifies bars based on their high/low structure relative to the previous bar.
I strongly encourage you to replay bars on Tradingview using this indicator to get a sense of how it creates pivot (or swing) points
Bar Classification:
Up-Bar (direction: 'up'): Higher High and Higher Low (HH/HL)
Down-Bar (direction: 'down'): Lower High and Lower Low (LH/LL)
Outside-Bar (generates 2 directions):
Green: 'down' then 'up'
Red: 'up' then 'down'
Inside-Bar: No direction generated (HL/LH)
Swing Line Logic
The swing line continues in the current direction until n opposite directions are detected.
n is the "n-direction" parameter (commonly set to 2, so 2 consecutive opposite direction is needed to turn the swing)
When n opposing directions occur, the swing turns, creating a pivot point
Inside bar is ignored, so e.g up-bar -> inside-bar -> up-bar generates "up", "up" direction
A top pivot is formed when the swing turns down
A bottom pivot is formed when it turns up
Note: This swing logic is inherently lagging — it only confirms tops/bottoms after the fact
This swing structure gives the system a clear and noise-resistant way to identify pivot points (swing-points)
This is a GANN-style swing indicator that classifies bars based on their high/low structure relative to the previous bar.
I strongly encourage you to replay bars on Tradingview using this indicator to get a sense of how it creates pivot (or swing) points
Bar Classification:
Up-Bar (direction: 'up'): Higher High and Higher Low (HH/HL)
Down-Bar (direction: 'down'): Lower High and Lower Low (LH/LL)
Outside-Bar (generates 2 directions):
Green: 'down' then 'up'
Red: 'up' then 'down'
Inside-Bar: No direction generated (HL/LH)
Swing Line Logic
The swing line continues in the current direction until n opposite directions are detected.
n is the "n-direction" parameter (commonly set to 2, so 2 consecutive opposite direction is needed to turn the swing)
When n opposing directions occur, the swing turns, creating a pivot point
Inside bar is ignored, so e.g up-bar -> inside-bar -> up-bar generates "up", "up" direction
A top pivot is formed when the swing turns down
A bottom pivot is formed when it turns up
Note: This swing logic is inherently lagging — it only confirms tops/bottoms after the fact
This swing structure gives the system a clear and noise-resistant way to identify pivot points (swing-points)
Release Notes
Updated for multi time frame strategy use. Higher time frame (htf) swings can be viewed, to check against chart time frame (ltf). Many good strategies come from anticipating htf action from ltf behavior, now we don't have to switch time frame to check the htf swings to compare with the lower time frame (ltf). It's available in the same chart.Release Notes
Bug fix:Corrected Pre-market weekly htf swing-lines misbehavior
Release Notes
More bug fixes for strange htf behavior at trading hour gapsRelease Notes
Refactor and housekeeping.- Removed classification of current unfinished bar.
- Moved bar-classification
- removed some unused code
- refactored some variables to be more meaningful
- set default color of htf swing lines to blue
Release Notes
Removed bar type display from status line for less clutter Release Notes
- Updated input structure to be more clean and logical- Added "show swing confirmation" option to see where the swing lines confirmed a top/bottom.
- Some code refactoring that helps further dev
Release Notes
Accidentally renamed the indicator to "dev", naming it backRelease Notes
- Added option to show trend based on High time frame (HTF) swings.- offset the trend background color by 1 bar to only show trend until the last finished bar (current bar not finished, swings not calculated)
Release Notes
- New feature: swing volume trend detectionYou can see if volume trended up or down on swing: Dashed line for falling vol, solid for rising. This is interesting if you like to watch the price action vs volume. You might want to watch convergence / divergence between these and identify potential new trend / trend exhaustion, or whatever patterns you find useful.
- Rearranged input fields
Release Notes
- Added checkbox to display swing turns at confirmation time (actual turn) instead of where the low/high happened- corrected swing volume MA name display from "EMA", to "MA" at input fields and code, since it's a choice of SMA or EMA
Release Notes
- New features (SIGNIFICANT new options)-> Outside bar logic now modifiable to only generate 1 direction (up/down based on green or red bar) instead of 2 directions. This makes the the swing overlay more adaptable how you like to treat those bars.
-> Even bigger optional setting for swing construction is the new "3BAR" vs "2BAR" Bar classification setting. 3BAR is the new option, 2BAR was the default so far, comparing bar to last bar. 3BAR makes the comparison of current bar to last 2 bar's highs (max of the 2) and lows (min of the 2). This is like melting the 2 last bar's into 1 bigger bar and classify the current based on that.
-- It creates less sensitive structure, good to use it in choppy market regime.
Coming up next update: extreme swing detection (coloring extreme in time and/or price based on last N swings)
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.