Moon Declination & More [BlueprintResearch]🌒 MOON DECLINATION & MORE
A comprehensive lunar declination visualization showing Moon, Sun, and node declinations, with phase coloring, zodiac sign tracking, and future projections.
Part of the Blueprint Research open-source ephemeris project.
█ WHAT'S INCLUDED
• Moon Declination — The Moon's angular distance from the celestial equator, oscillating rapidly (~27 days)
• Sun Declination — Optional overlay showing the Sun's seasonal declination (±23.4°)
• Node Declinations — North (☊) and South (☋) node lines forming the Moon's orbital envelope
• Future Projections — Project all lines up to 500 bars into the future
• Zodiac Crossing Markers — Indicates when the North Node reaches a particular zodiac degree. Keep in mind, nodes move through the zodiac in reverse.
█ CONCEPTS
Declination measures how far north or south a celestial body appears from the celestial equator. The Moon's declination oscillates rapidly, while its maximum range shifts slowly over the 18.6-year nodal cycle.
Node Declination Envelope:
The North (☊) and South (☋) node lines mark the envelope of the Moon's orbit—the theoretical maximum northern and southern declinations the Moon can reach.
Lunar Standstills:
The 18.6-year nodal cycle determines when the Moon reaches its most extreme declinations. During a major standstill, the Moon can exceed ±28° declination. During a minor standstill, the Moon's range is limited to approximately ±18°.
Out-of-Bounds (OOB):
When the Moon moves beyond ±23.44° declination, it exceeds the Sun's maximum reach and is considered "Out of Bounds."
█ COLORING OPTIONS
Phase Coloring (Moon)
Color the Moon's declination line by lunar phase:
• New Moon (0-90°): Slate silver
• First Quarter (90-180°): Mint
• Full Moon (180-270°): Bright gold
• Last Quarter (270-360°): Soft violet
Zodiac Sign Coloring (Nodes)
Color the node lines by their zodiac sign. When enabled, a color legend appears at the top, showing all 12 signs for reference.
█ ZODIAC FEATURES
Zodiac Sign Coloring
Color the North and South Node lines according to their zodiac sign positions.
Zodiac Crossing
Marks when the North Node crosses a specific zodiac degree. Select any sign and degree (0-29) to track. The North Node moves retrograde through the zodiac over an 18.6-year cycle.
█ RESEARCH FEATURES
Standstill Thresholds
Horizontal reference lines at key declination levels:
• ±28.6° Major Standstill (peak of the 18.6-year cycle)
• ±18.3° Minor Standstill (trough of the cycle)
• ±23.4° Out-of-Bounds threshold
OOB Highlighting
Optional background shading when the Moon exceeds the OOB threshold.
Node Equatorial Crossings
Crosshair markers indicate when the node's declination crosses 0° (equatorial passage).
Reference Line Labels
Labels at projection endpoints with an adjustable offset for readability.
█ FEATURES
• Moon declination with optional lunar phase coloring
• Sun declination overlay
• North and South node declinations (☊ and ☋)
• Future projections up to 500 bars
• Zodiac sign coloring with a color legend
• Zodiac degree-crossing markers
• Node equatorial-crossing markers
• Out-of-Bounds background highlighting
• Reference line labels with offset control
• Customizable line widths and colors
• Informative tooltips for all settings
• Works on all timeframes
█ HOW TO USE
1 — Add the indicator to your chart
2 — Configure which elements to display (Moon, Sun, Nodes)
3 — Enable future projections to view upcoming declination values
4 — Enable Zodiac coloring to track node sign positions
5 — Set a Zodiac Crossing degree to mark when the North Node crosses that point
6 — Enable Standstill Thresholds to show reference lines
7 — Toggle phase coloring to visualize the lunar cycle
█ THEORY
Lunar Theory: ELP2000-82 by Chapront-Touzé & Chapront
Solar Theory: VSOP87 for Sun position and phase calculation
Reference: Meeus, "Astronomical Algorithms" (2nd Ed., 1998)
█ LIMITATIONS
• Truncated ELP2000-82 theory (~10 arcseconds precision)
• Future projections assume consistent bar timing
• Phase coloring uses 4 phases (not the 8 traditional phases)
• Mean nodes only (no perturbation corrections)
█ OPEN SOURCE
Blueprint Research Ephemeris Libraries:
• lib_elp2000_moon — Lunar position and mean node calculations
• lib_vsop_core — Solar position and coordinate utilities
• lib_ephemeris — Unified planetary API
Third-Party Libraries:
• hsvColor by @kaigouthro — HSV color utilities (MPL 2.0)
© 2025-2026 BlueprintResearch (Javonnii) • CC BY-NC-SA 4.0
Futureprojections
Gann Square of Nine: Planetary Degrees█ Gann Square of Nine: Planetary Degrees maps planetary positions onto Gann's Square of Nine grid, tracking where pivot highs and lows accumulate by planetary degree. Use this indicator to identify recurring degree patterns on the So9, determine whether pivots cluster around cardinal, diagonal, or other significant angles, and project when the planet will return to those degrees.
Powered by the open-source BlueprintResearch Planetary Ephemeris library , which implements truncated VSOP87 (planets) and ELP2000 (Moon) series for high-accuracy celestial calculations entirely within Pine Script.
█ FEATURES
• Anchor Point System — Select any significant price pivot (high or low) as your reference point; all subsequent pivot tracking begins from this timestamp
• All 10 celestial bodies — Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto
• Geocentric or Heliocentric views — Toggle between Earth-centered (traditional) and Sun-centered perspectives
• Interactive Square of Nine table — Visual grid displaying the Gann spiral pattern with highlighted pivot degrees
• Automatic pivot detection — Configurable bar sensitivity to identify price pivots (symmetric left/right)
• Pivot degree labeling — Each detected pivot displays the planet's ecliptic longitude (0-360°) at that moment
• Target degree alerts — Define specific So9 degrees to watch; triggers alerts when the planet crosses them
• Preset So9 angles — Quick selection of degrees along major So9 lines (0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°)
• Custom degree input — Enter any degrees as comma-separated or newline-separated values
• Future degree projections — Scans up to 500 bars ahead and shows when the planet will reach each target degree
• Retrograde indicator — Shows ℞ symbol with red text when planets are in apparent retrograde motion
• So9 overlay tools — Plot 90° and 45° angle relationships from any entered degree
█ HOW IT WORKS
The Square of Nine Concept:
Gann's Square of Nine is a spiral grid where numbers flow outward from the center (1) in a square spiral pattern. Key angle relationships (0°, 45°, 90°, etc.) align along specific diagonals and cardinal lines. When planetary degrees land on the same So9 position as significant price pivots, it suggests potential support/resistance levels.
This Indicator:
1. User selects an "anchor" timestamp at a significant price pivot
2. The indicator calculates the selected planet's ecliptic longitude (0-360°) at each bar
3. Price pivots detected after the anchor are labeled with their planetary degrees
4. These degrees accumulate on the So9 grid, revealing patterns
5. Target degrees can be set to receive alerts when crossed
6. Future projections show when the planet will reach those target degrees
█ HOW TO USE
1. Click on the anchor timestamp input and select a significant high or low pivot on your chart
2. Choose "High" or "Low" pivot type based on your anchor point
3. Select your planet from the dropdown
4. Choose Geocentric (traditional) or Heliocentric view
5. The So9 table appears showing accumulated pivot degrees highlighted
6. Set target degrees using presets or custom input to receive crossing alerts
7. Future projections appear as vertical lines with date/time labels
8. Use the So9 overlay tools to visualize angle relationships from specific degrees
█ VISUAL GUIDE
So9 Table Colors:
• Anchor degree: White (⚓ symbol)
• Current planet position: Planet's assigned color with symbol
• Pivot Highs: Green background
• Pivot Lows: Red background
• Equal (both high and low): Orange background
• Diagonal crosses: Blue background
• Cardinal crosses: Red background
• Target degrees: Yellow highlight
Chart Labels:
• Pivot High labels appear above the price with the degree
• Pivot Low labels appear below the price with the degree
• Future projection lines: Yellow (upcoming) or Gray (already crossed since anchor)
█ SETTINGS OVERVIEW
1. Anchor Point — Set the starting pivot timestamp and type (High/Low)
2. Planet Selection — Choose celestial body and coordinate system
3. Target Degree Alerts — Configure which degrees to watch and receive alerts
4. Pivot Detection — Set bar sensitivity for pivot high/low detection and degree rounding precision
5. Visual Style — Customize colors and label sizes
6. So9 Grid Overlay — Enter a degree to visualize its angular relationships
7. So9 Table — Position, sizing, and color options for the grid
8. So9 Diagonals — Toggle and color the diagonal/cardinal cross highlights
█ LIMITATIONS & ACCURACY
This indicator uses optimized VSOP87 and ELP2000 series tailored for Pine Script performance. It delivers excellent accuracy for trading and analytical purposes.
Expected Accuracy:
• Sun, Moon, Mercury, Venus, Mars: Within 1-10 arcseconds
• Jupiter, Saturn: Within 10-30 arcseconds
• Uranus, Neptune: Within 1-2 arcminutes
• Pluto: Simplified Meeus method (valid 1900-2100)
Degree Resolution:
The So9 grid uses integer degrees (1-361). Planetary positions are rounded to the nearest whole degree for grid placement. Precise decimal degrees are retained for crossing calculations and alerts.
Crossing Detection:
Future projection lines and background highlights both point to the confirmation bar—the first bar where the crossing can be verified. Alerts also trigger on this bar. This ensures all visual elements align consistently: when the chart reaches a future projection line, that bar closes with the crossing confirmed and highlighted.
█ CREDITS
• Square of Nine grid visualization adapted from ThiagoSchmitz's "Gann Square of 9" (Feb 2023)
• Ephemeris calculations via BlueprintResearch/lib_ephemeris open-source library
Planetary Retrograde Periods█ PLANETARY RETROGRADE PERIODS
Visualize when planets appear to move backward through the zodiac. This indicator detects and displays retrograde motion for all 8 planets that exhibit apparent retrograde motion from Earth's perspective: Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Powered by the BlueprintResearch lib_ephemeris library.
█ FEATURES
• 8 Planets Supported — Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto
• Two-Phase Visualization — Distinguishes first half (speed increasing in retrograde direction) from second half (speed decreasing toward direct motion) with different transparency levels
• Future Projections — Projects upcoming retrograde periods up to 500 bars ahead on any timeframe
• Station Markers — Clear labels for Station Retrograde (℞), Midpoint (½), and Station Direct (D)
• Timezone-Aware Labels — Future date/time labels display in your selected timezone
• Alert Conditions — Set alerts for station retrograde, station direct, or any station point
• Per-Planet Colors — Customize colors for each planet individually
• Speed-Based Detection — More accurate than longitude-based methods
█ HOW TO USE
1. Select a Planet — Choose which planet to track from the dropdown (Mercury through Pluto)
2. Enable Two-Phase Display — Toggle "Show Retrograde Halves" to see first half vs. second half shading
3. Configure Future Projections — Set how many bars ahead to scan (1-500) and enable/disable date labels
4. Set Your Timezone — Choose your timezone for accurate future date/time display
5. Customize Colors — Adjust planet colors, transparency levels, and label text color to match your chart theme
6. Create Alerts — Use TradingView's alert system with the built-in conditions for station points
█ UNDERSTANDING THE DISPLAY
Background Colors:
• First Half of the Planet’s retrograde (lighter shade)
• Second Half of the Planet’s retrograde period (darker shade)
Future Projection Lines:
• ℞ (Station Retrograde) — Yellow dotted line marking when the planet will station retrograde
• ½ (Midpoint) — Shorter line in planet color marking the halfway point of the retrograde period
• D (Station Direct) — Green dotted line marking when the planet will station direct
Labels:
• Top label shows planet symbol and station type
• Bottom label shows projected date and time (optional)
█ ACCURACY
This indicator uses speed-based detection
Timing Accuracy:
• All planets (Mercury through Pluto): Within hours to ±1 day
• Future projections maintain accuracy up to 500 bars on any timeframe
• Spot tested on Daily and Weekly charts with excellent results
For Critical Applications:
Cross-reference with professional ephemeris tools such as JPL Horizons or Swiss Ephemeris for mission-critical timing.
█ TECHNICAL DETAILS
Theory: VSOP87 (Mercury through Neptune), Meeus algorithms (Pluto)
█ REFERENCES
• Meeus, Jean. "Astronomical Algorithms" (2nd Edition, 1998)
• Bretagnon & Francou. "VSOP87 Solutions" — Astronomy and Astrophysics 202 (1988)
Planetary IngressDisplays planetary ingresses, the moments when a planet crosses from one zodiac sign into another. This indicator marks historical ingresses directly on your chart and projects upcoming ones with precise date, time, and retrograde status.
Powered by the open-source BlueprintResearch Planetary Ephemeris library , which implements truncated VSOP87 (planets) and ELP2000 (Moon) series for high-accuracy celestial calculations entirely within Pine Script.
█ FEATURES
• All 10 celestial bodies — Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto
• Geocentric or Heliocentric views — toggle between Earth-centered (standard astrology) and Sun-centered perspectives
• Retrograde indicator — shows ℞ symbol when a planet is in apparent retrograde motion (geocentric only)
• Future ingress projection — displays the following sign change as a dotted vertical line with customizable date/time and timezone
• Color-coded by zodiac sign — 12 fully customizable colors for each sign
• Per-sign visibility controls — easily show/hide specific signs
• Per-sign alerts — get notified when a planet enters selected signs
• Fully customizable labels — adjust size, colors, transparency, and placement
█ HOW TO USE
1. Select your planet from the dropdown
2. Choose Geocentric (traditional) or Heliocentric view
3. Historical ingresses appear as labels above price bars with a planet symbol and a zodiac sign
4. The next future ingress is shown as a dotted vertical line with projected date/time
5. Hover over labels for exact degree position (e.g., "0°Ari00'")
6. Set up alerts via "Alert on Ingress" settings for specific sign entries
█ LIMITATIONS & ACCURACY
This indicator uses optimized, truncated VSOP87 and ELP2000 series tailored for Pine Script performance. It delivers excellent accuracy for trading and analytical purposes, but is not intended for professional astronomical use.
Expected Ingress Timing Accuracy (Geocentric view):
• Sun, Moon, Mercury, Venus, Mars: Within hours to ±1 day
• Jupiter, Saturn: Within ±1–2 days
• Uranus, Neptune: Within ±3–7 days
• Pluto: Within ±1–2 weeks (simplified Meeus method, valid 1900–2100)
Heliocentric view: Inner and faster-moving planets match geocentric accuracy. Outer planets (especially Uranus/Neptune) may occasionally show larger variances (up to ±1 month in rare cases) due to their extremely slow motion amplifying minor truncation effects in the series.
Why outer planets vary more:
Slower planets take weeks or months to cross a single degree. Even minor positional discrepancies from truncated terms can shift ingress timing by days or weeks—most noticeable with the outermost bodies.
Recommendation: For mission-critical timing, always cross-reference with professional tools such as JPL Horizons , Swiss Ephemeris, or Astro.com.
█ ROADMAP
Accuracy improvements are an ongoing priority. The modular library design allows targeted upgrades to individual planets without breaking existing functionality.
Planned Enhancements:
• Higher-precision outer planet calculations (Uranus, Neptune)
• Improved heliocentric outer planet accuracy
• Enhanced Pluto method
• Additional series terms where beneficial
Updates will be released through the BlueprintResearch/lib_ephemeris library—follow for notifications.
█ OPEN SOURCE
This indicator is part of the fully open-source Planetary Ephemeris project. The core ephemeris library is public for study, modification, and reuse in your own scripts:
• BlueprintResearch/lib_ephemeris — Main planetary calculation engine
Licensed under MPL 2.0 — free to use and modify, with changes to the library shared back to the community.
lib_ephemeris █ PLANETARY EPHEMERIS MASTER LIBRARY
Unified API for calculating planetary positions. Import this single library to access all 11 celestial bodies: Sun, Moon, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Theory: VSOP87 (planets), ELP2000-82 (Moon), Meeus (Pluto)
═══════════════════════════════════════════════════════════════
█ QUICK START
//@version=6
indicator("Planetary Ephemeris Demo")
import BlueprintResearch/lib_ephemeris/1 as eph
// Get all planets
sun = eph.string_to_planet("Sun")
moon = eph.string_to_planet("Moon")
mercury = eph.string_to_planet("Mercury")
venus = eph.string_to_planet("Venus")
mars = eph.string_to_planet("Mars")
jupiter = eph.string_to_planet("Jupiter")
saturn = eph.string_to_planet("Saturn")
uranus = eph.string_to_planet("Uranus")
neptune = eph.string_to_planet("Neptune")
pluto = eph.string_to_planet("Pluto")
// Get longitude for each planet (geocentric)
sun_lon = eph.get_longitude(sun, time, true)
moon_lon = eph.get_longitude(moon, time, true)
mercury_lon = eph.get_longitude(mercury, time, true)
venus_lon = eph.get_longitude(venus, time, true)
mars_lon = eph.get_longitude(mars, time, true)
jupiter_lon = eph.get_longitude(jupiter, time, true)
saturn_lon = eph.get_longitude(saturn, time, true)
uranus_lon = eph.get_longitude(uranus, time, true)
neptune_lon = eph.get_longitude(neptune, time, true)
pluto_lon = eph.get_longitude(pluto, time, true)
// Plot all planets
plot(sun_lon, "Sun", color.yellow)
plot(moon_lon, "Moon", color.silver)
plot(mercury_lon, "Mercury", color.orange)
plot(venus_lon, "Venus", color.green)
plot(mars_lon, "Mars", color.red)
plot(jupiter_lon, "Jupiter", color.purple)
plot(saturn_lon, "Saturn", color.olive)
plot(uranus_lon, "Uranus", color.aqua)
plot(neptune_lon, "Neptune", color.blue)
plot(pluto_lon, "Pluto", color.gray)
═══════════════════════════════════════════════════════════════
█ AVAILABLE FUNCTIONS
Core Data Access:
• string_to_planet(string) → Planet enum
• get_longitude(Planet, time, preferGeo) → degrees [0, 360)
• get_declination(Planet, time) → degrees
• get_speed(Planet, time) → degrees/day
• is_retrograde(Planet, time) → true/false
Planetary Averages:
• get_avg6_geo_lon(time) → 6 outer planets average
• get_avg6_helio_lon(time)
• get_avg8_geo_lon(time) → 8 classical planets average
• get_avg8_helio_lon(time)
Utility:
• normalizeLongitude(lon) → normalize to [0, 360)
═══════════════════════════════════════════════════════════════
█ SUPPORTED PLANET STRINGS
Works with symbols or plain names (case-insensitive):
• "☉︎ Sun" or "Sun"
• "☽︎ Moon" or "Moon"
• "☿ Mercury" or "Mercury"
• "♀ Venus" or "Venus"
• "🜨 Earth" or "Earth"
• "♂ Mars" or "Mars"
• "♃ Jupiter" or "Jupiter"
• "♄ Saturn" or "Saturn"
• "⛢ Uranus" or "Uranus"
• "♆ Neptune" or "Neptune"
• "♇ Pluto" or "Pluto"
═══════════════════════════════════════════════════════════════
█ COORDINATE SYSTEMS
Geocentric: Positions relative to Earth (default for Sun/Moon)
Heliocentric: Positions relative to the Sun
Use the preferGeo parameter in get_longitude():
• true = geocentric
• false = heliocentric
Sun and Moon always return geocentric (heliocentric not applicable).
═══════════════════════════════════════════════════════════════
█ FUTURE PROJECTIONS
Project planetary positions into the future using polylines:
import BlueprintResearch/lib_vsop_core/1 as core
// Get future timestamp (250 bars ahead)
future_time = core.get_future_time(time, 250)
// Calculate future position
future_lon = eph.get_longitude(mars, future_time, true)
Use with polyline.new() to draw projected paths on your chart. See the commented showcase code in this library's source for a complete 250-bar projection example.
═══════════════════════════════════════════════════════════════
█ OPEN SOURCE
This library is part of an open-source planetary ephemeris project.
Free to use with attribution. MIT License.
═══════════════════════════════════════════════════════════════
█ REFERENCES
• Meeus, Jean. "Astronomical Algorithms" (2nd Ed., 1998)
• Bretagnon & Francou. "VSOP87 Solutions" (1988)
• Chapront-Touzé & Chapront. "ELP2000-82" (1983)
═══════════════════════════════════════════════════════════════
© 2025 BlueprintResearch (Javonnii) • MIT License
@version=6
normalizeLongitude(lon)
Normalizes any longitude value to the range [0, 360) degrees.
Parameters:
lon (float) : (float) Longitude in degrees (can be any value, including negative or >360).
Returns: (float) Normalized longitude in range [0, 360).
string_to_planet(planetStr)
Converts a planet string identifier to Planet enum value.
Parameters:
planetStr (string) : (string) Planet name (case-insensitive). Supports formats: "Sun", "☉︎ Sun", "sun", "SUN"
Returns: (Planet) Corresponding Planet enum. Returns Planet.Sun if string not recognized.
@note Supported planet strings: Sun, Moon, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto
get_longitude(p, t, preferGeo)
Returns planetary longitude with automatic coordinate system selection.
Parameters:
p (series Planet) : (Planet) Planet to query.
t (float) : (float) Unix timestamp in milliseconds (use built-in 'time' variable).
preferGeo (bool) : (bool) If true, return geocentric; if false, return heliocentric.
Returns: (float) Longitude in degrees, normalized to range [0, 360).
@note Sun and Moon always return geocentric regardless of preference (heliocentric not applicable).
get_declination(p, t)
Returns planetary geocentric equatorial declination.
Parameters:
p (series Planet) : (Planet) Planet to query.
t (float) : (float) Unix timestamp in milliseconds (use built-in 'time' variable).
Returns: (float) Geocentric declination in degrees, range where positive is north.
@note Declination is always geocentric (no heliocentric equivalent in library).
get_speed(p, t)
Returns planetary geocentric longitude speed (rate of change).
Parameters:
p (series Planet) : (Planet) Planet to query.
t (float) : (float) Unix timestamp in milliseconds (use built-in 'time' variable).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion. Returns na for Moon.
@note Speed is always geocentric (no heliocentric equivalent in library). Moon speed calculation not implemented.
get_avg6_geo_lon(t)
get_avg6_geo_lon
@description Returns the arithmetic average of the geocentric longitudes for the six outer planets: Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Parameters:
t (float) : (float) Time in Unix timestamp (milliseconds).
Returns: (float) Average geocentric longitude of the six outer planets in degrees, range [0, 360).
get_avg6_helio_lon(t)
get_avg6_helio_lon
@description Returns the arithmetic average of the heliocentric longitudes for the six outer planets: Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Parameters:
t (float) : (float) Time in Unix timestamp (milliseconds).
Returns: (float) Average heliocentric longitude of the six outer planets in degrees, range [0, 360).
get_avg8_geo_lon(t)
get_avg8_geo_lon
@description Returns the arithmetic average of the geocentric longitudes for all eight classical planets: Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Parameters:
t (float) : (float) Time in Unix timestamp (milliseconds).
Returns: (float) Average geocentric longitude of all eight classical planets in degrees, range [0, 360).
get_avg8_helio_lon(t)
get_avg8_helio_lon
@description Returns the arithmetic average of the heliocentric longitudes for all eight classical planets: Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.
Parameters:
t (float) : (float) Time in Unix timestamp (milliseconds).
Returns: (float) Average heliocentric longitude of all eight classical planets in degrees, range [0, 360).
is_retrograde(p, t)
Returns true if the planet is currently in retrograde motion (geocentric speed < 0) == 0 = stationary.
Parameters:
p (series Planet) : The planet to check.
t (float) : Time in Unix timestamp (milliseconds).
Returns: true if the planet is in retrograde, false otherwise.
Path of the Planets🪐 Path of the Planets
Path of the Planets is an open-source Pine Script™ v6 indicator. It is inspired by W.D. Gann’s Path of Planets chart, specifically the Chart 5-9 artistic replica by Patrick Mikula "shown below". The script visualizes planetary positions so you can explore possible correlations with price. It overlays geocentric and heliocentric longitudes and declinations using the AstroLib library and includes an optional positions table that shows, at a glance, each body’s geocentric longitude, heliocentric longitude, and declination. This is an educational tool only and not trading advice.
Key Features
Start point: Choose a date and time to begin plotting so studies can align with market events.
Adjustments: Mirror longitudes and shift by 360° multiples to re-frame cycles.
Planets: Toggle geocentric and heliocentric longitudes and declinations for Sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto. Moon declination is available.
Positions table: Optional color-coded table (bottom-right) with three columns labeled Geo, Helio, and Dec. Values show degrees with the zodiac sign for the longitudes and degrees for declinations.
Visualization: Solid lines for geocentric longitudes, circles for heliocentric longitudes, and columns for declinations. Includes a zero-declination reference line.
How It Works
Converts bar timestamps to Julian days via AstroLib.
Fetches positions with AstroLib types: geocentric (0), heliocentric (1), and declination (3).
Normalizes longitudes to the −180° to +180° range, applies optional mirroring and 360° shifts, and converts longitudes to zodiac sign labels for the table.
Plots and the table update only on and after the selected start time.
Usage Tips
Apply on daily or higher timeframes when studying broader cycles. For degrees, use the left scale.
Limitations at the moment: default latitude, longitude, and timezone are set to 0; aspects and retrogrades are not included; the focus is on raw paths.
License and Credits
Dependency: @BarefootJoey Astrolib
Contributions and observations are welcome.
Planetary Retrograde DashboardThe Retrograde Dashboard offers a quick overview of all planets and their historical and current retrograde statuses across various time frames.
How This Indicator Works
Custom Overlay: The indicator displays its own overlay, plotting the periods of planetary retrograde. This enables users to visually track all planetary retrogrades over time, both historically and in real-time.
When a planet is in retrograde, its symbol will show the ℞ retrograde symbol next to it.
When a planet is in direct motion, only the planetary symbol is visible.
The indicator adapts to different timeframes, allowing you to analyze whether a planet was in retrograde at any specific moment.
What is Retrograde Motion?
In astrology and astro-finance, retrograde motion occurs when a planet seems to move backward in the sky from Earth's perspective. Although this is an optical illusion due to differences in orbital speeds, many traders and analysts believe that planetary retrogrades can influence market behavior. Retrogrades are often linked with reassessment, reversals, and shifts in momentum, making them valuable for both historical and predictive market analysis.
Research & Discovery – Compare planetary retrograde cycles with historical market behavior to identify potential correlations.
Created using Astrolib by @BarefootJoey
Price and Longitude Angles Planetary Price & Longitude Angles Indicator
This indicator plots planetary price and longitude angles starting from a user-selected date and time, offering a distinctive lens to explore the relationship between price and planetary timing. It supports both heliocentric and geocentric, enabling flexible and in-depth planetary analysis. The angles can be plotted across any time frame for maximum versatility.
How to Use
Once the indicator is loaded, you’ll be prompted to select a starting date and time for your analysis. From there, customize it as follows:
Select Planetary Options:
To plot the price and longitude for a single planet, choose the same planet in both dropdown menus.
To plot the average of two planets, select a different planet in each dropdown.
Set the Price Per Degree of Longitude: Adjust this value to define the scaling of the planetary angles relative to price.
Customize Fan Settings:
Toggle the mirroring of the fan on or off based on your needs.
Show or hide specific angle divisions to tailor the display to your preferences.
Display or conceal the information label that indicates the price per longitude and the number of degrees traveled.
This indicator is inspired by the methodologies of W.D. Gann and Patrick Mikula, expanding on concepts from Gann Scientific Method Unveiled, Volume 2. It was built using Astrolib by @BarefootJoey
I crafted this tool through dedication to support my own study of these ideas. I’m sharing it open-source not only to deepen my understanding and honor the work of Gann and Mikula, but also to invite collaboration. There’s always room for improvement—whether in functionality, accuracy, or design—and I hope others will join me in refining it. This is for those like me: eager to explore these concepts but lacking tools to experiment with. Let’s build on it together.







