Indicator

Bitcoin Power-Law, Halvings & Wyckoff Model (Macro 1W/1M)An advanced Bitcoin macro analysis tool on weekly (1W) and monthly (1M) time frames. The script automatically maps global BTC cycles by combining the Power-Law mathematical model, Halving cyclicality, and precise institutional market geometry according to Richard Wyckoff's methodology.
How does the indicator work? (Key Pillars)
1. Bitcoin Power-Law Model
The script calculates the time elapsed since the birth of the Bitcoin network (the so-called Genesis Block – January 3, 2009). Based on a logarithmic scale, it marks four fixed long-term trend lines:
- Blue Line (Fair Value): Shows Bitcoin's mathematical fair value, around which the market has been fluctuating for over a decade.
- Purple Line (Medium-Term Ceiling): Marks historical market overheating zones and bull market bubble peaks.
- Green Line (Price Floor): Key macro support level, marking the ultimate market bottom during the greatest capitulation.
- Red Line: A safety band running deep below the chart, constituting the ultimate boundary of the uptrend.
2. Halving Cycles (Halving Counter)
The indicator automatically locates past and future miner reward events on the timeline (including the upcoming Halving in April 2028). It plots vertical orange dashed lines with labels on the chart, allowing you to instantly assess which phase of the 4-year cycle the price is currently in.
3. Wyckoff Pattern Detection Macro (Post-Fact Drawing)
This indicator operates in a highly secure and conservative manner. It doesn't guess patterns in real time to avoid false signals during trends. Instead, it scans the market for flat consolidations (sideways ranges) only in extreme regions:
- Accumulation (Bear Bottoms): Searched only when the price is deep below the central axis (in the area of the green line).
- Distribution (Bull Tops): Searched only when the price is high above the central axis (in the area of the 2024-2025 highs).
Trigger Moment: When the market is building a sideways trend and the price officially crosses the 10-period moving average (SMA 10) (an upside breakout for accumulation or a downside breakdown for distribution), the algorithm validates the structure. In this split second, the script moves back on the chart for the designated period and plots the complete Wyckoff Anatomy using the spread: It draws automatic, horizontal support and resistance lines of the trading range (Trading Range).
It sets vertical black lines dividing the structure into official market sub-phases. It marks precise turning points:
- institutional capital: PS/PSY (Initial Support/Resistance),
- SC/BC (Selling/Buying Climax),
- AR (Automatic Rebound),
- ST (Secondary Test),
- Spring/UTAD (Clearing Liquidity Lows/Highs),
- LPS/LPSY (Last Support/Resistance Points)
- and PHASE E – the moment of releasing a new, powerful macro trend.
User Manual Interval:
The indicator was designed and calibrated exclusively for high time frames: 1 Week (1W) or 1 Month (1M).
Logarithmic Scale: In order for the Power-Law lines and labels to perfectly match the Bitcoin price chart and not "float" when scrolling the screen, you must have the logarithmic scale enabled on the PulseWire chart (click the Log button in the lower right corner of the screen).
Application: The tool is used to identify global turning points (wealth generation) – it allows you to buy Bitcoin in Phase E of macro accumulation and safely implement profits as Phase E distribution heralds the arrival of a bear market. Indicator

Indicator

Opening Range Breakout ## Opening Range Breakout (ORB) — 8:30–8:45 CT
**What it does**
Marks the first 15-minute candle after the CME open (8:30–8:45 America/Chicago), locks that high and low as the opening range, then fires a single, no-repaint signal the moment price breaks the range for the first time. One trade idea per session — no spam, no flicker.
**How it works**
- Builds the range live from 8:30, locks it permanently at 8:45.
- **BUY** on the first break above the range high. **SELL** on the first break below the range low.
- If both sides break on the same bar, direction is resolved by where price closed relative to the range midpoint.
- Signal latches after firing — it will not repeat or repaint for the rest of the session.
**The one knob**
`Signal on wick break` — OFF (default) waits for a confirmed bar close before signaling (cleaner, fewer fakeouts). ON triggers the instant a wick pierces the range (faster, more noise).
**Built for**
NQ / MNQ index futures on the 8:30 CT open. Run it on a **1m–15m chart** — it warns you if the timeframe is too large for the range to build correctly.
**Alerts**
Two ready conditions: *OR Breakout — BUY* and *OR Breakout — SELL*, wired to the same latched logic as the on-chart labels.
---
Want a shorter punchline version for a PulseWire title card, or a longer one with the trading logic spelled out for your Discord? Indicator

Indicator

