Planetary Fan Array [BlueprintResearch]█ Planetary Fan Array automatically detects ZigZag price pivots and draws Gann-style fan angles whose slope is driven by real-time planetary longitude — not fixed geometric ratios. Each time price reverses direction, the indicator anchors a new set of fan lines at the pivot and traces their path using accumulated planetary motion, creating a dynamic framework where the angles evolve with celestial mechanics.
Designed as the pivot-based companion to Price and Longitude Angles , which draws fan lines from a single user-selected anchor point. Use both together: Price and Longitude Angles for static analysis from a key high or low, and Planetary Fan Array for automatic swing-by-swing tracking as new pivots form.
Powered by the open-source Blueprint Ephemeris library (VSOP87D + ELP2000-82 + Meeus) — all planetary positions computed directly in Pine Script, no external data required. Validated against NASA's DE440 ephemeris: all bodies under 0.1° RMS (Sun 0.004°, planets 0.005°–0.017°, Moon 0.062°, Pluto 0.059°).
█ HOW IT WORKS
The indicator combines two independent systems:
1. Pivot Detection
A ZigZag algorithm (via DevLucem/ZigLib) identifies significant highs and lows on price. The "Pivot Sensitivity" control sets the minimum bars between pivots — higher values produce fewer, more significant swings.
2. Longitude-Driven Fan Angles
At each pivot, the indicator begins accumulating planetary longitude (degrees traveled since the pivot). This accumulation is converted to price movement using a configurable $/° (price per degree) ratio, producing diagonal fan lines whose slope reflects actual planetary speed — including natural curves during retrograde motion.
Three fan lines are drawn per swing:
• 1x1 — 1° of longitude = 1 unit of price (on by default, toggleable)
• Ratio 2 — User-selectable (1x8 through 8x1)
• Ratio 3 — User-selectable (1x8 through 8x1)
Fan direction follows the swing: upward swings project fan lines upward from the pivot low, downward swings project downward from the pivot high. Mirror Mode inverts this for resistance/support analysis.
█ FEATURES
Automatic Swing Detection
• ZigZag-based pivot identification with configurable sensitivity, deviation, and backstep
• New fan angles automatically generated at each confirmed pivot
• Up to 30 historical swings preserved with full polyline rendering (Max History: 5–30, default 15)
Three Calculation Modes
• Single — Track one planet's longitude accumulation
• Average — Midpoint of two planets' accumulated longitude
• Synodic — Angular separation between two planets (synodic cycle phase)
12 Celestial Bodies
• ☉ Sun · ☽ Moon · ☿ Mercury · ♀ Venus · 🜨 Earth · ♂ Mars · ♃ Jupiter · ♄ Saturn · ⛢ Uranus · ♆ Neptune · ♇ Pluto
• 🜨 ERA (Earth Rotation Angle) — sidereal time, requires ≤15-minute timeframe
Swing Extensions
• Extend the last 1–3 completed swings to the current bar so prior angles remain visible when a new pivot forms
• Default extends 1 prior swing — you never lose the trend you were tracking
Future Projections
• Project fan lines up to 250 bars into the future from the current bar
• Projections use bar-index positioning for clean rendering on non-continuous markets (stocks, futures, indexes)
• Projected lines maintain the same color and style as historical lines — no visual break at the transition
Curved Polylines
• Fan lines are rendered as polylines that follow the actual longitude path bar by bar
• Natural curvature during retrograde periods — no straight-line approximation
• Optional smooth curves for non-continuous markets
Visual System
• Planet-specific HSV color palette consistent with Price and Longitude Angles
• Optional color overrides for the 1x1 line and ratio lines independently
• Configurable line width (1–5 pixels) applied to all fan lines
• Per-ratio line styles (Solid, Dotted, Dashed) and transparency controls
• Green ▲ and red ▼ pivot markers at detected lows and highs — these are the swing points the indicator builds its fan angles from
• Optional ZigZag connecting line with configurable width
• Info panel showing $/°, mode, planet, degrees traveled, swing direction, and swing count (X/Y where Y is your Max History setting)
• Warning indicator when both user ratios are set to the same value
Alerts
• 1x1 Cross — fires when price crosses the 1x1 fan line
• Ratio 2 Cross — fires when price crosses the second ratio fan line
• Ratio 3 Cross — fires when price crosses the third ratio fan line
• New Pivot — fires when a new pivot is detected and swing direction changes
█ HOW TO USE
1. Add the indicator to your chart. You'll immediately see green ▲ and red ▼ triangle markers on the chart — these mark every detected swing low and swing high. When prompted, click a significant high or low to set your starting point. Fan angles will only be drawn from that point forward.
2. Select your planet(s) in the Planet Selection group. For single-planet analysis, choose your planet as the Primary. For Average or Synodic modes, select both planets.
3. Choose Geocentric (Earth-centered, standard astrology) or Heliocentric (Sun-centered) in the Planet Selection group. Sun and Moon are always geocentric regardless of this setting.
4. Adjust "Price per 1°" to scale the fan angles to your market. Start with 1.0 and increase or decrease until the 1x1 line aligns with meaningful price action. This is the most important calibration step.
5. Set "Pivot Sensitivity" to control how many swings appear. Higher values (30-50) show only major turns; lower values (10-15) catch smaller moves.
6. Choose your two additional fan ratios. The 1x1 is on by default; Ratio 2 and Ratio 3 let you add steeper or shallower angles (e.g., 2x1 for faster price/degree, 1x2 for slower). All three ratios can be toggled independently.
7. Enable Extend Swings (default: 1) to keep the prior swing's angles visible after a new pivot forms.
8. Use future projections to see where fan lines will extend. On non-continuous markets, projections automatically space correctly across market gaps.
9. Check the info panel in the top-right corner. The "Swings" row shows how many completed swings are being tracked out of your Max History limit (e.g., "12/15"). Increase Max History (up to 30) in the Appearance group to keep more swings on screen, or decrease it to reduce visual clutter.
█ WHAT MAKES THIS ORIGINAL
Most planetary angle indicators on TradingView use a single fixed anchor point chosen by the user. This indicator takes a fundamentally different approach: it automatically detects price pivots and generates a new set of longitude-driven fan angles at every swing reversal. The result is a living framework that adapts as the market develops new structure.
Key technical contributions:
• Automatic pivot-to-pivot longitude accumulation — fan angles are driven by actual planetary motion between detected swings, not static geometric construction
• Net displacement through retrograde — longitude accumulates through retrograde motion (allowing negative deltas) rather than clipping to zero, producing smooth fan lines without plateaus
• Polyline-based curved fan rendering — each fan line is a bar-by-bar polyline following the planet's actual path, not a straight line between endpoints
• Global longitude history arrays — planetary positions are stored every bar and reused for extensions, eliminating recalculation discontinuities on non-continuous markets
• Bar-index projection positioning — future projections use bar_index instead of bar_time, preventing vertical line artifacts on non-continuous markets (stocks, futures, indexes during market close)
• Swing extension system — completed swings can be extended to the current bar, preserving visual continuity when new pivots form
• Full VSOP87D + ELP2000-82 + Meeus ephemeris computed in real time — 511 terms (1.6% of full theory) delivering sub-0.1° accuracy against JPL DE440
█ LIMITATIONS & TIPS
• TradingView limits polylines to 100. Each swing uses 3 polylines (one per ratio). With Extend Swings active, keep Max History ≤ 20 to avoid hitting the cap.
• The $/° ratio is market-specific. What works for Bitcoin ($50/°) won't work for ES ($0.50/°). Experiment with the scale to find meaningful alignment.
• ERA (Earth Rotation Angle) rotates ~360°/day — only useful on intraday timeframes ≤15 minutes. A runtime error appears if you select ERA on higher timeframes.
• On non-continuous markets (stocks, futures), the fan line may show a slightly steeper segment across weekend/holiday gaps because the planet moved during market close. This is astronomically accurate — the visual compression is inherent to how non-continuous charts display time.
• For mission-critical timing, always cross-reference with professional tools such as JPL Horizons , Swiss Ephemeris, or Astro.com.
█ COMPANION INDICATOR
• Price and Longitude Angles — The static anchor version. Draw fan lines from any user-selected high or low with 9 Gann ratios (1x8 through 8x1), zodiac bar coloring, aspect table, and cycle counter. Use it for focused analysis of a single key level; use Planetary Fan Array for automatic swing-by-swing coverage.
█ OPEN SOURCE
This indicator is part of the fully open-source Planetary Ephemeris project. The core ephemeris library is publicly available for study, modification, and reuse:
• BlueprintResearch/blueprint_ephemeris_lib — Planetary calculation engine (VSOP87D, ELP2000-82, Meeus)
█ CREDITS & DEPENDENCIES
This indicator is built on top of three exceptional open-source libraries. Without the work of these authors, Planetary Fan Array would not exist.
• Blueprint Ephemeris by @BlueprintResearch — The astronomical engine powering every planetary calculation in this indicator. Computes real-time ecliptic longitude, declination, and speed for all 11 celestial bodies using VSOP87D (planets), ELP2000-82 (Moon), and Meeus algorithms (Pluto) — entirely within Pine Script. Open source (CC BY-SA 4.0).
• ZigLib by @DevLucem — The backbone of all pivot detection in this indicator. Provides the ZigZag algorithm that identifies swing highs and lows, returning precise pivot times and prices that anchor every fan angle. Without ZigLib, there are no swings.
• hsvColor by @kaigouthro — The color system behind the planet-specific HSV palette. Provides HSV color construction and gradient interpolation that gives each celestial body its distinct visual identity. Open source (MPL-2.0).
• Theoretical framework inspired by W.D. Gann's price-time geometry and Patrick Mikula's Gann's Scientific Methods Unveiled , Volume 2, which details the relationship between planetary longitude and price movement.
Indicator

