Indicator

Indicator

K-NN Pattern ForecastK-NN Pattern Forecast
K-NN Pattern Forecast is an educational forecast indicator that uses historical pattern similarity to project a probabilistic future price path.
The indicator compares the most recent confirmed price pattern with similar historical patterns on the same chart. It then calculates the average forward movement of the closest historical matches and displays a projected path, probability estimates, a quality grade, and a dashboard summary.
This is a forecast indicator, not a trading strategy. It does not place trades, does not simulate orders, and does not provide backtested strategy results. The forecast is probabilistic and based only on historical similarity. It should not be interpreted as a guaranteed prediction, financial advice, or an automatic buy/sell signal.
What the indicator does
The script analyzes recent price behavior and searches historical chart data for similar patterns.
It then estimates what happened after those similar historical patterns and uses that information to create a forward projection.
The indicator displays:
* Forecast direction.
* Forecast path.
* Probability of upward movement.
* Probability of downward movement.
* Projected move percentage.
* ±1 standard deviation forecast band.
* Normalized pattern distance.
* Number of historical matches used.
* Quality score.
* A / B / C grade classification.
* Dashboard summary.
Core concept
The indicator uses a K-Nearest Neighbors style approach.
K-NN is a similarity-based method. Instead of using fixed trend rules or moving-average crosses, the script compares the current market pattern to past patterns and studies the forward movement that followed those historical matches.
The logic is based on the idea that similar price structures may sometimes lead to similar short-term outcomes, but the result is never guaranteed.
How the pattern matching works
1. Current pattern construction
The script builds the current pattern from recent confirmed candles.
It uses log returns between consecutive closes rather than raw price values. This helps normalize the pattern so that the comparison focuses more on shape and movement structure than absolute price level.
2. Historical search
The script searches through a selected historical window and builds comparable historical patterns using the same pattern length.
Each historical candidate is compared with the current pattern.
3. Distance calculation
The script calculates the Euclidean distance between the current pattern and each historical pattern.
A smaller distance means the historical pattern is more similar to the current pattern.
4. K nearest matches
The script selects the closest historical matches based on the K Nearest Neighbors setting.
These selected matches are then used to calculate the forecast.
5. Forward projection
For each selected match, the script studies what happened during the selected forecast horizon after that historical pattern.
The average forward movement becomes the main projected forecast path.
6. Forecast band
The script also calculates dispersion around the forecast using a standard deviation band.
The ±1σ band is intended to show uncertainty around the projected path. A wider band means the historical outcomes were more dispersed and less consistent.
Dashboard explanation
The dashboard summarizes the forecast output:
Direction
Shows whether the average projected move is bullish, bearish, or neutral.
Grade
Classifies forecast quality as A Grade, B Grade, or C Grade.
A Grade means the forecast has stronger alignment according to the script’s scoring model.
B Grade means moderate alignment.
C Grade means weak, noisy, or lower-quality alignment.
The grade is not a guarantee of future movement. It is only a quality classification based on the script’s internal probability, distance, and forecast-band criteria.
Score
Shows the total quality score out of 100.
The score combines:
* Directional probability.
* Normalized distance between the current pattern and historical matches.
* Width of the ±1σ forecast band.
Status
Shows a simplified interpretation of the grade:
* Strong Setup.
* Moderate Setup.
* Weak / Noisy.
Projected Move
Shows the average projected percentage move over the selected forecast horizon.
P(up)
Shows the percentage of selected historical matches that moved upward over the forecast horizon.
P(down)
Shows the percentage of selected historical matches that moved downward over the forecast horizon.
±1σ Band
Shows the estimated one-standard-deviation forecast band percentage.
A smaller band suggests that the selected historical outcomes were more clustered. A larger band suggests more uncertainty.
Normalized Distance
Shows the average similarity distance adjusted by pattern length.
Lower values indicate closer historical similarity. Higher values indicate weaker similarity.
Matches
Shows how many historical matches were used compared with the selected K value.
Forecast grading model
The script uses an internal scoring model based on three elements:
1. Direction probability
Higher directional probability receives a higher score.
For example, if most selected historical matches moved in the same direction, the probability component improves.
2. Normalized distance
Lower normalized distance means the selected historical patterns are more similar to the current pattern.
Closer matches improve the score.
3. Forecast band width
A narrower ±1σ band suggests the historical outcomes were more consistent.
A wider band reduces the score because the forecast has more uncertainty.
A Grade / B Grade / C Grade
A Grade
Represents the strongest forecast quality according to the selected scoring thresholds. It usually means the direction probability is stronger, historical matches are closer, and the forecast band is more controlled.
B Grade
Represents a moderate forecast quality. The setup has some useful alignment, but the forecast is not as strong as A Grade.
C Grade
Represents a weaker or noisier forecast. This can happen when historical similarity is poor, probability is not strong, or the forecast band is wide.
Users can choose to hide C Grade forecasts if they want the chart to display only higher-quality forecast conditions.
Important note about the forecast
This indicator is a forecast tool, but it does not know the future.
The forecast is generated from historical similarity only. Market conditions can change, and a pattern that looked similar in the past may behave differently in the future.
The projected path should be treated as a probabilistic scenario, not a price target and not a trade recommendation.
How to use it
A practical workflow is:
1. Choose a liquid symbol and timeframe.
2. Set the Pattern Length to define how many recent bars form the current pattern.
3. Set the History Search Window to define how much past data the script searches.
4. Set K Nearest Neighbors to control how many similar historical patterns are used.
5. Set the Forecast Horizon to define how many bars forward the projection extends.
6. Review the forecast direction and projected move.
7. Check the probability values and the ±1σ band.
8. Give more weight to forecasts with better grades and lower normalized distance.
9. Avoid treating the forecast path as a guaranteed outcome.
10. Combine the forecast with independent market structure, liquidity, volume, risk management, and higher-timeframe analysis.
Inputs
Pattern Matching
* Pattern Length: number of bars used to define the current pattern.
* History Search Window: number of historical bars searched for similar patterns.
* K Nearest Neighbors: number of closest historical matches used in the forecast.
* Forecast Horizon: number of bars projected forward.
Forecast Quality Filter
* Hide C Grade Forecasts: hides lower-quality forecasts from the chart.
* A Grade Min Score: minimum score required for A Grade.
* B Grade Min Score: minimum score required for B Grade.
* Strong Direction Probability %: probability threshold used in the scoring model.
* Good Direction Probability %: secondary probability threshold used in the scoring model.
* Good Normalized Distance: stricter distance threshold for better similarity.
* Medium Normalized Distance: moderate distance threshold for similarity.
* Good ±1σ Band %: stricter band-width threshold.
* Medium ±1σ Band %: moderate band-width threshold.
Display
* Show Forecast Path: shows or hides the projected forecast path.
* Forecast Path Width: controls the forecast line thickness.
* Show ±1σ Confidence Band: shows or hides the forecast uncertainty band.
* Up Forecast Color: color used for bullish forecasts.
* Down Forecast Color: color used for bearish forecasts.
* Band Color: color used for the ±1σ band.
Dashboard Table
* Show Dashboard Table: shows or hides the dashboard.
* Table Position: controls dashboard location.
* Table Size: controls text size.
* Table Background: controls table background color.
* Table Text Color: controls dashboard text color.
* Table Border Color: controls dashboard border color.
Originality and usefulness
This indicator is designed as a historical-similarity forecast framework rather than a standard trend or momentum overlay.
Its usefulness comes from combining:
* Pattern matching using recent confirmed candle behavior.
* K-nearest historical comparison.
* Average forward path projection.
* Directional probability.
* Forecast dispersion using ±1σ band.
* A transparent quality score and grade.
* A dashboard that explains the current forecast state.
The goal is to help traders study whether the current price structure resembles prior market structures and what the average forward behavior looked like after those historical examples.
Limitations
This indicator does not predict future price with certainty.
A bullish forecast does not guarantee price will rise.
A bearish forecast does not guarantee price will fall.
An A Grade forecast does not guarantee a successful trade.
A C Grade forecast does not mean price cannot move strongly.
The forecast can change when new candles close because the current pattern changes.
The indicator uses confirmed candles only, but the displayed projection is recalculated as new confirmed data becomes available.
The quality of the forecast depends heavily on:
* Symbol.
* Timeframe.
* Available historical data.
* Pattern length.
* Search window.
* Number of neighbors.
* Forecast horizon.
* Market regime.
* Volatility conditions.
* Liquidity conditions.
Historical similarity does not guarantee future repetition.
Recommended use
K-NN Pattern Forecast is best used as an educational probabilistic forecast indicator.
It can help traders compare the current price pattern with similar historical patterns and evaluate possible forward scenarios, but it should always be used with independent analysis and proper risk management.
Indicator