Market Cycle Wave [Gabremoku]Market Cycle Wave is a price-based cycle indicator built to map broad market phases into a readable oscillator and a price-anchored overlay.
Instead of relying on a single signal, the script combines trend, momentum, volatility, and range-position data into a composite cycle score. That score is normalized and smoothed to create an intermediate Cycle Wave, while a slower Secular line provides broader context.
The script has two main views:
- an oscillator pane with the score histogram, Cycle Wave, Secular baseline, and major Cycle Peak / Cycle Trough labels.
- a price overlay with a cycle line, gradient aura, and a thinner secular context line.
The regime model classifies market conditions into Debt Accumulation, Deleveraging, Reflation, and Transition. The goal is not to generate standalone buy/sell signals, but to help traders read where price may sit inside a broader market cycle structure.
How to use it
This indicator works best on broad indices and diversified equity ETFs, where cycle behavior is usually cleaner than on highly erratic single names.
Typical use:
- Daily chart: monitor intermediate cycle shifts
- Weekly chart: study broader regime transitions
Practical reading:
- A rising blue cycle wave can suggest constructive expansion conditions
- A yellow rollover after a mature advance can suggest a weakening cycle structure
- Deep negative readings followed by green recovery can suggest reflation or post-stress repair
- The secular line helps show whether the shorter cycle is moving with or against the broader backdrop
The dashboard summarizes the current regime, state, direction, score, risk posture, and color legend directly on the chart.
How it works
The cycle model uses eight price-based factors:
- Fast EMA vs slow EMA relationship
- Fast EMA slope
- RSI momentum regime
- RSI extremes
- Position inside the rolling yearly range
- Distance from yearly extremes
- ATR volatility regime
- Price position vs the slow EMA
Each factor contributes to a composite score. That score is then normalized, smoothed, and accumulated over a rolling memory window to build a bounded cycle wave around a midpoint.
A second and slower baseline is built through longer smoothing to represent secular context. This creates two distinct layers:
- Cycle Wave: the intermediate cycle, more reactive to market swings
- Secular Baseline: the broader context, slower and less sensitive
Recent Cycle Peak and Cycle Trough labels are pivot-based, so the latest labels need confirmation from future bars. Indicator