Planetary Ingress Dashboard [BlueprintResearch]Visualizes when planetary ingresses, the moments when celestial bodies cross from one zodiac sign into the next, clustering them together in time. A centered rolling window counts how many bodies have recently changed or will soon change signs, revealing periods of concentrated sign-change activity as a color-coded histogram.
Powered by the open-source BlueprintResearch Planetary Ephemeris library — 511 of the 31,577 original VSOP87D terms (just 1.6%) — yet achieving sub-0.1° accuracy against NASA JPL's DE440 reference ephemeris. All celestial longitude calculations (VSOP87D planets, ELP2000-82 Moon, Meeus Pluto) run entirely in Pine Script.
█ CONCEPTS
An ingress occurs when a planet's ecliptic longitude crosses a 30° sign boundary (0° Aries, 0° Taurus, etc.). Individual ingresses are meaningful on their own, but when multiple planets change signs within a narrow time window, that convergence may carry additional significance for cycle-based analysis.
This concept draws on the extensive research of Patrick Mikula, whose published works on W.D. Gann's methods detail how clustered planetary sign changes can serve as a timing framework. The visual design pays homage to the cover art of Gann's Tunnel Thru the Air — the cityscape silhouette along the bottom of the cover inspired the histogram outline, the sand-dune terrain, and the blueprint-blue palette. This indicator provides tools to study and visualize that idea on any instrument and timeframe.
This indicator applies a centered ±N window (configurable in days or bars) around each chart bar. For each enabled body, it checks:
• Whether the body ingressed within the past N units (using a binary-search refinement to pinpoint exact crossing times)
• Whether the body will ingress within the next N units (by evaluating its longitude at a future timestamp)
The sum of these counts determines the histogram's height at each bar. Higher bars indicate more sign changes clustering around that moment in time.
█ FEATURES
Celestial Bodies
• 11 toggleable bodies — Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, and Lunar Nodes
• Each body has a unique color, shown in both histogram labels and future projection markers
• Sun, Moon, and Nodes are always geocentric; planets respect the Geocentric/Heliocentric toggle
Histogram Display
• Fill-based histogram with no drawing-object limits — works across the full chart history
• 5-tier discrete color gradient (1 ingress through 5+) — fully customizable
• Rolling sand-dune ground band with adjustable waviness for visual depth
• Dark blueprint-blue gradient background (toggle on/off, colors customizable)
• Histogram outline for building-silhouette definition
Future Projections
• Scans up to 500 bars ahead for upcoming ingresses
• Per-bar colored boxes indicate projected cluster intensity
• Individual planet symbol labels at each projected ingress, with hover tooltips showing the sign, date, and time
• Timezone selector for future date/time display (10 major zones)
• Sand dune and blueprint background extend seamlessly into the projection area
Performance
• Configurable bar calculation limit (default: 500 bars) for faster loading on instruments with deep history
• Set to 0 for unlimited calculation across all available bars
Ingress Timing
• A 15-iteration binary search between adjacent bars pinpoints the exact ingress moment
• Planet symbols are placed on the bar where the crossing actually occurred, not on the detection bar
█ HOW TO USE
1 — Enable the celestial bodies you want to track in the Celestial Bodies group
2 — Choose Geocentric (traditional, Earth-centered) or uncheck for Heliocentric (Sun-centered)
3 — Adjust the Rolling Window (±) to control cluster sensitivity — smaller values (1–2) highlight tight clusters, while larger values (5–10) reveal broader convergence zones
4 — Select Days or Bars for the window unit — Days uses calendar days (consistent across timeframes), while Bars uses chart bar duration (scales with your timeframe)
5 — Histogram bars appear in the lower pane — taller bars with warmer colors indicate more sign changes clustering near that date
6 — Planet symbols above histogram bars identify which bodies ingressed
7 — The future projection extends to the right of the current bar, showing where upcoming clusters are forming
8 — Hover over any future label to see the projected sign entry and date/time in your selected timezone
9 — If performance is slow on long-history instruments, reduce Limit Calculation (Bars) or keep the default of 500
█ LIMITATIONS & ACCURACY
The underlying ephemeris uses only 511 of the 31,577 original VSOP87D terms — just 1.6% — yet achieves sub-0.1° accuracy for every planet. It has been cross-validated against NASA JPL's DE440 reference ephemeris (via Skyfield).
Positional Accuracy (RMS vs JPL DE440):
• Sun: 0.004°
• Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune: 0.005°–0.017°
• Moon: 0.062°
• Pluto: 0.059° (Meeus method, valid 1900–2100)
All planets achieve sub-0.1° RMS accuracy. In practice, ingress timing has been manually verified against professional ephemerides:
• Sun, Moon, Mercury, Venus, Mars: Within minutes to ~1 hour
• Jupiter, Saturn: Within a few hours
• Uranus, Neptune, Pluto: Same-day accuracy — typically within ~18 hours, even for the slowest-moving bodies
Accuracy validation plots (Pine Script vs JPL DE440) are available in the library release notes .
Moon on Daily+ Charts:
The Moon changes signs approximately every 2.5 days. On daily or higher timeframes, some Moon ingresses may fall between bars and be missed. For best Moon coverage, use a 12-hour or lower timeframe. A warning label appears when the Moon is enabled on daily or higher timeframes.
Recommendation: For mission-critical timing, always cross-reference with professional tools such as JPL Horizons , Swiss Ephemeris, or Astro.com.
█ WHAT MAKES THIS ORIGINAL
Most planetary indicators on TradingView show individual planet positions or single-planet events. This dashboard takes a fundamentally different approach: it aggregates sign-change events across all enabled bodies into a unified time-density visualization, answering the question "When are multiple planets changing signs at the same time?"
Key technical contributions:
• Multi-body ingress clustering algorithm with a centered rolling window
• Binary-search ingress refinement (15 iterations) for sub-bar timing precision
• Fill-based historical histogram (unlimited data) combined with polyline/box-based future projection
• Full VSOP87D + ELP2000-82 + Meeus ephemeris computed in real time within Pine Script — 511 terms (1.6% of the full theory) delivering sub-0.1° accuracy against JPL DE440
█ COMPANION INDICATOR
• Planetary Ingress — A single-planet ingress indicator with on-chart labels, retrograde markers, and per-sign alerts. Use it with this dashboard to view individual planet details while monitoring cluster activity here.
█ OPEN SOURCE
This indicator is part of the fully open-source Planetary Ephemeris project. The core ephemeris library is publicly available for study, modification, and reuse in your own scripts:
• BlueprintResearch/blueprint_ephemeris_lib — Planetary calculation engine (VSOP87D, ELP2000-82, Meeus)
█ FURTHER READING
For the research on ingress clustering as a timing method, see Patrick Mikula, Gann's Scientific Methods Unveiled , Volume 1, Chapter 7: Planetary Ingress.
Indicator

