Static K-means Clustering | InvestorUnknownStatic K-Means Clustering is a machine-learning-driven market regime classifier designed for traders who want a data-driven structure instead of subjective indicators or manually drawn zones.
This script performs offline (static) K-means training on your chosen historical window. Using four engineered features:
RSI (Momentum)
CCI (Price deviation / Mean reversion)
CMF (Money flow / Strength)
MACD Histogram (Trend acceleration)
It groups past market conditions into K distinct clusters (regimes). After training, every new bar is assigned to the nearest cluster via Euclidean distance in 4-dimensional standardized feature space.
This allows you to create models like:
Regime-based long/short filters
Volatility phase detectors
Trend vs. chop separation
Mean-reversion vs. breakout classification
Volume-enhanced money-flow regime shifts
Full machine-learning trading systems based solely on regimes
Note:
This script is not a universal ML strategy out of the box.
The user must engineer the feature set to match their trading style and target market.
K-means is a tool, not a ready made system, this script provides the framework.
Core Idea
K-means clustering takes raw, unlabeled market observations and attempts to discover structure by grouping similar bars together.
// STEP 1 — DATA POINTS ON A COORDINATE PLANE
// We start with raw, unlabeled data scattered in 2D space (x/y).
// At this point, nothing is grouped—these are just observations.
// K-means will try to discover structure by grouping nearby points.
//
// y ↑
// |
// 12 | •
// | •
// 10 | •
// | •
// 8 | • •
// |
// 6 | •
// |
// 4 | •
// |
// 2 |______________________________________________→ x
// 2 4 6 8 10 12 14
//
//
//
// STEP 2 — RANDOMLY PLACE INITIAL CENTROIDS
// The algorithm begins by placing K centroids at random positions.
// These centroids act as the temporary “representatives” of clusters.
// Their starting positions heavily influence the first assignment step.
//
// y ↑
// |
// 12 | •
// | •
// 10 | • C2 ×
// | •
// 8 | • •
// |
// 6 | C1 × •
// |
// 4 | •
// |
// 2 |______________________________________________→ x
// 2 4 6 8 10 12 14
//
//
//
// STEP 3 — ASSIGN POINTS TO NEAREST CENTROID
// Each point is compared to all centroids.
// Using simple Euclidean distance, each point joins the cluster
// of the centroid it is closest to.
// This creates a temporary grouping of the data.
//
// (Coloring concept shown using labels)
//
// - Points closer to C1 → Cluster 1
// - Points closer to C2 → Cluster 2
//
// y ↑
// |
// 12 | 2
// | 1
// 10 | 1 C2 ×
// | 2
// 8 | 1 2
// |
// 6 | C1 × 2
// |
// 4 | 1
// |
// 2 |______________________________________________→ x
// 2 4 6 8 10 12 14
//
// (1 = assigned to Cluster 1, 2 = assigned to Cluster 2)
// At this stage, clusters are formed purely by distance.
Your chosen historical window becomes the static training dataset , and after fitting, the centroids never change again.
This makes the model:
Predictable
Repeatable
Consistent across backtests
Fast for live use (no recalculation of centroids every bar)
Static Training Window
You select a period with:
Training Start
Training End
Only bars inside this range are used to fit the K-means model. This window defines:
the market regime examples
the statistical distributions (means/std) for each feature
how the centroids will be positioned post-trainin
Bars before training = fully transparent
Training bars = gray
Post-training bars = full colored regimes
Feature Engineering (4D Input Vector)
Every bar during training becomes a 4-dimensional point:
This combination balances: momentum, volatility, mean-reversion, trend acceleration giving the algorithm a richer "market fingerprint" per bar.
Standardization
To prevent any feature from dominating due to scale differences (e.g., CMF near zero vs CCI ±200), all features are standardized:
standardize(value, mean, std) =>
(value - mean) / std
Centroid Initialization
Centroids start at diverse coordinates using various curves:
linear
sinusoidal
sign-preserving quadratic
tanh compression
init_centroids() =>
// Spread centroids across using different shapes per feature
for c = 0 to k_clusters - 1
frac = k_clusters == 1 ? 0.0 : c / (k_clusters - 1.0) // 0 → 1
v = frac * 2 - 1 // -1 → +1
array.set(cent_rsi, c, v) // linear
array.set(cent_cci, c, math.sin(v)) // sinusoidal
array.set(cent_cmf, c, v * v * (v < 0 ? -1 : 1)) // quadratic sign-preserving
array.set(cent_mac, c, tanh(v)) // compressed
This makes initial cluster spread “random” even though true randomness is hardly achieved in pinescript.
K-Means Iterative Refinement
The algorithm repeats these steps:
(A) Assignment Step, Each bar is assigned to the nearest centroid via Euclidean distance in 4D:
distance = sqrt(dx² + dy² + dz² + dw²)
(B) Update Step, Centroids update to the mean of points assigned to them. This repeats iterations times (configurable).
LIVE REGIME CLASSIFICATION
After training, each new bar is:
Standardized using the training mean/std
Compared to all centroids
Assigned to the nearest cluster
Bar color updates based on cluster
No re-training occurs. This ensures:
No lookahead bias
Clean historical testing
Stable regimes over time
CLUSTER BEHAVIOR & TRADING LOGIC
Clusters (0, 1, 2, 3…) hold no inherent meaning. The user defines what each cluster does.
Example of custom actions:
Cluster 0 → Cash
Cluster 1 → Long
Cluster 2 → Short
Cluster 3+ → Cash (noise regime)
This flexibility means:
One trader might have cluster 0 as consolidation.
Another might repurpose it as a breakout-loading zone.
A third might ignore 3 clusters entirely.
Example on ETHUSD
Important Note:
Any change of parameters or chart timeframe or ticker can cause the “order” of clusters to change
The script does NOT assume any cluster equals any actionable bias, user decides.
PERFORMANCE METRICS & ROC TABLE
The indicator computes average 1-bar ROC for each cluster in:
Training set
Test (live) set
This helps measure:
Cluster profitability consistency
Regime forward predictability
Whether a regime is noise, trend, or reversion-biased
EQUITY SIMULATION & FEES
Designed for close-to-close realistic backtesting.
Position = cluster of previous bar
Fees applied only on regime switches. Meaning:
Staying long → no fee
Switching long→short → fee applied
Switching any→cash → fee applied
Fee input is percentage, but script already converts internally.
Disclaimers
⚠️ This indicator uses machine-learning but does not predict the future. It classifies similarity to past regimes, nothing more.
⚠️ Backtest results are not indicative of future performance.
⚠️ Clusters have no inherent “bullish” or “bearish” meaning. You must interpret them based on your testing and your own feature engineering.
Wyszukaj w skryptach "roc"
🔥 QUANT MOMENTUM SKORQUANT MOMENTUM SCORE – Description (EN)
Summary: This indicator fuses Price ROC, RSI, MACD, Trend Strength (ADX+EMA) and Volume into a single 0-100 “Momentum Score.” Guide bands (50/60/70/80) and ready-to-use alert conditions are included.
How it works
Price Momentum (ROC): Rate of change normalized to 0-100.
RSI Momentum: RSI treated as a momentum proxy and mapped to 0-100.
MACD Momentum: MACD histogram normalized to capture acceleration.
Trend Strength: ADX is direction-aware (DI+ vs DI–) and blended with EMA state (above/below) to form a combined trend score.
Volume Momentum: Volume relative to its moving average (ratio-based).
Weighting: All five components are weighted, auto-normalized, and summed into the final 0-100 score.
Visuals & Alerts: Score line with 50/60/70/80 guides; threshold-cross alerts for High/Strong/Ultra-Strong regimes.
Inputs, weights and thresholds are configurable; total weights are normalized automatically.
How to use
Timeframes: Works on any timeframe—lower TFs react faster; higher TFs reduce noise.
Reading the score:
<50: Weak momentum
50-60: Transition
60-70: Moderate-Strong (potential acceleration)
≥70: Strong, ≥80: Ultra Strong
Practical tip: Use it as a filter, not a stand-alone signal. Combine score breakouts with market structure/trend context (e.g., pullback-then-re-acceleration) to improve selectivity.
Disclaimer: This is not financial advice; past performance does not guarantee future results.
saodisengxiaoyu-lianghua-2.1- This indicator is a modular, signal-building framework designed to generate long and short signals by combining a chosen leading indicator with selectable confirmation filters. It runs on Pine Script version 5, overlays directly on price, and is built to be highly configurable so traders can tailor the signal logic to their market, timeframe, and trading style. It includes a dashboard to visualize which conditions are active and whether they validate a signal, and it outputs clear buy/sell labels and alert conditions so you can automate or monitor trades with confidence.
Core Design
- Leading Indicator: You choose one primary signal generator from a broad list (for example, Range Filter, Supertrend, MACD, RSI, Ichimoku, and many others). This serves as the anchor of the system and determines when a preliminary long or short setup exists.
- Confirmation Filters: You can enable additional filters that validate the leading signal before it becomes actionable. Each “respect…” input toggles a filter on or off. These filters include popular tools like EMA, 2/3 EMA crosses, RQK (Nadaraya Watson), ADX/DMI, Bollinger-based oscillators, MACD variations, QQE, Hull, VWAP, Choppiness Index, Damiani Volatility, and more.
- Signal Expiry: To avoid waiting indefinitely for confirmations, the indicator counts how many consecutive bars the leading condition holds. If confirmations do not align within a defined number of bars, the setup expires. This controls latency and helps reduce late or stale entries.
- Alternating Signals: An optional mode enforces alternation (long must follow short and vice versa), helping avoid repeated entries in the same direction without a meaningful reset.
- Aggregation Logic: The final long/short conditions are formed by combining the leading condition with all selected confirmation filters through logical conjunction. Only if all enabled filters validate the signal (within expiry constraints) does the indicator consider it a confirmed long or short.
- Visualization and Alerts: The script plots buy/sell labels at signal points, provides alert conditions for automation, and displays a compact dashboard summarizing the leading indicator’s status and each confirmation’s pass/fail result using checkmarks.
Leading Indicator Options
- The indicator includes a very large menu of leading tools, each with its own logic to determine uptrend or downtrend impulses. Highlights include:
- Range Filter: Uses a dynamic centerline and bands computed via conditional EMA/SMA and range sizing to define directional movement. It can operate in a default mode or an alternative “DW” mode.
- Rational Quadratic Kernel (RQK): Applies a kernel smoothing model (Nadaraya Watson) to detect uptrends and downtrends with a focus on noise reduction.
- Supertrend, Half Trend, SSL Channel: Classic trend-following tools that derive direction from ATR-based bands or moving average channels.
- Ichimoku Cloud and SuperIchi: Multi-component systems validating trend via cloud position, conversion/base line relationships, projected cloud, and lagging span.
- TSI (True Strength Index), DPO (Detrended Price Oscillator), AO (Awesome Oscillator), MACD, STC (Schaff Trend Cycle), QQE Mod: Momentum and cycle tools that parse direction from crossovers, zero-line behavior, and momentum shifts.
- Donchian Trend Ribbon, Chandelier Exit: Trend and exit tools that can validate breakouts or sustained trend strength.
- ADX/DMI: Measures trend strength and directional movement via +DI/-DI relationships and minimum ADX thresholds.
- RSI and Stochastic: Use crossovers, level exits, or threshold filters to gate entries based on overbought/oversold dynamics or relative strength trends.
- Vortex, Chaikin Money Flow, VWAP, Bull Bear Power, ROC, Wolfpack Id, Hull Suite: A diverse set of directional, momentum, and volume-based indicators to suit different markets and styles.
- Trendline Breakout and Range Detector: Price-behavior filters that confirm signals during breakouts or within defined ranges.
Confirmation Filters
- Each filter is optional. When enabled, it must validate the leading condition for a signal to pass. Examples:
- EMA Filter: Requires price to be above a specified EMA for longs and below for shorts, filtering signals that contradict broader trend or baseline levels.
- 2 EMA Cross and 3 EMA Cross: Enforce moving average cross conditions (fast above slow for long, the reverse for short) or a three-line stacking logic for more stringent trend alignment.
- RQK, Supertrend, Half Trend, Donchian, QQE, Hull, MACD (crossover vs. zero-line), AO (zero line or AC momentum variants), SSL: Each adds its characteristic validation pattern.
- RSI family (MA cross, exits OB/OS zones, threshold levels) plus RSI MA direction and RSI/RSI MA limits: Multiple ways to constrain signals via relative strength behavior and trajectories.
- Choppiness Index and Damiani Volatility: Prevent entries during ranging conditions or insufficient volatility; choppiness thresholds and volatility states gate the trade.
- VWAP, Volume modes (above MA, simple up/down, delta), Chaikin Money Flow: Volume and flow conditions that ensure signals happen in supportive liquidity or accumulation/distribution contexts.
- ADX/DMI thresholds: Demand a minimum trend strength and directional DI alignment to reduce whipsaw trades.
- Trendline Breakout and Range Detector: Confirm that the price is breaking structure or remains within active range consistent with the leading setup.
- By combining several filters you can create strict, conservative entries or looser setups depending on your goals.
Range Filter Engine
- A core building block, the Range Filter uses conditional EMA and SMA functions to compute adaptive bands around a dynamic centerline. It supports two types:
- Type 1: The centerline updates when price exceeds the band thresholds; bands define acceptable drift ranges.
- Type 2: Uses quantized steps (via floor operations) relative to the previous centerline to handle larger moves in discrete increments.
- The engine offers smoothing for range values using a secondary EMA and can switch between raw and averaged outputs. Its hi/lo bands and centerline compose a corridor that defines directional movement and potential breakout confirmation.
Signal Construction
- The script computes:
- leadinglongcond and leadingshortcond : The primary directional signals from the chosen leading indicator.
- longCond and shortCond : Final signals formed by combining the leading conditions with all enabled confirmations. Each confirmation contributes a boolean gate. If a filter is disabled, it contributes a neutral pass-through, keeping the logic intact without enforcing that condition.
- Expiry Logic: The code counts consecutive bars where the leading condition remains true. If confirmations do not line up within the user-defined “Signal Expiry Candle Count,” the setup is abandoned and the signal does not trigger.
- Alternation: An optional state ensures that long and short signals alternate. This can reduce repeated entries in the same direction without a clear reset.
- Finally, longCondition and shortCondition represent the actionable signals after expiry and alternation logic. These drive the label plotting and alert conditions.
Visualization
- Buy and Sell Labels: When longCondition or shortCondition confirm, the script plots annotated labels directly on the chart, making entries easy to see at a glance. The labels use color coding and clear text tags (“long” vs. “short”).
- Dashboard: A table summarizes the status of the leading indicator and all confirmations. Each row shows the indicator label and whether it passed (✔️) or failed (❌) on the current bar. This intensely practical UI helps you diagnose why a signal did or did not trigger, empowering faster strategy iteration and parameter tuning.
- Failed Confirmation Markers: If a setup expires (count exceeds the limit) and confirmations failed to align, the script can mark the chart with a small label and provide a tooltip listing which confirmations did not pass. It’s a helpful audit trail to understand missed trades or prevent “chasing” invalid signals.
- Data Window Values: The script outputs signal states to the data window, which can be useful for debugging or building composite conditions in multi-indicator templates.
Inputs and Parameters
- You control the indicator from a comprehensive input panel:
- Setup: Signal expiry count, whether to enforce alternating signals, and whether to display labels and the dashboard (including position and size).
- Leading Indicator: Choose the primary signal generator from the large list.
- Per-Filter Toggles: For each confirmation, a respect... toggle enables or disables it. Many include sub-options (like MACD type, Stochastic mode, RSI mode, ADX variants, thresholds for choppiness/volatility, etc.) to fine-tune behavior.
- Range Filter Settings: Choose type and behavior; select default vs. DW mode and smoothing. The underlying functions adjust band sizes using ATR, average change, standard deviation, or user-defined scales.
- Because everything is customizable, you can adapt the indicator to different assets, volatility regimes, and timeframes.
Alerts and Automation
- The script defines alert conditions tied to longCondition and shortCondition . You can set these alerts in your chart to trigger notifications or webhook calls for automated execution in external bots. The alert text is simple, and you can configure your own message template when creating alerts in the chart, including JSON payloads for algorithmic integration.
Typical Workflow
- Select a Leading Indicator aligned with your style. For trend following, Supertrend or SSL may be appropriate; for momentum, MACD or TSI; for range/trend-change detection, Range Filter, RQK, or Donchian.
- Add a few key Confirmation Filters that complement the leading signal. For example:
- Pair Supertrend with EMA Filter and RSI MA Direction to ensure trend alignment and positive momentum.
- Combine MACD Crossover with ADX/DMI and Volume Above MA to avoid signals in low-trend or low-liquidity conditions.
- Use RQK with Choppiness Index and Damiani Volatility to only act when the market is trending and volatile enough.
- Set a sensible Signal Expiry Candle Count. Shorter expiry keeps entries timely and reduces lag; longer expiry captures setups that mature slowly.
- Observe the Dashboard during live markets to see which filters pass or fail, then iterate. Tighten or loosen thresholds and filter combinations as needed.
- For automation, turn on alerts for the final conditions and use webhook payloads to notify your trading robot.
Strengths and Practical Notes
- Flexibility: The indicator is a toolkit rather than a single rigid model. It lets you test different combinations rapidly and visualize outcomes immediately.
- Clarity: Labels, dashboard, and failed-confirmation markers make it easy to audit behavior and refine settings without digging into code.
- Robustness: The expiry and alternation options add discipline, avoiding the temptation to enter late or repeatedly in one direction without a reset.
- Modular Design: The logical gates (“respect…”) make the behavior transparent: if a filter is on, it must pass; if it’s off, the signal ignores it. This keeps reasoning clean.
- Avoiding Overfitting: Because you can stack many filters, it’s tempting to over-constrain signals. Start simple (one leading indicator and one or two confirmations). Add complexity only if it demonstrably improves your edge across varied market regimes.
Limitations and Recommendations
- No single configuration is universally optimal. Markets change; tune filters for the instrument and timeframe you trade and revisit settings periodically.
- Trend filters can underperform in choppy markets; likewise, momentum filters can false-trigger in quiet periods. Consider using Choppiness Index or Damiani to gate signals by regime.
- Use expiry wisely. Too short may miss good setups that need a few bars to confirm; too long may cause late entries. Balance responsiveness and accuracy.
- Always consider risk management externally (position sizing, stops, profit targets). The indicator focuses on signal quality; combining it with robust trade management methods will improve results.
Example Configurations
- Trend-Following Setup:
- Leading: Supertrend uptrend for longs and downtrend for shorts.
- Confirmations: EMA Filter (price above 200 EMA for long, below for short), ADX/DMI (trend strength above threshold with +DI/-DI alignment), Volume Above MA.
- Expiry: 3–4 bars to keep entries timely.
- Result: Strong bias toward sustained moves while avoiding weak trends and thin liquidity.
- Mean-Reversion to Momentum Crossover:
- Leading: RSI exits from OB/OS zones (e.g., RSI leaves oversold for long and leaves overbought for short).
- Confirmations: 2 EMA Cross (fast crossing slow in the same direction), MACD zero-line behavior for added momentum validation.
- Expiry: 2–3 bars for responsive re-entry.
- Result: Captures momentum transitions after short-term extremes, with extra confirmation to reduce head-fakes.
- Range Breakout Focus:
- Leading: Range Filter Type 2 or Donchian Trend Ribbon to detect breakouts.
- Confirmations: Damiani Volatility (avoid low-volatility false breaks), Choppiness Index (prefer trend-ready states), ROC positive/negative threshold.
- Expiry: 1–3 bars to act on breakout windows.
- Result: Better alignment to breakout dynamics, gating trades by volatility and regime.
Conclusion
- This indicator is a comprehensive, configurable framework that merges a chosen leading signal with an array of corroborating filters, disciplined expiry handling, and intuitive visualization. It’s designed to help you build high-quality entry signals tailored to your approach, whether that’s trend-following, breakout trading, momentum capturing, or a hybrid. By surfacing pass/fail states in a dashboard and allowing alert-based automation, it bridges the gap between discretionary analysis and systematic execution. With sensible parameter tuning and thoughtful filter selection, it can serve as a robust backbone for signal generation across diverse instruments and timeframes.
Michal D. Lagless Moving Average | MisinkoMasterThe 𝕸𝖎𝖈𝖍𝖆𝖑 𝕯. 𝕷𝖆𝖌𝖑𝖊𝖘𝖘 𝕸𝖔𝖛𝖎𝖓𝖌 𝕬𝖛𝖊𝖗𝖆𝖌𝖊 is my latest creation of a trend following tool, which is a bit different from the rest. By trying to de-lag the classical moving average, it gives you fast signals on changes in trend as fast as possible, keeping traders & investors always in check for potential risks they might want to avoid.
How does it work?
First we need to calculate lengths. The lengths are calcuted using a user defined input called the "Length Multiplier" and we of course need as well the length input too.
The indicator uses 10 lengths, 5 for an average price, 5 for median price.
The length for the average is the following:
length_2_avg = length_1_avg * length_multiplier
length_3_avg = length_2_avg * length_multiplier
...
and for the median lengths:
length_1_median = length_2_avg
length_2_median = length_3_avg
Here applies this rule
length_x_median < length_x_avg
This is intentional, and it is because the average is a little more reactive, while the median is a bit slower. To make up for the "slowness" of the median, we simple reduce the length of it a bit more than the average.
Now that we have our length we are ready to calculate averages and medians over their respective period. This is the a normal average from elementary school, nothing too fancy.
Now that we have all of them we match the pairs using another user defined input called "Median Weight" like so:
(Average_x * (2-median_weight) + Median_x * median_weight)/2
This gives more weight to the average (also due to the max value limit set to avoid breaking the fundational logic behind it).
After doing it to all the pairs we now average those pairs using another input called "Exponential Weight Multiplier".
The Exponential Weight Multiplier is used for weights which I will cover soon:
weight1 = weight
weight2 = weight * weight
weight3 = weight * weight * weight....
This is done until we have all the weights calculated
This gives exponentially more weight to the less lagging indicators, which is how we delag the indicator.
Then we sum all the pairs like so:
sum = pair1 * weight1 + pair2 * weight2 + pair3 * weight3 + pair4 * weight4 + pair5 * weight5
Then the sum is divided by the sum of weights, this results in us getting the final value.
Methodology & What is the actual point & how was it made?
I want to cover this one a bit deeper:
The methodology behind this was creating an indicator that would not be lagging, and would be able to avoid lag while not producing signals too often.
In many attempts in the first part, I tried using EMA, RMA, DEMA, TEMA, HMA, SMA and so on, but they were too noisy (except for SMA & RMA, but those had their flaws), so I tried the classical average taught in elementary school. This one worked better, but the noise was too high still after all this time. This made me include the median, which helped the noise, but made it far too lagging.
Here came the idea of making the median length lower and adding weights to counter the lag of the median, but it was still too lagging. This made me make the weights for lengths more exponential, while previously they were calculated using a little bit amplified sums that were alright, but nowhere near my desired result.
Using the new weights I got further, and after a bit of testing I was sattisfied with the results.
The logic for the trend was a big part in my development part, there were many I could think of, but not enough time to try them, so I stuck to the usual one, and I leave it up to YOU to beat my trend logic and get even better results.
Use Cases:
- Price/MA Crossovers
Simple, effective, useful
- Source for other indicators
This I tried myself, and it worked in a cool way, making the signals of for example RSI much smoother, so definitely try it out if you know how to code, or just simply put it in the source of the RSI.
- ROC
This trend logic stuck with me, I think you could find a way to make it good, but mainly for the people that can code in pine, trying out to combine the trend logic with ROC could work very well, do not sleep on it!
- Education
This concept is not really that complex, so for people looking for new ideas, inspiration, or just watching how trend following tools behave in general this is something that could benefit anyone, as the concept can be applied to ANYTHING, even the classical RSI, MACD, you could try even the Parabolic SAR, maybe STC or VZO, there is no limit to imagination.
- Strategy creation
Filtering this indicator with "and" conditions, or maybe even "or" or anything really could be very useful in a strategy that desires fast signals.
- Price Distance from bands
I noticed this while looking at past performance:
The stronger the trend the higher the distance from the Moving Average.
Final Notes
Watch out for mean reverting markets, as this is trend following you could get easily screwed in them.
Play around with this if it fits your desired outcome, you might find something I did not.
Hope you find it useful,
See you next time!
PsyExpansionPanel_v5_KohlhaasThe PsyExpansionPanel measures the energy in the market, combining volatility, momentum, and volume into one composite signal.
It helps identify when a move is genuine and powerful — not just visually strong but backed by volatility and participation.
⸻
⚙️ Core Idea
When the blue line (Expansion Score) rises above the orange line (Threshold),
the market enters an expansion phase — volatility, speed, and participation all increase together.
This is the moment when a move becomes serious and emotionally charged.
⸻
📊 What Each Line Means
• Blue line → Expansion Score (combined energy from ATR%, ROC, and Volume)
• Orange line → Threshold (e.g. 0.75) — when crossed, expansion is active
• Gray line → Neutral zone — calm market, low activity
When the blue line crosses above the orange threshold,
the background turns orange, signaling: Expansion Active.
⸻
🧠 Market Psychology Behind It
During expansion, three things happen at once:
1. Volatility (ATR%) increases → traders become emotional (fear or greed rises)
2. Momentum (ROC) accelerates → price moves faster than usual
3. Volume rises above average → more participants join the move
This combination signals a transition from equilibrium to collective emotional action —
a moment when trends or reversals often begin.
Rocket Scan – Midday Movers (No Pullback)This indicator is designed to spot intraday breakout movers that often appear after the market open — the ones that rip out of nowhere and cause FOMO if you’re late.
🔑 Core Logic
• Momentum Burst: Detects sudden price pops (ROC) with confirming relative volume.
• Squeeze → Breakout: Finds low-volatility compressions (tight Bollinger bandwidth) and flags the first breakout move.
• VWAP Reclaims: Highlights strong reversals when price reclaims VWAP on volume.
• Relative Volume (RVOL): Filters for unusual activity vs. recent averages.
• Gap Filter: Skips large overnight gappers, focuses on fresh intraday movers.
• Relative Strength: Optional filter requiring the symbol to outperform SPY (and sector ETF if chosen).
• Session Window: Default 10:30–15:30 ET to ignore noisy open action and catch true midday moves.
🎯 Use Case
• Built for traders who want early alerts on midday runners without waiting for pullbacks.
• Helps identify potential entry points before FOMO kicks in.
• Works best on liquid tickers (stocks, ETFs, crypto) with reliable intraday volume.
📊 Visuals
• Plots fast EMA, slow EMA, and VWAP for trend context.
• Paints green ▲ for long signals and red ▼ for short signals on the chart.
• Info label shows RVOL, ROC, RS filter status, and gap conditions.
🚨 Alerts
Two alert conditions included:
• Rocket: Midday LONG → Fires when bullish conditions align.
• Rocket: Midday SHORT → Fires when bearish conditions align.
⸻
⚠️ Disclaimer:
This tool is for educational and research purposes only. It is not financial advice. Trading involves risk; always do your own research or consult a licensed professional.
Katz Impact Wave 🚀Overview of the Katz Impact Wave 🚀
The Katz Impact Wave is a momentum oscillator designed to visualize the battle between buyers and sellers. Instead of combining bullish and bearish pressure into a single line, it separates them into two distinct "Impact Waves."
Its primary goal is to generate clear trade signals by identifying when one side gains control, but only when the market has enough volatility to be considered "moving." This built-in filter helps to avoid signals during flat or choppy market conditions.
Indicator Components: Lines & Plots
Impact Waves & Fill
Green Wave (Total Up Impulses): This line represents the cumulative buying pressure. When this line is rising, it indicates that bulls are getting stronger.
Red Wave (Total Down Impulses): This line represents the cumulative selling pressure. When this line is rising, it indicates that bears are getting stronger.
Colored Fill: The shaded area between the two waves provides an at-a-glance view of who is in control.
Lime Fill: Bulls are dominant (Green Wave is above the Red Wave).
Red Fill: Bears are dominant (Red Wave is above the Green Wave).
Background Color
The background color provides crucial context about the market state according to the indicator's logic.
Green Background: The market is in a bullish state (Green Wave is dominant) AND the Rate of Change (ROC) filter confirms the market is actively moving.
Red Background: The market is in a bearish state (Red Wave is dominant) AND the ROC filter confirms the market is actively moving.
Gray Background: The market is considered "not moving" or is in a low-volatility chop. Signals that occur when the background is gray should be viewed with extreme caution or ignored.
Symbols & Pivot Lines
▲ Blue Triangle (Up): This is your long entry signal. It appears on the bar where the Green Wave crosses above the Red Wave while the market is moving.
▼ Orange Triangle (Down): This is your short entry signal. It appears on the bar where the Red Wave crosses above the Green Wave while the market is moving.
Pivot Lines (Solid Green/Red/White Lines): These lines mark confirmed peaks of exhaustion in momentum, not price.
Green Pivot Line: Marks a peak in the Green Wave, signaling buying momentum exhaustion. This can be a warning that the uptrend is losing steam.
Red Pivot Line: Marks a peak in the Red Wave, signaling selling momentum exhaustion. This can be a warning that the downtrend is losing steam.
▼ Yellow Triangle (Compression): This rare signal appears when buying and selling exhaustion pivots happen at the same level. It signifies a point of extreme indecision or equilibrium that often occurs before a major price expansion.
Trading Rules & Strategy
This indicator provides entry signals but does not provide explicit Take Profit or Stop Loss levels. You must use your own risk management rules.
Long Trade Rules
Entry Signal: Wait for a blue ▲ triangle to appear at the top of the indicator panel.
Confirmation: Ensure the background color is green, confirming the market is in a bullish, moving state.
Action: Enter a long (buy) trade at the open of the next candle after the signal appears.
Short Trade Rules
Entry Signal: Wait for an orange ▼ triangle to appear at the bottom of the indicator panel.
Confirmation: Ensure the background color is red, confirming the market is in a bearish, moving state.
Action: Enter a short (sell) trade at the open of the next candle after the signal appears.
Take Profit (TP) & Stop Loss (SL) Ideas
You must develop and test your own exit strategy. Here are some common approaches:
Stop Loss:
Place a stop loss below the most recent significant swing low on the price chart for a long trade, or above the recent swing high for a short trade.
Use an ATR (Average True Range) based stop, such as 2x the ATR value below your entry for a long, to account for market volatility.
Take Profit:
Opposite Signal: The simplest exit is to close your trade when the opposite signal appears (e.g., close a long trade when a short signal ▼ appears).
Momentum Exhaustion: For a long trade, consider taking partial or full profit when a green Pivot Line appears, signaling that buying momentum is peaking.
Fixed Risk/Reward: Use a predetermined risk/reward ratio (e.g., 1:1.5 or 1:2).
Disclaimer
This indicator is a tool for analysis, not a financial advisor or a guaranteed profit system. All trading and investment activities involve substantial risk. You should not risk more than you are prepared to lose. Past performance is not an indication of future results. You are solely responsible for your own trading decisions, risk management, and for backtesting this or any other tool before using it in a live trading environment. This indicator is for educational purposes only.
HMK-2 | PCA-1 + Rejim + Chebyshev + VWAP (Input'lu, v6)📌 HMK-2 | PCA-1 + Regime + Chebyshev + VWAP Strategy
1️⃣ Core Structure
Instead of relying on a single indicator, this system uses the Z-Score normalized average of three oscillators (RSI, MFI, ROC).
Signal (PCA-1):
RSI(14), MFI(14), ROC(5) → each is converted into a z-score.
Their average becomes the “composite signal,” our PCA-1 value.
Trend direction: If the Z-score EMA is rising → trend UP. If falling → trend DOWN.
2️⃣ Side Filters
Regime Filter (ADX + EMA)
ADX is calculated manually.
If ADX > 20 → trend exists → a 50-period EMA of this value smooths it.
This turns “trend regime” into a probability between 0–1.
Chebyshev Filter
A return series is checked against mean ± k*sigma bands.
If the return is within this band → valid signal. Extreme moves are filtered out.
VWAP Filter
Long trades: price must be above VWAP.
Short trades: price must be below VWAP.
Trades are only taken on the correct side of institutional cost averages.
3️⃣ Entry Conditions
Long:
PCA-1 signal crosses above threshold.
Trend Up + Regime OK + Chebyshev OK + Above VWAP.
Short:
PCA-1 signal crosses below threshold.
Trend Down + Regime OK + Chebyshev OK + Below VWAP.
4️⃣ Exit Mechanism
Main Exit: ATR-based stop/target.
Stop = entry price – ATR × (SL factor).
Take profit = entry price + ATR × (TP factor).
Additional Exit:
If price crosses to the opposite side of VWAP.
If PCA-1 signal crosses zero.
👉 Prevents trades from being locked, makes exits adaptive.
5️⃣ Labels / Visualization
AL / SHORT → entry points.
SAT / COVER → exit points.
VWAP line plotted in blue.
🧩 Strategy Features
Optimizable parameters:
Z-window (zWin)
Threshold
Chebyshev factor
ATR stop/target multipliers
This system works with:
Disciplined core (PCA-1 signal)
Triple protection (Regime + Chebyshev + VWAP)
Adaptive exits (ATR + VWAP/signal cross)
👉 Not a “single-indicator robot,” but a multi-filtered trade direction engine.
💡 Final Note
This is a base model of the system — open for further development.
I’ve shared the logic to give you a roadmap.
If you spot errors, fix them → that’s how you’ll improve it.
Don’t waste time asking me questions — refine and build it better yourselves.
Wishing you profitable trades. Stay well 🙏
Pring Special K|a2m# 📈 Pring Special K | a2m
The **Pring Special K (PSK)** is a momentum indicator developed by **Martin Pring**, designed to capture both short-term and long-term market cycles in one oscillator.
This version includes **customizable smoothing** and **Bollinger Bands** for enhanced visualization of momentum shifts.
---
## 🏷️ Tagline
**“Multi-cycle momentum oscillator with smoothing & Bollinger Bands for trend confirmation and early reversals.”**
---
## 📄 Short Description
The Pring Special K blends **short-term and long-term ROC cycles** into one powerful momentum oscillator.
This version adds **SMA, EMA, WMA, RMA, VWMA smoothing options** and optional **Bollinger Bands**.
Use it to:
- Confirm **long-term trends**
- Spot **early reversals**
- Identify **divergences around the zero line**
---
## ⚙️ Features
✅ **Core PSK Calculation** (Martin Pring’s weighted ROC methodology)
✅ **Momentum Color-Coding** → Green (bullish) / Red (bearish)
✅ **Smoothing Options** → SMA, EMA, WMA, SMMA (RMA), VWMA
✅ **Optional Bollinger Bands** (with adjustable length & StdDev multiplier)
✅ **Zero Line Reference** for trend confirmation
---
## 🎛️ User Inputs
- **Source** → Default: `close`
- **Type** → `"None"`, `"SMA"`, `"SMA + Bollinger Bands"`, `"EMA"`, `"SMMA (RMA)"`, `"WMA"`, `"VWMA"`
- **Length** → Default: `20`
- **BB StdDev** → Default: `2.0` (active only with SMA + Bollinger Bands)
---
## 📊 How to Use
1. **Trend Identification**
- PSK rising above 0 → Long-term uptrend
- PSK falling below 0 → Long-term downtrend
2. **Momentum Shifts**
- Watch PSK crossing its **smoothing MA** for entry/exit signals.
- Bollinger Bands help spot **momentum extensions** or **contractions**.
3. **Divergences**
- Compare PSK vs. price swings to catch early **trend reversals**.
---
## 🖼️ Visual Guide
- **Green PSK Line** → Bullish momentum
- **Red PSK Line** → Bearish momentum
- **Blue Line** → Smoothing MA
- **Shaded Green Bands** → Bollinger Bands (if enabled)
- **Gray Dotted Line** → Zero momentum baseline
---
FluidFlow OscillatorFluidFlow Oscillator: Study Material for Traders
Overview
The FluidFlow Oscillator is a custom technical indicator designed to measure price momentum and market flow dynamics by simulating fluid motion concepts such as velocity, viscosity, and turbulence. It helps traders identify potential buy and sell signals along with trend strength, momentum direction, and volatility conditions.
This study explains the underlying calculation concepts, signal logic, visual cues, and how to interpret the professional dashboard table that summarizes key indicator readings.
________________________________________
How the FluidFlow Oscillator Works
Core Mechanisms
1. Price Flow Velocity
o Measures the rate of change of price over a specified flow length (default 40 bars).
o Calculated as a percentage change of closing price: roc=close−closelen_flowcloselen_flow×100\text{roc} = \frac{\text{close} - \text{close}_{len\_flow}}{\text{close}_{len\_flow}} \times 100roc=closelen_flowclose−closelen_flow×100
o Smoothed by an EMA (Exponential Moving Average) to reduce noise, generating a "flow velocity" value.
2. Viscosity Factor
o Analogous to fluid viscosity, it adjusts the flow velocity based on recent price volatility.
o Volatility is computed as the standard deviation of close prices over the flow length.
o The viscosity acts as a damping factor to slow down the flow velocity in highly volatile conditions.
o This results in a "flow with viscosity" value, that smooths out the velocity considering market turbulence.
3. Turbulence Burst
o Captures sudden changes or bursts in the flow by measuring changes between successive viscosity-adjusted flows.
o The turbulence value is a smoothed absolute change in flow.
o A burst boost factor is added to the oscillator to incorporate this rapid change component, amplifying signals during sudden shifts.
4. Oscillator Calculation
o The raw oscillator value is the sum of flow with viscosity plus burst boost, scaled by 10.
o Clamped between -100 and +100 to limit extremes.
o Finally, smoothed again by EMA for cleaner visualization.
________________________________________
Signal Logic
The oscillator works with complementary components to produce actionable signals:
• Signal Line: An EMA-smoothed version of the oscillator for generating crossover-based signals.
• Momentum: The rate of change of the oscillator itself, smoothed by EMA.
• Trend: Uses fast (21-period EMA) and slow (50-period EMA) moving averages of price to identify market trend direction (uptrend, downtrend, or sideways).
Signal Conditions
• Bullish Signal (Buy): Oscillator crosses above the oversold threshold with positive momentum.
• Bearish Signal (Sell): Oscillator crosses below the overbought threshold with negative momentum.
Statuses
The oscillator provides descriptive market states based on level and momentum:
• Overbought
• Oversold
• Buy Signal
• Sell Signal
• Bullish / Bearish (momentum-driven)
• Neutral (no clear trend)
________________________________________
Color System and Visualization
The oscillator uses a sophisticated HSV color model adapting hues according to:
• Oscillator value magnitude and sign (positive or negative)
• Acceleration of oscillator changes
• Smooth color gradients to facilitate intuitive understanding of trend strength and momentum shifts
Background colors highlight overbought (red tint) and oversold (green tint) zones with transparency.
________________________________________
How to Understand the Professional Dashboard Table
The FluidFlow Oscillator offers an integrated table at the bottom center of the chart. This dashboard summarizes critical indicator readings in 8 columns across 3 rows:
Column Description
SIGNAL Current signal status (e.g., Buy, Sell, Overbought) with color coding
OSCILLATOR Current oscillator value (-100 to +100) with color reflecting intensity and direction
MOMENTUM Momentum bias indicating strength/direction of oscillator changes (Strong Up, Up, Sideways, Down, Strong Down)
TREND Current trend status based on EMAs (Strong Uptrend, Uptrend, Sideways, Downtrend, Strong Downtrend)
VOLATILITY Volatility percentage relative to average, indicating market activity level
FLOW Flow velocity value describing price momentum magnitude and direction
TURBULENCE Turbulence level indicating sudden bursts or spikes in price movement
PROGRESS Oscillator's position mapped as a percentage (0% to 100%) showing proximity to extreme levels
Rows Explained
• Row 1 (Header): Labels for each metric.
• Row 2 (Values): Current numerical or descriptive values color-coded along a professional scheme:
o Green or lime tones indicate positive or bullish conditions.
o Red or orange tones indicate caution, sell signals, or bearish conditions.
o Blue tones indicate neutral or stable conditions.
• Row 3 (Status Indicators): Emoji-like icons and bars provide a quick visual gauge of each metric's intensity or signal strength:
o For example, "🟢🟢🟢" suggests very strong bullish momentum, while "🔴🔴🔴" suggests strong bearish momentum.
o Progress bar visually demonstrates oscillator movement toward oversold or overbought extremes.
________________________________________
Practical Interpretation Tips
• A Buy signal with green colors and strong momentum usually precedes upward price moves.
• An Overbought status with red background and red table colors warns of potential price corrections or reversals.
• Watch the Turbulence to gauge market instability; spikes may precede price shocks or volatility bursts.
• Confirm signals with the Trend and Momentum columns to avoid false entries.
• Use the Progress bar to anticipate oscillations approaching key threshold levels for timing trades.
________________________________________
Alerts
The oscillator supports alerts for:
• Buy and sell signals based on oscillator crossovers.
• Overbought and oversold levels reached.
These help traders automate awareness of important market conditions.
________________________________________
Disclaimer
The FluidFlow Oscillator and its signals are for educational and informational purposes only. They do not guarantee profits and should not be considered as financial advice. Always conduct your own research and use proper risk management when trading. Past performance is not indicative of future results.
________________________________________
This detailed explanation should help you understand the workings of the FluidFlow Oscillator, its components, signal logic, and how to analyze its professional dashboard for informed trading decisions.
Chart-Only Scanner — Pro Table v2.5.1Chart-Only Scanner — Pro Table v2.5
User Manual (Pine Script v6)
What this tool does (in one line)
A compact, on-chart table that scores the current chart symbol (or an optional override) using momentum, volume, trend, volatility, and pattern checks—so you can quickly decide UP, DOWN, or WAIT.
Quick Start (90 seconds)
Add the indicator to any chart and timeframe (1m…1M).
Leave “Override chart symbol” = OFF to auto-use the chart’s symbol.
Choose your layout:
Row (wide horizontal strip), or Grid (title + labeled cells).
Pick a size preset (Micro, Small, Medium, Large, Mobile).
Optional: turn on “Use Higher TF (EMA 20/50)” and set HTF Multiplier (e.g., 4 ⇒ if chart is 15m, HTF is 60m).
Watch the table:
DIR (↑/↓/→), ROC%, MOM, VOL, EMA stack, HTF, REV, SCORE, ACT.
Add an alert if you want: the script fires when |SCORE| ≥ Action threshold.
What to expect
A small table appears on the chart corner you choose, updating each bar (or only at bar close if you keep default smart-update).
The ACT cell shows 🔥 (strong), 👀 (medium), or ⏳ (weak).
Panels & Settings (every option explained)
Core
Momentum Period: Lookback for rate-of-change (ROC%). Shorter = more reactive; longer = smoother.
ROC% Threshold: Minimum absolute ROC% to call direction UP (↑) or DOWN (↓); otherwise →.
Require Volume Confirmation: If ON and VOL ≤ 1.0, the SCORE is forced to 0 (prevents low-volume false positives).
Override chart symbol + Custom symbol: By default, the indicator uses the chart’s symbol. Turn this ON to lock to a specific ticker (e.g., a perpetual).
Higher TF
Use Higher TF (EMA 20/50): Compares EMA20 vs EMA50 on a higher timeframe.
HTF Multiplier: Higher TF = (chart TF × multiplier).
Example: on 3H chart with multiplier 2 ⇒ HTF = 6H.
Volatility & Oscillators
ATR Length: Used to show ATR% (ATR relative to price).
RSI Length: Standard RSI; colors: green ≤30 (oversold), red ≥70 (overbought).
Stoch %K Length: With %D = SMA(%K, 3).
MACD Fast/Slow/Signal: Standard MACD values; we display Line, Signal, Histogram (L/S/H).
ADX Length (Wilder): Wilder’s smoothing (internal derivation); also shows +DI / −DI if you enable the ADX column.
EMAs / Trend
EMA Fast/Mid/Slow: We compute EMA(20/50/200) by default (editable).
EMA Stack: Bull if Fast > Mid > Slow; Bear if Fast < Mid < Slow; Flat otherwise.
Benchmark (optional, OFF by default)
Show Relative Strength vs Benchmark: Displays RS% = ROC(symbol) − ROC(benchmark) over the Momentum Period.
Benchmark Symbol: Ticker used for comparison (e.g., BTCUSDT as a market proxy).
Columns (show/hide)
Toggle which fields appear in the table. Hiding unused fields keeps the layout clean (especially on mobile).
Display
Layout Mode:
Row = a single two-row strip; each column is a metric.
Grid = a title row plus labeled pairs (label/value) arranged in rows.
Size Preset: Micro, Small, Medium, Large, Mobile change text size and the grid density.
Table Corner: Where the panel sits (e.g., Top Right).
Opaque Table Background: ON = dark card; OFF = transparent(ish).
Update Every Bar: ON = update intra-bar; OFF = smart update (last bar / real-time / confirmed history).
Action threshold (|score|): The cutoff for 🔥 and alert firing (default 70).
How to read each field
CHART: The active symbol name (or your custom override).
DIR: ↑ (ROC% > threshold), ↓ (ROC% < −threshold), → otherwise.
ROC%: Rate of change over Momentum Period.
Formula: (Close − Close ) / Close × 100.
MOM: A scaled momentum score: min(100, |ROC%| × 10).
VOL: Volume ratio vs 20-bar SMA: Volume / SMA(Volume,20).
1.5 highlights as yellow (significant participation).
ATR%: (ATR / Close) × 100 (volatility relative to price).
RSI: Colored for extremes: ≤30 green, ≥70 red.
Stoch K/D: %K and %D numbers.
MACD L/S/H: Line, Signal, Histogram. Histogram color reflects sign (green > 0, red < 0).
ADX, +DI, −DI: Trend strength and directional components (Wilder). ADX ≥ 25 is highlighted.
EMA 20/50/200: Current EMA values (editable lengths).
STACK: Bull/Bear/Flat as defined above.
VWAP%: (Close − VWAP) / Close × 100 (premium/discount to VWAP).
HTF: ▲ if HTF EMA20 > EMA50; ▼ if <; · if flat/off.
RS%: Symbol’s ROC% − Benchmark ROC% (positive = outperforming).
REV (reversal):
🟢 Eng/Pin = bullish engulfing or bullish pin detected,
🔴 Eng/Pin = bearish engulfing or bearish pin,
· = none.
SCORE (absolute shown as a number; sign shown via DIR and ACT):
Components:
base = MOM × 0.4
volBonus = VOL > 1.5 ? 20 : VOL × 13.33
htfBonus = use_mtf ? (HTF == DIR ? 30 : HTF == 0 ? 15 : 0) : 0
trendBonus = (STACK == DIR) ? 10 : 0
macdBonus = 0 (placeholder for future versions)
scoreRaw = base + volBonus + htfBonus + trendBonus + macdBonus
SCORE = DIR ≥ 0 ? scoreRaw : −scoreRaw
If Require Volume Confirmation and VOL ≤ 1.0 ⇒ SCORE = 0.
ACT:
🔥 if |SCORE| ≥ threshold
👀 if 50 < |SCORE| < threshold
⏳ otherwise
Practical examples
Strong long (trend + participation)
DIR = ↑, ROC% = +3.2, MOM ≈ 32, VOL = 1.9, STACK = Bull, HTF = ▲, REV = 🟢
SCORE: base(12.8) + volBonus(20) + htfBonus(30) + trend(10) ≈ 73 → ACT = 🔥
Action idea: look for longs on pullbacks; confirm risk with ATR%.
Weak long (no volume)
DIR = ↑, ROC% = +1.0, but VOL = 0.8 and Require Volume Confirmation = ON
SCORE forced to 0 → ACT = ⏳
Action: wait for volume > 1.0 or turn off confirmation knowingly.
Bearish reversal warning
DIR = →, REV = 🔴 (bearish engulfing), RSI = 68, HTF = ▼
SCORE may be mid-range; ACT = 👀
Action: watch for breakdown and rising VOL.
Alerts (how to use)
The script calls alert() whenever |SCORE| ≥ Action threshold.
To receive pop-ups, sounds, or emails: click “⏰ Alerts” in TradingView, choose this indicator, and pick “Any alert() function call.”
The alert message includes: symbol, |SCORE|, DIR.
Layout, Size, and Corner tips
Row is best when you want a compact status ribbon across the top.
Grid is clearer on big screens or when you enable many columns.
Size:
Mobile = one pair per row (tall, readable)
Micro/Small = dense; good for many fields
Large = presentation/screenshots
Corner: If the table overlaps price, change the corner or set Opaque Background = OFF.
Repaint & timeframe behavior
Default smart update prefers stability (last bar / live / confirmed history).
For a stricter, “close-only” behavior (less repaint): turn Update Every Bar = OFF and avoid Heikin Ashi when you want raw market OHLC (HA modifies price inputs).
HTF logic is derived from a clean, integer multiple of your chart timeframe (via multiplier). It works with 3H/4H and any TF.
Performance notes
The script analyzes one symbol (chart or override) with multiple metrics using efficient tuple requests.
If you later want a multi-symbol grid, do it with pages (10–15 per page + rotate) to stay within platform limits (recommended future add-on).
Troubleshooting
No table visible
Ensure the indicator is added and not hidden.
Try toggling Opaque Background or switch Corner (it might be behind other drawings).
Keep Columns count reasonable for the chosen Size.
If you turned ON Override, verify the Custom symbol exists on your data provider.
Numbers look different on HA candles
Heikin Ashi modifies OHLC; switch to regular candles if you need raw price metrics.
3H/4H issues
Use integer HTF Multiplier (e.g., 2, 4). The tool builds the correct string internally; no manual timeframe strings needed.
Power user tips
Volume gating: keeping Require Volume Confirmation = ON filters most fake moves; if you’re a scalper, reduce strictness or turn it off.
Action threshold: 60–80 is typical. Higher = fewer but stronger signals.
Benchmark RS%: great for spotting leaders/laggards; positive RS% = outperformance vs benchmark.
Change policy & safety
This version doesn’t alter your historical logic you tested (no radical changes).
Any future “radical” change (score weights, HTF logic, UI hiding data) will ship with a toggle and an Impact Statement so you can keep old behavior if you prefer.
Glossary (quick)
ROC%: Percent change over N bars.
MOM: Scaled momentum (0–100).
VOL ratio: Volume vs 20-bar average.
ATR%: ATR as % of price.
ADX/DI: Trend strength / direction components (Wilder).
EMA stack: Relationship between EMAs (bullish/bearish/flat).
VWAP%: Premium/discount to VWAP.
RS%: Relative strength vs benchmark.
Crypto Macro CockpitCrypto Macro Cockpit — Institutional Liquidity Regime Detection
🔍 Overview
This script introduces a modern macro framework for crypto market regime detection, leveraging newly added stablecoin market data on TradingView. It’s designed to guide traders through the evolving institutional era of crypto — where liquidity, not just price, is king.
🌐 Why This Matters
Historically, traditional proxies like M2 money supply or bond yields were referenced to infer macro liquidity shifts. But with the regulatory green light and institutional embrace of stablecoins, on-chain fiat liquidity is now directly observable.
Stablecoins = The new M2 for crypto.
This script utilizes real-time data from:
📊 CRYPTOCAP:STABLE.C (Total Stablecoin Market Cap)
📊 CRYPTOCAP:STABLE.C.D (Stablecoin Dominance)
to assess dry powder, risk appetite, and macro regime transitions.
📋 How to Read the Crypto Macro Cockpit
This dashboard updates every few bars and is organized into four actionable segments:
1️⃣ Macro Spreads
Metric --> Interpretation
Risk Flow --> Measures capital flow between stablecoins and total crypto market cap. → Green = risk deploying.
ETH vs BTC --> Shift in dominance between ETH and BTC → rotation gauge.
ETHBTC --> Price ratio movement → confirms leadership tilt.
ALTs (TOTAL3ES) --> Momentum in altcoin market, excluding BTC/ETH/stables → key for alt season timing.
2️⃣ Liquidity & Risk Appetite
Metric --> Interpretation
Liquidity --> Directional change in stablecoin cap → more stables = more dry powder.
Risk Appetite --> Inverse of stablecoin dominance → falling dominance = capital rotating into risk.
3️⃣ Stablecoin Context
Metric --> Interpretation
StableCap ROC --> Growth rate of stablecoin market cap → proxy for fiat inflows.
StableDom ROC --> Change in stablecoin dominance → reflects market caution or aggression.
4️⃣ Composite Labels
Label --> Interpretation
Rotation --> Sector tilt (BTC-led vs ETH/Alts)
Regime --> Synthesized macro environment → "Risk-ON", "Caution", "Waiting", or "Risk-OFF"
Background Color --> Optional tint reflecting regime for quick glance validation
All metrics are evaluated with directional arrows (▲/▼/•) and acceleration overlays, using user-defined thresholds scaled by timeframe for precision.
🔔 Built-in Alerts
Predefined, non-repainting alerts include:
Regime transitions
Sector rotations
Confirmed ETH/ALT rotations
Stablecoin market cap spikes
Risk Flow acceleration
You can use these alerts for discretionary trading or automated system triggers.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice. Trading cryptocurrencies involves risk, and past performance does not guarantee future results. Always do your own research and manage risk responsibly.
✅ Ready to Use
No configuration needed — just load the script
Works on all timeframes (optimized for 1D)
Thresholds and smoothing are customizable
Table positioning and sizing is user-controlled
If you find this helpful, feel free to ⭐️ favorite or leave feedback. Questions welcome in the comments.
Let’s trade with macro awareness in this new era.
Dip Hunter [BackQuant]Dip Hunter
What this tool does in plain language
Dip Hunter is a pullback detector designed to find high quality buy-the-dip opportunities inside healthy trends and to avoid random knife catches. It watches for a quick drop from a recent high, checks that the drop happened with meaningful participation and volatility, verifies short-term weakness inside a larger uptrend, then scores the setup and paints the chart so you can act with confidence. It also draws clean entry lines, provides a meter that shows dip strength at a glance, and ships with alerts that match common execution workflows.
How Dip Hunter thinks
It defines a recent swing reference, measures how far price has dipped off that high, and only looks at candidates that meet your minimum percentage drop.
It confirms the dip with real activity by requiring a volume spike and a volatility spike.
It checks structure with two EMAs. Price should be weak in the short term while the larger context remains constructive.
It optionally requires a higher-timeframe trend to be up so you focus on pullbacks in trending markets.
It bundles those checks into a score and shows you the score on the candles and on a gradient meter.
When everything lines up it paints a green triangle below the bar, shades the background, and (if you wish) draws a horizontal entry line at your chosen level.
Inputs and what they mean
Dip Hunter Settings
• Vol Lookback and Vol Spike : The script computes an average volume over the lookback window and flags a spike when current volume is a multiple of that average. A multiplier of 2.0 means today’s volume must be at least double the average. This helps filter noise and focuses on dips that other traders actually traded.
• Fast EMA and Slow EMA : Short-term and medium-term structure references. A dip is more credible if price closes below the fast EMA while the fast EMA is still below the slow EMA during the pullback. That is classic corrective behavior inside a larger trend.
• Price Smooth : Optional smoothing length for price-derived series. Use this if you trade very noisy assets or low timeframes.
• Volatility Len and Vol Spike (volatility) : The script checks both standard deviation and true range against their own averages. If either expands beyond your multiplier the market confirms the move with range.
• Dip % and Lookback Bars : The engine finds the highest high over the lookback window, then computes the percentage drawdown from that high to the current close. Only dips larger than your threshold qualify.
Trend Filter
• Enable Trend Filter : When on, Dip Hunter will only trigger if the market is in an uptrend.
• Trend EMA Period : The longer EMA that defines the session’s backbone trend.
• Minimum Trend Strength : A small positive slope requirement. In practice this means the trend EMA should be rising, and price should be above it. You can raise the value to be more selective.
Entries
• Show Entry Lines : Draws a horizontal guide from the signal bar for a fixed number of bars. Great for limit orders, scaling, or re-tests.
• Line Length (bars) : How far the entry guide extends.
• Min Gap (bars) : Suppresses new entry lines if another dip fired recently. Prevents clutter during choppy sequences.
• Entry Price : Choose the line level. “Low” anchors at the signal candle’s low. “Close” anchors at the signal close. “Dip % Level” anchors at the theoretical level defined by recent_high × (1 − dip%). This lets you work resting orders at a consistent discount.
Heat / Meter
• Color Bars by Score : Colors each candle using a red→white→green gradient. Red is overheated, green is prime dip territory, white is neutral.
• Show Meter Table : Adds a compact gradient strip with a pointer that tracks the current score.
• Meter Cells and Meter Position : Resolution and placement of the meter.
UI Settings
• Show Dip Signals : Plots green triangles under qualifying bars and tints the background very lightly.
• Show EMAs : Plots fast, slow, and the trend EMA (if the trend filter is enabled).
• Bullish, Bearish, Neutral colors : Theme controls for shapes, fills, and bar painting.
Core calculations explained simply
Recent high and dip percent
The script finds the highest high over Lookback Bars , calls it “recent high,” then calculates:
dip% = (recent_high − close) ÷ recent_high × 100.
If dip% is larger than Dip % , condition one passes.
Volume confirmation
It computes a simple moving average of volume over Vol Lookback . If current volume ÷ average volume > Vol Spike , we have a participation spike. It also checks 5-bar ROC of volume. If ROC > 50 the spike is forceful. This gets an extra score point.
Volatility confirmation
Two independent checks:
• Standard deviation of closes vs its own average.
• True range vs ATR.
If either expands beyond Vol Spike (volatility) the move has range. This prevents false triggers from quiet drifts.
Short-term structure
Price should close below the Fast EMA and the fast EMA should be below the Slow EMA at the moment of the dip. That is the anatomy of a pullback rather than a full breakdown.
Macro trend context (optional)
When Enable Trend Filter is on, the Trend EMA must be rising and price must be above it. The logic prefers “micro weakness inside macro strength” which is the highest probability pattern for buying dips.
Signal formation
A valid dip requires:
• dip% > threshold
• volume spike true
• volatility spike true
• close below fast EMA
• fast EMA below slow EMA
If the trend filter is enabled, a rising trend EMA with price above it is also required. When all true, the triangle prints, the background tints, and optional entry lines are drawn.
Scoring and visuals
Binary checks into a continuous score
Each component contributes to a score between 0 and 1. The script then rescales to a centered range (−50 to +50).
• Low or negative scores imply “overheated” conditions and are shaded toward red.
• High positive scores imply “ripe for a dip buy” conditions and are shaded toward green.
• The gradient meter repeats the same logic, with a pointer so you can read the state quickly.
Bar coloring
If you enable “Color Bars by Score,” each candle inherits the gradient. This makes sequences obvious. Red clusters warn you not to buy. White means neutral. Increasing green suggests the pullback is maturing.
EMAs and the trend EMA
• Fast EMA turns down relative to the slow EMA inside the pullback.
• Trend EMA stays rising and above price once the dip exhausts, which is your cue to focus on long setups rather than bottom fishing in downtrends.
Entry lines
When a fresh signal fires and no other signal happened within Min Gap (bars) , the indicator draws a horizontal level for Line Length bars. Use these lines for limit entries at the low, at the close, or at the defined dip-percent level. This keeps your plan consistent across instruments.
Alerts and what they mean
• Market Overheated : Score is deeply negative. Do not chase. Wait for green.
• Close To A Dip : Score has reached a healthy level but the full signal did not trigger yet. Prepare orders.
• Dip Confirmed : First bar of a fresh validated dip. This is the most direct entry alert.
• Dip Active : The dip condition remains valid. You can scale in on re-tests.
• Dip Fading : Score crosses below 0.5 from above. Momentum of the setup is fading. Tighten stops or take partials.
• Trend Blocked Signal : All dip conditions passed but the trend filter is offside. Either reduce risk or skip, depending on your plan.
How to trade with Dip Hunter
Classic pullback in uptrend
Turn on the trend filter.
Watch for a Dip Confirmed alert with green triangle.
Use the entry line at “Dip % Level” to stage a limit order. This keeps your entries consistent across assets and timeframes.
Initial stop under the signal bar’s low or under the next lower EMA band.
First target at prior swing high, second target at a multiple of risk.
If you use partials, trail the remainder under the fast EMA once price reclaims it.
Aggressive intraday scalps
Lower Dip % and Lookback Bars so you catch shallow flags.
Keep Vol Spike meaningful so you only trade when participation appears.
Take quick partials when price reclaims the fast EMA, then exit on Dip Fading if momentum stalls.
Counter-trend probes
Disable the trend filter if you intentionally hunt reflex bounces in downtrends.
Require strong volume and volatility confirmation.
Use smaller size and faster targets. The meter should move quickly from red toward white and then green. If it does not, step aside.
Risk management templates
Stops
• Conservative: below the entry line minus a small buffer or below the signal bar’s low.
• Structural: below the slow EMA if you aim for swing continuation.
• Time stop: if price does not reclaim the fast EMA within N bars, exit.
Position sizing
Use the distance between the entry line and your structural stop to size consistently. The script’s entry lines make this distance obvious.
Scaling
• Scale at the entry line first touch.
• Add only if the meter stays green and price reclaims the fast EMA.
• Stop adding on a Dip Fading alert.
Tuning guide by market and timeframe
Equities daily
• Dip %: 1.5 to 3.0
• Lookback Bars: 5 to 10
• Vol Spike: 1.5 to 2.5
• Volatility Len: 14 to 20
• Trend EMA: 100 or 200
• Keep trend filter on for a cleaner list.
Futures and FX intraday
• Dip %: 0.4 to 1.2
• Lookback Bars: 3 to 7
• Vol Spike: 1.8 to 3.0
• Volatility Len: 10 to 14
• Use Min Gap to avoid clusters during news.
Crypto
• Dip %: 3.0 to 6.0 for majors on higher timeframes, lower on 15m to 1h
• Lookback Bars: 5 to 12
• Vol Spike: 1.8 to 3.0
• ATR and stdev checks help in erratic sessions.
Reading the chart at a glance
• Green triangle below the bar: a validated dip.
• Light green background: the current bar meets the full condition.
• Bar gradient: red is overheated, white is neutral, green is dip-friendly.
• EMAs: fast below slow during the pullback, then reclaim fast EMA on the bounce for quality continuation.
• Trend EMA: a rising spine when the filter is on.
• Entry line: a fixed level to anchor orders and risk.
• Meter pointer: right side toward “Dip” means conditions are maturing.
Why this combination reduces false positives
Any single criterion will trigger too often. Dip Hunter demands a dip off a recent high plus a volume surge plus a volatility expansion plus corrective EMA structure. Optional trend alignment pushes odds further in your favor. The score and meter visualize how many of these boxes you are actually ticking, which is more reliable than a binary dot.
Limitations and practical tips
• Thin or illiquid symbols can spoof volume spikes. Use larger Vol Lookback or raise Vol Spike .
• Sideways markets will show frequent small dips. Increase Dip % or keep the trend filter on.
• News candles can blow through entry lines. Widen stops or skip around known events.
• If you see many back-to-back triangles, raise Min Gap to keep only the best setups.
Quick setup recipes
• Clean swing trader: Trend filter on, Dip % 2.0 to 3.0, Vol Spike 2.0, Volatility Len 14, Fast 20 EMA, Slow 50 EMA, Trend 100 EMA.
• Fast intraday scalper: Trend filter off, Dip % 0.7 to 1.0, Vol Spike 2.5, Volatility Len 10, Fast 9 EMA, Slow 21 EMA, Min Gap 10 bars.
• Crypto swing: Trend filter on, Dip % 4.0, Vol Spike 2.0, Volatility Len 14, Fast 20 EMA, Slow 50 EMA, Trend 200 EMA.
Summary
Dip Hunter is a focused pullback engine. It quantifies a real dip off a recent high, validates it with volume and volatility expansion, enforces corrective structure with EMAs, and optionally restricts signals to an uptrend. The score, bar gradient, and meter make reading conditions instant. Entry lines and alerts turn that read into an executable plan. Tune the thresholds to your market and timeframe, then let the tool keep you patient in red, selective in white, and decisive in green.
Market Regime Matrix [Alpha Extract]A sophisticated market regime classification system that combines multiple technical analysis components into an intelligent scoring framework to identify and track dominant market conditions. Utilizing advanced ADX-based trend detection, EMA directional analysis, volatility assessment, and crash protection protocols, the Market Regime Matrix delivers institutional-grade regime classification with BULL, BEAR, and CHOP states. The system features intelligent scoring with smoothing algorithms, duration filters for stability, and structure-based conviction adjustments to provide traders with clear, actionable market context.
🔶 Multi-Component Regime Engine Integrates five core analytical components: ADX trend strength detection, EMA-200 directional bias, ROC momentum analysis, Bollinger Band volatility measurement, and zig-zag structure verification. Each component contributes to a sophisticated scoring system that evaluates market conditions across multiple dimensions, ensuring comprehensive regime assessment with institutional precision.
// Gate Keeper: ADX determines market type
is_trending = adx_value > adx_trend_threshold
is_ranging = adx_value <= adx_trend_threshold
is_maximum_chop = adx_value <= adx_chop_threshold
// BULL CONDITIONS with Structure Veto
if price_above_ema and di_bullish
if use_structure_filter and isBullStructure
raw_bullScore := 5.0 // MAXIMUM CONVICTION: Strong signals + Bull structure
else if use_structure_filter and not isBullStructure
raw_bullScore := 3.0 // REDUCED: Strong signals but broken structure
🔶 Intelligent Scoring System Employs a dynamic 0-5 scale scoring mechanism for each regime type (BULL/BEAR/CHOP) with adaptive conviction levels. The system automatically adjusts scores based on signal alignment, market structure confirmation, and volatility conditions. Features decision margin requirements to prevent false regime changes and includes maximum conviction thresholds for high-probability setups.
🔶 Advanced Structure Filter Implements zig-zag based market structure analysis using configurable deviation thresholds to identify significant pivot points. The system tracks Higher Highs/Higher Lows (HH/HL) for bullish structure and Lower Lows/Lower Highs (LL/LH) for bearish structure, applying structure veto logic that reduces conviction when price action contradicts the underlying trend framework.
// Define Market Structure (Bull = HH/HL, Bear = LL/LH)
isBullStructure = not na(last_significant_high) and not na(prev_significant_high) and
not na(last_significant_low) and not na(prev_significant_low) and
last_significant_high > prev_significant_high and last_significant_low > prev_significant_low
isBearStructure = not na(last_significant_high) and not na(prev_significant_high) and
not na(last_significant_low) and not na(prev_significant_low) and
last_significant_low < prev_significant_low and last_significant_high < prev_significant_high
🔶 Superior Engine Components Features dual-layer regime stabilization through score smoothing and duration filtering. The score smoothing component reduces noise by averaging raw scores over configurable periods, while the duration filter requires minimum regime persistence before confirming changes. This eliminates whipsaws and ensures regime transitions represent genuine market shifts rather than temporary fluctuations.
🔶 Crash Detection & Active Penalties Incorporates sophisticated crash detection using Rate of Change (ROC) analysis with severity classification. When crash conditions are detected, the system applies active penalties (-5.0) to BULL and CHOP scores while boosting BEAR conviction based on crash severity. This ensures immediate regime response to major market dislocations and drawdown events.
// === CRASH OVERRIDE (Active Penalties) ===
is_crash = roc_value < crash_threshold
if is_crash
// Calculate crash severity
crash_severity = math.abs(roc_value / crash_threshold)
crash_bonus = 4.0 + (crash_severity - 1.0) * 2.0
// ACTIVE PENALTIES: Force bear dominance
raw_bearScore := math.max(raw_bearScore, crash_bonus)
raw_bullScore := -5.0 // ACTIVE PENALTY
raw_chopScore := -5.0 // ACTIVE PENALTY
❓How It Works
🔶 ADX-Based Market Classification The Market Regime Matrix uses ADX (Average Directional Index) as the primary gatekeeper to distinguish between trending and ranging market conditions. When ADX exceeds the trend threshold, the system activates BULL/BEAR regime logic using DI+/DI- crossovers and EMA positioning. When ADX falls below the ranging threshold, CHOP regime logic takes precedence, with maximum conviction assigned during ultra-low ADX periods.
🔶 Dynamic Conviction Scaling Each regime receives conviction ratings from UNCERTAIN to MAXIMUM based on signal alignment and score magnitude. MAXIMUM conviction (5.0 score) requires perfect signal alignment plus favorable market structure. The system progressively reduces conviction when signals conflict or structure breaks, ensuring traders understand the reliability of each regime classification.
🔶 Regime Transition Management Implements decision margin requirements where new regimes must exceed existing regimes by configurable thresholds before transitions occur. Combined with duration filtering, this prevents premature regime changes and maintains stability during consolidation periods. The system tracks both raw regime signals and final regime output for complete transparency.
🔶 Visual Regime Mapping Provides comprehensive visual feedback through colored candle overlays, background regime highlighting, and real-time information tables. The system displays regime history, conviction levels, structure status, and key metrics in an organized dashboard format. Regime changes trigger immediate visual alerts with detailed transition information.
🔶 Performance Optimization Features efficient array management for zig-zag calculations, smart variable updating to prevent recomputation, and configurable debug modes for strategy development. The system maintains optimal performance across all timeframes while providing institutional-grade analytical depth.
Why Choose Market Regime Matrix ?
The Market Regime Matrix represents the evolution of market regime analysis, combining traditional technical indicators with modern algorithmic decision-making frameworks. By integrating multiple analytical dimensions with intelligent scoring, structure verification, and crash protection, it provides traders with institutional-quality market context that adapts to changing conditions. The sophisticated filtering system eliminates noise while preserving responsiveness, making it an essential tool for traders seeking to align their strategies with dominant market regimes and avoid adverse market environments.
Recession Warning Model [BackQuant]Recession Warning Model
Overview
The Recession Warning Model (RWM) is a Pine Script® indicator designed to estimate the probability of an economic recession by integrating multiple macroeconomic, market sentiment, and labor market indicators. It combines over a dozen data series into a transparent, adaptive, and actionable tool for traders, portfolio managers, and researchers. The model provides customizable complexity levels, display modes, and data processing options to accommodate various analytical requirements while ensuring robustness through dynamic weighting and regime-aware adjustments.
Purpose
The RWM fulfills the need for a concise yet comprehensive tool to monitor recession risk. Unlike approaches relying on a single metric, such as yield-curve inversion, or extensive economic reports, it consolidates multiple data sources into a single probability output. The model identifies active indicators, their confidence levels, and the current economic regime, enabling users to anticipate downturns and adjust strategies accordingly.
Core Features
- Indicator Families : Incorporates 13 indicators across five categories: Yield, Labor, Sentiment, Production, and Financial Stress.
- Dynamic Weighting : Adjusts indicator weights based on recent predictive accuracy, constrained within user-defined boundaries.
- Leading and Coincident Split : Separates early-warning (leading) and confirmatory (coincident) signals, with adjustable weighting (default 60/40 mix).
- Economic Regime Sensitivity : Modulates output sensitivity based on market conditions (Expansion, Late-Cycle, Stress, Crisis), using a composite of VIX, yield-curve, financial conditions, and credit spreads.
- Display Options : Supports four modes—Probability (0-100%), Binary (four risk bins), Lead/Coincident, and Ensemble (blended probability).
- Confidence Intervals : Reflects model stability, widening during high volatility or conflicting signals.
- Alerts : Configurable thresholds (Watch, Caution, Warning, Alert) with persistence filters to minimize false signals.
- Data Export : Enables CSV output for probabilities, signals, and regimes, facilitating external analysis in Python or R.
Model Complexity Levels
Users can select from four tiers to balance simplicity and depth:
1. Essential : Focuses on three core indicators—yield-curve spread, jobless claims, and unemployment change—for minimalistic monitoring.
2. Standard : Expands to nine indicators, adding consumer confidence, PMI, VIX, S&P 500 trend, money supply vs. GDP, and the Sahm Rule.
3. Professional : Includes all 13 indicators, incorporating financial conditions, credit spreads, JOLTS vacancies, and wage growth.
4. Research : Unlocks all indicators plus experimental settings for advanced users.
Key Indicators
Below is a summary of the 13 indicators, their data sources, and economic significance:
- Yield-Curve Spread : Difference between 10-year and 3-month Treasury yields. Negative spreads signal banking sector stress.
- Jobless Claims : Four-week moving average of unemployment claims. Sustained increases indicate rising layoffs.
- Unemployment Change : Three-month change in unemployment rate. Sharp rises often precede recessions.
- Sahm Rule : Triggers when unemployment rises 0.5% above its 12-month low, a reliable recession indicator.
- Consumer Confidence : University of Michigan survey. Declines reflect household pessimism, impacting spending.
- PMI : Purchasing Managers’ Index. Values below 50 indicate manufacturing contraction.
- VIX : CBOE Volatility Index. Elevated levels suggest market anticipation of economic distress.
- S&P 500 Growth : Weekly moving average trend. Declines reduce wealth effects, curbing consumption.
- M2 + GDP Trend : Monitors money supply and real GDP. Simultaneous declines signal credit contraction.
- NFCI : Chicago Fed’s National Financial Conditions Index. Positive values indicate tighter conditions.
- Credit Spreads : Proxy for corporate bond spreads using 10-year vs. 2-year Treasury yields. Widening spreads reflect stress.
- JOLTS Vacancies : Job openings data. Significant drops precede hiring slowdowns.
- Wage Growth : Year-over-year change in average hourly earnings. Late-cycle spikes often signal economic overheating.
Data Processing
- Rate of Change (ROC) : Optionally applied to capture momentum in data series (default: 21-bar period).
- Z-Score Normalization : Standardizes indicators to a common scale (default: 252-bar lookback).
- Smoothing : Applies a short moving average to final signals (default: 5-bar period) to reduce noise.
- Binary Signals : Generated for each indicator (e.g., yield-curve inverted or PMI below 50) based on thresholds or Z-score deviations.
Probability Calculation
1. Each indicator’s binary signal is weighted according to user settings or dynamic performance.
2. Weights are normalized to sum to 100% across active indicators.
3. Leading and coincident signals are aggregated separately (if split mode is enabled) and combined using the specified mix.
4. The probability is adjusted by a regime multiplier, amplifying risk during Stress or Crisis regimes.
5. Optional smoothing ensures stable outputs.
Display and Visualization
- Probability Mode : Plots a continuous 0-100% recession probability with color gradients and confidence bands.
- Binary Mode : Categorizes risk into four levels (Minimal, Watch, Caution, Alert) for simplified dashboards.
- Lead/Coincident Mode : Displays leading and coincident probabilities separately to track signal divergence.
- Ensemble Mode : Averages traditional and split probabilities for a balanced view.
- Regime Background : Color-coded overlays (green for Expansion, orange for Late-Cycle, amber for Stress, red for Crisis).
- Analytics Table : Optional dashboard showing probability, confidence, regime, and top indicator statuses.
Practical Applications
- Asset Allocation : Adjust equity or bond exposures based on sustained probability increases.
- Risk Management : Hedge portfolios with VIX futures or options during regime shifts to Stress or Crisis.
- Sector Rotation : Shift toward defensive sectors when coincident signals rise above 50%.
- Trading Filters : Disable short-term strategies during high-risk regimes.
- Event Timing : Scale positions ahead of high-impact data releases when probability and VIX are elevated.
Configuration Guidelines
- Enable ROC and Z-score for consistent indicator comparison unless raw data is preferred.
- Use dynamic weighting with at least one economic cycle of data for optimal performance.
- Monitor stress composite scores above 80 alongside probabilities above 70 for critical risk signals.
- Adjust adaptation speed (default: 0.1) to 0.2 during Crisis regimes for faster indicator prioritization.
- Combine RWM with complementary tools (e.g., liquidity metrics) for intraday or short-term trading.
Limitations
- Macro indicators lag intraday market moves, making RWM better suited for strategic rather than tactical trading.
- Historical data availability may constrain dynamic weighting on shorter timeframes.
- Model accuracy depends on the quality and timeliness of economic data feeds.
Final Note
The Recession Warning Model provides a disciplined framework for monitoring economic downturn risks. By integrating diverse indicators with transparent weighting and regime-aware adjustments, it empowers users to make informed decisions in portfolio management, risk hedging, or macroeconomic research. Regular review of model outputs alongside market-specific tools ensures its effective application across varying market conditions.
Inflection PointInflection Point - The Adaptive Confluence Reversal Engine
This is not just another peak and valley indicator; it is a complete and total reimagining of how market turning points are detected, qualified, and acted upon. Born from the foundational concepts explored in systems like my earlier creation, DAFE - Turning Point, Inflection Point is a ground-up engineering feat designed for the modern trader. It moves beyond static rules and simple pattern recognition into the realm of dynamic, multi-factor confluence analysis and adaptive machine learning.
Where other indicators provide a guess, Inflection Point provides a probability. It meticulously analyzes the market's deepest currents—momentum, exhaustion, and reversal velocity—and fuses them into a single, unified "Confluence Score." This is not a simple combination of indicators; it is an intelligent, weighted system where each component works in concert, creating an analytical engine that is orders of magnitude more sophisticated and reliable than any standard reversal tool.
Furthermore, Inflection Point learns. Through its advanced Adaptive Learning Engine, it constantly monitors its own performance, adjusting its confidence and selectivity in real-time based on its recent success rate. This allows it to adapt its behavior to any security, on any timeframe, with remarkable success.
Theoretical Foundation - Confluence Core
Inflection Point's predictive power does not come from a single, magical formula. It comes from the intelligent synthesis of three critical market phenomena, weighted and scored in real-time to generate a single, high-conviction probability rating.
1. Factor One: Pre-Reversal Momentum State (RSI Analysis)
Instead of reacting to a simple RSI cross, Inflection Point proactively scans for the build-up of momentum that precedes a reversal.
• Formulaic Concept: It measures the highest RSI value over a lookback period for peaks and the lowest RSI for valleys. A signal is only considered valid if significant momentum has been established before the turn, indicating a stretched market condition ripe for reversal.
• Asymmetric Sophistication: The engine uses different, optimized thresholds for bull and bear momentum, recognizing that markets often fall faster than they rise.
2. Factor Two: Volatility Exhaustion (Bollinger Band Analysis)
A true reversal often occurs when price makes a final, exhaustive push into unsustainable territory.
• Formulaic Concept: The engine detects when price has significantly pierced the outer Bollinger Bands. This is not just a touch, but a statistical deviation from the mean that signals volatility exhaustion, where the energy for the current move is likely depleted.
3. Factor Three: Reversal Strength (Rate of Change Analysis)
The character of a reversal matters. A sharp, decisive turn is more significant than a slow, meandering one.
• Formulaic Concept: Using a short-term Rate of Change (ROC), the engine measures the velocity of the reversal itself. A higher ROC score adds significant weight to the final probability, confirming that the new direction has conviction.
4. The Final Calculation: The Adaptive Learning Engine
This is the system's "brain." It maintains a history of its past signals and calculates its real-time win rate. This hitRate is then used to generate an adaptiveMultiplier.
• Self-Correction: In "Quality Control" mode, a high win rate makes the indicator more selective, demanding a higher probability score to issue a signal, thereby protecting streaks. A lower win rate makes it slightly less selective to ensure it continues learning from new market conditions.
• The result is a system that is not static, but a living, breathing tool that adapts its personality to the unique rhythm of any chart.
Why Inflection Point is a Paradigm Shift
Inflection Point is fundamentally different from other reversal indicators for three key reasons:
Confluence Over Isolation: Standard indicators look at one thing (e.g., RSI > 70). Inflection Point simultaneously analyzes momentum, volatility, and velocity, understanding that true reversals are a product of multiple converging factors. It answers not just "if," but "why" a reversal is likely.
Probabilistic Over Binary: Other tools give you a simple "yes" or "no." Inflection Point provides a probability score from 0-100, allowing you to gauge the conviction of every potential signal. This empowers you to differentiate between a weak setup and an A+ opportunity.
Adaptive Over Static: Every other indicator uses the same rules forever. Inflection Point's Adaptive Engine means it is constantly refining its own logic based on what is actually working in the current market, on the specific asset you are trading. It is tailored to the now.
The Inputs Menu - Your Command Center
Every setting is a lever of control, allowing you to tune the engine to your precise trading style and market focus.
🧠 Neural Core Engine
Analysis Depth: This is the primary lookback for the Bollinger Band and other core calculations. A shorter depth makes the indicator faster and more sensitive, ideal for scalping. A longer depth makes it slower and more stable, ideal for swing trading.
Minimum Probability %: This is your master signal filter. It sets the minimum Confluence Score required to plot a signal. Higher values (85-95) will give you only the highest-conviction A+ setups. Lower values (70-80) will show more potential opportunities.
🤖 Adaptive Neural Learning
Enable Adaptive Learning Engine: Toggles the entire learning system. Disabling it will make the indicator's logic static.
Peak/Valley Success Threshold (ATR): This defines what constitutes a "successful" trade for the learning engine. A value of 1.5 means price must move 1.5x the ATR in your favor for the signal to be marked as a win. Adjust this to match your personal take-profit strategy.
Adaptive Mode: This dictates how the engine uses its hitRate. "Quality Control" is recommended for its intelligent filtering. "Aggressive" will always boost signal scores, useful for finding more setups in a known, trending environment.
Asymmetric Balance: Allows you to apply a "boost" to either peak (short) or valley (long) signals. If you find the market you're trading has stronger long reversals, you can increase the "Valley Signal Boost" to catch them more effectively.
🛡️ Elite Filters
Market Noise Filter: An exceptional tool for avoiding choppy markets. It counts the number of directional changes in the last 5 bars. If the market is whipping back and forth too much, it will block the signal. Lower the "Max Direction Changes" to be extremely selective.
Volume Filter: Requires signal confirmation from a significant volume spike. The "Volume Multiplier" dictates how large this spike must be (e.g., 1.2 = 20% above average volume). This is invaluable for filtering out low-conviction moves in stocks and crypto.
The Dashboard - Your Analytical Co-Pilot
The dashboard is not just a set of numbers; it is a holistic overview of the market's health and the engine's current state.
Unified AI Score: This section provides the most critical, at-a-glance information. "Total Score" is the current probability reading, while "Quality" gives you a human-readable interpretation. "Win Rate" shows the real-time performance of the Adaptive Engine.
Order Flow (OFPI): This measures the "weight" of money behind recent price moves by analyzing price change relative to volume. A high positive OFPI suggests strong buying pressure, while a high negative value suggests strong selling pressure. It gives you a peek into the market's underlying flow.
Component Analysis: This allows you to see the individual "Peak" and "Valley" confidence scores before they are filtered, giving you insight into building momentum before a signal forms.
Market Structure: This panel assesses the broader environment. "HTF Trend" tells you the direction of the larger trend (based on EMAs), while "Vol Regime" tells you if the market is in a high, medium, or low volatility state. Use this to align your signals with the broader market context.
Filter & Engine Statistics: Available on the "Large" dashboard, this provides deep insight into how many signals are being blocked by your filters and the current status of the Adaptive Engine's multiplier.
The Visual Interface - A Symphony of Data
Every visual element on the chart is designed for instant interpretation and insight.
Signal Markers: Simple, clean triangles mark the exact bar of a valid signal. A box is drawn around the high/low of the signal bar to highlight the precise point of inflection.
Dynamic Support/Resistance Zones: These are the glowing lines on your chart. They are not static lines; they are dynamic levels that represent the current battlefield between buyers and sellers.
Cyber Cyan (Valley Blue): This is the current Support Zone. This is the price level the market is currently trying to defend.
Neural Pink (Peak Red): This is the current Resistance Zone. This is the price level the market is currently trying to break through.
Grey (Next Level): This line is a projection, based on the current momentum and the size of the S/R range, of where the next major level of conflict will likely be. It acts as a potential price target.
Development & Philosophy
Inflection Point was not assembled; it was engineered. It represents hundreds of hours of research into market dynamics, statistical analysis, and machine learning principles. The goal was to create a tool that moves beyond the limitations of traditional technical analysis, which often fails in modern, algorithm-driven markets. By building a system based on multi-factor confluence and self-adaptive logic, Inflection Point provides a quantifiable, statistical edge that is simply unattainable with simpler tools. This is the result of a relentless pursuit of a better, more intelligent way to trade.
Universal Applicability
The principles of momentum, exhaustion, and velocity are universal to all freely traded markets. Because of its adaptive core and robust filtering options, Inflection Point has proven to be exceptionally effective on any security (stocks, crypto, forex, indices, futures) and on any timeframe (from 1-minute scalping charts to daily swing trading charts).
" Markets are constantly in a state of uncertainty and flux and money is made by discounting the obvious and betting on the unexpected. "
— George Soros
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
Rifle UnifiedThis script is designed for use on 30-second charts of Dow Jones-related symbols (YM, MYM, US30). It provides automated buy and sell signals using a combination of price action, RSI (Relative Strength Index), and volume analysis. The script is intended for both live trading signals and backtesting, with configurable risk management and debugging features.
Core Functionality
1. Signal Generation Logic
Trigger: The algorithm looks for a sharp price move (drop or rise) of a user-defined threshold (default: 80 points) within a specified lookback window (default: 20 minutes).
Levels: It monitors for price drops below specific numerical levels ending in 23, 43, or 73 (e.g., 42223, 42273).
RSI Condition: When price falls below one of these levels and the RSI is below 30, the setup is considered active.
Buy Signal: A buy is triggered if, after setup:
Price rises back above the level,
The RSI rate of change (ROC) indicates exhaustion of the drop,
The current bar shows positive momentum.
2. Trade Management
Stop Loss & Take Profit: Configurable fixed or trailing stop loss and take profit levels are plotted and managed automatically.
Exit Signals: The script signals exit based on price action relative to these risk management levels.
3. Filters & Enhancements
Parabolic Move Filter: Prevents entries during extreme price moves.
Dead Cat Bounce Filter: Avoids false signals after sharp reversals.
Volume Filter: Optionally requires volume conditions for trade entries (especially for shorts).
Multiple Confirmation Layers : Includes checks for 5-minute RSI, momentum, and price retracement.
User Inputs & Customization
Trade Direction: Toggle between LONG and SHORT signal generation.
Trigger Settings: Adjust thresholds for price moves, lookback windows, RSI ROC, and volume requirements.
Trade Settings: Set take profit, stop loss, and trailing stop behavior.
Debug & Visualization: Enable or disable various plots, labels, and debug tables for in-depth analysis.
Backtesting: Integrated backtester with summary and detailed statistics tables.
Technical Features
Uses External Libraries: Relies on RifleShooterLib for core logic and BackTestLib for backtesting and statistics.
Multi-timeframe Analysis: Incorporates both 30-second and 5-minute RSI calculations.
Chart Annotations: Plots entry/exit points, risk levels, and debug information directly on the chart.
Alert Conditions: Built-in alert triggers for key events (initial move, stall, entry).
Intended Use
Markets: Dow Jones symbols (YM, MYM, US30, or US30 CFD).
Timeframe: 30-second chart.
Purpose: Automated signal generation for discretionary or algorithmic trading, with robust risk management and backtesting support.
Notable Customization & Extension Points
Momentum Calculation: Plans to replace the current momentum measure with "sqz momentum".
Displacement Logic: Future update to use "FVG concept" for displacement.
High-Contrast RSI: Optional visual enhancements for RSI extremes.
Time-based Stop: Consideration for adding a time-based stop mechanism.
This script is highly modular, with extensive user controls, and is suitable for both live trading and historical analysis of Dow Jones index movements
BBS – Bond Breadth Signal"When bonds scream, breadth collapses, and fear spikes — BBS listens."
🧠 BBS – Bond Breadth Signal
A reversal timing tool built on macro conviction, not price noise.
The Bond Breadth Signal (BBS) was developed to identify major market inflection points by combining four key market stress indicators:
1) 10-Year Yield ROC – Measures sharp moves in the bond market
2) Z-Score of the 10Y – Captures statistical extremes
3) NSHF (Net Highs–Lows) – Signals internal market strength or weakness
4) TLT ROC + VIX – Confirmations of flight to safety and volatility-driven fear
When all conditions align, BBS marks either a For-Sure Buy or For-Sure Sell — these are rare, high-confidence signals designed to cut through noise and focus on true market dislocations.
🔧 Features:
-Background color and signal arrows on confirmation days
-Signals remain visually active for 3 days for added clarity
-Fully adjustable thresholds and alert toggles
-Plot panel for yield, TLT, NSHF, VIX, and Z-score visuals
This tool isn’t designed to fire every day. It’s meant to wait for those moments when the market truly bends — not just wiggles.
Best used on major indices (SPY, QQQ, IWM) to assess macro turning points.
Z-Score Adaptive Connors RSIZ-Score Adaptive Connors RSI blends the classic three-component Connors RSI (RSI, Up/Down streak RSI, and Percentile Rank of 1-bar ROC) with a dynamic z-score filter that distinguishes trending vs. mean-reverting market regimes.
When the indicator detects an extreme deviation (|z-score| > threshold) , it switches to “trending” mode and tightens entry thresholds for capturing momentum. When markets are in a more neutral regime, it reverts to wider thresholds, hunting for overbought/oversold reversals.
Key Features
Connors RSI Core: Combines price momentum, streak measurements, and velocity for a robust baseline oscillator. Z-Score Regime Filter: Computes the z-score of the Connors RSI over a lookback window to adapt your trading style to trending vs. reverting environments.
Dynamic Thresholds: Separate user-configurable thresholds for trending (“tight” entries) and mean-reverting (“wide” entries) scenarios.
Inputs & Parameters
Connors RSI Settings
RSI Source: Price series for RSI calculation (default: Close)
RSI Length: Period for price‐change RSI (default: 24)
Up/Down Length: Period for streak RSI (default: 20)
ROC Length: Period for percentile‐rank of 1-bar return (default: 75)
Z-Score Filter
Lookback: Number of bars to compute mean and standard deviation of Connors RSI (default: 14)
Threshold: Minimum |z-score| to enter “trending” mode (default: 1.5)
Entry Thresholds
Trending Long/Short: Upper and lower RSI Thresholds when trending
Reverting Long/Short: Upper and lower RSI Thresholds when reverting
Canuck Trading IndicatorOverview
The Canuck Trading Indicator is a versatile, overlay-based technical analysis tool designed to assist traders in identifying potential trading opportunities across various timeframes and market conditions. By combining multiple technical indicators—such as RSI, Bollinger Bands, EMAs, VWAP, MACD, Stochastic RSI, ADX, HMA, and candlestick patterns—the indicator provides clear visual signals for bullish and bearish entries, breakouts, long-term trends, and options strategies like cash-secured puts, straddles/strangles, iron condors, and short squeezes. It also incorporates 20-day and 200-day SMAs to detect Golden/Death Crosses and price positioning relative to these moving averages. A dynamic table displays key metrics, and customizable alerts help traders stay informed of market conditions.
Key Features
Multi-Timeframe Adaptability: Automatically adjusts parameters (e.g., ATR multiplier, ADX period, HMA length) based on the chart's timeframe (minute, hourly, daily, weekly, monthly) for optimal performance.
Comprehensive Signal Generation: Identifies short-term entries, breakouts, long-term bullish trends, and options strategies using a combination of momentum, trend, volatility, and candlestick patterns.
Candlestick Pattern Detection: Recognizes bullish/bearish engulfing, hammer, shooting star, doji, and strong candles for precise entry/exit signals.
Moving Average Analysis: Plots 20-day and 200-day SMAs, detects Golden/Death Crosses, and evaluates price position relative to these averages.
Dynamic Table: Displays real-time metrics, including zone status (bullish, bearish, neutral), RSI, MACD, Stochastic RSI, short/long-term trends, candlestick patterns, ADX, ROC, VWAP slope, and MA positioning.
Customizable Alerts: Over 20 alert conditions for entries, exits, overbought/oversold warnings, and MA crosses, with actionable messages including ticker, price, and suggested strategies.
Visual Clarity: Uses distinct shapes, colors, and sizes to plot signals (e.g., green triangles for bullish entries, red triangles for bearish entries) and overlays key levels like EMA, VWAP, Bollinger Bands, support/resistance, and HMA.
Options Strategy Signals: Suggests opportunities for selling cash-secured puts, straddles/strangles, iron condors, and capitalizing on short squeezes.
How to Use
Add to Chart: Apply the indicator to any TradingView chart by selecting "Canuck Trading Indicator" from the Pine Script library.
Interpret Signals:
Bullish Signals: Green triangles (short-term entry), lime diamonds (breakout), blue circles (long-term entry).
Bearish Signals: Red triangles (short-term entry), maroon diamonds (breakout).
Options Strategies: Purple squares (cash-secured puts), yellow circles (straddles/strangles), orange crosses (iron condors), white arrows (short squeezes).
Exits: X-cross shapes in corresponding colors indicate exit signals.
Monitor: Gray circles suggest holding cash or monitoring for setups.
Review Table: Check the top-right table for real-time metrics, including zone status, RSI, MACD, trends, and MA positioning.
Set Alerts: Configure alerts for specific signals (e.g., "Short-Term Bullish Entry" or "Golden Cross") to receive notifications via TradingView.
Adjust Inputs: Customize input parameters (e.g., RSI period, EMA length, ATR period) to suit your trading style or market conditions.
Input Parameters
The indicator offers a wide range of customizable inputs to fine-tune its behavior:
RSI Period (default: 14): Length for RSI calculation.
RSI Bullish Low/High (default: 35/70): RSI thresholds for bullish signals.
RSI Bearish High (default: 65): RSI threshold for bearish signals.
EMA Period (default: 15): Main EMA length (15 for day trading, 50 for swing).
Short/Long EMA Length (default: 3/20): For momentum oscillator.
T3 Smoothing Length (default: 5): Smooths momentum signals.
Long-Term EMA/RSI Length (default: 20/15): For long-term trend analysis.
Support/Resistance Lookback (default: 5): Periods for support/resistance levels.
MACD Fast/Slow/Signal (default: 12/26/9): MACD parameters.
Bollinger Bands Period/StdDev (default: 15/2): BB settings.
Stochastic RSI Period/Smoothing (default: 14/3/3): Stochastic RSI settings.
Uptrend/Short-Term/Long-Term Lookback (default: 2/2/5): Candles for trend detection.
ATR Period (default: 14): For volatility and price targets.
VWAP Sensitivity (default: 0.1%): Threshold for VWAP-based signals.
Volume Oscillator Period (default: 14): For volume surge detection.
Pattern Detection Threshold (default: 0.3%): Sensitivity for candlestick patterns.
ROC Period (default: 3): Rate of change for momentum.
VWAP Slope Period (default: 5): For VWAP trend analysis.
TradingView Publishing Compliance
Originality: The Canuck Trading Indicator is an original script, combining multiple technical indicators and custom logic to provide unique trading signals. It does not replicate existing public scripts.
No Guaranteed Profits: This indicator is a tool for technical analysis and does not guarantee profits. Trading involves risks, and users should conduct their own research and risk management.
Clear Instructions: The description and usage guide are detailed and accessible, ensuring users understand how to apply the indicator effectively.
No External Dependencies: The script uses only built-in Pine Script functions (e.g., ta.rsi, ta.ema, ta.vwap) and requires no external libraries or data sources.
Performance: The script is optimized for performance, using efficient calculations and adaptive parameters to minimize lag on various timeframes.
Visual Clarity: Signals are plotted with distinct shapes and colors, and the table provides a concise summary of market conditions, enhancing usability.
Limitations and Risks
Market Conditions: The indicator may generate false signals in choppy or low-liquidity markets. Always confirm signals with additional analysis.
Timeframe Sensitivity: Performance varies by timeframe; test settings on your preferred chart (e.g., 5-minute for day trading, daily for swing trading).
Risk Management: Use stop-losses and position sizing to manage risk, as suggested in alert messages (e.g., "Stop -20%").
Options Trading: Options strategies (e.g., straddles, iron condors) carry unique risks; consult a financial advisor before trading.
Feedback and Support
For questions, suggestions, or bug reports, please leave a comment on the TradingView script page or contact the author via TradingView. Your feedback helps improve the indicator for the community.
Disclaimer
The Canuck Trading Indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves significant risks, and past performance is not indicative of future results. Always perform your own due diligence and consult a qualified financial advisor before making trading decisions.
Combined Up down with volumeIndicator Description: "Combined Up/Down with Volume"
This Pine Script indicator combines price momentum and volume spikes to identify potential trend reversals or breakouts. It checks two key conditions:
Price Movement – A minimum percentage change (% check) in closing price.
Volume Spike – Trading volume exceeding a user-defined threshold (Volume above).
How It Works
1. Price Momentum Check
Calculates the 1-period Rate of Change (ROC) of the closing price.
Triggers when the absolute ROC ≥ % check (e.g., 5%).
2. Volume Spike Check
Compares current volume against a threshold (e.g., 1,000,000).
Triggers when volume exceeds this level.
3. Signal Plotting
If use = true:
Plots a purple circle below the bar when both conditions are met.
If use = false:
Plots a circle below the bar for price momentum alone.
Plots a circle (default position) for high volume alone.
Math by Thomas Order Blocks🔥 Description:
🚀 Math by Thomas Order Blocks is a precision tool for Smart Money Concept (SMC) and price action traders, designed to automatically detect Bullish and Bearish Order Blocks (OBs). It highlights key institutional trading zones where large orders are placed, helping you identify potential reversal and continuation areas.
⚙️ Key Features:
✅ Automatic Order Block Detection:
Detects Bearish OBs when price sharply reverses after a significant bullish move.
Identifies Bullish OBs following a sharp reversal from a bearish push.
✅ Dynamic Sensitivity & Volume Filter:
Sensitivity Control: Customize OB detection precision.
Minimum Volume Filter: Ensures OBs form only on significant volume spikes.
✅ Flexible OB Mitigation:
Choose between "Close" or "Wick" mitigation for OB invalidation.
Mitigated OBs are automatically removed from the chart.
✅ Adaptive Swing & Price Change Detection:
Adjusts OB detection logic based on timeframe for flexibility.
Uses adaptive rate of change (ROC) calculations to spot momentum shifts.
✅ Visual Customization:
OBs are displayed as shaded boxes with configurable background and border colors.
Bullish OBs = Green (support zones).
Bearish OBs = Red (resistance zones).
✅ Alerts for OB Touch:
Get real-time alerts when price touches a Bullish or Bearish OB.
Helps you catch potential reversal points without constant chart monitoring.
📊 How It Works:
Bullish OB Logic:
Detected when price crosses over a positive momentum threshold (ROC) with high volume.
Plots a green OB box from the low of the swing candle.
Bearish OB Logic:
Identified when price crosses under a negative momentum threshold with high volume.
Plots a red OB box from the high of the swing candle.
Mitigation Rules:
OBs are removed once invalidated by price action based on your chosen mitigation type (Close or Wick).
📈 Usage Tips:
Use Bullish OBs as potential support areas for buy entries.
Treat Bearish OBs as resistance zones for sell setups.
Combine with Fair Value Gaps, volume profile, and RSI for confluence.
Adjust sensitivity and volume filters to fine-tune OB detection.
✅ Chart Example:
The script displays:
Bullish OBs in green, marking potential support zones.
Bearish OBs in red, indicating resistance zones.
Real-time alerts when price touches OBs.
🔥 Why Use This Indicator?
Designed for intraday and swing traders aiming to identify institutional trading zones.
Helps you spot reversal and continuation setups with precision.
Ideal for Smart Money Concept (SMC), price action, and order flow traders.
Fuzzy SMA with DCTI Confirmation[FibonacciFlux]FibonacciFlux: Advanced Fuzzy Logic System with Donchian Trend Confirmation
Institutional-grade trend analysis combining adaptive Fuzzy Logic with Donchian Channel Trend Intensity for superior signal quality
Conceptual Framework & Research Foundation
FibonacciFlux represents a significant advancement in quantitative technical analysis, merging two powerful analytical methodologies: normalized fuzzy logic systems and Donchian Channel Trend Intensity (DCTI). This sophisticated indicator addresses a fundamental challenge in market analysis – the inherent imprecision of trend identification in dynamic, multi-dimensional market environments.
While traditional indicators often produce simplistic binary signals, markets exist in states of continuous, graduated transition. FibonacciFlux embraces this complexity through its implementation of fuzzy set theory, enhanced by DCTI's structural trend confirmation capabilities. The result is an indicator that provides nuanced, probabilistic trend assessment with institutional-grade signal quality.
Core Technological Components
1. Advanced Fuzzy Logic System with Percentile Normalization
At the foundation of FibonacciFlux lies a comprehensive fuzzy logic system that transforms conventional technical metrics into degrees of membership in linguistic variables:
// Fuzzy triangular membership function with robust error handling
fuzzy_triangle(val, left, center, right) =>
if na(val)
0.0
float denominator1 = math.max(1e-10, center - left)
float denominator2 = math.max(1e-10, right - center)
math.max(0.0, math.min(left == center ? val <= center ? 1.0 : 0.0 : (val - left) / denominator1,
center == right ? val >= center ? 1.0 : 0.0 : (right - val) / denominator2))
The system employs percentile-based normalization for SMA deviation – a critical innovation that enables self-calibration across different assets and market regimes:
// Percentile-based normalization for adaptive calibration
raw_diff = price_src - sma_val
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff_raw = raw_diff / diff_abs_percentile
normalized_diff = useClamping ? math.max(-clampValue, math.min(clampValue, normalized_diff_raw)) : normalized_diff_raw
This normalization approach represents a significant advancement over fixed-threshold systems, allowing the indicator to automatically adapt to varying volatility environments and maintain consistent signal quality across diverse market conditions.
2. Donchian Channel Trend Intensity (DCTI) Integration
FibonacciFlux significantly enhances fuzzy logic analysis through the integration of Donchian Channel Trend Intensity (DCTI) – a sophisticated measure of trend strength based on the relationship between short-term and long-term price extremes:
// DCTI calculation for structural trend confirmation
f_dcti(src, majorPer, minorPer, sigPer) =>
H = ta.highest(high, majorPer) // Major period high
L = ta.lowest(low, majorPer) // Major period low
h = ta.highest(high, minorPer) // Minor period high
l = ta.lowest(low, minorPer) // Minor period low
float pdiv = not na(L) ? l - L : 0 // Positive divergence (low vs major low)
float ndiv = not na(H) ? H - h : 0 // Negative divergence (major high vs high)
float divisor = pdiv + ndiv
dctiValue = divisor == 0 ? 0 : 100 * ((pdiv - ndiv) / divisor) // Normalized to -100 to +100 range
sigValue = ta.ema(dctiValue, sigPer)
DCTI provides a complementary structural perspective on market trends by quantifying the relationship between short-term and long-term price extremes. This creates a multi-dimensional analysis framework that combines adaptive deviation measurement (fuzzy SMA) with channel-based trend intensity confirmation (DCTI).
Multi-Dimensional Fuzzy Input Variables
FibonacciFlux processes four distinct technical dimensions through its fuzzy system:
Normalized SMA Deviation: Measures price displacement relative to historical volatility context
Rate of Change (ROC): Captures price momentum over configurable timeframes
Relative Strength Index (RSI): Evaluates cyclical overbought/oversold conditions
Donchian Channel Trend Intensity (DCTI): Provides structural trend confirmation through channel analysis
Each dimension is processed through comprehensive fuzzy sets that transform crisp numerical values into linguistic variables:
// Normalized SMA Deviation - Self-calibrating to volatility regimes
ndiff_LP := fuzzy_triangle(normalized_diff, norm_scale * 0.3, norm_scale * 0.7, norm_scale * 1.1)
ndiff_SP := fuzzy_triangle(normalized_diff, norm_scale * 0.05, norm_scale * 0.25, norm_scale * 0.5)
ndiff_NZ := fuzzy_triangle(normalized_diff, -norm_scale * 0.1, 0.0, norm_scale * 0.1)
ndiff_SN := fuzzy_triangle(normalized_diff, -norm_scale * 0.5, -norm_scale * 0.25, -norm_scale * 0.05)
ndiff_LN := fuzzy_triangle(normalized_diff, -norm_scale * 1.1, -norm_scale * 0.7, -norm_scale * 0.3)
// DCTI - Structural trend measurement
dcti_SP := fuzzy_triangle(dcti_val, 60.0, 85.0, 101.0) // Strong Positive Trend (> ~85)
dcti_WP := fuzzy_triangle(dcti_val, 20.0, 45.0, 70.0) // Weak Positive Trend (~30-60)
dcti_Z := fuzzy_triangle(dcti_val, -30.0, 0.0, 30.0) // Near Zero / Trendless (~+/- 20)
dcti_WN := fuzzy_triangle(dcti_val, -70.0, -45.0, -20.0) // Weak Negative Trend (~-30 - -60)
dcti_SN := fuzzy_triangle(dcti_val, -101.0, -85.0, -60.0) // Strong Negative Trend (< ~-85)
Advanced Fuzzy Rule System with DCTI Confirmation
The core intelligence of FibonacciFlux lies in its sophisticated fuzzy rule system – a structured knowledge representation that encodes expert understanding of market dynamics:
// Base Trend Rules with DCTI Confirmation
cond1 = math.min(ndiff_LP, roc_HP, rsi_M)
strength_SB := math.max(strength_SB, cond1 * (dcti_SP > 0.5 ? 1.2 : dcti_Z > 0.1 ? 0.5 : 1.0))
// DCTI Override Rules - Structural trend confirmation with momentum alignment
cond14 = math.min(ndiff_NZ, roc_HP, dcti_SP)
strength_SB := math.max(strength_SB, cond14 * 0.5)
The rule system implements 15 distinct fuzzy rules that evaluate various market conditions including:
Established Trends: Strong deviations with confirming momentum and DCTI alignment
Emerging Trends: Early deviation patterns with initial momentum and DCTI confirmation
Weakening Trends: Divergent signals between deviation, momentum, and DCTI
Reversal Conditions: Counter-trend signals with DCTI confirmation
Neutral Consolidations: Minimal deviation with low momentum and neutral DCTI
A key innovation is the weighted influence of DCTI on rule activation. When strong DCTI readings align with other indicators, rule strength is amplified (up to 1.2x). Conversely, when DCTI contradicts other indicators, rule impact is reduced (as low as 0.5x). This creates a dynamic, self-adjusting system that prioritizes high-conviction signals.
Defuzzification & Signal Generation
The final step transforms fuzzy outputs into a precise trend score through center-of-gravity defuzzification:
// Defuzzification with precise floating-point handling
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10
fuzzyTrendScore := (strength_SB * STRONG_BULL + strength_WB * WEAK_BULL +
strength_N * NEUTRAL + strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1.0 (Strong Bear) to +1.0 (Strong Bull), with critical threshold zones at ±0.3 (Weak trend) and ±0.7 (Strong trend). The histogram visualization employs intuitive color-coding for immediate trend assessment.
Strategic Applications for Institutional Trading
FibonacciFlux provides substantial advantages for sophisticated trading operations:
Multi-Timeframe Signal Confirmation: Institutional-grade signal validation across multiple technical dimensions
Trend Strength Quantification: Precise measurement of trend conviction with noise filtration
Early Trend Identification: Detection of emerging trends before traditional indicators through fuzzy pattern recognition
Adaptive Market Regime Analysis: Self-calibrating analysis across varying volatility environments
Algorithmic Strategy Integration: Well-defined numerical output suitable for systematic trading frameworks
Risk Management Enhancement: Superior signal fidelity for risk exposure optimization
Customization Parameters
FibonacciFlux offers extensive customization to align with specific trading mandates and market conditions:
Fuzzy SMA Settings: Configure baseline trend identification parameters including SMA, ROC, and RSI lengths
Normalization Settings: Fine-tune the self-calibration mechanism with adjustable lookback period, percentile rank, and optional clamping
DCTI Parameters: Optimize trend structure confirmation with adjustable major/minor periods and signal smoothing
Visualization Controls: Customize display transparency for optimal chart integration
These parameters enable precise calibration for different asset classes, timeframes, and market regimes while maintaining the core analytical framework.
Implementation Notes
For optimal implementation, consider the following guidance:
Higher timeframes (4H+) benefit from increased normalization lookback (800+) for stability
Volatile assets may require adjusted clamping values (2.5-4.0) for optimal signal sensitivity
DCTI parameters should be aligned with chart timeframe (higher timeframes require increased major/minor periods)
The indicator performs exceptionally well as a trend filter for systematic trading strategies
Acknowledgments
FibonacciFlux builds upon the pioneering work of Donovan Wall in Donchian Channel Trend Intensity analysis. The normalization approach draws inspiration from percentile-based statistical techniques in quantitative finance. This indicator is shared for educational and analytical purposes under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Past performance does not guarantee future results. All trading involves risk. This indicator should be used as one component of a comprehensive analysis framework.
Shout out @DonovanWall






