Delivery Shift CISD [Viprasol]Overview
This indicator is based on an open-source "Change in State of Delivery (CISD)" community script, which detects the ICT concept of a delivery shift — the moment price reverses and closes back through the opening level of the opposing momentum leg that produced it. The original tracks swing-point liquidity, detects bullish and bearish CISD events using a displacement-ratio test, marks the origin level, and flags "strong" CISDs that occur right after opposing liquidity is swept. This version keeps that detection engine intact and adds a Viprasol confluence and execution layer: a 0-4 confluence score with A/B/C grading, optional volume-surge and higher-timeframe bias filters, a signal cooldown, a minimum-score gate, and an ATR-anchored Entry/SL/TP risk overlay drawn on qualified signals.
It is built for ICT/SMC traders who use CISD as a confirmation of intraday delivery direction and want each event graded by confluence, with optional filters and an automatic risk projection.
How It Works
Swing Liquidity (from original):
Pivot highs and lows over the swing period create horizontal liquidity lines that extend forward each bar. A line is mitigated when price trades through it (high >= level for a high, low <= level for a low) on a confirmed bar, and removed; lines older than the expiry threshold stop updating. The most recently mitigated high and low, and how many bars ago they were taken, are retained for the sweep test below.
CISD Detection (from original):
When a candle flips color (a down candle followed by an up candle, or vice versa), its open is stored as a potential CISD origin along with its bar index. On each later bar the script checks whether price has closed back beyond that stored open. If it has, it measures the displacement of the leg as a ratio: for a bearish CISD, (highest close in the leg − origin open) / (top of the bearish run − origin open). If that ratio exceeds the Noise Filter, the event qualifies as a CISD, the origin level is drawn, and the trend state flips. Weaker candidates are discarded and the scan continues to older candidates.
Liquidity-Sweep Confluence (from original):
A CISD is flagged "strong" when it fires within the liquidity-lookback window after the opposing liquidity was swept — a bearish CISD where a swing high was just taken and price closed back below it, or a bullish CISD where a swing low was taken and price closed back above. These print the labeled sweep arrows.
Confluence Score & Grade (new):
Every CISD event is scored 0-4 by summing four independent confluence checks:
score = strongDisplacement? + liquiditySweep? + htfAligned? + volumeSurge?
- strongDisplacement = the measured ratio is at least halfway between the Noise Filter and 1.0 (a decisively strong leg, not a marginal one).
- liquiditySweep = the original sweep confluence is present.
- htfAligned = the CISD direction agrees with the higher-timeframe EMA.
- volumeSurge = volume on the CISD bar exceeds its rolling average × the multiplier.
The score maps to a grade — A (>= 3), B (= 2), C (<= 1) — labeled at the origin level.
Filters & Qualified Signals (new):
Four optional gates can be applied without altering the original CISD drawing: a volume-surge requirement, a higher-timeframe EMA bias (bull only above, bear only below), a per-signal cooldown (minimum bars between qualified signals), and a minimum-confluence-score requirement. A CISD that passes all active gates becomes a "qualified" signal, which is what the risk overlay and the two new qualified alerts use. With every gate at its default (cooldown 0, filters off, min score 0), every CISD qualifies and the original behaviour is unchanged.
Risk Overlay (new):
On a qualified CISD, the script projects three lines: Entry at the CISD origin level, Stop-Loss beyond the CISD swing extreme (the highest/lowest close captured during detection) plus an ATR buffer, and Take-Profit at Entry ± risk × the Risk:Reward ratio, where risk is the Entry-to-SL distance. Colored ENTRY/SL/TP price labels mark the line ends. Only the most recent qualified signal's projection is kept, to avoid clutter.
What Is Original (Viprasol Additions)
1. Confluence score (0-4) and A/B/C grade per CISD, from displacement strength, liquidity sweep, HTF alignment, and volume surge.
2. Minimum-confluence-score gate and the "qualified signal" concept layered on top of raw CISD detection.
3. Optional volume-surge filter (volume above its rolling average × multiplier on the CISD bar).
4. Optional higher-timeframe EMA bias filter (and an always-computed HTF read used for grading).
5. Per-signal cooldown to prevent qualified-signal clustering.
6. ATR-anchored Entry/SL/TP risk overlay with colored price labels, with the stop anchored to the CISD swing extreme.
Key Features
From the Original:
- Swing-point liquidity lines with forward extension, mitigation, and expiry
- Displacement-ratio CISD detection for both directions with a Noise Filter
- Origin-level lines drawn on each CISD
- Trend/delivery-state tracking
- Liquidity-sweep confluence with labeled strong-CISD arrows
- Swing-high / swing-low dots
- Trend-gradient candle coloring
Added in This Version (Viprasol):
- 0-4 confluence score with A/B/C grade label
- Minimum-score gate and qualified-signal logic
- Volume-surge filter, HTF EMA bias filter, and signal cooldown
- ATR-anchored Entry/SL/TP risk overlay with price labels
- Info dashboard (delivery state, last grade, sweep, HTF bias, volume, live liquidity counts)
- Two new alerts for qualified bull/bear signals; all alert messages made dynamic
How to Use
Getting Started:
1. Add to a standard candlestick chart (not Heikin Ashi).
2. With defaults, every CISD is drawn and graded — read the A/B/C label to judge each event's confluence.
3. To trade only stronger setups, raise the Minimum Confluence Score or enable the volume / HTF filters.
Reading the Chart:
- Candles tint green/red with the current delivery state.
- A thick green/red horizontal line marks a CISD origin level; the A/B/C label shows its grade.
- ▲/▼ arrows mark strong CISDs that followed an opposing liquidity sweep.
- On a qualified CISD (with SL/TP enabled), Entry/SL/TP lines and price labels project to the right.
Recommended Starting Points:
- Intraday (1m-15m): Swing Period 10-12, Noise Filter 0.6-0.7, Min Score 0-1
- Swing (1H-4H): Swing Period 15-20, Noise Filter 0.7-0.8, Min Score 2, enable HTF bias
- Higher conviction: Min Score 3 (grade A), or require volume surge + HTF bias
These are starting points only — every market and timeframe behaves differently. Backtest and adjust before trading live.
Settings
Calculations: Noise Filter (displacement ratio threshold), Swing Period, Expiry Bars, Liquidity Lookback.
Signal Filters (Viprasol): signal cooldown, volume-surge requirement (length + multiplier), and HTF EMA bias (resolution + length).
Confluence & Quality (Viprasol): show grade on CISD, minimum confluence score.
Risk Overlay (Viprasol): show SL/TP on qualified CISD, show price labels, ATR period, SL ATR buffer, Risk:Reward.
Appearance: bullish/bearish colors, candle body and wick transparency, hide expired levels, hide mitigated levels.
Dashboard / Display: dashboard toggle and position.
Alerts
1. Swing High Mitigation — a swing-high liquidity line was taken
2. Swing Low Mitigation — a swing-low liquidity line was taken
3. Bearish CISD — a bearish change in state of delivery fired
4. Bullish CISD — a bullish change in state of delivery fired
5. Strong Bearish (Sweep) — bearish CISD following an opposing liquidity sweep
6. Strong Bullish (Sweep) — bullish CISD following an opposing liquidity sweep
7. Qualified Bull — a bullish CISD that passed all active filters and the score gate
8. Qualified Bear — a bearish CISD that passed all active filters and the score gate
All alerts include {{ticker}}, {{close}}, and {{interval}} for dynamic notification messages.
Limitations & Disclaimer
- CISD detection scans backward through stored candidate origins and uses closing relationships; signals are evaluated as bars confirm and the displacement ratio is measured after the move.
- The HTF EMA bias uses request.security with lookahead disabled; HTF values update only as the higher-timeframe bar develops.
- Swing liquidity lines are capped (oldest pruned) and can expire; in fast markets some mitigations may occur off-screen relative to the visible levels.
- The risk overlay's stop is anchored to the captured swing extreme plus an ATR buffer — it is a mechanical projection, not an optimized stop, and the lines are visual references only; they do not place or manage trades.
- Filters and the minimum-score gate reduce the number of qualified signals; in choppy conditions valid CISDs may not qualify, while with all gates off qualified signals equal raw CISDs.
- Past performance does not guarantee future results. This indicator is for educational and analytical purposes only and is not financial advice. Always use proper risk management and test on historical data before trading live.
Credits & Attribution
Based on an open-source "Change in State of Delivery (CISD)" community indicator, which provided the swing-point liquidity lines with extension/mitigation/expiry, the displacement-ratio CISD detection for both directions, the origin-level drawing, the trend/delivery-state tracking, the liquidity-sweep confluence with labeled strong-CISD arrows, the swing dots, and the trend-gradient candle coloring. CISD is an Inner Circle Trader (ICT) concept. Added by Viprasol: the 0-4 confluence score and A/B/C grading, the minimum-score gate and qualified-signal logic, the volume-surge and HTF EMA bias filters, the signal cooldown, the ATR-anchored Entry/SL/TP risk overlay with colored price labels, the info dashboard, and the two additional qualified-signal alerts with dynamic messages.
Published open-source per PulseWire House Rules.
Indicator