Hyperfork Matrix🔱 Hyperfork Matrix 🔱 A manual Andrews Pitchfork tool with action/reaction propagation lines and lattice matrix functionality. This indicator extends Dr. Alan Andrews' and Patrick Mikula's median line methodology by automating the projection of reaction and action lines at equidistant intervals, creating a time-price grid that highlights where pivot levels intersect the matrix.
Three pitchfork variants are supported: Original, Schiff, and Modified Schiff. Each variant adjusts the anchor point position to accommodate different trend angles.
═══════════════════════════════════════════════════════════════
█ THE METHOD
Andrews Pitchfork
Dr. Alan Andrews developed the pitchfork as a trend channel tool. The core principle: price tends to return to the median line roughly 80% of the time. When it fails to reach the median, a reversal may be developing.
A pitchfork requires three pivot points:
• Point A — The anchor (starting pivot)
• Point B — First swing in the opposite direction
• Point C — Second swing, same direction as A
The median line runs from Point A through the midpoint of B-C. Parallel lines through B and C form the channel boundaries.
Action/Reaction Principle
Based on Newton's third law ("action and reaction are equal and opposite"), this principle suggests that price movements elicit proportional reactions in the future. By projecting lines at equal intervals along the pitchfork's slope, we anticipate where these reactions may occur.
Lattice Matrix
The lattice squares pivot price levels to the matrix structure. A horizontal from your selected pivot intersects the pitchfork and propagation lines, with verticals drawn at each intersection. These verticals mark time points where price-time geometry converges—potential areas to watch for trend changes.
═══════════════════════════════════════════════════════════════
█ HOW THE INDICATOR WORKS
This section explains the calculation flow from your inputs to the final drawing.
Step 1 — Pivot Selection
You click on the chart to select three timestamps. The indicator retrieves the high or low price at each timestamp based on your starting pivot type selection:
• Starting with "Low" creates a Low-High-Low pattern
• Starting with "High" creates a High-Low-High pattern
Step 2 — Anchor Calculation
The anchor position depends on your pitchfork variant:
• Original — Anchor stays at Point A
• Schiff — Anchor shifts 50% toward B in price (Y-axis only)
• Modified Schiff — Anchor shifts 50% toward B in both time and price
Step 3 — Median Line
A line is drawn from the anchor through the midpoint of the B-C segment. This median line defines the channel's slope and center.
Step 4 — Parallel Tines
Parallel lines are drawn through Points B and C, maintaining the median line's slope. These form the upper and lower channel boundaries.
Step 5 — Extra Parallels
If configured, additional parallel lines are drawn at equal spacing beyond B and C. The spacing equals the distance from the median to each tine.
Step 6 — Handle Length
The "handle" is the segment from the anchor to the B-C midpoint. This length becomes the unit of measurement for propagation.
Step 7 — Propagation Points
Points are placed along the median line at handle-length intervals:
• Forward points extend into the future
• Backward points extend into the past
Step 8 — Reaction Lines
Through each propagation point, a line is drawn parallel to B-C (the transversal slope). These reaction lines mark time-price zones based on the original swing rhythm, where trend changes may occur.
Step 9 — Action Lines
Through each propagation point, a line is drawn parallel to A-B (the initial move slope). These action lines project the original momentum into future price zones.
Step 10 — Lattice Grid
If enabled, a horizontal line is drawn at the price level of your selected pivot. Vertical lines are then drawn at every intersection between this horizontal and the selected line type (pitchfork, reaction, or action lines).
Step 11 — Alert Monitoring
On each bar, the indicator checks if the price has crossed any of the drawn lines. Crossings trigger alerts based on your configuration.
═══════════════════════════════════════════════════════════════
█ PITCHFORK VARIANTS
Original (Andrews)
The classic pitchfork. The anchor remains at Point A. Best suited for strong trending markets where price respects steep channels.
Schiff
Named after Jerome Schiff, a student of Andrews. The anchor shifts halfway toward Point B in price only—same time position as A, but price is the midpoint of A and B.
This produces a less steep channel, better suited for:
• Shallow trends
• Corrective phases
• Markets where the original pitchfork angle is too aggressive
Modified Schiff
The anchor shifts halfway toward Point B in both time and price—positioned at the midpoint of the A-B segment.
This creates an even gentler slope than the standard Schiff variant. Use when:
• Trends are weak or ranging
• Price doesn't respect steeper channel angles
• You need a middle ground between Original and Schiff
═══════════════════════════════════════════════════════════════
█ ACTION & REACTION LINES
Reaction Lines
These run parallel to the B-C segment (the "transversal"). They represent the market's response rhythm—the swing from B to C sets a pattern that may repeat at predictable intervals.
Action Lines
These run parallel to the A-B segment (the initial impulse). They project the original momentum forward, suggesting where similar price movements may begin or end.
Forward vs Backward
• Forward Lines — Project into the future beyond the B-C midpoint
• Backward Lines — Project into the past before Point A
Most analysis focuses on forward lines, but backward lines can reveal historical confluence with past pivots.
Propagation Spacing
Lines are spaced at equal intervals defined by the handle length (anchor to B-C midpoint). This creates a rhythmic structure where each segment equals the original pitchfork's core measurement.
Action Lines
Reaction Lines
Extra Parallels with/ both Action & Reactions Line extended within the grid
═══════════════════════════════════════════════════════════════
█ LATTICE MATRIX
The lattice creates a grid overlay within the pitchfork structure.
Horizontal Line
A horizontal line is drawn at the price level of your selected pivot (A, B, or C). This squares the pivot's price level to find where it aligns with the matrix structure. These confluences may represent higher-probability reaction points in time.
Vertical Lines
Vertical lines are drawn at every point where the horizontal intersects your selected line source. These verticals mark time points—potential areas to watch for trend changes.
• Pitchfork & Parallels — Intersections with median and all parallel tines
• Action Lines — Intersections with action transversals
• Reaction Lines — Intersections with reaction transversals
• Action & Reaction — Both types combined
Envelope Clamping
Lattice lines are automatically clamped to stay within the pitchfork's channel envelope (bounded by the outermost parallels). This keeps the grid visually clean and focused on relevant areas.
═══════════════════════════════════════════════════════════════
█ ALERTS
The indicator monitors price crossings and triggers alerts when the price moves through any drawn line type.
Available Alert Types
• Pitchfork Lines — Crossing the median or any parallel
• Action Lines — Crossing any action transversal (when action lines are drawn)
• Reaction Lines — Crossing any reaction transversal (when reaction lines are drawn)
• Lattice Horizontal — Crossing the horizontal price level (when lattice is enabled)
• Any Line Crossing — Combined alert for all of the above
Setting Up Alerts
1. Right-click on the indicator or use the alert menu
2. Select "Create Alert."
3. Choose the desired condition from the dropdown
4. Configure notification preferences (pop-up, email, webhook, etc.)
Alert Timing
Alerts trigger once per bar close when a crossing is detected between the previous and current bar's close prices.
═══════════════════════════════════════════════════════════════
█ HOW TO USE
Basic Setup
1. Add the indicator to your chart
2. When prompted, click on three pivot points in sequence: A, B, C
3. Choose starting pivot type: Auto (detects pattern), Low (LHL), or High (HLH)
4. The pitchfork draws automatically
Adjusting the Pitchfork
• Change the variant (Original/Schiff/Modified Schiff) if the angle doesn't suit your trend
• Add extra parallel levels to see where price might react beyond the main channel
• Disable or Adjust price range min/max to hide parallels outside your focus area
Adding Propagation Lines
• Adjust forward offset to add/remove lines beyond auto-extend (0 = to current bar)
• Choose which line types to display: Reaction Only, Action Only, or Both
• Customize colors to distinguish line types visually
Using the Lattice
• Enable "Draw Lattice" in the Lattice settings group
• Select which pivot's price level to use for the horizontal
• Choose the intersection source that matches your analysis style
• Look for time zones where verticals cluster—these may be significant dates
Log Scale Charts
If your chart uses logarithmic scale, enable "Logarithmic Scale" in Pitchfork Settings. This ensures all calculations transform correctly for log price axes.
═══════════════════════════════════════════════════════════════
█ SETTINGS REFERENCE
1. Pivot Points
• Starting Pivot Type — Auto (detect pattern), Low (force LHL), or High (force HLH)
• Pivot A/B/C Time — Timestamps for your three pivots (click to select)
• Show Pivot Labels — Display A, B, C labels at pivot locations
• Pivot Colors — Customize high/low label colors
• Label Size — Tiny, Small, Normal, or Large
2. Pitchfork Settings
• Logarithmic Scale — Enable for log charts
• Pitchfork Type — Original, Schiff, or Modified Schiff
• Extra Parallel Levels — Additional parallels beyond B and C
• Line styling (color, width, style)
• Extend Direction — Right only or Both directions
• Enable Price Range Filter — Toggle filtering of extra parallels
• Price Range Min/Max — Hide extra parallels outside this range
3. Action / Reaction Lines
• Draw Type — None, Reaction Only, Action Only, or Both
• Forward Lines Offset — Adjust from auto-extend (0 = to current bar, positive adds more)
• Backward Lines Count — Number of lines projected before Point A
• Separate styling for reaction and action lines
4. Lattice
• Draw Lattice — Master toggle
• Select Pivot for Horizontal — A, B, or C price level
• Intersection Source — Which lines to use for vertical placement
• Lattice styling
═══════════════════════════════════════════════════════════════
█ LIMITATIONS
• Maximum 500 lines — TradingView limits line objects; complex setups with many parallels and propagation lines may approach this limit
• Manual pivot selection — Pivots must be selected manually via timestamp inputs; no auto-detection
• Log scale requires toggle — You must enable "Logarithmic Scale" manually if your chart uses log axes
• Minor visual drift — Action/Reaction lines may shift slightly when toggling between odd and even extra parallel counts (cosmetic only)
• Backward lines visibility — When adding backward propagation lines, you may need to scroll the chart left for them to render
═══════════════════════════════════════════════════════════════
█ FURTHER READING
For deeper study of pitchfork analysis and action/reaction methodology:
• Patrick Mikula's "The Best Trendline Methods of Alan Andrews and Five New Trendline Techniques"
No affiliation implied. Referenced for educational context only.
═══════════════════════════════════════════════════════════════
█ RELATED
For a video walkthrough of the Super Pitchfork methodology that inspired this indicator:
How to Build a Super Pitchfork with Reaction & Trigger Lines
This tutorial covers manual pitchfork construction, reaction line projection, and timing techniques.
Indicator