Price Density S&RPrice Density S&R
Price Density S&R is a price-action based support and resistance indicator designed to identify levels where market activity has repeatedly concentrated over a selected historical period.
Instead of relying on pivot points, oscillators, or volume-based calculations, the script analyzes historical price interactions and groups nearby price points into density zones. Areas that receive repeated interactions are considered potentially significant market levels and are displayed as dynamic support and resistance lines.
How It Works
The indicator scans historical candles within a user-defined lookback range and collects high, low, and closing prices.
Nearby prices are automatically clustered into zones using a configurable merge threshold. Every time price revisits a zone, the interaction count increases. Zones with the highest interaction frequency are prioritized and displayed on the chart.
The result is a map of price levels that have historically attracted repeated market attention.
Features
• Automatic support and resistance detection
• Price-density clustering algorithm
• Adjustable lookback period
• Customizable zone sensitivity
• Minimum touch-count filtering
• Dynamic level ranking based on interaction frequency
• Visual distinction between support and resistance zones
• Optional touch-count labels
• Lightweight and chart-friendly design
Settings
Lookback Bars:
Defines how many historical bars are analyzed.
Zone Merge Threshold:
Controls how aggressively nearby prices are grouped together.
Minimum Touch Count:
Filters out weaker levels with insufficient historical interactions.
Maximum Levels:
Limits the number of displayed support and resistance levels.
Interpretation
Levels with higher touch counts indicate areas where price has historically interacted more frequently. These zones may represent areas of market interest, potential reactions, consolidation, or previous balance between buyers and sellers.
As with all technical analysis tools, historical interactions do not guarantee future market behavior. The indicator should be used alongside broader market context, trend analysis, and risk management techniques.
Notes
This indicator is designed as a visual market-structure tool and does not generate buy or sell signals. It is intended to help traders identify historically active price regions that may be relevant during future market analysis. Indicator

Indicator

Sonic R (13-34-89) by DQT Sonic R System - EMA 13-34-89-200
Description:
The Sonic R indicator is built upon a multi-layered Exponential Moving Average (EMA) system combined with a Price Action Channel (PAC), designed to identify market trends, dynamic support/resistance zones, and high-probability trade entries.
Core Components:
1. Price Action Channel (PAC) — EMA 34 Band
The PAC is calculated using EMA 34 applied to High, Low, and Close prices, forming a dynamic channel that represents the short-term equilibrium zone. Price above the channel signals bullish momentum; price below signals bearish pressure.
2. EMA Trend System:
🟡 EMA 13 — Fast-reacting short-term trend, captures immediate price momentum
🔴 EMA 34 — Core support/resistance zone displayed as a red band, acts as the market's heartbeat
🟣 EMA 89 — Medium-term trend filter, smooths out market noise
🟢 EMA 200 — Long-term trend anchor, defines the overall market direction
How to Use:
Price above all EMAs → strong uptrend, prioritize buy setups
Price below all EMAs → strong downtrend, prioritize sell setups
Price inside the red EMA 34 band → market consolidating, wait for breakout confirmation
EMAs stacked in order (13 > 34 > 89 > 200) → trend is clean and strong, highest confidence entries
Best Used On: All timeframes — most effective on H1, H4, and Daily charts. Indicator

Indicator

Indicator

