OPEN-SOURCE SCRIPT
Updated Circles

Circles - Support & Resistance Levels
Overview
This indicator plots horizontal support and resistance levels based on W.D. Gann's mathematical approach of dividing 360 degrees by 2 and by 3. These divisions create natural price magnetism points that have historically acted as significant support and resistance levels across all markets and timeframes.
How It Works
360÷2 Levels (Blue): 5.63, 11.25, 33.75, 56.25, 78.75, etc.
360÷3 Levels (Red): 7.5, 15, 30, 37.5, 52.5, 60, 75, etc.
Both Levels (Yellow): 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180 - These are "doubly strong" as they appear in both calculations
Key Features
Auto-Scaling: Automatically adjusts for any price range (from $0.001 altcoins to $100K+ Bitcoin)
Manual Scaling: Choose from 0.001x to 1000x multipliers or set custom values
Full Customization: Colors, line widths, styles (solid/dashed/dotted)
Historical View: Option to show all levels regardless of current price
Clean Display: Adjustable label positioning and line extensions
Use Cases
Identify potential reversal zones before price reaches them
Set profit targets and stop losses at key mathematical levels
Confirm breakouts when price decisively moves through major levels
Works on all timeframes and all markets (stocks, crypto, forex, commodities)
Gann Theory
W.D. Gann believed that markets move in mathematical harmony based on geometric angles and time cycles. These 360-degree divisions represent natural balance points where price often finds support or resistance, making them valuable for both short-term trading and long-term analysis.
Perfect for traders who use:
Support/Resistance trading
Fibonacci levels
Pivot points
Mathematical/geometric analysis
Multi-timeframe analysis
Overview
This indicator plots horizontal support and resistance levels based on W.D. Gann's mathematical approach of dividing 360 degrees by 2 and by 3. These divisions create natural price magnetism points that have historically acted as significant support and resistance levels across all markets and timeframes.
How It Works
360÷2 Levels (Blue): 5.63, 11.25, 33.75, 56.25, 78.75, etc.
360÷3 Levels (Red): 7.5, 15, 30, 37.5, 52.5, 60, 75, etc.
Both Levels (Yellow): 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180 - These are "doubly strong" as they appear in both calculations
Key Features
Auto-Scaling: Automatically adjusts for any price range (from $0.001 altcoins to $100K+ Bitcoin)
Manual Scaling: Choose from 0.001x to 1000x multipliers or set custom values
Full Customization: Colors, line widths, styles (solid/dashed/dotted)
Historical View: Option to show all levels regardless of current price
Clean Display: Adjustable label positioning and line extensions
Use Cases
Identify potential reversal zones before price reaches them
Set profit targets and stop losses at key mathematical levels
Confirm breakouts when price decisively moves through major levels
Works on all timeframes and all markets (stocks, crypto, forex, commodities)
Gann Theory
W.D. Gann believed that markets move in mathematical harmony based on geometric angles and time cycles. These 360-degree divisions represent natural balance points where price often finds support or resistance, making them valuable for both short-term trading and long-term analysis.
Perfect for traders who use:
Support/Resistance trading
Fibonacci levels
Pivot points
Mathematical/geometric analysis
Multi-timeframe analysis
Release Notes
The code will now attempt to scale the range above and below what is detected. This way you can see more levels based on the current multiplier. Release Notes
Levels with a digital root of 9 now show in a different colour Release Notes
Rebuilt the code. Now it will show correctly on percentage based charts too! Release Notes
Small bug fixRelease Notes
Fixed the auto scaling for a few charts. Release Notes
Minor FixRelease Notes
Bug fixRelease Notes
Another bug fix for low caps in cryptoRelease Notes
Another bug fixRelease Notes
Another attempt at clean level identification checks Release Notes
Returning to an earlier version of the script which seemed to perform more consistently across charts until I have a better solution. Release Notes
Script updated. Way more reliable across different charts. Works with percentage charts too. There's also a repeat option to add levels on top of the range.
Release Notes
The nearest circle level now has a different style option so you can clearly see what the dominate level is. Release Notes
Made the text size consistent Release Notes
Updated the script so that if "Repeat levels" is turned on, it will always show the active level. Release Notes
Added filter - so you only need to see the nearest, active level. Release Notes
Summary of Changes1. Autofilter Enhancement
When Autofilter is enabled, now shows 3 levels instead of 1:
Active level (green, closest to price)
First level above active (gray)
First level below active (gray)
New inputs added under "Active Level Colors" group:
Adjacent Level Line Color (default: gray)
Adjacent Level Label Background (default: gray)
Adjacent Level Label Text (default: white)
2. Update on Candle Close Only
New toggle in "Mode Settings" group:
Update Levels on Candle Close Only (default: true)
When enabled, the active level and multiplier calculations lock to the confirmed close price and won't flicker/change during live candle formation.
3. Symbol-Specific Multiplier Overrides
New "Symbol Overrides" input group with 10 slots:
Symbol 1 + Multiplier 1
Symbol 2 + Multiplier 2
... through to Symbol 10 + Multiplier 10
How it works:
Enter symbol name (e.g., BTCUSDT.P, ETHUSDT, SPY)
Uses flexible matching (partial match works)
Override takes priority over Auto Mode when matched
Debug table added (top-right corner) showing:
Current symbol
Override status (YES/Auto)
Active multiplier value
4. Removed Features
Real-time price line
Mirror price line
Price-to-active-level box (gradient fill)
Release Notes
Small Bug FixRelease Notes
Updated the table so you compare the auto multiplier with the custom multiplier for more granular levels. 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.