Mikula's Master 360° Square of 12Mikula’s Master 360° Square of 12
An educational W. D. Gann study indicator for price and time. Anchor a compact Square of 12 table to a start point you choose. Begin from a bar’s High or Low (or set a manual start price). From that anchor you can progress or regress the table to study how price steps through cycles in either direction.
What you’re looking at :
Zodiac rail (far left): the twelve signs.
Degree rail: 24 rows in 15° steps from 15° up to 360°/0°.
Transit rail and Natal rail: track one planet per rail. Each planet is placed at its current row (℞ shown when retrograde). As longitude advances, the planet climbs bottom → top, then wraps to the bottom at the next sign; during retrograde it steps downward.
Hover a planet’s cell to see a tooltip with its exact longitude and sign (e.g., 152.4° ♌︎). The linked price cell in the grid moves with the planet’s row so you can follow a planet’s path through the zodiac as a path through price.
Price grid (right): the 12×24 Square of 12. Each column is a cycle; cells are stepped price levels from your start price using your increment.
Bottom rail: shows the current square number and labels the twelve columns in that square.
How the square is read
The square always begins at the bottom left. Read each column bottom → top. At the top, return to the bottom of the next column and read up again. One square contains twelve cycles. Because the anchor can be a High or a Low, you can progress the table upward from the anchor or regress it downward while keeping the same bottom-to-top reading order.
Iterate Square (shifting)
Iterate Square shifts the entire 12×24 grid to the next set of twelve cycles.
Square 1 shows cycles 1–12; Square 2 shows 13–24; Square 3 shows 25–36, etc.
Visibility rules
Pivot cells are table-bound. If you shift the square beyond those prices, their highlights won’t appear in the table.
A/B levels and Transit/Natal planetary lines are chart overlays and can remain visible on the table as you shift the square.
Quick use
Choose an anchor (date/time + High/Low) or enable a manual start price .
Set the increment. If you anchored with a Low and want the table to step downward from there, use a negative value.
Optional: pick Transit and Natal planets (one per rail), toggle their plots, and hover their cells for longitude/sign.
Optional: turn on A/B levels to display repeating bands from the start price.
Optional: enable swing pivots to tint matching cells after the anchor.
Use Iterate Square to shift to later squares of twelve cycles.
Examples
These are exploratory examples to spark ideas:
Overview layout (zodiac & degree rails, Transit/Natal rails, price grid)
A-levels plotted, pivots tinted on the table, real-time price highlighted
Drawing angles from the anchor using price & time read from the table
Using a TradingView Gann box along the A-levels to study reactions
Attribution & originality
This script is an original implementation (no external code copied). Conceptual credit to Patrick Mikula, whose discussion of the Master 360° Square of 12 inspired this study’s presentation.
Further reading (neutral pointers)
Patrick Mikula, Gann’s Scientific Methods Unveiled, Vol. 2, “W. D. Gann’s Use of the Circle Chart.”
W. D. Gann’s Original Commodity Course (as provided by WDGAN.com).
No affiliation implied.
License CC BY-NC-SA 4.0 (non-commercial; please attribute @Javonnii and link the original).
Dependency AstroLib by @BarefootJoey
Disclaimer Educational use only; not financial advice. Indicator

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. Indicator