Machine Learning Random Forest Strategy | GainzAlgoMachine Learning Random Forest Strategy
We are excited to introduce the Machine Learning Based Random Forest Strategy indicator.
What Even Is a Random Forest?
Machine learning and AI get thrown around so loosely these days that they've almost lost all meaning. So let's start from the beginning.
A Random Forest is an ensemble learning method. Instead of relying on a single model, it combines many models that work together and vote on an outcome.
The individual models are called decision trees.
A decision tree is essentially a flowchart:
Is a feature above or below a threshold?
If yes, go left.
If no, go right.
Continue until a prediction is reached.
The problem with a single decision tree is that it is fragile. Train it on slightly different data and you may get a completely different tree. This creates high variance and causes overfitting.
This is the same weakness many rule-based indicators suffer from. They perform well in one market regime and break down when conditions change.
A Random Forest solves this problem through two core mechanisms:
Bootstrap Sampling — Each tree is trained on a random subset of historical data using sampling with replacement.
Random Feature Selection — Each tree can only evaluate a random subset of features at every split.
Without random feature selection, every tree would focus on the same dominant signal and become nearly identical.
By forcing trees to learn different relationships, prediction errors become less correlated. When many uncorrelated predictors are averaged together, noise tends to cancel out while useful signal remains.
This is the foundation of ensemble learning and the reason Random Forests remain one of the most widely used machine learning models.
The Pine Script Problem (And How We Solved It)
Pine Script was never designed to support traditional machine learning workflows.
There are no native machine learning primitives, no recursion, strict execution limits, and memory is largely restricted to arrays and matrices.
Building a traditional multi-level decision tree inside Pine Script is therefore extremely difficult.
The solution was to use decision stumps.
A decision stump is simply a decision tree with exactly one split.
By themselves, stumps are weak predictors. However, when many stumps are combined together using random feature selection, they form a legitimate shallow Random Forest.
The core ensemble behavior remains intact:
Each stump learns a slightly different relationship.
Prediction errors become decorrelated.
Averaging outputs creates a more stable forecast.
This is not a workaround.
A depth-1 Random Forest is still a Random Forest. Production libraries such as scikit-learn simply allow deeper trees, while the underlying ensemble mechanism remains the same.
Threshold Optimization Using Information Gain
A naive stump implementation would select completely random thresholds.
The problem is that random thresholds often produce meaningless 50/50 predictions.
To solve this, the model performs a threshold search.
Each stump evaluates multiple candidate thresholds and selects the one that maximizes Information Gain using Gini Impurity.
Gini Impurity Explained
Gini = 0 → Perfectly pure node.
Gini = 0.5 → Completely mixed node.
Lower values are better.
Information Gain measures how much impurity is reduced after a split.
The model evaluates multiple threshold candidates and selects the threshold that best separates bullish and bearish outcomes.
This is the same methodology used by scikit-learn's DecisionTreeClassifier using the Gini criterion.
The Two Models Running In Parallel
The indicator actually runs two separate Random Forest models simultaneously.
1. RF Classifier
The classifier answers a binary question:
"Is the next move likely bullish or bearish?"
It outputs a probability representing the likelihood that the next close will be higher than the current close.
This probability drives the signal generation process.
Bull probability exceeds threshold → ▲ Bullish Signal
Bear probability exceeds threshold → ▼ Bearish Signal
2. Regression Forest
The regression forest estimates the magnitude of the next move.
Instead of predicting direction, it predicts expected return.
This value appears as "Exp. Ret" inside the statistics table.
Having both models creates stronger confirmation.
High Bull Probability + Positive Expected Return = Strong Confirmation
High Bear Probability + Negative Expected Return = Strong Confirmation
Conflicting Signals = Reduced Conviction
Features: What The Model Actually Looks At
All features are normalized to a 0-100 scale.
Anchor Oscillator
Users can select:
RSI
MFI
Stochastic
Z-Score
This acts as the model's primary momentum or mean reversion feature.
Trend Correlation Feature
The model measures how strongly price has been correlated with time over a specified lookback period.
High values indicate strong directional trends.
Low values indicate choppy or sideways conditions.
Momentum / ATR Feature
Raw momentum is normalized using ATR.
This allows momentum strength to remain comparable across different volatility environments.
The Rolling Training Window
The model does not train on all historical data.
Instead, it continuously trains on the most recent N bars.
Every new bar:
Oldest sample is removed.
Newest sample is added.
Model retrains using current market conditions.
This is critical because markets are non-stationary.
Patterns that worked years ago may no longer be relevant today.
The rolling window helps the model adapt to changing market conditions.
Preventing Lookahead Bias
Many PulseWire machine learning indicators accidentally introduce lookahead bias.
This occurs when a model trains using information that would not have been available at the time of the prediction.
This implementation avoids that problem by using lagged feature values and future returns as targets.
The model only learns from information that genuinely existed before the outcome occurred.
Adaptive Threshold: The Self-Correcting Layer
One of the most unique aspects of this indicator is its adaptive threshold system.
The default probability threshold is 60%.
However, that threshold is not fixed.
After trades resolve:
Strong recent performance → Threshold remains relaxed.
Weak recent performance → Threshold automatically increases.
This forces the model to demand greater conviction during difficult market conditions.
When active, an orange ▲ marker appears next to the threshold value inside the statistics table.
This indicates that the model has tightened its own standards due to recent underperformance.
Signal Logic & Cooldown
Signals are not generated continuously.
Instead, the indicator uses edge-detection logic.
Signals only trigger when probability crosses above the required threshold.
Cross Above Threshold → New Signal
Remain Above Threshold → No New Signal
Additionally, a cooldown period prevents repetitive signals in the same direction.
The default cooldown is 10 bars.
This reduces signal clustering and improves overall readability.
Reading The Statistics Table
The table provides a complete snapshot of model activity.
Bull Prob — Current bullish probability estimate.
Signal — Current directional bias.
Exp. Ret — Expected return estimate.
Anchor — Selected oscillator value.
Eff. Thresh — Current effective threshold.
The backtest section includes:
Total Signals
Win Rate
Cumulative PnL
Average Trade PnL
Profit Factor
Wins & Losses
These values serve as a reality check based on current settings and chart conditions.
How To Use The Indicator
Do not blindly chase every arrow.
The strongest opportunities occur when multiple components align.
Look for:
High Bull Probability
Positive Expected Return
Clear Trend Structure
Supportive Market Conditions
When Bull Probability and Expected Return disagree, consider that a warning sign and reduce conviction.
Training Window & Tree Selection
The training window controls how much recent history the model learns from.
Short Window = Faster Adaptation
Long Window = Greater Stability
The number of trees controls prediction smoothness.
More Trees = Smoother Predictions
Fewer Trees = Faster Computation
Default settings provide a balanced starting point for most markets.
ADX Filtering
Optional ADX filtering can be enabled to isolate signals during stronger trending environments.
This tends to perform particularly well on higher timeframes.
What This Isn't
A few honest disclaimers:
This is not a deep neural network.
This is not a full-depth Random Forest implementation.
This is not a guaranteed profit system.
This is not immune to changing market conditions.
The model uses depth-1 decision stumps due to Pine Script limitations.
While this prevents complex nonlinear interactions, it preserves the core ensemble learning principles that make Random Forests effective.
The indicator intentionally uses only a handful of carefully selected features rather than overwhelming the model with unnecessary inputs.
Wrapping It Up
The Machine Learning Random Forest Strategy combines legitimate ensemble learning concepts with practical market analysis.
By leveraging Random Forest classification, regression forecasting, adaptive probability thresholds, and rolling retraining windows, the indicator provides a unique framework for evaluating both direction and expected magnitude of future price movement.
Use it as a decision-support tool, combine it with sound risk management, and let probability—not prediction—guide your trading process. Indicator