Open Price Custom % Levels**Open Price % Levels With Session Gap**
This indicator plots the session opening price and automatically calculates percentage-based levels above and below it.
### Features
* Session Opening Price Line
* +0.5%, +1%, +2%, +2.5%, +3% Levels
* -0.5%, -1%, -2%, -2.5%, -3% Levels
* Customizable line colors and thickness
* Session-based plotting with automatic daily reset
* No line connection between trading sessions (clean session gaps)
* Works on all markets and timeframes
Useful for identifying key percentage expansion and retracement zones relative to the session open, helping traders track intraday price movement and potential reaction levels.
**Best suited for:** Index, Forex, Gold, Crypto, and Intraday Trading.
Indicator

Open Price % Levels With Session Gap by SMTThis indicator plots the session opening price and automatically calculates percentage-based levels above and below it.
Features
Session Opening Price Line
+0.5%, +1%, +2%, +2.5%, +3% Levels
-0.5%, -1%, -2%, -2.5%, -3% Levels
Customizable line colors and thickness
Session-based plotting with automatic daily reset
No line connection between trading sessions (clean session gaps)
Works on all markets and timeframes
Useful for identifying key percentage expansion and retracement zones relative to the session open, helping traders track intraday price movement and potential reaction levels.
Best suited for: Index, Forex, Gold, Crypto, and Intraday Trading. Indicator

OHLC-OLHC [ARKN] ARKN combines three time-based analysis tools into a single overlay so that session context, higher-timeframe structure, and cross-asset divergence can be read together on one chart, without stacking three separate indicators.
What it does
Killzones — Draws up to four configurable session boxes (defaults: Asia, London, NY AM, NY PM) with optional session high/low pivot lines, midpoints, day-of-week labels, opening-price lines, and an "opening candle" marker. Pivots can extend until mitigated or past mitigation, with optional alerts when a session high or low is broken.
HTF Candles — Renders up to four higher-timeframe candle sets to the right of the live price, each with its own timeframe and display count. Optional Fair Value Gap and Volume Imbalance boxes, a remaining-time countdown, and interval labels are drawn directly on the projected candles.
Sequential SMT (SSMT) — Detects SMT-style divergence between correlated instruments across nested cycles (Micro, 90-minute, Daily, Weekly, Monthly). Triads can be set automatically for common groups (metals, indices, FX, crypto, futures) or defined manually, with an inverse option for negatively-correlated pairs. Both standard (wick-based) and hidden (body/close-based) divergences are supported.
Why these three together
The three modules answer three sequential questions a session-based trader asks in order: when (Killzones frame the active session), what structure (HTF Candles show the higher-timeframe bias forming in real time), and confirmation (SSMT flags when a correlated instrument fails to confirm the move). Combining them removes the need to switch layouts or sync timeframes manually, since all three share the same timezone and session logic.
How to use
Set your timezone under Settings; all sessions and cycles reference it.
Each module has a master ON/OFF toggle at the top of its settings group.
For SSMT, either leave Triad Selection on Auto (it picks correlated assets for the current symbol) or set Manual to define your own triad. Lower timeframes show Micro/90m cycles; higher timeframes show Daily/Weekly/Monthly.
HTF Candle timeframes must be higher than the chart timeframe to display.
Settings overview
Global: drawing limit, timeframe limit, timezone, label size, text color, cutoff time. Per module: session times and colors (Killzones), timeframe and candle count (HTF Candles), cycle visibility, line styles, and correlation triads (SSMT).
Note on originality
This script combines well-established, publicly-discussed ICT community concepts — session Killzones, projected higher-timeframe candles, and SMT/Sequential SMT divergence. These concepts are not original to this script; the contribution here is integrating all three into one configurable overlay with shared session and timezone handling. The script is published open-source so the implementation can be reviewed and reused. Indicator

BOS & CHoCH + ICT FVG, IFVG FVG, IFVG, BOS, and CHoCH are foundational components of Smart Money Concepts (SMC) and ICT (Inner Circle Trader) price action analysis. They are used to track institutional trading activity, map market structure, and identify high-probability entry points.1. CHoCH (Change of Character)CHoCH is the very first sign of a potential trend reversal.What it looks like: In a downtrend (making lower lows), CHoCH happens when the price bounces and breaks above the most recent lower high. It shows that the buyers have overpowered the sellers.2. BOS (Break of Structure)Once a trend has reversed (indicated by a CHoCH), BOS confirms that the new trend is continuing.What it looks like: In an uptrend, the price pushes higher and breaks past a previous swing high. This confirms that the institutional momentum is strong and continuing in that direction.3. FVG (Fair Value Gap)An FVG is a price imbalance or inefficiency left behind after a sudden, aggressive move in the market.What it looks like: It appears as an extended, single candle where the preceding and succeeding candle wicks do not overlap its body. Because the market dislikes these imbalances, price often acts like a magnet, pulling back to "fill" or "mitigate" the gap before continuing the trend.4. IFVG (Inverted/Invalidated Fair Value Gap)An IFVG occurs when a previously established FVG is aggressively broken through and invalidated by the price. Indicator