Double Numbered Triangle Chart Progression | RegressionThe Double-Numbered Triangle Progression | Regression Indicator enables forecasting of support and resistance levels by progressing or regressing on the Triangle Chart from a user-selected pivot price. The indicator also plots adjustable pivots on both the chart and the Triangle Price and Time Chart.
How to use to forecast support and resistance levels:
1. Select a Pivot Point: Set the correct price to the pivot by selecting High or Low in the indicator.
2. Set Price Increment: Choose a price increment to adjust the starting price on the Triangle Chart (e.g., 1 or -0.01).
3. Rotate to adjust the number of levels on the Triangle Chart.
4. Plot Levels: Choose the Left Edge, Center, or Right Edge of the Triangle Chart to plot support and resistance levels. These levels automatically expand or decrease depending on the number of levels in step 3. The selected angle's price values are applied to the chart with labels on both sides. The left labels represent the time variable, and the right labels indicate the price. The time variable is used in conjunction with my other indicator "Price and Longitude Angles." The same goes for the Double Numbered Square of Nine indicator.
5. Review Levels: Examine the plotted support and resistance levels with recent market pivots.
6. Identify Correlations: Find the Triangle edge or center that aligns with the most market pivots.
7. The indicator plots user-adjustable pivots on both candles/bars and shows their placement on the Triangle Chart in both Progression and Regression. This visualization helps users identify which angles the highs and lows favor from the selected pivot. Pivot levels' colors can be customized. The close price is plotted on the Triangle Chart in real time with a white background.
Each market has its tendencies, favoring specific angles from the Triangle Chart. The basic idea is to choose between the Left edge, Center, or Right edge of the Triangle to forecast support and resistance levels.
Settings:
Overview:
Example of Forecasting Support and resistance level using this indicator:
In the image above, I am regressing from the significant high at a rate of $-0.008 per cell as shown on the main info label. Based on the plotted pivots, I have chosen the right edge of the triangle as it aligns with these recent pivots. I have drawn a lime green vertical line to indicate that as we add layers to the triangle chart, we introduce support and resistance levels based on the identified angle that aligns with these early pivots from the high.
In the image below, I've moved forward in time to illustrate how the initial angle chosen based on the early pivots forecasted support and resistance levels on $DOGE. Do not expect the price to turn sharply at the levels the indicator generates. As P. Mikula mentions in his work, and I apply the same with the Triangle Chart, " The Square of Nine successfully defines market price swings but does not cause the market to form pivots. "
This indicator is inspired by the methodologies detailed by Patrick Mikula in his book, The Definitive Guide to Forecasting using W.D Gann's Square of Nine. I recommend checking it out. He also mentions another use case as a Triangle Price and Time chart in his book, Gann Scientific Method Unveiled, Volume 2, where you can use my open-source indicator "Price and Longitude Angle" alongside both the Doubled Numbered Square of Nine and this Triangle Chart indicator.
FYI, I am not affiliated with Patrick Mikula in any way.
Planned improvements include adding two more angles: Left Center column and Right Center column as additional options to select.
FYI: Please ensure you select the high when regressing from a high. Also, make sure to add enough layers on the Triangle to see all the pivots. Once you've identified an angle, you can hide the table to gain back space on the chart. Use rounding precision for lower prices. Indicator