Indicator

Indicator

Indicator

AetherEdge - Spectral Cycle Engine🖊️ Overview
AE-SCE is a market frequency lens that exposes the cycles hiding inside price. It runs a Discrete Fourier Transform over a rolling window of linearly-detrended price, tracks the dominant cycle and its phase (rising/falling, bars-to-turn), reconstructs a denoised waveform from the strongest components and extrapolates it forward (Fourier projection), and paints a live spectrogram — period × time × amplitude — so you can watch cycles strengthen, fade, and migrate. The lens re-focuses every bar onto whichever cycles dominate now.
🔶 Key Features
DFT spectral engine — analyzes the frequency content (amplitude, phase, period) of a rolling window, quantifying the market's cyclical structure.
Dominant-cycle tracking — identifies the strongest period each bar and measures its strength (share of total spectrum).
Phase & turn forecast — from the dominant cycle's current phase, estimates rising/falling and "how many bars to the next peak/trough."
Fourier reconstruction + projection — rebuilds the waveform from the top-N components and extrapolates a forecast curve onto the chart.
Live spectrogram — a period (rows) × time (columns) × amplitude (color) heatmap, revealing the rise, fall, and migration of cycles at a glance.
Adaptive focus — rolling re-estimation keeps the lens trained on the current dominant cycle.
Live statistics panel — dominant period, strength, phase (turn forecast), projected return, and components used.
Efficient design — the trig basis is precomputed once, and the heavy transform runs only on the last bar, staying within Pine's runtime budget.
🧠 Technical Architecture
On each last bar, the newest length-N window is linearly detrended via least squares, and a DFT is applied to the residual. For each bin k=1..N/2 it computes real and imaginary parts, then amplitude A_k = (2/N)√(Re²+Im²), phase φ_k = atan2(Im,Re), and period T_k = N/k. The highest-amplitude bin within the displayed band is the dominant cycle, its strength measured as A* / ΣA. Reconstruction is the sum of the top-N components Σ A_k·cos(2πkm/N − φ_k) plus the linear trend; extending m beyond the window turns it into a forward projection.
The spectrogram applies the same transform to several windows shifted back by a stride, encoding each time-and-period amplitude as color. The phase-based turn forecast derives the dominant cycle's phase angle at the newest bar and converts the phase distance to a peak (cos=1) or trough (cos=−1) into bars. To keep it light, the cos/sin basis matrices are built once and reused, and the DFT itself runs only on the last bar. This is a spectral-analysis tool — not a learning model — that adapts to "the cycle of now" through rolling re-estimation.
🎯 Three design choices stand out. First, linear detrending suppresses trend leakage (spectral leakage), letting genuine cycles surface. Second, retaining phase lets it report not just amplitude but where in the cycle price sits. Third, the precomputed basis and last-bar concentration completely avoid the cost of recomputing across all history.
⚙️ Recommended Settings & Tuning Guide
As a crypto starting point — BTC/ETH (1D, 4H): window N = 64, 5 reconstruction components, spectrogram 16×20, stride 4, horizon 16; medium-to-long cyclical structure separates cleanly. High-volatility / short-term (SOL, XRP): shorten N toward 48 for faster response to shorter cycles, and narrow components to 3–4 to avoid pulling in noise, yielding a cleaner forecast curve.
Per parameter: Window (N) is the key — larger resolves longer cycles but adds lag and load; smaller is nimbler but misses long cycles. Reconstruction components set forecast smoothness — fewer give a smooth dominant-cycle curve, more track finer detail. Stride / columns set how far the spectrogram reaches back. Horizon sets projection length.
💡 How to Use in Practice
The core read is dominant cycle × phase × strength. When cycle strength is high and the phase reads "few bars to trough," it flags a potential dip + cycle reversal — a timing cue. Conversely "few bars to peak" is a candidate for taking profit or fading rallies. By watching the forecast curve's slope and whether price tracks it, you can judge whether cycles are in control (i.e., forecast reliability is high). When the spectrogram shows the dominant cycle migrating or splitting, the cyclical structure is changing — a sign your assumptions may be shifting.
For multi-timeframe work, read the larger cycle's phase on the higher timeframe and use shorter-cycle turns on the lower timeframe for execution. Pair it with trend tools and de-weight cycle forecasts when trends are strong.
⚠️ Important Notes
Nothing displays until warmup (window + spectrogram reach-back) completes. Fourier extrapolation assumes cycles persist, so forecast reliability drops sharply in strong trends or at structural breaks (regime changes). The reconstruction/forecast curve is redrawn every bar from the current spectrum and is not a frozen historical fit — it updates as new bars arrive. Spectral leakage from the finite window is mitigated by detrending, but cycles are not strictly stationary. Large windows or many columns over long history increase compute. This is a forecasting tool, not a certain future.
🚨 Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial or investment advice. Past performance is not indicative of future results. All trading involves risk. Use it alongside your own thorough testing and sound risk management; all trading decisions remain solely your own responsibility. Indicator