ICT Swing//+------------------------------------------------------------------+
//| FractalLines.mq5 |
//| Ultimos 3 Fractales |
//+------------------------------------------------------------------+
#property copyright "Solicitud Personalizada"
#property version "1.00"
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0
//--- Parametros
input int LineExtension = 20; // Extension de la linea (velas a la derecha)
input int MaxFractales = 3; // Maximo numero de fractales a mostrar (3)
input color ColorClose = clrWhite; // Color linea del CLOSE
input color ColorAlcista = clrDodgerBlue;// Color linea del MINIMO (alcista)
input color ColorBajista = clrRed; // Color linea del MAXIMO (bajista)
//+------------------------------------------------------------------+
//| Detectar fractal ALCISTA |
//+------------------------------------------------------------------+
bool EsFractalAlcista(int pos, const double &low )
{
if(pos < 2 || pos >= ArraySize(low) - 2) return false;
return (low < low && low < low &&
low < low && low < low );
}
//+------------------------------------------------------------------+
//| Detectar fractal BAJISTA |
//+------------------------------------------------------------------+
bool EsFractalBajista(int pos, const double &high )
{
if(pos < 2 || pos >= ArraySize(high) - 2) return false;
return (high > high && high > high &&
high > high && high > high );
}
//+------------------------------------------------------------------+
//| Obtener segundos por timeframe |
//+------------------------------------------------------------------+
int GetSegundosPorVela()
{
switch(Period())
{
case PERIOD_M1: return 60;
case PERIOD_M5: return 300;
case PERIOD_M15: return 900;
case PERIOD_M30: return 1800;
case PERIOD_H1: return 3600;
case PERIOD_H4: return 14400;
case PERIOD_D1: return 86400;
case PERIOD_W1: return 604800;
case PERIOD_MN1: return 2592000;
default: return 86400;
}
}
//+------------------------------------------------------------------+
//| Dibujar linea |
//+------------------------------------------------------------------+
void DibujarLinea(string nombre, double nivel, datetime tiempo, color col)
{
ObjectDelete(0, nombre);
int seg = GetSegundosPorVela();
datetime futuro = tiempo + (LineExtension * seg);
if(ObjectCreate(0, nombre, OBJ_TREND, 0, tiempo, nivel, futuro, nivel))
{
ObjectSetInteger(0, nombre, OBJPROP_COLOR, col);
ObjectSetInteger(0, nombre, OBJPROP_STYLE, STYLE_SOLID);
ObjectSetInteger(0, nombre, OBJPROP_WIDTH, 1);
ObjectSetInteger(0, nombre, OBJPROP_BACK, false);
ObjectSetInteger(0, nombre, OBJPROP_RAY_RIGHT, false);
ChartRedraw();
}
}
//+------------------------------------------------------------------+
//| Limpiar todas las lineas de fractales |
//+------------------------------------------------------------------+
void LimpiarLineas()
{
for(int i = ObjectsTotal(0)-1; i >= 0; i--)
{
string nombre = ObjectName(0, i);
if(StringFind(nombre, "Fractal_Alcista_") == 0 ||
StringFind(nombre, "Fractal_Bajista_") == 0)
{
ObjectDelete(0, nombre);
}
}
}
//+------------------------------------------------------------------+
//| Main |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time ,
const double &open ,
const double &high ,
const double &low ,
const double &close ,
const long &tick_volume ,
const long &volume ,
const int &spread )
{
if(rates_total < 10) return(0);
// Limpiar lineas anteriores
LimpiarLineas();
// --- COLECCIONAR FRACTALES ALCISTAS (los mas cercanos al precio) ---
int alcistas ;
int alcistasCount = 0;
ArrayResize(alcistas, rates_total);
for(int i = rates_total - 1; i >= 2; i--)
{
if(EsFractalAlcista(i, low))
{
alcistas = i;
alcistasCount++;
if(alcistasCount >= MaxFractales) break;
}
}
// --- DIBUJAR LINEAS ALCISTAS (CLOSE y MINIMO) ---
for(int j = 0; j < alcistasCount; j++)
{
int idx = alcistas ;
double nivelClose = close ;
double nivelMinimo = low ;
datetime tiempo = time ;
// Linea en el CLOSE
DibujarLinea("Fractal_Alcista_Close_" + IntegerToString(idx), nivelClose, tiempo, ColorClose);
// Linea en el MINIMO
DibujarLinea("Fractal_Alcista_Min_" + IntegerToString(idx), nivelMinimo, tiempo, ColorAlcista);
Print("ALCISTA #", j+1, " | Vela: ", idx, " | Close: ", nivelClose, " | Min: ", nivelMinimo);
}
// --- COLECCIONAR FRACTALES BAJISTAS (los mas cercanos al precio) ---
int bajistas ;
int bajistasCount = 0;
ArrayResize(bajistas, rates_total);
for(int i = rates_total - 1; i >= 2; i--)
{
if(EsFractalBajista(i, high))
{
bajistas = i;
bajistasCount++;
if(bajistasCount >= MaxFractales) break;
}
}
// --- DIBUJAR LINEAS BAJISTAS (CLOSE y MAXIMO) ---
for(int j = 0; j < bajistasCount; j++)
{
int idx = bajistas ;
double nivelClose = close ;
double nivelMaximo = high ;
datetime tiempo = time ;
// Linea en el CLOSE
DibujarLinea("Fractal_Bajista_Close_" + IntegerToString(idx), nivelClose, tiempo, ColorClose);
// Linea en el MAXIMO
DibujarLinea("Fractal_Bajista_Max_" + IntegerToString(idx), nivelMaximo, tiempo, ColorBajista);
Print("BAJISTA #", j+1, " | Vela: ", idx, " | Close: ", nivelClose, " | Max: ", nivelMaximo);
}
return(rates_total);
}
//+------------------------------------------------------------------+ Indicator

Indicator

Indicator