Doubled Numbered Square of Nine Progression | RegressionThe Doubled Number Square of Nine Progression | Regression Indicator enables forecasting of support and resistance levels using the SQ9 progression or regression from a user-selected pivot price. The indicator also plots adjustable pivots on both the chart and the Square of Nine.
How to use to forecast support and resistance levels:
1. Select a Pivot Point: Choose a top or bottom pivot to use as the starting point. Select High or Low in the indicator to set the correct price to the pivot.
2. Set Price Increment or Decrement: Select a price increment to advance the starting price on the Square of Nine (for example 1 or -0.01).
3. Rotate to add or decrease the number of rungs on the Square on Nine: Rotate the Square of Nine and adjust the dimensions. The horizontal levels correlate to the rotation of the Square of Nine.
4. Plot Levels: Select a Square of Nine angle to plot the support and resistance levels based on the selected increments. These levels auto expand and decrease depending on the number of rotations in step 3. The price values from each of the selected diagonal or cardinal cross are applied to the chart with labels on both left and right. Left labels represent the cell the time variable and the right label is price.
5. Review Levels: Conduct a simple review of the plotted support and resistance levels in relation to recent market pivots.
6. Identify Correlations: Identify the Square of Nine cardinal cross or diagonal cross angle that correlates with the most market pivots.
7. The indicator plots user-adjustable pivots on both candles/bars and displays their placement on the Square of Nine in both Progression and Regression. The close price is plotted on the Square of Nine in real-time with a white background. This helps users identify which angles the highs and lows favor from the selected pivot. The pivot levels' colors can be adjusted.
Each market has its tendencies, favoring specific angles from the cardinal or diagonal cross. The basic idea is to choose between the diagonal cross and cardinal cross angles to forecast support and resistance levels.
Settings:
Overview:
Example on Forecasting Support and resistance level using this indicator:
In the image above, I'm progressing from the significant low at a rate of $200 per cell. Based on the plotted pivots, I've selected the 315-degree angle on the diagonal cross as it aligns with a few recent pivots. Now, I've drawn a vertical line to show that as we add rungs to the Square of Nine, we introduce support and resistance levels based on the identified angle that aligns with these early pivots from the low.
In the image below, I've moved forward in time to show how the initial angle selected based on the early pivot forecasted support and resistance levels around the high in BTC. Do not expect the price to turn sharply at the levels the indicator generates, but use it to help identify SQ9 levels that may form market turns. As P. Mikula mentions in his work, "The Square of Nine successfully defines market price swings but it does not make the market form pivots."
This indicator includes enhancements made to the Gann Square of Nine indicator originally created by @ThiagoSchmitz.
This indicator is inspired by the methodologies detailed by Patrick Mikula in his book " The Definitive Guide to Forecasting using W.D Gann's Square of Nine ." I recommend checking it out. He also mentions another use case as a Price and Time chart in his " Gann Scientific Method Unveiled, Volume 2 ." FYI, I am not affiliated with Patrick Mikula in any way.
Known Issues:
Close price plotted on the Square of Nine in Regression "from a high pivot" takes a current candle to close in order to be plotted. Progression works as expected. Indicator

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. Indicator