AetherEdge - Kalman State Filter🖊️ Overview
AE-KSF is a self-evolving state-space estimator that treats price as a hidden state. It models the true price as a **local linear trend — a level and a velocity — and recovers it from noisy observations with a Kalman filter. Critically, it does more than smooth: it carries the full uncertainty (covariance) of its estimate and projects it forward as a widening confidence cone. And because it estimates measurement noise online from the innovation stream, the Kalman gain self-tunes to every instrument and regime.
🔶 Key Features
A full Kalman filter engine — predict (x'=Fx, P'=FPF^T+Q) and update (x=x'+K(z−Hx')) run every bar, jointly estimating level and velocity.
Self-evolving adaptive noise — measurement noise R is estimated from the innovation stream, so the Kalman gain self-adjusts to volatility and noise level.
Uncertainty cone — the covariance is propagated forward into a probability cone that widens with confidence, visualizing how far the estimate can be trusted rather than a bare point line.
In-sample confidence band — a translucent ±σ band hugs the centerline, conveying current state uncertainty at a glance.
Velocity & trend strength — velocity (per-bar drift) and its signal-to-noise ratio (a t-statistic) quantify how certain the trend is.
Semantic coloring — centerline, band, and cone are auto-colored by velocity sign and confidence (Rising / Falling / Flat).
Live statistics panel — trend direction, velocity, trend strength, Kalman gain, estimated noise R, state uncertainty, and innovation.
Non-repainting design — state updates on confirmed bars only, with no look-ahead.
🧠 Technical Architecture
The state is two-dimensional — level p and velocity v. Transition F = [ , ] (constant-velocity), observation H = (level only). Each confirmed bar runs a predict step (advancing state and covariance P) and an update step (folding in the innovation z−Hx' through gain K). Observation is in log-price space by default, so the cone becomes multiplicative and asymmetric in price — a financially natural shape.
The heart of the self-evolution is adaptive noise estimation. An EMA tracks the squared innovation, and measurement noise is estimated as R ≈ EMA(innov²) − P'_position (floored). The filter thus dials its gain down in noisy phases (smoother) and up when structure is clear (snappier) — balancing itself. Process noise q is set as a ratio to that estimated R via the "Responsiveness" knob, auto-scaling to the instrument's noise level. The forward cone is built by propagating state and covariance with no measurements; its width starts at the current state uncertainty and widens with horizon.
🎯 Three design choices stand out. First, carrying covariance delivers a confidence-aware estimate beyond a smooth line. Second, adaptive R auto-calibrates the cone to real price noise. Third, confining state updates to confirmed bars keeps the historical estimate non-repainting.
⚙️ Recommended Settings & Tuning Guide
As a crypto starting point — BTC/ETH (1D, 4H): Responsiveness 20, Adaptive Noise on, Confidence σ = 2.0, horizon 16; smooth, low-lag trend tracking. High-volatility names (SOL, XRP): lower Responsiveness to 10–15 to absorb noise, and widen Confidence σ toward 2.5 for a steadier centerline and cone in rough action.
Per parameter: Responsiveness is the main knob — higher tracks price faster (less lag, less smoothing); lower is smoother (more lag, more noise tolerance). Adaptive Noise is best left on — it auto-calibrates per market; for manual control, set Manual Noise (R) directly. Confidence σ sets band and cone width; Horizon sets projection length. Trend Deadband (t-stat) sets how much trend certainty counts as Rising / Falling.
💡 How to Use in Practice
The core read is centerline × velocity × trend strength. When the centerline tilts up (cyan) with a high trend-strength (t-statistic), it reads as a tailwind for buying dips. A tag-and-reject at the in-sample band edge marks a deviation from the state estimate — a mean-reversion cue. A contracting band/cone means a calm, high-confidence state; an expanding one means rising uncertainty — useful for sizing. The forward cone's slope and width convey trend direction and confidence at a glance.
For multi-timeframe work, read the higher-timeframe centerline for the backdrop and use velocity turns (t-stat sign flips) on a lower timeframe for execution. Layered over support/resistance or volume, the Kalman centerline acts as a proxy for the "smooth price path institutions watch" — a reference line for entries and exits.
⚠️ Important Notes
Estimates are hidden until the warmup period (default 30 bars) completes (kept short, as the Kalman converges fast). Reloading the indicator makes the filter reprocess history from scratch — state is not persisted. This is a constant-velocity (local linear trend) model, so the forward point estimate is a straight line — it does not foretell sharp moves or reversals themselves. The uncertainty cone is a probabilistic range under the model's assumptions, not a certain forecast. State updates on confirmed bars; on the forming bar the centerline holds its last confirmed value.
🚨 Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial or investment advice. Past performance is not indicative of future results. All trading involves risk. Use it alongside your own thorough testing and sound risk management; all trading decisions remain solely your own responsibility. Indicator

AetherEdge - Gaussian Mixture Regimes🖊️ Overview
AE-GMM is a self-evolving regime detector that treats the market as a probability distribution rather than carving it up with rigid rules. It models the joint distribution of momentum × volatility as a mixture of K Gaussian components — one per regime — and keeps learning their means, variances, and weights through online Expectation-Maximization with forgetting. Every bar receives a soft probability vector (a posterior) over regimes, rendered as a flowing probability ribbon that lets the market's state blend and shift before your eyes.
🔶 Key Features
Gaussian mixture + online EM engine — the E-step (responsibilities) and M-step (sufficient statistics) run every bar, estimating the regime distribution incrementally.
Self-evolving forgetting mechanism — a forgetting factor λ weights recent data, so the model quietly reshapes itself as regimes emerge and dissolve.
Soft probability ribbon — the K regime probabilities, stacked into a flow in the lower pane; not hard boundaries, but "how much of each regime is present now."
Semantic regime coloring — each component is auto-colored by the character of its learned centroid (Risk-On / Range / Risk-Off / Stress), sidestepping the label-switching problem.
Projection onto price — force_overlay tints the main chart's background by the dominant regime, deepening with confidence.
Live statistics panel — dominant regime, confidence, per-regime probabilities, regime duration, the adaptation factor λ, and model fit (log-likelihood).
Diagonal-covariance robustness — no matrix inversion, numerically stable; learning on confirmed bars only, with no look-ahead.
🧠 Technical Architecture
The feature space is two-dimensional — a momentum axis (z-scored ATR-unit trend deviation) and a volatility axis (z-scored log realized-volatility). Each component is a diagonal-covariance Gaussian with mean μ_k, variance σ²_k, and weight π_k. Every bar, responsibilities (posteriors) are computed as γ_k(x) = π_k·N(x|μ_k,σ²_k) / Σ_j π_j·N(x|μ_j,σ²_j), normalized stably via log-sum-exp in the log domain.
Learning proceeds by incremental EM. On each confirmed bar, the sufficient statistics (responsibility mass N_k, Σγx, Σγx²) are updated with a forgetting factor λ, and π_k, μ_k, σ²_k are re-derived from them. Lower λ weights recent data and adapts quickly; higher λ acts as longer memory and stays steady. Components are initialized spread around a ring in feature space, starting from diverse regimes and migrating toward the data. Each regime's color is decided every bar from its learned centroid (high volatility → Stress; positive momentum → Risk-On; negative → Risk-Off; in between → Range).
🎯 Three design choices stand out. First, soft responsibilities let regime transitions be expressed as a blend of probabilities — the "in-between" is visible. Second, character-based coloring keeps colors meaningful regardless of index shuffling. Third, confining parameter updates to confirmed bars — with only the forming bar's posterior updating live — keeps historical output non-repainting.
⚙️ Recommended Settings & Tuning Guide
As a crypto starting point — BTC/ETH (1D, 4H): K = 3, λ = 0.99, standardization length 200, vol length 20; Risk-On / Range / Stress separate cleanly. High-volatility names (SOL, XRP): lower λ toward 0.97 for faster adaptation, and set K = 4 to split Stress into upside vs downside stress, revealing the internal structure of rough action.
Per parameter: λ (adaptation) is the key knob — near 0.999 regimes are smooth and persistent; near 0.95 they switch nimbly. K (regimes) ranges from 2 (on/off) to 4 (finer states). Standardization length sets the feature baseline window — longer is steadier, shorter more locally adaptive. Stress Vol (z) sets how much of a volatility rise counts as "Stress."
💡 How to Use in Practice
The core read is dominant regime × confidence. When the ribbon is thick in a single color (high confidence) and stable, strategies aligned with that regime tend to work (trend-following in Risk-On, fading in Range). When ribbon colors blend, it signals a regime transition — a cue to cut size or stand aside. When the Stress (amber) probability rises, volatility is expanding — useful for staging breakouts or de-risking.
For multi-timeframe work, read the higher-timeframe regime for the backdrop and execute on a lower timeframe. With the price-chart background tint enabled, regime "epochs" sit directly over the candles, making context easy to combine with trend or volume tools.
⚠️ Important Notes
Regimes are hidden until the warmup period (default 200 bars) completes. Reloading the indicator, or changing settings, makes the model relearn across the entire history from scratch — learning state is not persisted. This is a diagonal-covariance approximation and does not explicitly model correlation between features. Regime probabilities are the model's probabilistic beliefs, not certain forecasts. Parameters update on confirmed bars, while the forming bar's probabilities move live.
🚨 Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial or investment advice. Past performance is not indicative of future results. All trading involves risk. Use it alongside your own thorough testing and sound risk management; all trading decisions remain solely your own responsibility. Indicator

Indicator

AetherEdge - Q-Learning Regime Agent🖊️ Overview
AE-QRA is a reinforcement-learning agent that learns its policy from experience, right on your chart. It discretizes the market into 27 regimes (Trend × Momentum × Volatility) and learns which action to take in each — Short, Flat, or Long — by maximizing reward through tabular Q-learning. No instructions, no labels: the agent relies on reward alone, sharpening its judgment as it shifts from exploration to exploitation.
🔶 Key Features
A real Q-learning engine — the TD(0) update Q(s,a) ← Q(s,a) + α runs every bar, updating a value table over states × actions.
Reward function — reward = position × next-bar return − turnover cost. Profitable decisions are reinforced; needless trading is penalized.
Exploration–exploitation, made real — an ε-greedy policy whose ε decays over time, automatically shifting from random exploration to exploiting the learned policy.
Policy heatmap — the learned policy across 27 regimes, visualized as a 9-cell color grid at the live volatility slice; the cell for the current regime glows.
Regime coloring — bars and background are tinted by the agent's current stance, growing more saturated with conviction.
Action-flip markers — triangle markers mark switches to Long or Short.
Live statistics panel — action, conviction, exploration rate ε, cumulative reward (policy P&L), regime coverage, and the current state.
Fully deterministic, non-repainting design — the exploration RNG is seed-fixed; learning and decisions occur on confirmed bars only, on a one-bar lag.
🧠 Technical Architecture
The state space is built from three discrete features — ATR-unit trend deviation (↓/·/↑), RSI momentum (↓/·/↑), and volatility percentile rank (low/mid/high). Their product gives 27 states, with three actions (Short = −1 / Flat = 0 / Long = +1). The value table Q is persisted as a var matrix (27 × 3).
On each confirmed bar, the agent first observes the reward of its previous action (position × realized return − switching cost), then updates that value via TD(0) using the maximum Q at the next state. It then selects the next action ε-greedily. ε decays as ε = ε_min + (ε_start − ε_min)·exp(−step/decay) — exploratory early on (frequent random actions), exploiting the learned policy as it matures. Conviction is computed as the separation of the three Q-values at the current state and feeds both the background tint and the panel. Because the RNG is a deterministic LCG, the policy is reproducible under identical settings.
🎯 Three design choices stand out. First, embedding a switching cost in the reward suppresses over-trading at the learning level and makes Flat a meaningful choice. Second, confining learning and decisions to confirmed bars on a one-bar lag eliminates future leakage. Third, the deliberately compact 27-state design helps the policy converge even on shorter histories.
⚙️ Recommended Settings & Tuning Guide
As a crypto starting point — BTC/ETH (1D, 4H): α = 0.10, γ = 0.95, ε-Start = 0.90, ε-Decay = 500, switching cost 3 bps; this yields clean trend adaptation. High-volatility names (SOL, XRP): raise switching cost to 5–8 bps to curb trade frequency, and shorten ε-Decay toward 300 so the agent reaches the exploitation phase faster through the noise.
Per parameter: Learning rate α sets adaptation speed — 0.15–0.25 in fast-rotating regimes, 0.05–0.10 in stable ones. Discount γ sets foresight — higher weights long-run reward (0.95–0.99 for swings, 0.85–0.92 for scalps). ε-Decay sets the length of the exploration phase — larger explores longer and learns more cautiously. Switching cost doubles as a direct knob on trade frequency.
💡 How to Use in Practice
The core read is the agent's stance × conviction. A flip to Long (triangle marker) with high conviction and a rising cumulative reward reads as a tailwind for buying dips. The policy heatmap is a powerful context tool: by reading the colors of the cells adjacent to the current regime (the glowing cell), you can anticipate how the agent will act if the market shifts slightly. When ε is still high, the policy is undecided, so treat signals as informational only.
For multi-timeframe work, confirm the macro bias from the higher-timeframe stance (1D), then execute aligned flips on a lower timeframe (1H–4H). Layered over market structure (S/R, order blocks) or volume, it adds which regime, and with what conviction, the agent chooses to go long — useful confirmation context.
⚠️ Important Notes
Until the warmup period (default 300 bars) and the exploration phase pass, actions are largely exploratory (random). Reloading the indicator, or changing settings/seed, makes the agent relearn across the entire history from scratch — learning state is not persisted. The panel's "Policy P&L" is an in-sample, while-learning metric that does not fully account for switching cost or fill slippage; it is not a backtest or forward result. The 27-state tabular design is intentionally coarse — it learns a regime policy, not fine price structure. Decisions update on confirmed bars, and the agent's stance is not a direct buy/sell instruction.
🚨 Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial or investment advice. Past performance is not indicative of future results. All trading involves risk. Use it alongside your own thorough testing and sound risk management; all trading decisions remain solely your own responsibility. Indicator

AetherEdge - Echo State Network🖊️ Overview
AE-ESN doesn't train on price — it pours price into a fixed, random recurrent core (a reservoir) and reads the future out of its rich nonlinear dynamics. No backpropagation, no offline training. Only the readout layer self-evolves online, bar by bar, continuously adapting to the prevailing regime. The result is projected forward as a confidence cone whose width is shaped by the model's own error distribution.
🔶 Key Features
Reservoir-computing engine — a fixed, sparsely-wired recurrent layer (4–48 neurons) maps the price stream into a high-dimensional state space.
Self-evolving online learning — the linear readout is updated every bar via normalized LMS; as the market shifts, the model quietly rewrites itself.
Guaranteed Echo State Property — the spectral radius is measured by power iteration and auto-scaled to the target ρ, ensuring stable memory dynamics.
Forward forecast cone — a free-running projection of multiple bars ahead, rendered as a confidence cone that widens with horizon.
Fully deterministic, non-repainting design — neuron wiring is reproducibly generated from a seed; learning and statistics update on confirmed bars only.
No look-ahead learning — weights are trained on a strict one-bar lag: the previous forecast versus the now-realized outcome.
Live statistics panel — directional accuracy, an R²-like confidence score, reservoir energy, and the projected return in real time.
Neon-grade visuals — gradient confidence cone, a glowing forecast line, and a directional background tint.
🧠 Technical Architecture
At the core is a reservoir driven by three normalized features (a standardized return, an ATR-normalized trend deviation, and momentum). State evolves through leaky integration — x(t) = (1−a)·x(t−1) + a·tanh(W_res·x(t−1) + W_in·u(t)). Both W_res and W_in are generated once via a deterministic LCG and then held fixed; the only thing that learns is the readout vector W_out.
That readout evolves on every confirmed bar through normalized LMS: each bar, the error between the previous forecast and the realized return is projected back along the state vector to correct the weights. An exponential moving variance of that error drives the cone's width (σ), while confidence is computed as explanatory skill over a zero-forecast baseline (an R²-like measure). The forward projection clones the current state and runs the reservoir free, feeding its own predictions back as input across the horizon.
🎯 Three design choices are worth highlighting. First, the spectral radius is measured via power
iteration before being normalized to ρ, so memory quality stays stable even as neuron count changes. Second, learning is confined to confirmed bars on a one-bar lag, eliminating future leakage. Third, because the wiring is seed-deterministic, identical settings reproduce an identical topology on any chart.
⚙️ Recommended Settings & Tuning Guide
As a crypto starting point — BTC/ETH (1D, 4H): 16 neurons, ρ = 0.90, Leak = 0.30, learning rate 0.15, horizon 12; it tracks trending instruments cleanly. High-volatility names (SOL, XRP): lower Leak to 0.20–0.25 to smooth noise, and widen Band σ toward 2.0 so the cone reflects the rougher price action.
Per parameter: Learning rate (μ) sets adaptation speed — use 0.2–0.3 for fast regime turns, 0.08–0.12 for stability in ranges. Spectral radius (ρ) sets memory length — higher retains longer context (0.95–1.05 reactive, 0.80–0.90 calmer). Neuron count sets expressiveness — 12–16 for lower timeframes, 24–32 for higher timeframes or complex structure. Horizon should match your trading style — 6–8 for scalps, 20–30 for swings.
💡 How to Use in Practice
The core read is cone direction × confidence. When the cone tilts up with both confidence and directional accuracy elevated, treat it as a tailwind for buying dips. A tag-and-reject at the cone's outer edge marks the boundary of the model's expected range — a mean-reversion cue. A rapidly expanding cone signals rising volatility; a contracting cone suggests a transition into consolidation. When the one-bar fit trail hugs actual price tightly, the model is reliable in that regime.
For multi-timeframe work, confirm the macro bias from the cone on the higher timeframe (1D), then execute aligned setups on a lower timeframe (1H–4H). Layering it over volume profile or market structure (S/R, order blocks) lets the cone add where and with what conviction, giving mutual confirmation.
⚠️ Important Notes
Signals are hidden until the warmup period (default 200 bars) completes. Reloading the indicator, or changing settings/seed, makes the network relearn across the entire history from scratch — learning state is not persisted between sessions. Reproducibility on a given chart is preserved, but expect confidence and accuracy to take time to settle after any change. The forecast cone is a probabilistic expected range, not a guarantee. Learning and statistics update on confirmed bars only, and the cone refreshes when a bar closes. Pushing neuron count high (40+) over very long history can approach Pine's ~40-second runtime limit.
🚨 Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial or investment advice. Past performance is not indicative of future results. All trading involves risk. Use it alongside your own thorough testing and sound risk management; all trading decisions remain solely your own responsibility. Indicator

Novaque ZAR Research DashboardNovaque ZAR Research Dashboard — Indicator Summary
The Novaque ZAR Research Dashboard is a PulseWire indicator designed to help traders analyse South African rand currency pairs such as **USD/ZAR, EUR/ZAR, GBP/ZAR and other ZAR crosses** using a systematic multi-factor framework.
The indicator combines trend, momentum, volatility and risk-pressure signals into a single dashboard view. It is intended to support discretionary and systematic FX analysis by giving traders a clearer view of whether a ZAR pair is showing rand strength, rand weakness, or a mixed/neutral setup.
What the Indicator Shows
The dashboard includes:
* EMA trend structure using 21, 55 and 200-period exponential moving averages.
* Bollinger Bands to assess price extension, compression and mean-reversion zones.
* RSI to measure momentum strength or exhaustion.
* MACD histogram to track directional momentum.
* 20-bar and 60-bar momentum to compare short-term and medium-term price pressure.
* Realised volatility to assess whether market conditions are becoming more unstable.
* ATR percentage to measure current trading range relative to price.
* 20-bar drawdown to show how far price has pulled back from its recent high.
* Bullish/Bearish score that converts the indicator readings into a single market bias.
How to Read the Score
The score ranges from 0 to 100.
For USD/ZAR:
* Score above 70: Bullish USD/ZAR, indicating potential ZAR weakness.
* Score below 30: Bearish USD/ZAR, indicating potential ZAR support or rand strength.
* Score between 30 and 70: Neutral or mixed conditions.
The signal should not be used as a blind buy or sell trigger. It is best used as a market regime and trade-filtering tool.
How to Use It
1. Open a ZAR currency pair on PulseWire, such as `OANDA:USDZAR`.
2. Apply the Novaque ZAR Research Dashboard indicator to the chart.
3. Start on the daily or 4-hour timeframe to establish the broader bias.
4. Move down to the 1-hour or 15-minute timeframe to look for execution opportunities.
5. Use the dashboard score to confirm whether price action, momentum and volatility are aligned.
6. Avoid trades when the score is neutral and the chart structure is unclear.
7. Use the EMAs, Bollinger Bands, support/resistance and market structure to define entries, invalidation and risk-reward.
Practical Trading Interpretation
A strong setup usually requires alignment between:
* Price trading above or below key EMAs.
* Momentum confirming the direction.
* MACD histogram supporting the move.
* RSI not showing extreme exhaustion.
* Volatility expanding in the direction of the trade.
* A clear market structure break, pullback or continuation setup.
For example, if USD/ZAR is below the 21, 55 and 200 EMAs, momentum is negative, and the score is below 30, the dashboard is suggesting ZAR support / USD/ZAR downside pressure. A trader could then look for bearish continuation setups, provided the risk-reward and invalidation level are clear.
If USD/ZAR is above the major EMAs, momentum is positive, and the score is above 70, the dashboard is suggesting ZAR pressure / USD/ZAR upside pressure. A trader could then look for long continuation setups after pullbacks or breakouts.
Important Notes
This indicator does not predict the future. It is a structured decision-support tool that helps traders assess whether market conditions are aligned. It should be used alongside macro context, liquidity levels, session timing, risk management and proper position sizing.
The indicator works best when used as part of a repeatable process:
Higher-timeframe bias → lower-timeframe setup → defined entry → clear invalidation → controlled risk.
Best Timeframes
Recommended timeframes:
* Daily: macro and swing bias.
* 4H: directional structure.
* 1H: tactical trade planning.
* 15M: entry refinement.
The dashboard can be applied to any FX pair, but the interpretation is specifically designed for ZAR-related pairs, especially pairs quoted as foreign currency versus rand, such as USD/ZAR, EUR/ZAR and GBP/ZAR.
Indicator

Gann Projector by Santiago Rebello📊 Concept OverviewThe Automated Rolling Gann Projector is a mathematical time-and-price projection system that automates W.D. Gann’s core principles of geometric cycle tracking.Instead of relying on rigid, manual user configuration inputs that expire as the market advances, this indicator uses an autonomous structural engine to constantly track real-time price action, detect structural swing milestones, and project dynamic cycle turn coordinates infinitely forward into the blank chart space.🛠️ Technical Architecture & Core EngineDynamic Pivot Arrays: The script continually monitors price volatility to isolate the three most recent verified structural pivots (highs/lows) via custom strength inputs. As a new swing forms, the underlying memory array rolls automatically—discarding expired cycles and locking fresh reference points.Automated Price-to-Time Scaled Vectors: The indicator measures the exact elapsed calendar time (in days) between the discovered historical market points and establishes an expansion coefficient ($Ratio = Price_A / Price_B$). This dynamic geometric factor is multiplied by historical swing duration to project upcoming cyclic targets.True Timeline Translation Mapping: A major challenge with mathematical time projections is that while the standard calendar counts weekends, trading charts completely skip them. This script uses an advanced, flattened time-to-bar interpolation matrix to ensure the projected target boxes align accurately across the future timeline, skipping weekend and holiday data gaps cleanly.Persistent Analytical HUD: Features a clean, floating dashboard table positioned dynamically to display active pivot configurations, localized turn dates synchronized with the exchange's timezone (syminfo.timezone), and underlying geometric ratios at a quick glance.💡 How to Use This ToolPivot Left/Right Strength: Customize the structural depth of the tracking engine. Higher values look for long-term macroscopic swing phases, while lower values capture fast, intraday structural microcycles.Visual Convergence Zones: Watch for areas where multiple automated target boxes cluster near the same day coordinates—these overlapping zones highlight strong mathematical time windows. Indicator

Gann Eclipse Master 1900-2040 Santiago Rebello### Concept & Purpose
The Gann Eclipse Master is a historical mathematical astro-mapping engine built for financial market timing optimization. It catalogs major solar and lunar astronomical occurrences across an un-broken 140-year tracking grid (1900-2040) and applies specialized calendar-day offsets derived from classical financial geometry models to isolate key potential variance peaks.
### Why This Script is Unique (Originality & Usefulness)
This indicator bypasses standard price metrics entirely to address time-series trend structures. Instead of relying on manual date measurements, the indicator constructs an autonomous astronomical tracking engine:
1. **Hardcoded Data Database:** Rather than requesting erratic external dynamic server requests, it embeds historical astronomical epoch timestamps directly within compiled local variables.
2. **Harmonic Day Intervals:** From the point of any valid historical occurrence, the framework constructs advanced cycle extensions. It computes specific solar-interval vectors (+72d, +135d, +153d) and lunar-interval arcs (+90d, +180d, +270d) alongside long-term structural multipliers (+1085d, +1232d).
3. **Optimized Structural Projections:** By rendering vertical convergence windows across the timeline, it flags high-probability time zones where multiple independent astronomical projection vectors overlap on the same calendar area.
### How to Trade It
* **Convergence Clusters:** When multiple vertical lines align closely within a narrow bar group, the market is approaching a cyclical turnaround node. Look for structural candlestick reversals on these target days.
* **Astro Targets:** Use the dynamic labels to track the precise source year and cycle factor causing the current volatility expansion. Indicator

Indicator

Indicator