SeasonalTrader Pro - Seasonality CompanionSeasonality Companion is a separate panel-based script for analyzing seasonal market structure. It shows whether a market has historically tended to behave positively, negatively, neutrally, or inconsistently around the current calendar date.
The script does not generate entries, exits, price targets, stops, alerts, or strategy orders. Its role is to provide seasonal context and make recurring historical behavior easier to evaluate.
It is intended to complement a separate seasonal zone and quality indicator. Final zone validation, tradeability, and risk assessment remain outside the scope of this companion script.
Core idea
Seasonality is often misread because a rising average curve alone does not tell much about how stable or useful that effect actually is. This script separates several questions:
- What does the average seasonal path of the year look like?
- How far does the current year deviate from that path?
- What happened historically from the current seasonal date over the next 5 to 60 Daily bars?
- Is a long-term seasonal effect also confirmed by recent years?
- Is the seasonal structure robust, or is it strongly influenced by outlier years?
- Is there local seasonal pressure around the current date?
The calculation is Daily-based. On supported intraday charts, the seasonal analysis remains anchored to the last confirmed Daily bar. Intraday bars do not change the seasonal statistics.
Classic Annual Curve
The Classic Annual Curve builds a synthetic seasonal path from January to December.
For each calendar day, the script calculates the historical average Daily return for that month/day slot. These average Daily returns are then accumulated or compounded from the beginning of the year.
The curve does not show where price has to move. It shows how the market has behaved on average throughout the calendar year over the selected lookback.
The additional Current Year path shows whether the current year is trading above, below, or close to this average seasonal structure.
Robust Seasonal Curve
The Robust mode does not use the average of individual Daily returns. Instead, it works with normalized historical yearly paths.
From these paths, the script calculates a median path and percentile bands. The bands show how much the historical years differ from each other. A narrow band suggests a more consistent seasonal structure. A wide band shows that historical paths varied significantly.
The percentile bands are historical dispersion areas. They are not future price ranges.
Tactical Profile
The Tactical Profile shows a local window around the current seasonal date. It checks whether the corresponding windows in prior years showed more positive, negative, or mixed Daily pressure.
The classification Long, Short, Range, or None describes local seasonal pressure only:
- Long means positive seasonal pressure
- Short means negative seasonal pressure
- Range means weak or neutral directional structure
- None means insufficient clarity or insufficient data
These states are not trading instructions. They only help describe the local seasonal environment.
Forward statistics
The Forward Stats table measures what historically happened from the current seasonal date over fixed future horizons.
Example:
30D does not mean the past 30 days.
30D means the historical return from the current seasonal date to +30 Daily bars in prior years.
For each horizon, the table shows the average, median, positive sample share, and available sample count. The median is especially useful because it is less sensitive to individual outlier years than the average.
Stability and Reliability
The script distinguishes between the requested lookback and the number of actually available samples. Especially with CFD symbols or shorter broker histories, a 25-year lookback may result in far fewer valid samples.
Reliability classifies this sample coverage as Good, Limited, or Weak.
The Stability row compares the full-lookback 30D forward effect with the recent 30D forward effect:
30D Δ: Full / Recent
Full uses the complete lookback.
Recent uses only the more recent years.
If both values differ significantly, the seasonal effect is less stable. This may indicate that an older seasonal structure is no longer clearly confirmed by more recent market behavior.
Turning points
Seasonal Peaks and Troughs mark filtered local highs and lows of the active seasonal curve. They show where the historical seasonal path structurally turned.
These markers are not reversal signals. They only help identify whether a seasonal phase has historically been near its beginning, middle, or a potential turning area.
Interpretation
The script is intended to make seasonal structure visible and comparable. It does not replace market analysis, risk management, or an assessment of the current market regime.
Seasonal patterns can be distorted by macro events, structural market changes, liquidity conditions, data source differences, symbol history, or different Daily close definitions.
For robust seasonal analysis, instruments with long and consistent historical data are generally preferable to symbols with short or reconstructed data histories. Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Astro: Time-Degree Trend Lines [invincible3]Astro-Gann Time-Degree Trend Lines – Invincible3
Astro-Gann Time-Degree Trend Lines is a range-based financial astrology and Gann timing tool designed to project planetary motion into price space.
Instead of plotting ordinary planetary positions, this indicator converts planetary movement into price-degree trend lines using a selected anchor price, anchor time, end time, user-defined planetary starting degrees, a motion harmonic multiplier, and a custom price-per-degree scale.
The concept is based on the Gann principle that time, price, and degrees can be harmonically related. Each planet’s movement over the selected range is converted into price movement, allowing traders to study planetary speed, time cycles, price vibration, and harmonic market geometry directly on the chart.
The indicator also includes a Gann-style aspect table that compares planet-to-planet angular relationships at the end of the selected range using each planet’s manually entered starting degree. This makes the aspect logic more meaningful because planets no longer begin from a common zero point. Each planet can start from its own real zodiac degree, ephemeris-based value, or symbolic Gann degree.
This tool is especially useful for traders who apply W.D. Gann methods, planetary time cycles, price-time squaring, astro-harmonics, Square of 9 logic, 360° degree geometry, and financial astrology to identify possible zones of trend continuation, support, resistance, vibration, or reversal timing.
What This Indicator Does
The indicator starts from a selected anchor price and anchor time.
Each planet also has a user-defined starting degree at the anchor. From that point, the script calculates how many degrees each planet moves during the selected date range, adds that motion to the planet’s starting degree, and then converts the resulting degree value into a projected price level.
The projection model is:
Planetary Motion = Days × Average Daily Motion × Motion Harmonic Multiplier
Line Degree = Starting Degree + Planetary Motion
Projected Price = Anchor Price ± (Line Degree × Points Per Degree)
This means the starting degree directly affects the trend-line position.
For example, if the Sun starts at 4°, moves 30°, and the selected scale is 10 points per degree, then:
Line Degree = 4° + 30° = 34°
Projected Price = Anchor Price ± 340 points
So the line does not only represent planetary movement from zero. It represents the full start-degree-adjusted Gann line degree.
Core Concept
This is not a standard astronomical aspect indicator. It is a Gann-style time-degree projection tool.
The purpose is to study:
How many degrees each planet moves during a selected market range.
How planetary motion can be translated into price.
How each planet’s starting degree changes the projected line position.
Which planets produce stronger or weaker price-time slopes.
Where planetary degree projections align with price structure.
Which planet pairs form Gann/astro harmonic relationships at the end of the range.
This makes the indicator useful for analyzing market vibration, planetary speed relationships, price-time geometry, harmonic projection, and range-based astro-Gann timing.
Key Features
Range-Based Astro-Gann Projection
Select a custom time range using:
Anchor Time
End Time
Anchor Price
The indicator calculates planetary movement across this exact range and projects it onto the price chart.
This allows traders to study planetary motion from an important market event such as:
Major swing high
Major swing low
Breakout point
Crash low
All-time high
Cycle start
First trading date
Gann anniversary date
Important planetary event
Major economic or market cycle date
The selected range becomes the measurement window for planetary movement and Gann degree projection.
User-Defined Starting Degrees
Each planet has a manual starting degree input.
This allows traders to enter the actual zodiac degree or symbolic Gann degree of each planet at the anchor date.
The starting degree affects:
The plotted planetary trend-line position
The projected price level
The end label
The final line degree
The aspect-table end longitude
This correction is important because each planet no longer starts from 0°. Each body can begin from its own real, ephemeris-based, or symbolic starting degree.
For price projection, the indicator uses:
Line Degree = Starting Degree + Planetary Motion
For aspect calculations, the indicator uses:
End Longitude = Starting Degree + Signed Planetary Motion
Planetary Time-Degree Trend Lines
The indicator plots planetary motion lines for:
☉ Sun
☾ Moon
☿ Mercury
♀ Venus
♂ Mars
♃ Jupiter
♄ Saturn
♅ Uranus
♆ Neptune
♇ Pluto
☊ Lunar Node
Each planet has:
Its own average daily motion
Its own starting degree
Its own projected line degree
Its own color setting
Its own visibility toggle
The final trend-line position is based on the planet’s starting degree plus its movement over the selected range.
Uptrend and Downtrend Projection
The indicator can plot:
Upward planetary projection lines
Downward planetary projection lines
Upward lines project planetary degree movement above the anchor price.
Downward lines project planetary degree movement below the anchor price.
This allows traders to study both bullish and bearish price-time pathways from the same anchor.
For example:
Up projection = Anchor Price + Line Degree × Points Per Degree
Down projection = Anchor Price - Line Degree × Points Per Degree
This gives a balanced way to study both expansion and contraction from a selected market point.
Points Per Degree Scaling
The user can define how many price points represent one planetary degree.
Examples:
1 point per degree
10 points per degree
100 points per degree
Custom market-specific scaling
This is useful because every market has a different vibration.
Gold, Bitcoin, forex pairs, stocks, commodities, and indices may require different degree-to-price scaling.
The purpose is to find a scale where planetary degree projections align meaningfully with market structure, swing points, or harmonic price zones.
Motion Harmonic Multiplier
The motion harmonic multiplier can be used to increase or decrease the speed of planetary projection.
Examples:
1x = normal planetary motion
2x = double-speed harmonic
0.5x = half-speed harmonic
This can be useful for traders who study:
Harmonic repetition
Accelerated cycles
Compressed planetary timing
Higher-frequency market vibration
Fractional planetary movement
The motion harmonic multiplier changes the planetary movement component of the line.
It affects the slope and speed of the planetary projection. It should be understood as a speed or cycle multiplier, not as a 360° price octave shift.
Gann Aspect Table
The indicator includes a compact aspect table that compares planet-to-planet angular relationships at the end of the selected range.
The table uses each planet’s starting degree and signed planetary motion:
End Longitude = Starting Degree + Signed Planetary Motion
Then it calculates the angular separation between planet pairs and finds the nearest Gann/astro aspect.
Supported aspect angles include:
0° Conjunction
30° Semi-sextile
45° Semi-square
60° Sextile
72° Quintile
90° Square
120° Trine
135° Sesquiquadrate
144° Biquintile / Gann harmonic
150° Quincunx
180° Opposition
The table displays:
Planet pair
Nearest aspect
Angular delta at range end
Orb from exact aspect
This helps identify which planet pairs are in close harmonic relationship at the end of the selected range.
Aspect Interpretation for Gann Traders
In financial astrology and Gann analysis, aspects are not used only as traditional astrology signals. They are also treated as geometric divisions of the 360° circle.
Important divisions include:
45° and 90° for square pressure and market action
60° and 120° for smoother harmonic flow
72° and 144° for fifth-harmonic and pentagonal geometry
180° for opposition, polarity, and possible culmination
30° and 150° for adjustment zones
When a planet pair forms a tight orb near one of these angles, it may indicate a time window where market rhythm, volatility, or direction can shift.
The table is not meant to be used as a standalone signal. It is designed to provide astro-Gann confluence with price structure, swing points, trendlines, Fibonacci levels, cycle dates, and market context.
How to Use
1. Choose an Important Market Anchor Point
Select a meaningful market point such as:
Major swing high
Major swing low
Breakout level
Crash low
All-time high
All-time low
First trading date
Cycle start
Gann anniversary date
This anchor becomes the origin point for the projection.
2. Set the Anchor Price
Enter the price level from which the planetary degree lines will begin.
This is usually the price of the selected swing high, swing low, breakout, or cycle point.
3. Set the Anchor Time and End Time
Choose the start and end dates of the range.
The indicator calculates planetary movement across this selected time window.
The range defines the time component of the Astro-Gann projection.
4. Enter Starting Degrees for Each Planet
Enter the starting degree for each planet at the anchor date.
These can be:
Actual zodiac degrees from an ephemeris
Geocentric planetary degrees
Heliocentric planetary degrees
Symbolic Gann degrees
Custom cycle degrees chosen by the trader
The starting degree affects both the trend-line position and the aspect-table calculation.
5. Adjust Points Per Degree
Increase or decrease the price-per-degree value until the projected planetary lines match the market’s vibration.
Different markets may require different scales.
For example:
Gold may respond better to one scale.
Bitcoin may require a larger scale.
Forex may require a smaller scale.
Stocks and indices may need symbol-specific calibration.
6. Adjust the Motion Harmonic Multiplier
Use the motion harmonic multiplier to test faster or slower planetary projection rhythms.
For example:
1x = normal planetary speed
2x = double-speed projection
0.5x = half-speed projection
This is useful when studying compressed cycles, expanded cycles, or harmonic repetitions of planetary motion.
7. Enable the Planets You Want to Study
Enable or disable planets depending on your trading timeframe.
General use:
Moon, Mercury, Venus = faster short-term timing
Sun and Mars = intermediate timing
Jupiter and Saturn = larger cycle structure
Uranus, Neptune, Pluto = macro or long-term harmonic background
Node = long-cycle timing reference in financial astrology
8. Use the Aspect Table
Look for tight orbs between planet pairs near important Gann aspects such as:
45°
60°
72°
90°
120°
135°
144°
150°
180°
The tighter the orb, the closer the pair is to an exact harmonic relationship at the end of the selected range.
Use this as timing confluence, not as a mechanical buy/sell signal.
Practical Trading Applications
This indicator can be used to study:
Price-time squaring
Planetary degree projection
Market vibration
Time-cycle completion
Harmonic resistance and support zones
Planetary speed-based trend slopes
Start-degree-adjusted planetary projection
Possible reversal windows
Range-based astro-Gann confluence
Planet-to-planet harmonic relationships
It is best used together with normal market structure tools such as:
Swing highs and lows
Trendlines
Fibonacci levels
Support and resistance
Volume
Momentum indicators
Cycle dates
Seasonality
Volatility zones
The strongest use case is when planetary lines, motion harmonics, aspect-table harmonics, and technical market structure all point to the same zone.
Important Notes
This indicator uses average daily planetary motion, not a full astronomical ephemeris engine.
The starting degrees are entered manually by the user. For more accurate astrology-based analysis, users should obtain planetary degrees from an ephemeris and enter them into the starting degree fields.
The starting degrees affect both:
Visual projection lines
Aspect-table calculations
This makes the tool more consistent with range-based Astro-Gann analysis.
The Lunar Node is commonly treated as retrograde in zodiac motion. For price-line projection, absolute motion may be used for clean visual direction, while aspect logic respects signed motion.
Because this is a Gann-style projection tool, the purpose is not to predict with certainty. The purpose is to map possible price-time harmonics and observe where market structure reacts around those projected levels.
Known Limitations
Planetary positions are based on average motion, not high-precision ephemeris calculations.
Manual starting degrees are required for meaningful projection and aspect-table results.
The indicator does not automatically fetch real-time planetary longitude.
The motion harmonic multiplier changes projection speed, not a 360° price octave.
Results should be treated as analytical confluence, not standalone trade signals.
Best Use Case
This tool is best suited for traders who already use or are studying:
W.D. Gann methods
Financial astrology
Planetary price-time projection
Square of 9 logic
360° degree geometry
Astro-cycle timing
Harmonic market geometry
Planetary speed relationships
Price-time squaring
It is designed for traders who want to visually connect planetary motion, starting degrees, time range, and price movement directly on the chart.
Summary
Astro-Gann Time-Degree Trend Lines – Invincible3 converts planetary motion into price-degree projections using a selected market range.
The corrected logic combines:
Starting Degree
Planetary Motion
Motion Harmonic Multiplier
Price-per-degree scaling
This creates a practical Astro-Gann projection model where each planet has its own degree origin, its own movement, and its own projected price path.
The result is a charting tool for studying planetary price-time geometry, market vibration, harmonic resistance/support, and possible reversal timing.
Disclaimer
This indicator is for educational and analytical purposes only. It does not provide financial advice or guaranteed market predictions. Always combine astro-Gann analysis with risk management, market structure, and independent trading judgment. Indicator

Indicator
