Trend Continuation Filter - 🚀 Trend Continuation Filter — Multi-Factor Overlay
This overlay plots bullish / bearish continuation labels & arrows only when the market has enough confluence behind the move. Think of it as your “trend gatekeeper” — cutting out weak setups and highlighting only those with real momentum + structure.
🔍 Built-in Filters
✔ Ichimoku Cloud → trend bias + Tenkan/Kijun confirmation
✔ MACD (12/26/9) → acceleration via histogram slope
✔ RSI / MFI (14) → momentum quality (≥60 bullish / ≤40 bearish)
✔ ADX (14) → strength check (≥20 and rising)
➕ EMA Alignment (9/21/55/233) (optional)
➕ ATR Slope (14) (optional)
🎯 How it works
✅ Prints a Bull Continuation label/arrow when ≥4 filters align to the upside
✅ Prints a Bear Continuation label/arrow when ≥4 filters align to the downside
⚙️ minChecks input lets you adjust the strictness:
• Normal Days → set to 4 (more frequent, flexible)
• Trend Days → raise to 5–6 (fewer, high-conviction setups)
📈 Best Practices
⏰ Focus on London & New York sessions for clean expectancy
🧩 Pair with a HUD/Dashboard panel to see exactly which filters are active
Cerca negli script per "ichimoku"
T-Virus Sentiment [hapharmonic]🧬 T-Virus Sentiment: Visualize the Market's DNA
Remember the iconic T-Virus vial from the first Resident Evil? That powerful, swirling helix of potential has always fascinated me. It sparked an idea: what if we could visualize the market's underlying health in a similar way? What if we could capture the "genetic code" of market sentiment and contain it within a dynamic, 3D indicator? This project is the result of that idea, brought to life with Pine Script.
The indicator's main goal is to measure the strength and direction of market sentiment by analyzing the "genetic code" of price action through a variety of trusted indicators. The result is displayed as a liquid level within a DNA helix, a bubble density representing buying pressure, and a T-Virus mascot that reflects the overall mood.
🧐 Core Concept: How It Works
The primary output of the indicator is the "Active %" gauge you see on the right side of the vial. This percentage represents the overall sentiment score, calculated as an average from 7 different technical analysis tools. Each tool is analyzed on every bar and assigned a score from 1 (strong bearish pressure) to 5 (strong bullish potential).
In this indicator, we re-imagine market dynamics through the lens of a viral outbreak. A strong bear market is like a virus taking hold, pulling all technical signals down into a state of weakness. Conversely, a powerful bull market is like an antiviral serum ; positive signals rise and spread toward the top of the vial, indicating that the system is being injected with strength.
This is not just another line on a chart. It's a comprehensive sentiment dashboard designed to give an immediate, at-a-glance understanding of the confluence between 7 classic technical indicators. The incredible 3D model of the vial itself was inspired by a design concept found here .
⚛️ The 4 Core Elements of T-Virus Sentiment
These four elements work in harmony to give a complete, multi-faceted picture of market sentiment. Each component tells a different part of the story.
The Virus Mascot: An instant emotional cue. This character provides the quickest possible read on the overall market mood, combining sentiment with volume pressure.
The Antiviral Serum Level: The main quantitative output. This is the liquid level in the DNA helix and the percentage gauge on the right, representing the average sentiment score from all 7 indicators.
Buy Pressure & Bubble Density: This visualizes volume flow. The density of bubbles represents the intensity of accumulation (buying) versus distribution (selling). It's the "power" behind the move.
The Signal Distribution: This shows the confluence (or dispersion) of sentiment. Are all signals bullish and clustered at the top, or are they scattered, indicating a conflicted market? The position of the indicator labels is crucial, as each is assigned to one of five distinct zones:
Base Bottom: The market is at its weakest. Signals here suggest strong bearish control and distribution.
Lower Zone: The market is still bearish, but signals may be showing early signs of accumulation or bottoming.
Neutral Core (Center): A state of balance or sideways consolidation. The market is waiting for a new direction.
Upper Zone: Bullish momentum is becoming clear. Signals are strengthening and showing bullish control.
Top Cap: The market is "heating up" with strong bullish sentiment, potentially nearing overbought conditions.
🐂🐻 The Virus Mascot: The At-a-Glance Indicator
This character acts as a shortcut to confirm market health. It combines the sentiment score with volume, preventing false confidence in a low-volume rally.
Its state is determined by a dual-check: the overall "Antiviral Serum Level" and the "Buy Pressure" must both be above 50%.
Green & Smiling: The 'all clear' signal. This means that not only is the overall technical sentiment bullish, but it's also being supported by real buying pressure. This is a sign of a healthy bull market.
Red & Angry: A warning sign. This appears if either the sentiment is weak, or a bullish sentiment is not being confirmed by buying volume. The latter could indicate a potential "bull trap" or an exhaustive move.
This mascot can be disabled from the settings page under "Virus Mascot Styling" if a cleaner look is preferred.
🫧 Bubble Density: Gauging Buy vs. Sell Pressure
The bubbles visualize the battle between buyers and sellers. There are two modes to control how this is calculated:
Mode 1: Visible Range (The 'Big Picture' View)
This default mode is best for getting a broad, contextual understanding of the current session. It dynamically analyzes the volume of every single candlestick currently visible on the screen to calculate the buy/sell pressure ratio. It answers the question: "Over the entire period I'm looking at, who is in control?" As you zoom in or out, the calculation adapts.
Mode 2: Custom Lookback (The 'Precision' View)
This mode is for traders who need to analyze short-term pressure. You can define a fixed number of recent bars to analyze, which is perfect for scalping or understanding the volume dynamics leading into a key level. It answers the question: "What is happening right now ?" In the example above, a lookback of 2 focuses only on the most recent action, clearly showing intense, immediate selling pressure (few bubbles) and a corresponding drop in the sentiment score to 29%.
ℹ️ Interactive Tooltips: Dive Deeper
We believe in transparency, not 'black box' indicators. This feature transforms the indicator from a visual aid into an active learning tool.
Simply hover the mouse over any indicator label (like EMA, OBV, etc.) to get a detailed tooltip. It will explain the specific data points and thresholds that signal met to be placed in its current zone. This helps build trust in the signals and allows users to fine-tune the indicator settings to better match their own trading style.
🎯 The Scoring Logic Breakdown
The "Antiviral Serum Level" gauge is the average score from 7 technical analysis tools. Each is graded on a 5-point scale (1=Strong Bearish to 5=Strong Bullish). Here’s a detailed, transparent look at how each "gene" is evaluated:
Relative Strength Index (RSI)
Measures momentum and overbought/oversold conditions.
Group 1 (Strong Bearish): RSI > 80 (Extreme Overbought)
Group 2 (Bearish): 70 < RSI ≤ 80 (Overbought)
Group 3 (Neutral): 30 ≤ RSI ≤ 70
Group 4 (Bullish): 20 ≤ RSI < 30 (Oversold)
Group 5 (Strong Bullish): RSI < 20 (Extreme Oversold)
Exponential Moving Averages (EMA)
Evaluates the trend's strength and structure based on the alignment of multiple EMAs (9, 21, 50, 100, 200, 250).
Group 1 (Strong Bearish): A perfect bearish sequence (9 < 21 < 50 < ...)
Group 2 (Bearish Transition): Early signs of a potential reversal (e.g., 9 > 21 but still below 50)
Group 3 (Neutral / Mixed): MAs are intertwined or showing a partial bullish sequence.
Group 4 (Bullish): A strong bullish sequence is forming (e.g., 9 > 21 > 50 > 100)
Group 5 (Strong Bullish): A perfect bullish sequence (9 > 21 > 50 > 100 > 200 > 250)
Moving Average Convergence Divergence (MACD)
Analyzes the relationship between two moving averages to gauge momentum.
Group 1 (Strong Bearish): MACD & Histogram are negative and momentum is falling.
Group 2 (Weakening Bearish): MACD is negative but the histogram is rising or positive.
Group 3 (Neutral / Crossover): A crossover event is occurring near the zero line.
Group 4 (Bullish): MACD & Histogram are positive.
Group 5 (Strong Bullish): MACD & Histogram are positive, rising strongly, and accelerating.
Average Directional Index (ADX)
Measures trend strength, not direction. The score is based on both ADX value and the dominance of DI+ vs DI-.
Group 1 (Bearish / No Trend): ADX < 20 and DI- is dominant.
Group 2 (Developing Bearish Trend): 20 ≤ ADX < 25 and DI- is dominant.
Group 3 (Neutral / Indecision): Trend is weak or DI+ and DI- are nearly equal.
Group 4 (Developing Bullish Trend): 25 ≤ ADX ≤ 40 and DI+ is dominant.
Group 5 (Strong Bullish Trend): ADX > 40 and DI+ is dominant.
Ichimoku Cloud (IKH)
A comprehensive indicator that defines support/resistance, momentum, and trend direction.
Group 1 (Strong Bearish): Price is below the Kumo, Tenkan < Kijun, and Chikou is below price.
Group 2 (Bearish): Price is inside or below the Kumo, with mixed secondary signals.
Group 3 (Neutral / Ranging): Price is inside the Kumo, often with a Tenkan/Kijun cross.
Group 4 (Bullish): Price is above the Kumo with strong primary signals.
Group 5 (Strong Bullish): All signals are aligned bullishly: price above Kumo, bullish Tenkan/Kijun cross, bullish future Kumo, and Chikou above price.
Bollinger Bands (BB)
Measures volatility and relative price levels.
Group 1 (Strong Bearish): Price is below the lower band.
Group 2 (Bearish Territory): Price is between the lower band and the basis line.
Group 3 (Neutral): Price is hovering around the basis line.
Group 4 (Bullish Territory): Price is between the basis line and the upper band.
Group 5 (Strong Bullish): Price is above the upper band.
On-Balance Volume (OBV)
Uses volume flow to predict price changes. The score is based on OBV's trend and its position relative to its moving average.
Group 1 (Strong Bearish): OBV is below its MA and falling.
Group 2 (Weakening Bearish): OBV is below its MA but showing signs of rising.
Group 3 (Neutral): OBV is very close to its MA.
Group 4 (Bullish): OBV is above its MA and rising.
Group 5 (Strong Bullish): OBV is above its MA, rising strongly, and showing signs of a volume spike.
🧭 How to Use the T-Virus Sentiment Indicator
IMPORTANT: This indicator is a sentiment dashboard , not a direct buy/sell signal generator. Its strength lies in showing confluence and providing a quick, holistic view of the market's technical health.
Confirmation Tool: Use the "Active %" gauge to confirm a trade setup from your primary strategy. For example, if you see a bullish chart pattern, a high and rising sentiment score can add confidence to your trade.
Momentum & Trend Gauge: A consistently high score (e.g., > 75%) suggests strong, established bullish momentum. A consistently low score (< 25%) suggests strong bearish control. A score hovering around 50% often indicates a ranging or indecisive market.
Divergence & Warning System: Pay attention to divergences. If the price is making new highs but the sentiment score is failing to follow or is actively decreasing, it could be an early warning sign that the underlying momentum is weakening.
⚙️ Settings & Customization
The indicator is highly customizable to fit any trading style.
Position & Anchor: Control where the vial appears on the chart.
Styling (Vial, Helix, etc.): Nearly every visual element can be color-customized.
Signals: This is where the real power is. All underlying indicator parameters (RSI length, MACD settings, etc.) can be fine-tuned to match a personal strategy. The text labels can also be disabled if the chart feels cluttered.
Enjoy visualizing the market's DNA with the T-Virus Sentiment indicator
Markov Chain [3D] | FractalystWhat exactly is a Markov Chain?
This indicator uses a Markov Chain model to analyze, quantify, and visualize the transitions between market regimes (Bull, Bear, Neutral) on your chart. It dynamically detects these regimes in real-time, calculates transition probabilities, and displays them as animated 3D spheres and arrows, giving traders intuitive insight into current and future market conditions.
How does a Markov Chain work, and how should I read this spheres-and-arrows diagram?
Think of three weather modes: Sunny, Rainy, Cloudy.
Each sphere is one mode. The loop on a sphere means “stay the same next step” (e.g., Sunny again tomorrow).
The arrows leaving a sphere show where things usually go next if they change (e.g., Sunny moving to Cloudy).
Some paths matter more than others. A more prominent loop means the current mode tends to persist. A more prominent outgoing arrow means a change to that destination is the usual next step.
Direction isn’t symmetric: moving Sunny→Cloudy can behave differently than Cloudy→Sunny.
Now relabel the spheres to markets: Bull, Bear, Neutral.
Spheres: market regimes (uptrend, downtrend, range).
Self‑loop: tendency for the current regime to continue on the next bar.
Arrows: the most common next regime if a switch happens.
How to read: Start at the sphere that matches current bar state. If the loop stands out, expect continuation. If one outgoing path stands out, that switch is the typical next step. Opposite directions can differ (Bear→Neutral doesn’t have to match Neutral→Bear).
What states and transitions are shown?
The three market states visualized are:
Bullish (Bull): Upward or strong-market regime.
Bearish (Bear): Downward or weak-market regime.
Neutral: Sideways or range-bound regime.
Bidirectional animated arrows and probability labels show how likely the market is to move from one regime to another (e.g., Bull → Bear or Neutral → Bull).
How does the regime detection system work?
You can use either built-in price returns (based on adaptive Z-score normalization) or supply three custom indicators (such as volume, oscillators, etc.).
Values are statistically normalized (Z-scored) over a configurable lookback period.
The normalized outputs are classified into Bull, Bear, or Neutral zones.
If using three indicators, their regime signals are averaged and smoothed for robustness.
How are transition probabilities calculated?
On every confirmed bar, the algorithm tracks the sequence of detected market states, then builds a rolling window of transitions.
The code maintains a transition count matrix for all regime pairs (e.g., Bull → Bear).
Transition probabilities are extracted for each possible state change using Laplace smoothing for numerical stability, and frequently updated in real-time.
What is unique about the visualization?
3D animated spheres represent each regime and change visually when active.
Animated, bidirectional arrows reveal transition probabilities and allow you to see both dominant and less likely regime flows.
Particles (moving dots) animate along the arrows, enhancing the perception of regime flow direction and speed.
All elements dynamically update with each new price bar, providing a live market map in an intuitive, engaging format.
Can I use custom indicators for regime classification?
Yes! Enable the "Custom Indicators" switch and select any three chart series as inputs. These will be normalized and combined (each with equal weight), broadening the regime classification beyond just price-based movement.
What does the “Lookback Period” control?
Lookback Period (default: 100) sets how much historical data builds the probability matrix. Shorter periods adapt faster to regime changes but may be noisier. Longer periods are more stable but slower to adapt.
How is this different from a Hidden Markov Model (HMM)?
It sets the window for both regime detection and probability calculations. Lower values make the system more reactive, but potentially noisier. Higher values smooth estimates and make the system more robust.
How is this Markov Chain different from a Hidden Markov Model (HMM)?
Markov Chain (as here): All market regimes (Bull, Bear, Neutral) are directly observable on the chart. The transition matrix is built from actual detected regimes, keeping the model simple and interpretable.
Hidden Markov Model: The actual regimes are unobservable ("hidden") and must be inferred from market output or indicator "emissions" using statistical learning algorithms. HMMs are more complex, can capture more subtle structure, but are harder to visualize and require additional machine learning steps for training.
A standard Markov Chain models transitions between observable states using a simple transition matrix, while a Hidden Markov Model assumes the true states are hidden (latent) and must be inferred from observable “emissions” like price or volume data. In practical terms, a Markov Chain is transparent and easier to implement and interpret; an HMM is more expressive but requires statistical inference to estimate hidden states from data.
Markov Chain: states are observable; you directly count or estimate transition probabilities between visible states. This makes it simpler, faster, and easier to validate and tune.
HMM: states are hidden; you only observe emissions generated by those latent states. Learning involves machine learning/statistical algorithms (commonly Baum–Welch/EM for training and Viterbi for decoding) to infer both the transition dynamics and the most likely hidden state sequence from data.
How does the indicator avoid “repainting” or look-ahead bias?
All regime changes and matrix updates happen only on confirmed (closed) bars, so no future data is leaked, ensuring reliable real-time operation.
Are there practical tuning tips?
Tune the Lookback Period for your asset/timeframe: shorter for fast markets, longer for stability.
Use custom indicators if your asset has unique regime drivers.
Watch for rapid changes in transition probabilities as early warning of a possible regime shift.
Who is this indicator for?
Quants and quantitative researchers exploring probabilistic market modeling, especially those interested in regime-switching dynamics and Markov models.
Programmers and system developers who need a probabilistic regime filter for systematic and algorithmic backtesting:
The Markov Chain indicator is ideally suited for programmatic integration via its bias output (1 = Bull, 0 = Neutral, -1 = Bear).
Although the visualization is engaging, the core output is designed for automated, rules-based workflows—not for discretionary/manual trading decisions.
Developers can connect the indicator’s output directly to their Pine Script logic (using input.source()), allowing rapid and robust backtesting of regime-based strategies.
It acts as a plug-and-play regime filter: simply plug the bias output into your entry/exit logic, and you have a scientifically robust, probabilistically-derived signal for filtering, timing, position sizing, or risk regimes.
The MC's output is intentionally "trinary" (1/0/-1), focusing on clear regime states for unambiguous decision-making in code. If you require nuanced, multi-probability or soft-label state vectors, consider expanding the indicator or stacking it with a probability-weighted logic layer in your scripting.
Because it avoids subjectivity, this approach is optimal for systematic quants, algo developers building backtested, repeatable strategies based on probabilistic regime analysis.
What's the mathematical foundation behind this?
The mathematical foundation behind this Markov Chain indicator—and probabilistic regime detection in finance—draws from two principal models: the (standard) Markov Chain and the Hidden Markov Model (HMM).
How to use this indicator programmatically?
The Markov Chain indicator automatically exports a bias value (+1 for Bullish, -1 for Bearish, 0 for Neutral) as a plot visible in the Data Window. This allows you to integrate its regime signal into your own scripts and strategies for backtesting, automation, or live trading.
Step-by-Step Integration with Pine Script (input.source)
Add the Markov Chain indicator to your chart.
This must be done first, since your custom script will "pull" the bias signal from the indicator's plot.
In your strategy, create an input using input.source()
Example:
//@version=5
strategy("MC Bias Strategy Example")
mcBias = input.source(close, "MC Bias Source")
After saving, go to your script’s settings. For the “MC Bias Source” input, select the plot/output of the Markov Chain indicator (typically its bias plot).
Use the bias in your trading logic
Example (long only on Bull, flat otherwise):
if mcBias == 1
strategy.entry("Long", strategy.long)
else
strategy.close("Long")
For more advanced workflows, combine mcBias with additional filters or trailing stops.
How does this work behind-the-scenes?
TradingView’s input.source() lets you use any plot from another indicator as a real-time, “live” data feed in your own script (source).
The selected bias signal is available to your Pine code as a variable, enabling logical decisions based on regime (trend-following, mean-reversion, etc.).
This enables powerful strategy modularity : decouple regime detection from entry/exit logic, allowing fast experimentation without rewriting core signal code.
Integrating 45+ Indicators with Your Markov Chain — How & Why
The Enhanced Custom Indicators Export script exports a massive suite of over 45 technical indicators—ranging from classic momentum (RSI, MACD, Stochastic, etc.) to trend, volume, volatility, and oscillator tools—all pre-calculated, centered/scaled, and available as plots.
// Enhanced Custom Indicators Export - 45 Technical Indicators
// Comprehensive technical analysis suite for advanced market regime detection
//@version=6
indicator('Enhanced Custom Indicators Export | Fractalyst', shorttitle='Enhanced CI Export', overlay=false, scale=scale.right, max_labels_count=500, max_lines_count=500)
// |----- Input Parameters -----| //
momentum_group = "Momentum Indicators"
trend_group = "Trend Indicators"
volume_group = "Volume Indicators"
volatility_group = "Volatility Indicators"
oscillator_group = "Oscillator Indicators"
display_group = "Display Settings"
// Common lengths
length_14 = input.int(14, "Standard Length (14)", minval=1, maxval=100, group=momentum_group)
length_20 = input.int(20, "Medium Length (20)", minval=1, maxval=200, group=trend_group)
length_50 = input.int(50, "Long Length (50)", minval=1, maxval=200, group=trend_group)
// Display options
show_table = input.bool(true, "Show Values Table", group=display_group)
table_size = input.string("Small", "Table Size", options= , group=display_group)
// |----- MOMENTUM INDICATORS (15 indicators) -----| //
// 1. RSI (Relative Strength Index)
rsi_14 = ta.rsi(close, length_14)
rsi_centered = rsi_14 - 50
// 2. Stochastic Oscillator
stoch_k = ta.stoch(close, high, low, length_14)
stoch_d = ta.sma(stoch_k, 3)
stoch_centered = stoch_k - 50
// 3. Williams %R
williams_r = ta.stoch(close, high, low, length_14) - 100
// 4. MACD (Moving Average Convergence Divergence)
= ta.macd(close, 12, 26, 9)
// 5. Momentum (Rate of Change)
momentum = ta.mom(close, length_14)
momentum_pct = (momentum / close ) * 100
// 6. Rate of Change (ROC)
roc = ta.roc(close, length_14)
// 7. Commodity Channel Index (CCI)
cci = ta.cci(close, length_20)
// 8. Money Flow Index (MFI)
mfi = ta.mfi(close, length_14)
mfi_centered = mfi - 50
// 9. Awesome Oscillator (AO)
ao = ta.sma(hl2, 5) - ta.sma(hl2, 34)
// 10. Accelerator Oscillator (AC)
ac = ao - ta.sma(ao, 5)
// 11. Chande Momentum Oscillator (CMO)
cmo = ta.cmo(close, length_14)
// 12. Detrended Price Oscillator (DPO)
dpo = close - ta.sma(close, length_20)
// 13. Price Oscillator (PPO)
ppo = ta.sma(close, 12) - ta.sma(close, 26)
ppo_pct = (ppo / ta.sma(close, 26)) * 100
// 14. TRIX
trix_ema1 = ta.ema(close, length_14)
trix_ema2 = ta.ema(trix_ema1, length_14)
trix_ema3 = ta.ema(trix_ema2, length_14)
trix = ta.roc(trix_ema3, 1) * 10000
// 15. Klinger Oscillator
klinger = ta.ema(volume * (high + low + close) / 3, 34) - ta.ema(volume * (high + low + close) / 3, 55)
// 16. Fisher Transform
fisher_hl2 = 0.5 * (hl2 - ta.lowest(hl2, 10)) / (ta.highest(hl2, 10) - ta.lowest(hl2, 10)) - 0.25
fisher = 0.5 * math.log((1 + fisher_hl2) / (1 - fisher_hl2))
// 17. Stochastic RSI
stoch_rsi = ta.stoch(rsi_14, rsi_14, rsi_14, length_14)
stoch_rsi_centered = stoch_rsi - 50
// 18. Relative Vigor Index (RVI)
rvi_num = ta.swma(close - open)
rvi_den = ta.swma(high - low)
rvi = rvi_den != 0 ? rvi_num / rvi_den : 0
// 19. Balance of Power (BOP)
bop = (close - open) / (high - low)
// |----- TREND INDICATORS (10 indicators) -----| //
// 20. Simple Moving Average Momentum
sma_20 = ta.sma(close, length_20)
sma_momentum = ((close - sma_20) / sma_20) * 100
// 21. Exponential Moving Average Momentum
ema_20 = ta.ema(close, length_20)
ema_momentum = ((close - ema_20) / ema_20) * 100
// 22. Parabolic SAR
sar = ta.sar(0.02, 0.02, 0.2)
sar_trend = close > sar ? 1 : -1
// 23. Linear Regression Slope
lr_slope = ta.linreg(close, length_20, 0) - ta.linreg(close, length_20, 1)
// 24. Moving Average Convergence (MAC)
mac = ta.sma(close, 10) - ta.sma(close, 30)
// 25. Trend Intensity Index (TII)
tii_sum = 0.0
for i = 1 to length_20
tii_sum += close > close ? 1 : 0
tii = (tii_sum / length_20) * 100
// 26. Ichimoku Cloud Components
ichimoku_tenkan = (ta.highest(high, 9) + ta.lowest(low, 9)) / 2
ichimoku_kijun = (ta.highest(high, 26) + ta.lowest(low, 26)) / 2
ichimoku_signal = ichimoku_tenkan > ichimoku_kijun ? 1 : -1
// 27. MESA Adaptive Moving Average (MAMA)
mama_alpha = 2.0 / (length_20 + 1)
mama = ta.ema(close, length_20)
mama_momentum = ((close - mama) / mama) * 100
// 28. Zero Lag Exponential Moving Average (ZLEMA)
zlema_lag = math.round((length_20 - 1) / 2)
zlema_data = close + (close - close )
zlema = ta.ema(zlema_data, length_20)
zlema_momentum = ((close - zlema) / zlema) * 100
// |----- VOLUME INDICATORS (6 indicators) -----| //
// 29. On-Balance Volume (OBV)
obv = ta.obv
// 30. Volume Rate of Change (VROC)
vroc = ta.roc(volume, length_14)
// 31. Price Volume Trend (PVT)
pvt = ta.pvt
// 32. Negative Volume Index (NVI)
nvi = 0.0
nvi := volume < volume ? nvi + ((close - close ) / close ) * nvi : nvi
// 33. Positive Volume Index (PVI)
pvi = 0.0
pvi := volume > volume ? pvi + ((close - close ) / close ) * pvi : pvi
// 34. Volume Oscillator
vol_osc = ta.sma(volume, 5) - ta.sma(volume, 10)
// 35. Ease of Movement (EOM)
eom_distance = high - low
eom_box_height = volume / 1000000
eom = eom_box_height != 0 ? eom_distance / eom_box_height : 0
eom_sma = ta.sma(eom, length_14)
// 36. Force Index
force_index = volume * (close - close )
force_index_sma = ta.sma(force_index, length_14)
// |----- VOLATILITY INDICATORS (10 indicators) -----| //
// 37. Average True Range (ATR)
atr = ta.atr(length_14)
atr_pct = (atr / close) * 100
// 38. Bollinger Bands Position
bb_basis = ta.sma(close, length_20)
bb_dev = 2.0 * ta.stdev(close, length_20)
bb_upper = bb_basis + bb_dev
bb_lower = bb_basis - bb_dev
bb_position = bb_dev != 0 ? (close - bb_basis) / bb_dev : 0
bb_width = bb_dev != 0 ? (bb_upper - bb_lower) / bb_basis * 100 : 0
// 39. Keltner Channels Position
kc_basis = ta.ema(close, length_20)
kc_range = ta.ema(ta.tr, length_20)
kc_upper = kc_basis + (2.0 * kc_range)
kc_lower = kc_basis - (2.0 * kc_range)
kc_position = kc_range != 0 ? (close - kc_basis) / kc_range : 0
// 40. Donchian Channels Position
dc_upper = ta.highest(high, length_20)
dc_lower = ta.lowest(low, length_20)
dc_basis = (dc_upper + dc_lower) / 2
dc_position = (dc_upper - dc_lower) != 0 ? (close - dc_basis) / (dc_upper - dc_lower) : 0
// 41. Standard Deviation
std_dev = ta.stdev(close, length_20)
std_dev_pct = (std_dev / close) * 100
// 42. Relative Volatility Index (RVI)
rvi_up = ta.stdev(close > close ? close : 0, length_14)
rvi_down = ta.stdev(close < close ? close : 0, length_14)
rvi_total = rvi_up + rvi_down
rvi_volatility = rvi_total != 0 ? (rvi_up / rvi_total) * 100 : 50
// 43. Historical Volatility
hv_returns = math.log(close / close )
hv = ta.stdev(hv_returns, length_20) * math.sqrt(252) * 100
// 44. Garman-Klass Volatility
gk_vol = math.log(high/low) * math.log(high/low) - (2*math.log(2)-1) * math.log(close/open) * math.log(close/open)
gk_volatility = math.sqrt(ta.sma(gk_vol, length_20)) * 100
// 45. Parkinson Volatility
park_vol = math.log(high/low) * math.log(high/low)
parkinson = math.sqrt(ta.sma(park_vol, length_20) / (4 * math.log(2))) * 100
// 46. Rogers-Satchell Volatility
rs_vol = math.log(high/close) * math.log(high/open) + math.log(low/close) * math.log(low/open)
rogers_satchell = math.sqrt(ta.sma(rs_vol, length_20)) * 100
// |----- OSCILLATOR INDICATORS (5 indicators) -----| //
// 47. Elder Ray Index
elder_bull = high - ta.ema(close, 13)
elder_bear = low - ta.ema(close, 13)
elder_power = elder_bull + elder_bear
// 48. Schaff Trend Cycle (STC)
stc_macd = ta.ema(close, 23) - ta.ema(close, 50)
stc_k = ta.stoch(stc_macd, stc_macd, stc_macd, 10)
stc_d = ta.ema(stc_k, 3)
stc = ta.stoch(stc_d, stc_d, stc_d, 10)
// 49. Coppock Curve
coppock_roc1 = ta.roc(close, 14)
coppock_roc2 = ta.roc(close, 11)
coppock = ta.wma(coppock_roc1 + coppock_roc2, 10)
// 50. Know Sure Thing (KST)
kst_roc1 = ta.roc(close, 10)
kst_roc2 = ta.roc(close, 15)
kst_roc3 = ta.roc(close, 20)
kst_roc4 = ta.roc(close, 30)
kst = ta.sma(kst_roc1, 10) + 2*ta.sma(kst_roc2, 10) + 3*ta.sma(kst_roc3, 10) + 4*ta.sma(kst_roc4, 15)
// 51. Percentage Price Oscillator (PPO)
ppo_line = ((ta.ema(close, 12) - ta.ema(close, 26)) / ta.ema(close, 26)) * 100
ppo_signal = ta.ema(ppo_line, 9)
ppo_histogram = ppo_line - ppo_signal
// |----- PLOT MAIN INDICATORS -----| //
// Plot key momentum indicators
plot(rsi_centered, title="01_RSI_Centered", color=color.purple, linewidth=1)
plot(stoch_centered, title="02_Stoch_Centered", color=color.blue, linewidth=1)
plot(williams_r, title="03_Williams_R", color=color.red, linewidth=1)
plot(macd_histogram, title="04_MACD_Histogram", color=color.orange, linewidth=1)
plot(cci, title="05_CCI", color=color.green, linewidth=1)
// Plot trend indicators
plot(sma_momentum, title="06_SMA_Momentum", color=color.navy, linewidth=1)
plot(ema_momentum, title="07_EMA_Momentum", color=color.maroon, linewidth=1)
plot(sar_trend, title="08_SAR_Trend", color=color.teal, linewidth=1)
plot(lr_slope, title="09_LR_Slope", color=color.lime, linewidth=1)
plot(mac, title="10_MAC", color=color.fuchsia, linewidth=1)
// Plot volatility indicators
plot(atr_pct, title="11_ATR_Pct", color=color.yellow, linewidth=1)
plot(bb_position, title="12_BB_Position", color=color.aqua, linewidth=1)
plot(kc_position, title="13_KC_Position", color=color.olive, linewidth=1)
plot(std_dev_pct, title="14_StdDev_Pct", color=color.silver, linewidth=1)
plot(bb_width, title="15_BB_Width", color=color.gray, linewidth=1)
// Plot volume indicators
plot(vroc, title="16_VROC", color=color.blue, linewidth=1)
plot(eom_sma, title="17_EOM", color=color.red, linewidth=1)
plot(vol_osc, title="18_Vol_Osc", color=color.green, linewidth=1)
plot(force_index_sma, title="19_Force_Index", color=color.orange, linewidth=1)
plot(obv, title="20_OBV", color=color.purple, linewidth=1)
// Plot additional oscillators
plot(ao, title="21_Awesome_Osc", color=color.navy, linewidth=1)
plot(cmo, title="22_CMO", color=color.maroon, linewidth=1)
plot(dpo, title="23_DPO", color=color.teal, linewidth=1)
plot(trix, title="24_TRIX", color=color.lime, linewidth=1)
plot(fisher, title="25_Fisher", color=color.fuchsia, linewidth=1)
// Plot more momentum indicators
plot(mfi_centered, title="26_MFI_Centered", color=color.yellow, linewidth=1)
plot(ac, title="27_AC", color=color.aqua, linewidth=1)
plot(ppo_pct, title="28_PPO_Pct", color=color.olive, linewidth=1)
plot(stoch_rsi_centered, title="29_StochRSI_Centered", color=color.silver, linewidth=1)
plot(klinger, title="30_Klinger", color=color.gray, linewidth=1)
// Plot trend continuation
plot(tii, title="31_TII", color=color.blue, linewidth=1)
plot(ichimoku_signal, title="32_Ichimoku_Signal", color=color.red, linewidth=1)
plot(mama_momentum, title="33_MAMA_Momentum", color=color.green, linewidth=1)
plot(zlema_momentum, title="34_ZLEMA_Momentum", color=color.orange, linewidth=1)
plot(bop, title="35_BOP", color=color.purple, linewidth=1)
// Plot volume continuation
plot(nvi, title="36_NVI", color=color.navy, linewidth=1)
plot(pvi, title="37_PVI", color=color.maroon, linewidth=1)
plot(momentum_pct, title="38_Momentum_Pct", color=color.teal, linewidth=1)
plot(roc, title="39_ROC", color=color.lime, linewidth=1)
plot(rvi, title="40_RVI", color=color.fuchsia, linewidth=1)
// Plot volatility continuation
plot(dc_position, title="41_DC_Position", color=color.yellow, linewidth=1)
plot(rvi_volatility, title="42_RVI_Volatility", color=color.aqua, linewidth=1)
plot(hv, title="43_Historical_Vol", color=color.olive, linewidth=1)
plot(gk_volatility, title="44_GK_Volatility", color=color.silver, linewidth=1)
plot(parkinson, title="45_Parkinson_Vol", color=color.gray, linewidth=1)
// Plot final oscillators
plot(rogers_satchell, title="46_RS_Volatility", color=color.blue, linewidth=1)
plot(elder_power, title="47_Elder_Power", color=color.red, linewidth=1)
plot(stc, title="48_STC", color=color.green, linewidth=1)
plot(coppock, title="49_Coppock", color=color.orange, linewidth=1)
plot(kst, title="50_KST", color=color.purple, linewidth=1)
// Plot final indicators
plot(ppo_histogram, title="51_PPO_Histogram", color=color.navy, linewidth=1)
plot(pvt, title="52_PVT", color=color.maroon, linewidth=1)
// |----- Reference Lines -----| //
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dashed, linewidth=1)
hline(50, "Midline", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(-50, "Lower Midline", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(25, "Upper Threshold", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(-25, "Lower Threshold", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
// |----- Enhanced Information Table -----| //
if show_table and barstate.islast
table_position = position.top_right
table_text_size = table_size == "Tiny" ? size.tiny : table_size == "Small" ? size.small : size.normal
var table info_table = table.new(table_position, 3, 18, bgcolor=color.new(color.white, 85), border_width=1, border_color=color.gray)
// Headers
table.cell(info_table, 0, 0, 'Category', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
table.cell(info_table, 1, 0, 'Indicator', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
table.cell(info_table, 2, 0, 'Value', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.blue, 70))
// Key Momentum Indicators
table.cell(info_table, 0, 1, 'MOMENTUM', text_color=color.purple, text_size=table_text_size, bgcolor=color.new(color.purple, 90))
table.cell(info_table, 1, 1, 'RSI Centered', text_color=color.purple, text_size=table_text_size)
table.cell(info_table, 2, 1, str.tostring(rsi_centered, '0.00'), text_color=color.purple, text_size=table_text_size)
table.cell(info_table, 0, 2, '', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 1, 2, 'Stoch Centered', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 2, str.tostring(stoch_centered, '0.00'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 3, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 3, 'Williams %R', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 3, str.tostring(williams_r, '0.00'), text_color=color.red, text_size=table_text_size)
table.cell(info_table, 0, 4, '', text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 1, 4, 'MACD Histogram', text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 2, 4, str.tostring(macd_histogram, '0.000'), text_color=color.orange, text_size=table_text_size)
table.cell(info_table, 0, 5, '', text_color=color.green, text_size=table_text_size)
table.cell(info_table, 1, 5, 'CCI', text_color=color.green, text_size=table_text_size)
table.cell(info_table, 2, 5, str.tostring(cci, '0.00'), text_color=color.green, text_size=table_text_size)
// Key Trend Indicators
table.cell(info_table, 0, 6, 'TREND', text_color=color.navy, text_size=table_text_size, bgcolor=color.new(color.navy, 90))
table.cell(info_table, 1, 6, 'SMA Momentum %', text_color=color.navy, text_size=table_text_size)
table.cell(info_table, 2, 6, str.tostring(sma_momentum, '0.00'), text_color=color.navy, text_size=table_text_size)
table.cell(info_table, 0, 7, '', text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 1, 7, 'EMA Momentum %', text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 2, 7, str.tostring(ema_momentum, '0.00'), text_color=color.maroon, text_size=table_text_size)
table.cell(info_table, 0, 8, '', text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 1, 8, 'SAR Trend', text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 2, 8, str.tostring(sar_trend, '0'), text_color=color.teal, text_size=table_text_size)
table.cell(info_table, 0, 9, '', text_color=color.lime, text_size=table_text_size)
table.cell(info_table, 1, 9, 'Linear Regression', text_color=color.lime, text_size=table_text_size)
table.cell(info_table, 2, 9, str.tostring(lr_slope, '0.000'), text_color=color.lime, text_size=table_text_size)
// Key Volatility Indicators
table.cell(info_table, 0, 10, 'VOLATILITY', text_color=color.yellow, text_size=table_text_size, bgcolor=color.new(color.yellow, 90))
table.cell(info_table, 1, 10, 'ATR %', text_color=color.yellow, text_size=table_text_size)
table.cell(info_table, 2, 10, str.tostring(atr_pct, '0.00'), text_color=color.yellow, text_size=table_text_size)
table.cell(info_table, 0, 11, '', text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 1, 11, 'BB Position', text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 2, 11, str.tostring(bb_position, '0.00'), text_color=color.aqua, text_size=table_text_size)
table.cell(info_table, 0, 12, '', text_color=color.olive, text_size=table_text_size)
table.cell(info_table, 1, 12, 'KC Position', text_color=color.olive, text_size=table_text_size)
table.cell(info_table, 2, 12, str.tostring(kc_position, '0.00'), text_color=color.olive, text_size=table_text_size)
// Key Volume Indicators
table.cell(info_table, 0, 13, 'VOLUME', text_color=color.blue, text_size=table_text_size, bgcolor=color.new(color.blue, 90))
table.cell(info_table, 1, 13, 'Volume ROC', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 13, str.tostring(vroc, '0.00'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 14, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 14, 'EOM', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 14, str.tostring(eom_sma, '0.000'), text_color=color.red, text_size=table_text_size)
// Key Oscillators
table.cell(info_table, 0, 15, 'OSCILLATORS', text_color=color.purple, text_size=table_text_size, bgcolor=color.new(color.purple, 90))
table.cell(info_table, 1, 15, 'Awesome Osc', text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 2, 15, str.tostring(ao, '0.000'), text_color=color.blue, text_size=table_text_size)
table.cell(info_table, 0, 16, '', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 1, 16, 'Fisher Transform', text_color=color.red, text_size=table_text_size)
table.cell(info_table, 2, 16, str.tostring(fisher, '0.000'), text_color=color.red, text_size=table_text_size)
// Summary Statistics
table.cell(info_table, 0, 17, 'SUMMARY', text_color=color.black, text_size=table_text_size, bgcolor=color.new(color.gray, 70))
table.cell(info_table, 1, 17, 'Total Indicators: 52', text_color=color.black, text_size=table_text_size)
regime_color = rsi_centered > 10 ? color.green : rsi_centered < -10 ? color.red : color.gray
regime_text = rsi_centered > 10 ? "BULLISH" : rsi_centered < -10 ? "BEARISH" : "NEUTRAL"
table.cell(info_table, 2, 17, regime_text, text_color=regime_color, text_size=table_text_size)
This makes it the perfect “indicator backbone” for quantitative and systematic traders who want to prototype, combine, and test new regime detection models—especially in combination with the Markov Chain indicator.
How to use this script with the Markov Chain for research and backtesting:
Add the Enhanced Indicator Export to your chart.
Every calculated indicator is available as an individual data stream.
Connect the indicator(s) you want as custom input(s) to the Markov Chain’s “Custom Indicators” option.
In the Markov Chain indicator’s settings, turn ON the custom indicator mode.
For each of the three custom indicator inputs, select the exported plot from the Enhanced Export script—the menu lists all 45+ signals by name.
This creates a powerful, modular regime-detection engine where you can mix-and-match momentum, trend, volume, or custom combinations for advanced filtering.
Backtest regime logic directly.
Once you’ve connected your chosen indicators, the Markov Chain script performs regime detection (Bull/Neutral/Bear) based on your selected features—not just price returns.
The regime detection is robust, automatically normalized (using Z-score), and outputs bias (1, -1, 0) for plug-and-play integration.
Export the regime bias for programmatic use.
As described above, use input.source() in your Pine Script strategy or system and link the bias output.
You can now filter signals, control trade direction/size, or design pairs-trading that respect true, indicator-driven market regimes.
With this framework, you’re not limited to static or simplistic regime filters. You can rigorously define, test, and refine what “market regime” means for your strategies—using the technical features that matter most to you.
Optimize your signal generation by backtesting across a universe of meaningful indicator blends.
Enhance risk management with objective, real-time regime boundaries.
Accelerate your research: iterate quickly, swap indicator components, and see results with minimal code changes.
Automate multi-asset or pairs-trading by integrating regime context directly into strategy logic.
Add both scripts to your chart, connect your preferred features, and start investigating your best regime-based trades—entirely within the TradingView ecosystem.
References & Further Reading
Ang, A., & Bekaert, G. (2002). “Regime Switches in Interest Rates.” Journal of Business & Economic Statistics, 20(2), 163–182.
Hamilton, J. D. (1989). “A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle.” Econometrica, 57(2), 357–384.
Markov, A. A. (1906). "Extension of the Limit Theorems of Probability Theory to a Sum of Variables Connected in a Chain." The Notes of the Imperial Academy of Sciences of St. Petersburg.
Guidolin, M., & Timmermann, A. (2007). “Asset Allocation under Multivariate Regime Switching.” Journal of Economic Dynamics and Control, 31(11), 3503–3544.
Murphy, J. J. (1999). Technical Analysis of the Financial Markets. New York Institute of Finance.
Brock, W., Lakonishok, J., & LeBaron, B. (1992). “Simple Technical Trading Rules and the Stochastic Properties of Stock Returns.” Journal of Finance, 47(5), 1731–1764.
Zucchini, W., MacDonald, I. L., & Langrock, R. (2017). Hidden Markov Models for Time Series: An Introduction Using R (2nd ed.). Chapman and Hall/CRC.
On Quantitative Finance and Markov Models:
Lo, A. W., & Hasanhodzic, J. (2009). The Heretics of Finance: Conversations with Leading Practitioners of Technical Analysis. Bloomberg Press.
Patterson, S. (2016). The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution. Penguin Press.
TradingView Pine Script Documentation: www.tradingview.com
TradingView Blog: “Use an Input From Another Indicator With Your Strategy” www.tradingview.com
GeeksforGeeks: “What is the Difference Between Markov Chains and Hidden Markov Models?” www.geeksforgeeks.org
What makes this indicator original and unique?
- On‑chart, real‑time Markov. The chain is drawn directly on your chart. You see the current regime, its tendency to stay (self‑loop), and the usual next step (arrows) as bars confirm.
- Source‑agnostic by design. The engine runs on any series you select via input.source() — price, your own oscillator, a composite score, anything you compute in the script.
- Automatic normalization + regime mapping. Different inputs live on different scales. The script standardizes your chosen source and maps it into clear regimes (e.g., Bull / Bear / Neutral) without you micromanaging thresholds each time.
- Rolling, bar‑by‑bar learning. Transition tendencies are computed from a rolling window of confirmed bars. What you see is exactly what the market did in that window.
- Fast experimentation. Switch the source, adjust the window, and the Markov view updates instantly. It’s a rapid way to test ideas and feel regime persistence/switch behavior.
Integrate your own signals (using input.source())
- In settings, choose the Source . This is powered by input.source() .
- Feed it price, an indicator you compute inside the script, or a custom composite series.
- The script will automatically normalize that series and process it through the Markov engine, mapping it to regimes and updating the on‑chart spheres/arrows in real time.
Credits:
Deep gratitude to @RicardoSantos for both the foundational Markov chain processing engine and inspiring open-source contributions, which made advanced probabilistic market modeling accessible to the TradingView community.
Special thanks to @Alien_Algorithms for the innovative and visually stunning 3D sphere logic that powers the indicator’s animated, regime-based visualization.
Disclaimer
This tool summarizes recent behavior. It is not financial advice and not a guarantee of future results.
ZapTeam Pro Strategy v6 — EMA The Pro Strategy v6 script is a versatile trading strategy for TradingView that combines trend indicators, filters, and levels.
Main features:
EMA 21, EMA 50, EMA 200 — trend detection and entry signals via EMA crossovers.
Ichimoku Cloud (optional) — trend filtering and price position relative to the cloud.
ETH Dominance filter (optional) — filters trades based on Ethereum dominance (ETH.D).
ATR Stop-Loss — dynamic stop-loss based on volatility.
Two take-profits (TP1 and TP2) with optional 50/50 split.
Dynamic Fibonacci Levels — automatic or manual swings, with 1.272 and 1.618 extensions.
Custom S/R Levels — user-defined support/resistance levels.
Level lines extend across the chart and automatically adjust when zooming or panning.
Designed for trading in trending market conditions on any timeframe.
The strategy calculates position size based on percentage risk per equity.
DA Cloud - DynamicDA Cloud - Dynamic | Detailed Overview
🌟 What Makes This Indicator Special
The DA Cloud - Dynamic is an advanced technical analysis tool that creates adaptive support and resistance zones that expand and contract based on market volatility. Unlike traditional static indicators, this cloud system "breathes" with the market, providing dynamic levels that adjust to changing market conditions.
📊 Core Components
1. Multi-Layered Cloud Structure
Resistance Cloud (Red): Three dynamic resistance levels (RL1, RL2, RL3) with intermediate channels (RC1, RC2)
Support Cloud (Green): Three dynamic support levels (SL1, SL2, SL3) with intermediate channels (SC1, SC2)
Trend Cloud (Blue): Five trend lines (TU2, TU1, TM, TL1, TL2) that flow through the center
Confirmation Line (Purple): A fast-reacting line that confirms trend changes
2. Forward Displacement Technology
The entire cloud system is projected 21 bars into the future (Fibonacci number), allowing traders to see potential support and resistance levels before price reaches them. This predictive element is inspired by Ichimoku Cloud theory but enhanced with modern volatility dynamics.
🔬 How It Works (Without Revealing the Secret Sauce)
Volatility-Responsive Design
The indicator continuously measures market volatility across multiple timeframes
During high volatility periods (like major breakouts), clouds expand dramatically
During consolidation, clouds contract and tighten around price
This creates a "breathing" effect that adapts to market conditions
Multi-Timeframe Analysis
Incorporates Fibonacci sequence periods (3, 13, 21, 34, 55) for calculations
Blends short-term responsiveness with long-term stability
Creates smooth, flowing lines that filter out market noise
Dynamic Level Calculation
Levels are not fixed percentages or static bands
Each level adapts based on current market structure and volatility
Channel lines (RC1, RC2, SC1, SC2) provide intermediate support/resistance
🎯 Key Features
1. Touch Point Detection
Colored dots appear when price touches key levels
Red dots = resistance touch
Green dots = support touch
Blue dots = trend median touch
2. Entry/Exit Signals
"Cloud Entry" labels when confirmation line crosses above SL1
"Cloud Exit" labels when confirmation line crosses below RL1
Background color changes based on bullish/bearish bias
3. Information Table
Real-time display of key levels (RL1, TM, SL1)
Current bias indicator (BULLISH/BEARISH)
Updates dynamically as market moves
⚙️ Customization Options
Main Controls:
Sensitivity (5-50): How responsive clouds are to price movements
Smoothing (1-50): Controls the flow and smoothness of cloud lines
Forward Displacement (0-50): How many bars to project the cloud forward
Advanced Volatility Settings:
Volatility Lookback (50-1000): Period for establishing volatility baseline
Volatility Smoothing (1-50): Reduces spikes in volatility expansion
Expansion Power (0.1-2.0): Controls how dramatically clouds expand
Range Divisor (1.0-20.0): Master control for overall cloud width
Level Spacing:
Individual multipliers for each resistance and support level
Allows fine-tuning of cloud structure to match different markets
Trend Spacing:
Separate controls for inner and outer trend bands
Customize the trend cloud density
📈 Trading Applications
1. Trend Identification
Price above TM (Trend Median) = Bullish bias
Price below TM = Bearish bias
Cloud color and width indicate trend strength
2. Support/Resistance Trading
Use RL1/SL1 as primary targets and reversal zones
RC1/RC2 and SC1/SC2 provide intermediate levels
RL3/SL3 mark extreme levels often seen at major tops/bottoms
3. Volatility Analysis
Expanding clouds signal increasing volatility and potential big moves
Contracting clouds indicate consolidation and potential breakout setup
Cloud width helps with position sizing and risk management
4. Multi-Timeframe Confirmation
Works on all timeframes from 1-minute to monthly
Higher timeframes show major market structure
Lower timeframes provide precise entry/exit points
🎓 Best Practices
Combine with Volume: High volume at cloud levels increases reliability
Watch for Touch Clusters: Multiple touches at a level indicate strength
Monitor Cloud Expansion: Sudden expansion often precedes major moves
Use Multiple Timeframes: Confirm signals across different time periods
Respect the Trend Median: This is often the most important level
⚡ Performance Notes
Optimized for up to 2000 bars of historical data
Smooth performance with 500+ lines and labels
Works on all markets: Crypto, Forex, Stocks, Commodities
📝 Version Info
Current Version: 1.0
Dynamic volatility expansion system
Full customization suite
Touch point detection
Entry/exit signals
Forward displacement projection
Zero Lag MACD + Kijun-sen + EOM StrategyThis strategy offers a robust approach to identifying high-probability trading opportunities in the fast-paced cryptocurrency markets, particularly on lower timeframes (e.g., 5-minute). It leverages the synergistic power of three distinct indicators to confirm entries, ensuring a disciplined approach to risk management.
Key Components:
Zero Lag MACD Enhanced Version 1.2: This core momentum indicator is used to identify precise shifts in trend and momentum, offering reduced lag compared to traditional MACD. Entry signals are filtered based on the histogram's position (below for buys, above for sells) to enhance signal reliability.
Kijun-sen (Ichimoku Cloud): Acting as a dynamic support/resistance and trend filter, the Kijun-sen line confirms the prevailing market direction. Long entries are confirmed when price is above Kijun-sen, and short entries when price is below.
Ease of Movement (EoM): This volume-based oscillator provides crucial confirmation of price movements by measuring the ease with which price changes. Positive EoM confirms buying pressure, while negative confirms selling pressure, adding an essential layer of validation to trade setups.
How it Works:
The strategy generates entry signals only when all three indicators align simultaneously:
For Long Entries: A Zero Lag MACD buy signal (crossover below histogram) must coincide with price trading above the Kijun-sen, and the Ease of Movement indicator being above its zero line.
For Short Entries: A Zero Lag MACD sell signal (crossover above histogram) must coincide with price trading below the Kijun-sen, and the Ease of Movement indicator being below its zero line.
Entries are executed at the open of the candle immediately following the signal confirmation.
Risk Management:
Disciplined risk management is paramount to this strategy:
Dynamic Stop-Loss: An Average True Range (ATR) based stop-loss is implemented, set at 2.5 times the current ATR. This adapts the stop-loss distance to market volatility, ensuring sensible risk sizing.
Fixed Take-Profit: A consistent Risk-to-Reward (R:R) ratio of 1:1.2 is applied for all trades, promoting stable profit realization.
Customization & Optimization:
The strategy is built with fully customizable input parameters for each indicator (MACD lengths, Kijun-sen period, ATR period, ATR multiplier, and Risk-to-Reward ratio). This allows users to fine-tune the strategy for different assets, timeframes, and market conditions, facilitating robust backtesting and optimization.
Disclaimer: Trading involves substantial risk and is not suitable for all investors. Past performance is not indicative of future results. This strategy is provided for educational and informational purposes only. Always use proper risk management and conduct your own due diligence.
TCloud Future📘 Tcloud Future – Indicator Description & How to Use
Tcloud Future is a trend-based indicator that creates a forward-projected cloud between:
A customizable Exponential Moving Average (EMA)
A dynamic McGinley Moving Average
The cloud is shifted into the future (like the Ichimoku Cloud), giving traders a visual projection of potential trend direction.
🔧 Components:
EMA (default: 19-period) – fast-reacting average to short-term price action
McGinley Dynamic (default: 26-period) – smoother, adaptive average that reacts to volatility
Forward Projection (default: 26 candles) – pushes the cloud into the future to help anticipate trend continuation or reversal
Cloud Color
Green when EMA is above McGinley (bullish bias)
Red when EMA is below McGinley (bearish bias)
🟢 How to Trade with Tcloud Future
✅ Trend Confirmation
Use the cloud color and slope to confirm the current trend.
Green cloud sloping up → bullish momentum
Red cloud sloping down → bearish momentum
🟩 Entry Strategy (Trend-Following)
Go long when price is above the green cloud and the cloud is rising.
Go short when price is below the red cloud and the cloud is falling.
🔁 Cloud Crossovers (Trend Shift)
A color change in the projected cloud can signal a potential trend reversal.
Use this as a heads-up to prepare for position changes or tighten stops.
🛡️ Support/Resistance Zones
The cloud often acts as a dynamic support/resistance zone.
During an uptrend, pullbacks to the top or middle of the green cloud can be good entries.
During a downtrend, rallies into the red cloud can offer shorting opportunities.
🧠 Tips
Combine with RSI, MACD, or Volume for confirmation.
Avoid using it alone in sideways markets — it performs best in trending conditions.
Adjust projection and smoothing settings to fit the asset/timeframe you're trading.
DAMA OSC - Directional Adaptive MA OscillatorOverview:
The DAMA OSC (Directional Adaptive MA Oscillator) is a highly customizable and versatile oscillator that analyzes the delta between two moving averages of your choice. It detects trend progression, regressions, rebound signals, MA cross and critical zone crossovers to provide highly contextual trading information.
Designed for trend-following, reversal timing, and volatility filtering, DAMA OSC adapts to market conditions and highlights actionable signals in real-time.
Features:
Support for 11 custom moving average types (EMA, DEMA, TEMA, ALMA, KAMA, etc.)
Customizable fast & slow MA periods and types
Histogram based on percentage delta between fast and slow MA
Trend direction coloring with “Green”, “Blue”, and “Red” zones
Rebound detection using close or shadow logic
Configurable thresholds: Overbought, Oversold, Underbought, Undersold
Optional filters: rebound validation by candle color or flat-zone filter
Full visual overlay: MA lines, crossover markers, rebound icons
Complete alert system with 16 preconfigured conditions
How It Works:
Histogram Logic:
The histogram measures the percentage difference between the fast and slow MA:
hist_value = ((FastMA - SlowMA) / SlowMA) * 100
Trend State Logic (Green / Blue / Red):
Green_Up = Bullish acceleration
Blue_Up (or Red_Up, depending the display settings) = Bullish deceleration
Blue_Down (or Green_Down, depending the display settings) = Bearish deceleration
Red_Down = Bearish acceleration
Rebound Logic:
A rebound is detected when price:
Crosses back over a selected MA (fast or slow)
After being away for X candles (rebound_backstep)
Optional: filtered by histogram zones or candle color
Inputs:
Display Options:
Show/hide MA lines
Show/hide MA crosses
Show/hide price rebounds
Enable/disable blue deceleration zones
DAMA Settings:
Fast/Slow MA type and length
Source input (close by default)
Overbought/Oversold levels
Underbought/Undersold levels
Rebound Settings:
Use Close and/or Shadow
Rebound MA (Fast/Slow)
Candle color validation
Flat zone filter rebounds (between UnderSold and UnderBought)
Available MA type:
SMA (Simple MA)
EMA (Exponential MA)
DEMA (Double EMA)
TEMA (Triple EMA)
WMA (Weighted MA)
HMA (Hull MA)
VWMA (Volume Weighted MA)
Kijun (Ichimoku Baseline)
ALMA (Arnaud Legoux MA)
KAMA (Kaufman Adaptive MA)
HULLMOD (Modified Hull MA, Same as HMA, tweaked for Pine v6 constraints)
Notes:
**DEMA/TEMA** reduce lag compared to EMA, useful for faster reaction in trending markets.
**KAMA/ALMA** are better suited to noisy or volatile environments (e.g., BTC).
**VWMA** reacts strongly to volume spikes.
**HMA/HULLMOD** are great for visual clarity in fast moves.
Alerts Included (Fully Configurable):
Golden Cross:
Fast MA crosses above Slow MA
Death Cross:
Fast MA crosses below Slow MA
Bullish Rebound:
Rebound from below MA in uptrend
Bearish Rebound:
Rebound from above MA in downtrend
Bull Progression:
Transition into Green_Up with positive delta
Bear Progression:
Transition into Red_Down with negative delta
Bull Regression:
Exit from Red_Down into Blue/Green with negative delta
Bear Regression:
Exit from Green_Up into Blue/Red with positive delta
Crossover Overbought:
Histogram crosses above Overbought
Crossunder Overbought:
Histogram crosses below Overbought
Crossover Oversold:
Histogram crosses above Oversold
Crossunder Oversold:
Histogram crosses below Oversold
Crossover Underbought:
Histogram crosses above Underbought
Crossunder Underbought:
Histogram crosses below Underbought
Crossover Undersold:
Histogram crosses above Undersold
Crossunder Undersold:
Histogram crosses below Undersold
Credits:
Created by Eff_Hash. This code is shared with the TradingView community and full free. do not hesitate to share your best settings and usage.
Ranked Parabolic Curve Detector (Adaptive + Reversion Aware)The Parabolic Curve Detector is a smart, adaptable trading signal engine designed to help you spot true momentum — not the flashy head-fakes, but sustained, accelerating moves that have the potential to go parabolic. Whether you’re new to trading or looking to sharpen your edge, this tool combines a suite of time-tested and modern techniques into one unified signal, all while adjusting to changing market conditions.
The core idea is simple: detect when price is not just rising, but accelerating, like a curve bending upward. To do that, the script analyzes the log of price and calculates both:
Slope1: how fast the price is moving (momentum)
Slope2: how fast that momentum is changing (acceleration)
Over a user-defined number of bars (which amounts to sensitivity ), the script checks for consistency. So, for example, if both slope1 and slope2 have been positive for 4 bars, that’s a strong signal.
But it doesn’t stop there.
The key is weighted Intelligence
What makes this tool uniquely customizable is that each layer of signal logic is weighted:
Slope1 and Slope2: You can assign how much these matter (e.g., 60% for slope1, 20% for slope2)
Ichimoku Trend Filter: A bullish setup (Tenkan > Kijun) can contribute to the total score
RSI Context: The indicator checks for overextension (RSI > 70 and falling) and mean-reversion potential (RSI < 45 and rising), adjusting scores accordingly
You can fine-tune these weights to match your trading style — whether you prefer to catch early momentum, ride mature trends, or fade reversals.
Finally, there is adaptive Intelligence . This isn’t a static signal. The indicator auto-adjusts its strictness using:
Slope Flip Rate: If price changes direction frequently, the required bar count increases
Volatility (ATR): In volatile markets, the threshold for signal confirmation tightens to avoid noise
You can turn this adaptive behavior on or off. When enabled, it makes the script self-tuning across timeframes — more reactive on clean moves, more skeptical in chop.
How to Use It
Start on a log-scaled daily chart
Enable the indicator and optionally turn on Adaptive Sensitivity
Look for:
Green Circles = bullish signal with favorable RSI + trend
Orange Circles = still bullish, but possibly overextended
For bearish setups, enable Parabolic Drops in settings
I am still experimenting with it, so if you find a better way to use it, let us know!
My suggested tweaks :
sensitivity: 3–5 for normal, higher for stricter
signalThreshold: 0.7–0.85 depending on how picky you want to be
Weights for slope1/slope2/trend
RSI boost/penalty levels
Ivan Gomes StrategyIG Signals+ - Ivan Gomes Strategy
This script is designed for scalping and binary options trading, generating buy and sell signals at the beginning of each candle. Although it is mainly optimized for short-term operations, it can also be used for medium and long-term strategies with appropriate adjustments.
How It Works
• The indicator provides buy or sell signals at the start of the candle, based on a statistical probability of candle patterns, depending on the timeframe.
• It is essential to enter the trade immediately after the signal appears and exit at the end of the same candle.
• If the first operation results in a loss (Loss), the script will send another trade signal at the start of the next candle. However, if the first trade results in a win (Gain), no new signal will be generated.
• The signals follow cycles of 3 candles, regardless of the timeframe. However, if a Doji candle appears, the cycle is interrupted, and no signals will be generated until the next valid cycle starts.
• The strategy consists of up to two trades per cycle: if the first trade is not successful, the second trade serves as an additional attempt to recover.
Key Points to Consider
1. Avoid trading in sideways markets – If price levels do not fluctuate significantly, the accuracy of the signals may decrease.
2. Trade in the direction of the trend – Using Ichimoku clouds or other trend indicators can help confirm trend direction and improve signal reliability. If the market is in an uptrend (bullish trend) and the indicator generates a sell signal, the most prudent decision would be to wait for a buy signal that aligns with the main trend. The same applies to downtrends, where buy signals may be riskier.
These decisions should be based on chart reading and supported by other technical analysis tools, such as support and resistance levels, which indicate zones where price might face obstacles or reverse direction. Additionally, Fibonacci retracement levels can help identify possible pullback points within a trend. Moving averages are also useful for visualizing the general market direction and confirming whether an indicator signal aligns with the overall price structure. Combining these tools can increase trade accuracy and prevent unnecessary trades against the main trend, reducing risks.
3. Works based on probability statistics – The algorithm analyzes candle formations and their statistical probabilities depending on the timeframe to optimize trade entries.
4. Best suited for scalping and binary options – This strategy performs best in 1-minute and 5-minute timeframes, allowing for multiple trades throughout the day.
Technical Details
• The script detects the candle cycle and assigns an index to each candle to identify patterns and possible reversals.
• It recognizes reference candles, stores their colors, and compares them with subsequent candles to determine if a signal should be triggered.
• Doji candle rules are implemented to avoid false signals in indecisive market conditions. When a Doji appears, the script does not generate signals for that cycle.
• The indicator displays visual alerts and notifications, ensuring fast execution of trades.
Disclaimer
The IG Signals+ indicator was created to assist traders who struggle to analyze the market by providing objective trade signals. However, no strategy is foolproof, and this script does not guarantee profits.
Trading involves significant financial risk, and users should test it in a demo account before trading with real money. Proper risk management is crucial for long-term success.
Donchian Cloud-V1The Donchian Cloud-V1 is a technical analysis indicator inspired by the Ichimoku Cloud, but with a twist. It utilizes two Donchian Channel midline calculations to create a cloud-like price zone. This indicator aims to help traders identify potential areas of support and resistance, and also suggests that trades should be avoided when prices are within the cloud.
How it Works?
The Donchian Cloud-V1 calculates two Donchian Channel midlines:
Fast Donchian Channel: This midline is based on a shorter period, making it more responsive to price changes.
Slow Donchian Channel: This midline is based on a longer period, providing a smoother and more stable cloud formation.
The upper and lower bands of the traditional Donchian Channels are discarded, and the midlines become the cloud's upper and lower boundaries.
Interpretation
Price Above the Cloud: A price move above the cloud can be interpreted as a bullish signal, suggesting potential upward momentum.
Price Below the Cloud: A price move below the cloud can be interpreted as a bearish signal, suggesting potential downward momentum.
Price Within the Cloud: The indicator advises against taking any trades when the price is within the cloud itself, as the market may be unclear or ranging.
Benefits of Using the Donchian Cloud-V1
Visually Appealing: The cloud can provide a clear and concise view of potential support and resistance zones.
Customizable: The lengths of the fast and slow Donchian Channels can be adjusted to suit your trading style and preferred timeframe.
Complements Other Indicators: The Donchian Cloud-V1 can be used in conjunction with other technical indicators to strengthen trade signals.
Limitations to Consider
Lagging Indicator: Like many technical indicators, the Donchian Cloud-V1 is based on past price data and may not always perfectly predict future price movements.
False Signals: The cloud can generate false signals, especially in volatile markets.
Not a Standalone Strategy: The Donchian Cloud-V1 should ideally be used alongside other trading strategies and risk management techniques.
The Donchian Cloud-V1 is a valuable tool for traders who want to identify potential support and resistance zones and avoid making trades during periods of market uncertainty. Remember, it's important to backtest and paper trade any indicator before using it with real capital.
Hosoda ProjectionsThis script, written in Pine Script v5, introduces a technical analysis tool called "Hosoda Projections." Inspired by Ichimoku Kinkō Hyō and wave-based forecasting methods, this indicator helps traders visualize potential future price levels using a combination of pivot detection and projected price movements. It offers a unique way to anticipate market dynamics and define potential targets, making it particularly useful for those who seek to combine historical price patterns with forward-looking strategies.
The script works by detecting key pivot points in the market using a customizable lookback period and then calculating a ZigZag pattern based on price fluctuations that exceed a specified percentage threshold. These pivots are used to identify three recent swing points, which serve as the foundation for projecting possible future price levels. Using these swings, the script generates levels that correspond to Fibonacci-based extensions and projections, such as 38.2%, 61.8%, 100%, 161.8%, and additional extensions like 261.8% and 361.8%. These levels are visualized on the chart as horizontal lines and labeled with their respective values for easy interpretation.
The primary advantage of the Hosoda Projections script is its ability to provide a structured approach to identifying potential price targets. By leveraging the natural rhythm of price movements, it offers insights into where the market might find support or resistance in the future. This can help traders refine their entry and exit points, manage risk more effectively, and gain a deeper understanding of market sentiment. Additionally, the dynamic nature of the projections adapts to new price data, ensuring the tool remains relevant across changing market conditions.
This script is particularly valuable for traders who appreciate the harmony between historical price action and predictive analysis. Whether you are trading forex, stocks, or cryptocurrencies, the Hosoda Projections tool can enhance your trading strategy by providing actionable and visually intuitive forecasts.
RBF Kijun Trend System [InvestorUnknown]The RBF Kijun Trend System utilizes advanced mathematical techniques, including the Radial Basis Function (RBF) kernel and Kijun-Sen calculations, to provide traders with a smoother trend-following experience and reduce the impact of noise in price data. This indicator also incorporates ATR to dynamically adjust smoothing and further minimize false signals.
Radial Basis Function (RBF) Kernel Smoothing
The RBF kernel is a mathematical method used to smooth the price series. By calculating weights based on the distance between data points, the RBF kernel ensures smoother transitions and a more refined representation of the price trend.
The RBF Kernel Weighted Moving Average is computed using the formula:
f_rbf_kernel(x, xi, sigma) =>
math.exp(-(math.pow(x - xi, 2)) / (2 * math.pow(sigma, 2)))
The smoothed price is then calculated as a weighted sum of past prices, using the RBF kernel weights:
f_rbf_weighted_average(src, kernel_len, sigma) =>
float total_weight = 0.0
float weighted_sum = 0.0
// Compute weights and sum for the weighted average
for i = 0 to kernel_len - 1
weight = f_rbf_kernel(kernel_len - 1, i, sigma)
total_weight := total_weight + weight
weighted_sum := weighted_sum + (src * weight)
// Check to avoid division by zero
total_weight != 0 ? weighted_sum / total_weight : na
Kijun-Sen Calculation
The Kijun-Sen, a component of Ichimoku analysis, is used here to further establish trends. The Kijun-Sen is computed as the average of the highest high and the lowest low over a specified period (default: 14 periods).
This Kijun-Sen calculation is based on the RBF-smoothed price to ensure smoother and more accurate trend detection.
f_kijun_sen(len, source) =>
math.avg(ta.lowest(source, len), ta.highest(source, len))
ATR-Adjusted RBF and Kijun-Sen
To mitigate false signals caused by price volatility, the indicator features ATR-adjusted versions of both the RBF smoothed price and Kijun-Sen.
The ATR multiplier is used to create upper and lower bounds around these lines, providing dynamic thresholds that account for market volatility.
Neutral State and Trend Continuation
This indicator can interpret a neutral state, where the signal is neither bullish nor bearish. By default, the indicator is set to interpret a neutral state as a continuation of the previous trend, though this can be adjusted to treat it as a truly neutral state.
Users can configure this setting using the signal_str input:
simple string signal_str = input.string("Continuation of Previous Trend", "Treat 0 State As", options = , group = G1)
Visual difference between "Neutral" (Bottom) and "Continuation of Previous Trend" (Top). Click on the picture to see it in full size.
Customizable Inputs and Settings:
Source Selection: Choose the input source for calculations (open, high, low, close, etc.).
Kernel Length and Sigma: Adjust the RBF kernel parameters to change the smoothing effect.
Kijun Length: Customize the lookback period for Kijun-Sen.
ATR Length and Multiplier: Modify these settings to adapt to market volatility.
Backtesting and Performance Metrics
The indicator includes a Backtest Mode, allowing users to evaluate the performance of the strategy using historical data. In Backtest Mode, a performance metrics table is generated, comparing the strategy's results to a simple buy-and-hold approach. Key metrics include mean returns, standard deviation, Sharpe ratio, and more.
Equity Calculation: The indicator calculates equity performance based on signals, comparing it against the buy-and-hold strategy.
Performance Metrics Table: Detailed performance analysis, including probabilities of positive, neutral, and negative returns.
Alerts
To keep traders informed, the indicator supports alerts for significant trend shifts:
// - - - - - ALERTS - - - - - //{
alert_source = sig
bool long_alert = ta.crossover (intrabar ? alert_source : alert_source , 0)
bool short_alert = ta.crossunder(intrabar ? alert_source : alert_source , 0)
alertcondition(long_alert, "LONG (RBF Kijun Trend System)", "RBF Kijun Trend System flipped ⬆LONG⬆")
alertcondition(short_alert, "SHORT (RBF Kijun Trend System)", "RBF Kijun Trend System flipped ⬇Short⬇")
//}
Important Notes
Calibration Needed: The default settings provided are not optimized and are intended for demonstration purposes only. Traders should adjust parameters to fit their trading style and market conditions.
Neutral State Interpretation: Users should carefully choose whether to treat the neutral state as a continuation or a separate signal.
Backtest Results: Historical performance is not indicative of future results. Market conditions change, and past trends may not recur.
CMF and Scaled EFI OverlayCMF and Scaled EFI Overlay Indicator
Overview
The CMF and Scaled EFI Overlay indicator combines the Chaikin Money Flow (CMF) and a scaled version of the Elder Force Index (EFI) into a single chart. This allows traders to analyze both indicators simultaneously, facilitating better insights into market momentum and volume dynamics , specifically focusing on buying/selling pressure and momentum , without compromising the integrity of either indicator.
Purpose
Chaikin Money Flow (CMF): Measures buying and selling pressure by evaluating price and volume over a specified period. It indicates accumulation (buying pressure) when values are positive and distribution (selling pressure) when values are negative.
Elder Force Index (EFI): Combines price changes and volume to assess the momentum behind market moves. Positive values indicate upward momentum (prices rising with strong volume), while negative values indicate downward momentum (prices falling with strong volume).
By scaling the EFI to match the amplitude of the CMF, this indicator enables a direct comparison between pressure and momentum , preserving their shapes and zero crossings. Traders can observe the relationship between price movements, volume, and momentum more effectively, aiding in decision-making.
Understanding Pressure vs. Momentum
Chaikin Money Flow (CMF):
- Indicates the level of demand (buying pressure) or supply (selling pressure) in the market based on volume and price movements.
- Accumulation: When institutional or large investors are buying significant amounts of an asset, leading to an increase in buying pressure.
- Distribution: When these investors are selling off their holdings, increasing selling pressure.
Elder Force Index (EFI):
- Measures the strength and speed of price movements, indicating how forceful the current trend is.
- Positive Momentum: Prices are rising quickly, indicating a strong uptrend.
- Negative Momentum: Prices are falling rapidly, indicating a strong downtrend.
Understanding the difference between pressure and momentum is crucial. For example, a market may exhibit strong buying pressure (positive CMF) but weak momentum (low EFI), suggesting accumulation without significant price movement yet.
Features
Overlay of CMF and Scaled EFI: Both indicators are plotted on the same chart for easy comparison of pressure and momentum dynamics.
Customizable Parameters: Adjust lengths for CMF and EFI calculations and fine-tune the scaling factor for optimal alignment.
Preserved Indicator Integrity: The scaling method preserves the shape and zero crossings of the EFI, ensuring accurate analysis.
How It Works
CMF Calculation:
- Calculates the Money Flow Multiplier (MFM) and Money Flow Volume (MFV) to assess buying and selling pressure.
- CMF is computed by summing the MFV over the specified length and dividing by the sum of volume over the same period:
CMF = (Sum of MFV over n periods) / (Sum of Volume over n periods)
EFI Calculation:
- Calculates the EFI using the Exponential Moving Average (EMA) of the price change multiplied by volume:
EFI = EMA(n, Change in Close * Volume)
Scaling the EFI:
- The EFI is scaled by multiplying it with a user-defined scaling factor to match the CMF's amplitude.
Plotting:
- Both the CMF and the scaled EFI are plotted on the same chart.
- A zero line is included for reference, aiding in identifying crossovers and divergences.
Indicator Settings
Inputs
CMF Length (`cmf_length`):
- Default: 20
- Description: The number of periods over which the CMF is calculated. A higher value smooths the indicator but may delay signals.
EFI Length (`efi_length`):
- Default: 13
- Description: The EMA length for the EFI calculation. Adjusting this value affects the sensitivity of the EFI to price changes.
EFI Scaling Factor (`efi_scaling_factor`):
- Default: 0.000001
- Description: A constant used to scale the EFI to match the CMF's amplitude. Fine-tuning this value ensures the indicators align visually.
How to Adjust the EFI Scaling Factor
Start with the Default Value:
- Begin with the default scaling factor of `0.000001`.
Visual Inspection:
- Observe the plotted indicators. If the EFI appears too large or small compared to the CMF, proceed to adjust the scaling factor.
Fine-Tune the Scaling Factor:
- Increase or decrease the scaling factor incrementally (e.g., `0.000005`, `0.00001`, `0.00005`) until the amplitudes of the CMF and EFI visually align.
- The optimal scaling factor may vary depending on the asset and timeframe.
Verify Alignment:
- Ensure that the scaled EFI preserves the shape and zero crossings of the original EFI.
- Overlay the original EFI (if desired) to confirm alignment.
How to Use the Indicator
Analyze Buying/Selling Pressure and Momentum:
- Positive CMF (>0): Indicates accumulation (buying pressure).
- Negative CMF (<0): Indicates distribution (selling pressure).
- Positive EFI: Indicates positive momentum (prices rising with strong volume).
- Negative EFI: Indicates negative momentum (prices falling with strong volume).
Look for Indicator Alignment:
- Both CMF and EFI Positive:
- Suggests strong bullish conditions with both buying pressure and upward momentum.
- Both CMF and EFI Negative:
- Indicates strong bearish conditions with selling pressure and downward momentum.
Identify Divergences:
- CMF Positive, EFI Negative:
- Buying pressure exists, but momentum is negative; potential for a bullish reversal if momentum shifts.
- CMF Negative, EFI Positive:
- Selling pressure exists despite rising prices; caution advised as it may indicate a potential bearish reversal.
Confirm Signals with Other Analysis:
- Use this indicator in conjunction with other technical analysis tools (e.g., trend lines, support/resistance levels) to confirm trading decisions.
Example Usage
Scenario 1: Bullish Alignment
- CMF Positive: Indicates accumulation (buying pressure).
- EFI Positive and Increasing: Shows strengthening upward momentum.
- Interpretation:
- Strong bullish signal suggesting that buyers are active, and the price is likely to continue rising.
- Action:
- Consider entering a long position or adding to existing ones.
Scenario 2: Bearish Divergence
- CMF Negative: Indicates distribution (selling pressure).
- EFI Positive but Decreasing: Momentum is positive but weakening.
- Interpretation:
- Potential bearish reversal; price may be rising but underlying selling pressure suggests caution.
- Action:
- Be cautious with long positions; consider tightening stop-losses or preparing for a possible trend reversal.
Tips
Adjust for Different Assets:
- The optimal scaling factor may differ across assets due to varying price and volume characteristics.
- Always adjust the scaling factor when analyzing a new asset.
Monitor Indicator Crossovers:
- Crossings above or below the zero line can signal potential trend changes.
Watch for Divergences:
- Divergences between the CMF and EFI can provide early warning signs of trend reversals.
Combine with Other Indicators:
- Enhance your analysis by combining this overlay with other indicators like moving averages, RSI, or Ichimoku Cloud.
Limitations
Scaling Factor Sensitivity:
- An incorrect scaling factor may misalign the indicators, leading to inaccurate interpretations.
- Regular adjustments may be necessary when switching between different assets or timeframes.
Not a Standalone Indicator:
- Should be used as part of a comprehensive trading strategy.
- Always consider other market factors and indicators before making trading decisions.
Disclaimer
No Guarantee of Performance:
- Past performance is not indicative of future results.
- Trading involves risk, and losses can exceed deposits.
Use at Your Own Risk:
- This indicator is provided for educational purposes.
- The author is not responsible for any financial losses incurred while using this indicator.
Code Summary
//@version=5
indicator(title="CMF and Scaled EFI Overlay", shorttitle="CMF & Scaled EFI", overlay=false)
cmf_length = input.int(20, minval=1, title="CMF Length")
efi_length = input.int(13, minval=1, title="EFI Length")
efi_scaling_factor = input.float(0.000001, title="EFI Scaling Factor", minval=0.0, step=0.000001)
// --- CMF Calculation ---
ad = high != low ? ((2 * close - low - high) / (high - low)) * volume : 0
mf = math.sum(ad, cmf_length) / math.sum(volume, cmf_length)
// --- EFI Calculation ---
efi_raw = ta.ema(ta.change(close) * volume, efi_length)
// --- Scale EFI ---
efi_scaled = efi_raw * efi_scaling_factor
// --- Plotting ---
plot(mf, color=color.green, title="CMF", linewidth=2)
plot(efi_scaled, color=color.red, title="EFI (Scaled)", linewidth=2)
hline(0, color=color.gray, title="Zero Line", linestyle=hline.style_dashed)
- Lines 4-6: Define input parameters for CMF length, EFI length, and EFI scaling factor.
- Lines 9-11: Calculate the CMF.
- Lines 14-16: Calculate the EFI.
- Line 19: Scale the EFI by the scaling factor.
- Lines 22-24: Plot the CMF, scaled EFI, and zero line.
Feedback and Support
Suggestions: If you have ideas for improvements or additional features, please share your feedback.
Support: For assistance or questions regarding this indicator, feel free to contact the author through TradingView.
---
By combining the CMF and scaled EFI into a single overlay, this indicator provides a powerful tool for traders to analyze market dynamics more comprehensively. Adjust the parameters to suit your trading style, and always practice sound risk management.
Mars Signals - SSL Trend AnalyzerIntroduction
The "Mars Signals - Precision Trend Analyzer with SSL Baseline & Price Action Zones" is a comprehensive technical analysis tool designed for traders seeking to enhance their market analysis and trading strategies. This indicator integrates multiple advanced trading concepts, including dynamic moving averages, trend detection algorithms, momentum indicators, volume analysis, higher timeframe confirmation, candlestick pattern recognition, and precise price action zones. By combining these elements, the indicator aims to provide clear and actionable buy and sell signals, helping traders to make informed decisions in various market conditions.
Core Components and Functionality
1.Dynamic Baseline Calculation
Moving Average Types: The indicator allows users to select from a variety of moving average types for the baseline calculation, including Simple Moving Average (SMA), Exponential Moving Average (EMA), Hull Moving Average (HMA), Weighted Moving Average (WMA), Double EMA (DEMA), Triple EMA (TEMA), Least Squares Moving Average (LSMA), Triangular Moving Average (TMA), Kijun (from Ichimoku Kinko Hyo), and McGinley's Dynamic.
Baseline Length: Users can customize the length of the moving average, providing flexibility to adjust the sensitivity of the baseline to market movements.
Signal Line Generation: The indicator computes a dynamic signal line based on the relationship between the close price and the moving averages of the high and low prices. This signal line adapts to market volatility and trend changes.
2.SSL Baseline Integration
SSL Baseline: In addition to the primary baseline, the indicator incorporates an SSL (Semaphore Signal Level) Baseline, which further refines trend detection by considering the highs and lows over a specified period.
Dual Confirmation: The combination of the primary baseline and the SSL baseline enhances the reliability of the trend signals by requiring agreement between both baselines before generating a signal.
3.Momentum and Trend Filters
Relative Strength Index (RSI): The indicator uses the RSI to assess the momentum of price movements, filtering out signals that occur during overbought or oversold conditions.
Moving Average Convergence Divergence (MACD): The MACD is employed to identify the direction and strength of the trend, adding another layer of confirmation to the signals.
Average Directional Index (ADX): The ADX measures the strength of the trend, ensuring that signals are generated only when the market shows significant directional movement.
4.Volume Analysis
Volume Filter: An optional volume filter compares the current volume to its moving average, allowing traders to focus on signals that occur during periods of higher market activity.
5.Higher Timeframe Confirmation
Multi-Timeframe Analysis: The indicator can incorporate data from a higher timeframe, comparing the current price to the higher timeframe's baseline and signal line. This feature helps traders align their trades with the broader market trend.
6.Candlestick Pattern Recognition
Bullish Patterns: The indicator detects bullish patterns such as Bullish Engulfing, Piercing Line, Hammer, and Doji.
Bearish Patterns: It also identifies bearish patterns like Bearish Engulfing, Dark Cloud Cover, Shooting Star, and Doji.
Pattern Prioritization: The patterns are prioritized to highlight the most significant formations, which can serve as additional confirmation for trade entries and exits.
7.Price Action Zones
Support and Resistance Levels: The indicator automatically identifies pivot highs and lows to establish dynamic support and resistance levels.
Zone Visualization: It draws shaded rectangles on the chart to represent these zones, providing a clear visual aid for potential reversal or breakout areas.
ATR-Based Zone Width: The zones' thickness is dynamically calculated using the Average True Range (ATR), adjusting to the current market volatility.
Background Coloring: The chart background changes color when the price is above the maximum resistance or below the minimum support, alerting traders to significant price movements.
Interpreting the Signals
1.Buy Signals
Conditions:
Price crosses above the signal line.
RSI is below 70 (not overbought).
MACD line is above the signal line (indicating bullish momentum).
ADX is above the user-defined threshold (default is 20), confirming a strong trend.
(Optional) Volume is above its moving average if the volume filter is enabled.
(Optional) Price is above the higher timeframe baseline and signal line if the higher timeframe filter is enabled.
(Optional) A bullish candlestick pattern is detected if the candlestick pattern filter is enabled.
Visual Indicators:
An upward-pointing label with the text "BUY" appears below the price bar.
The baseline and SSL baseline lines turn to colors indicating bullish conditions.
2.Sell Signals
Conditions:
Price crosses below the signal line.
RSI is above 30 (not oversold).
MACD line is below the signal line (indicating bearish momentum).
ADX is above the user-defined threshold, confirming a strong trend.
(Optional) Volume is above its moving average if the volume filter is enabled.
(Optional) Price is below the higher timeframe baseline and signal line if the higher timeframe filter is enabled.
(Optional) A bearish candlestick pattern is detected if the candlestick pattern filter is enabled.
Visual Indicators:
A downward-pointing label with the text "SELL" appears above the price bar.
The baseline and SSL baseline lines turn to colors indicating bearish conditions.
3.Support and Resistance Zones
Interpretation:
Resistance Zones: Represent areas where the price may face selling pressure. A break above these zones can signal a strong bullish move.
Support Zones: Represent areas where the price may find buying interest. A break below these zones can signal a strong bearish move.
Background Color:
The background turns red when the price is above the maximum resistance, indicating potential overextension.
The background turns green when the price is below the minimum support, indicating potential undervaluation.
Effective Usage Strategies
1.Customization
Adjusting Baseline and SSL Settings: Traders should experiment with different moving average types and lengths to match their trading style and the specific characteristics of the asset being analyzed.
Filtering Parameters: Modify RSI, MACD, and ADX settings to fine-tune the sensitivity of the signals.
Volume and Higher Timeframe Filters: Enable these filters to add robustness to the signals, especially in volatile markets or when trading higher timeframes.
2.Combining with Other Analysis
Fundamental Analysis: Use the indicator in conjunction with fundamental insights to validate technical signals.
Risk Management: Always apply proper risk management techniques, such as setting stop-loss and take-profit levels based on the support and resistance zones provided by the indicator.
3.Backtesting
Historical Analysis: Utilize the indicator's settings to backtest trading strategies on historical data, helping to identify the most effective configurations before applying them in live trading.
4.Monitoring Market Conditions
Volatility Awareness: Pay attention to the ATR and ADX readings to understand market volatility and trend strength, adjusting strategies accordingly.
Event Considerations: Be cautious around major economic announcements or events that may impact market behavior beyond technical indications.
Indicator Inputs and Customization Options
Baseline Type and Length: Select from multiple moving average types and specify the period length.
ADX Settings: Adjust the length, smoothing, and threshold for trend strength confirmation.
Volume Filter: Enable or disable the volume confirmation filter.
Higher Timeframe Filter: Choose to incorporate higher timeframe analysis and specify the desired timeframe.
Candlestick Patterns: Enable or disable the detection of candlestick patterns for additional signal confirmation.
SSL Baseline Type and Length: Customize the SSL baseline settings separately from the primary baseline.
Price Action Zones Settings:
Zone Thickness: Adjust the visual thickness of the support and resistance zones.
Lookback Period: Define how far back the indicator looks for pivot points.
ATR Multiplier for Zone Width: Set the multiplier for ATR to determine the dynamic width of the zones.
Maximum Number of Zones: Limit the number of support and resistance zones displayed.
Pivot Bars: Customize the number of bars to the left and right used for identifying pivot highs and lows.
Conclusion
The "Mars Signals - Precision Trend Analyzer with SSL Baseline & Price Action Zones" is a versatile and powerful tool that amalgamates essential technical analysis techniques into a single, user-friendly indicator. By providing clear visual signals and incorporating multiple layers of confirmation, it assists traders in identifying high-probability trading opportunities. Whether you are a day trader, swing trader, or long-term investor, this indicator can be tailored to suit your trading style and enhance your decision-making process.
To maximize the benefits of this indicator:
Understand Each Component: Familiarize yourself with how each part of the indicator contributes to the overall signal generation.
Customize Thoughtfully: Adjust the settings based on the asset class, market conditions, and your risk tolerance.
Practice Diligently: Use demo accounts or paper trading to practice and refine your strategy before deploying it in live markets.
Stay Informed: Continuously educate yourself on technical analysis and market dynamics to make the most informed decisions.
Disclaimer
Trading financial markets involves risk, and past performance is not indicative of future results. This indicator is a tool to aid in analysis and should not be the sole basis for any trading decision. Always conduct your own research and consider consulting with a licensed financial advisor.
*2.2 Aggregated (Raw Z-scores with MA)***To be used with other 2.2 indicator***
Key Indicators Used:
Oscillating Indicators: RSI, TSI, Stochastic, MACD, CCI, Vortex Indicator, Williams %R.
Perpetual Trend Indicators: EMA, ADX, Parabolic SAR, Supertrend, Donchian Channel, Ichimoku Cloud, RVGI.
How to Use the Indicator:
Raw Z-Score (Blue Line): This represents the real-time aggregated Z-score of all the indicators. It shows how far the current market conditions are from their average, helping you identify trends.
Moving Average of Z-Score (Orange Line): A smoothed version of the Z-score that helps confirm trends and eliminate noise.
Shaded Area: The area between the Z-score and its moving average is shaded green if the Z-score is above the moving average (bullish), and red if below the moving average (bearish).
Zero Line (Gray Line): Serves as a reference point. A Z-score crossing above zero could signal a bullish market, while crossing below zero could indicate bearish conditions.
This indicator helps in identifying market extremes and trend reversals by combining various technical indicators into a single aggregate score, ideal for spotting overbought or oversold conditions and possible trend shifts
Kijun_ATROVERVIEW
Kijun + ATR is an indicator that combines Lagging Kijun Base Line From Ichimoku Cloud (direction indicator) and Volatility Indicator ATR.
By combining ATR with kijun we can filter out noise from Base Line.
CALCULATIONS
Kijun is calculated by taking average of lowest and highest point of price over set lenght.
ATR is just default Tradingview Indicator that calculates average true range of price over set period of time.
WORKING
When both close > lower and not close < upper are true indicator indicate long by color limeand indicates short when close < upper by color fuchsia (Color can be changed in settings)
Indicator works best in Trending Market Regimes can have problems by signaling tops in Consolidating Market Regimes during bear markets and by sygnaling bottom in short consolidating market regimes during bull market.
CVD with Moving Average (Trend Colors) [SYNC & TRADE]Yesterday I wrote a simple and easy code for the indicator "Cumulative Delta Volume with a moving average" using AI.
Introduction:
Delta is the difference between buys and sells. If there are more purchases, the delta is positive, if there are more sales, the delta is negative. We look at each candle separately on a particular time frame, which does not give us an overall picture over time.
Cumulative volume delta is in many ways an extension of volume delta, but it covers longer periods of time and provides different trading signals. Like the volume delta indicator, the Cumulative Volume Delta (CVD) indicator measures the relationship between buying and selling pressure, but does not focus on one specific candle (or other chart element), but rather gives a picture over time.
What did you want to get?
I have often seen that they tried to attach RSI and the Ichimoku cloud to the cumulative delta of volume, but I have never seen a cumulative delta of volume with a moving average. A moving average that takes data from the cumulative volume delta will be different from the moving average of the underlying asset. It has been noted that often at the intersection of the cumulative volume delta and the moving average, this is a more accurate signal to buy or sell than the same intersections for the underlying asset.
Initially, 5 moving averages were made with values of 21, 55, 89, 144 and 233, but I realized that this overloads the chart. It is easier to change the length of the moving average depending on the time frame you are using than to overload the chart. The final version with one moving SMA, EMA, RMA, WMA, HMA.
The logic for applying a moving average to a cumulative volume delta:
You choose a moving average, just like you would on your underlying asset. Use the moving average you like and the period you are used to working with. Each TF has its own settings.
What we see on the graph:
This is not an oscillator, but an adapted version for a candlestick chart (line only). Using it, you can clearly see where the market is moving based on the cumulative volume delta. The cool thing is that you can include your moving average applied to the cumulative volume delta. Thanks to this, you can see a trend movement, a return to the moving average to continue the trend.
Opportunities not lost:
The most interesting thing is that it remains possible to observe the divergence of the asset and the cumulative delta of the volume. This gives a great advantage. Those who have not worked with divergence do not rush into it right away. There may be 3 peaks in divergence (as with oversold/overbought), but it works many times more clearly than RSI and MACD.
Here's a good example on the daily chart. The moment we were all waiting for 75,000. The cumulative Delta Volume fell with each peak, while the price chart (tops) were approximately level.
Usually they throw (allow to buy) without volume for sales (delta down, price up) in order to merge at a more interesting price. And they also drain without the volume of purchases for a squeeze (price down / delta up) and again I buy back at a more interesting price. There are more complex estimation options; you can read about the divergence of the cumulative delta of the CVD volume. I just recommend doing a backtest.
Recommendations:
One more moment. Use the indicator on the stock exchange, where there is the most money, by turnover and by asset. Choose Binance, not Bybit. Those. choose the BTC asset, for example, but on the Binance exchange. Not futures, but spot.
The greater the turnover on the exchange for an asset, and the fewer opportunities to enter with leverage, the less volatile the price and the more beautiful and accurate the chart.
Works on all assets. There is a subscription limit (the number of calculated bars) that has little effect on anything. Can be applied to any asset where there is volume (not SPX, but ES1, not MOEX, but MX1!).
Перевод на русский.
Вчера написал с помощью AI простой и легкий код индикатора "Кумулятивная Дельта Объема со скользящей средней".
Введение:
Дельта (Delta) — это разница между покупками и продажами. Если покупок больше — дельта положительная, если больше продаж — дельта отрицательная. Мы смотрим на каждую свечу отдельно на том или ином таймфрейме, что не дает нам общей картины во времени.
Кумулятивная дельта объема — во многом продолжение дельты объёмов, но она включает более длительные периоды времени и дает другие торговые сигналы. Как и индикатор дельты объёма, индикатор кумулятивной дельты объема (Cumulative Volume Delta, CVD) измеряет связь между давлением покупателей и продавцов, но при этом не фокусируется на одной конкретной свече (или другом элементе графика), а дает картину во времени.
Что хотел получить?
Часто видел, что к кумулятивной детьте объема пытались прикрепить RSI и облако ишимоку, но никогда не видел кумулятивную дельту объема со скользящей средней. Скользящая средняя которая берет данные от кумулятивной дельты объема будет отличатся от скользящей средней основного актива. Было замечено, что часто в местах пересечения кумулятивной дельты объема и скользящей средней - это более точный сигнал к покупке или продаже, чем такие же пересечения по основному активу.
Изначально было сделанно 5 скользящих со значениями 21, 55, 89, 144 и 233, но я понял, что это перегружает график. Проще менять длину скользящей средней от используемого таймфрейма, чем перегружать график. Финальный вариант с одной скользящей SMA, EMA, RMA, WMA, HMA.
Логика применения скользящей средней к кумулятивной дельте объема:
Вы выбираете скользящую среднюю, так же как и на основном активе. Применяйте ту скользящую среднюю, которая вам нравится и период, с которым привыкли работать. На каждом TF свои настройки.
Что мы видим на графике:
Это не осциллятор, а адаптированная версия к свечному графику (только линия). С помощью него вы можете наглядно посмотреть куда движется рынок по кумулятивной дельте объема. Самое интересное, что вы можете включить свою скользящую среднюю, применимую к кумулятивной дельте объема. Благодаря этому вы можете видеть трендовое движение, возврат к средней скользящей для продолжения тренда.
Не потерянные возможности:
Самое интересное, что осталась возможность наблюдать за дивергенцией актива и кумулятивной дельтой объема. Это дает большое преимущество. Те кто не работал с дивергенцией не бросайтесь на нее сразу. Может быть и 3 пика в дивергенции (как с перепроданностью / перекупленностью), но работает в разы четче чем RSI и MACD.
Вот хороший пример на дневном графике. Момент когда мы все ждали 75000. Кумулятивная Дельта Объема падала с каждым пиком, в то время как ценовой график (вершины) были примерно на уровне.
Обычно закидывают (разрешают покупать) без объема на продажи (дельта вниз цена вверх), чтобы слить по более интересной цене. И также сливают без объема покупок для сквиза (цена вниз / дельта вверх) и опять откупаю по более интересной цене. Существуют более сложные варианты оценки, можете почитать про дивергенцию кумулятивной дельты объема CVD. Только рекомендую сделать бэктест.
Рекомендации:
Еще момент. Используйте индикатор, на бирже, там где больше всего денег, по обороту и по активу. Выбирайте не Bybit, а Binance. Т.е. выбираете актив BTC, к примеру, но на бирже Binance. Не фьючерс, а спот.
Чем более большие обороты на бирже, по активу, и меньше возможностей заходить с плечами, тем менее волатильная цена и более красивый и точный график.
Работает на всех активах. Есть ограничение по подписке (количество рассчитываемых баров) мало влияет на что. Можно применить к любому активу где есть объем (не SPX, а ES1, не MOEX, а MX1!).
Average Trend with Deviation Bands v2TL;DR: An average based trend incl. micro trend spotting and multiple display options.
This script is basically an update of my "Average Trend with Deviation Bands" script. I made the following changes:
Not an overlay anymore - The amount of drawn lines makes the chart pretty messy. That's why I moved it to a pane. If you preferred the overlay you can use my "Average Trend with Deviation Bands" script. *This is also the reason why I publish this script instead of updating the existing one.
I added an EMA to represent the price movement instead of candles
I added a signal (SMA) to spot micro trends and early entry/exit signals
I added the option to switch between a "line view" which shows the average trend and deviation bands and an "oscillator view" which shows an oscillator and histogram (MACD style)
General usage:
1. The white line is the average trend (which is an average of the last N bars open, close, high, low price).
2. Bands around the average trend are standard deviations which can be adjusted in the options menu and are only visible in "lines view". Basically they are like the clouds in the Ichimoku Cloud indicator - In big deviation bands the price movement needs more "power" to break through the average trend and vice versa.
3. Indicator line (blue line) - This is the EMA which represents the price. Crossing the average trend from below indicates an uptrend and vice versa (crossing from above indicates a down trend).
4. Signal line (red line) - This is a smoothed version of the indicator line which can be used to predict the movement of the price when crossed by the indicator line (like at MACD and many other indicators).
Oscillator usage:
When switched to "oscillator view" the indicator line oscillates around a zero line which can be seen as the average trend. The usage is basically the same as described above. However there is also the histogram which shows the difference between the indicator and signal. Of course the histogram can be deactivated. Additionally a color filling can be added to easily spot entry/exit signals.
As always: Code is free do whatever you like. If you have any questions/comments/etc. just drop it in the comment section.
Urika Confirmation IndicatorThe Urika Confirmation (UC) Indicator helps a user make a better decision about areas to enter the market for a trade. The indicated incorporates the highs and the lows of the price for a specific period. The information is depicted on this two-line indicator to show the direction of the price. The gap between the two lines is a cloud for determining the current position of the trade and staying in a trend.
The two lines in the indicator are a signal line and a slow line: the price is likely bullish if the signal line crosses above the slow line while likely bearish if the signal line crosses below the slow line. One can enter a trade if the price is above the cloud while the signal line crosses above the slow line, This is an indication that the commodity or stock is bullish and vice versa for bearish. One can avoid trading when the price is in the cloud.
UC Calculations:
The signal line is the average high and low of the prices using the fast-length input.
The slow length is the average of the past previous high and low prices using the slow-length input.
Ways to Use the UC Indicator:
It is convenient to use the indicator with Relative Strength Indicator. If the signal line crosses above the slow line -->> Bullish possibility (buy if RSI >= 55). It is a false buy/long signal if the cross occurs while RSI is below 55.
If the slow line crosses above the signal line -->> Bearish possibility (short if RSI <= 45). It is a false short signal if the cross occurs while RSI is above 45.
The indicator can be used at all timeframes. The user can use different settings to suit their way of trading.
The indicator uses the concept of the Ichimoku Indicator to provide users with
Fibonacci Step IndicatorThe Fibonacci Step Indicator assumes irregularity in calculating a moving average. It is measured as the mean of the previous lows and highs situated at Fibonacci past periods. For example, the mean of the lows from 2, 3, 5, 8, etc. periods ago form the Fibonacci step indicator.
The indicator uses the formula for the first twelve Fibonacci numbers on highs and lows so that it creates a moving support/resistance zone. Afterwards, the zone is stabilized by taking the highest highs of the upper indicator and the lowest lows of the lower indicator part.
The indicator is used as a trend following way. It can be compared to the Ichimoku Kinko Hyo cloud (without the future projection). The zone form a support and resistance area. During ranging periods, the market will fluctuate within the area which is a bad time to follow the trend (if any).
TechnicalRating█ OVERVIEW
This library is a Pine Script™ programmer’s tool for incorporating TradingView's well-known technical ratings within their scripts. The ratings produced by this library are the same as those from the speedometers in the technical analysis summary and the "Rating" indicator in the Screener , which use the aggregate biases of 26 technical indicators to calculate their results.
█ CONCEPTS
Ensemble analysis
Ensemble analysis uses multiple weaker models to produce a potentially stronger one. A common form of ensemble analysis in technical analysis is the usage of aggregate indicators together in hopes of gaining further market insight and reinforcing trading decisions.
Technical ratings
Technical ratings provide a simplified way to analyze financial markets by combining signals from an ensemble of indicators into a singular value, allowing traders to assess market sentiment more quickly and conveniently than analyzing each constituent separately. By consolidating the signals from multiple indicators into a single rating, traders can more intuitively and easily interpret the "technical health" of the market.
Calculating the rating value
Using a variety of built-in TA functions and functions from our ta library, this script calculates technical ratings for moving averages, oscillators, and their overall result within the `calcRatingAll()` function.
The function uses the script's `calcRatingMA()` function to calculate the moving average technical rating from an ensemble of 15 moving averages and filters:
• Six Simple Moving Averages and six Exponential Moving Averages with periods of 10, 20, 30, 50, 100, and 200
• A Hull Moving Average with a period of 9
• A Volume-Weighted Moving Average with a period of 20
• An Ichimoku Cloud with a conversion line length of 9, base length of 26, and leading span B length of 52
The function uses the script's `calcRating()` function to calculate the oscillator technical rating from an ensemble of 11 oscillators:
• RSI with a period of 14
• Stochastic with a %K period of 14, a smoothing period of 3, and a %D period of 3
• CCI with a period of 20
• ADX with a DI length of 14 and an ADX smoothing period of 14
• Awesome Oscillator
• Momentum with a period of 10
• MACD with fast, slow, and signal periods of 12, 26, and 9
• Stochastic RSI with an RSI period of 14, a %K period of 14, a smoothing period of 3, and a %D period of 3
• Williams %R with a period of 14
• Bull Bear Power with a period of 50
• Ultimate Oscillator with fast, middle, and slow lengths of 7, 14, and 28
Each indicator is assigned a value of +1, 0, or -1, representing a bullish, neutral, or bearish rating. The moving average rating is the mean of all ratings that use the `calcRatingMA()` function, and the oscillator rating is the mean of all ratings that use the `calcRating()` function. The overall rating is the mean of the moving average and oscillator ratings, which ranges between +1 and -1. This overall rating, along with the separate MA and oscillator ratings, can be used to gain insight into the technical strength of the market. For a more detailed breakdown of the signals and conditions used to calculate the indicators' ratings, consult our Help Center explanation.
Determining rating status
The `ratingStatus()` function produces a string representing the status of a series of ratings. The `strongBound` and `weakBound` parameters, with respective default values of 0.5 and 0.1, define the bounds for "strong" and "weak" ratings.
The rating status is determined as follows:
Rating Value Rating Status
< -strongBound Strong Sell
< -weakBound Sell
-weakBound to weakBound Neutral
> weakBound Buy
> strongBound Strong Buy
By customizing the `strongBound` and `weakBound` values, traders can tailor the `ratingStatus()` function to fit their trading style or strategy, leading to a more personalized approach to evaluating ratings.
Look first. Then leap.
█ FUNCTIONS
This library contains the following functions:
calcRatingAll()
Calculates 3 ratings (ratings total, MA ratings, indicator ratings) using the aggregate biases of 26 different technical indicators.
Returns: A 3-element tuple: ( [(float) ratingTotal, (float) ratingOther, (float) ratingMA ].
countRising(plot)
Calculates the number of times the values in the given series increase in value up to a maximum count of 5.
Parameters:
plot : (series float) The series of values to check for rising values.
Returns: (int) The number of times the values in the series increased in value.
ratingStatus(ratingValue, strongBound, weakBound)
Determines the rating status of a given series based on its values and defined bounds.
Parameters:
ratingValue : (series float) The series of values to determine the rating status for.
strongBound : (series float) The upper bound for a "strong" rating.
weakBound : (series float) The upper bound for a "weak" rating.
Returns: (string) The rating status of the given series ("Strong Buy", "Buy", "Neutral", "Sell", or "Strong Sell").
3 indicators in another time frame "3 indicators in another time frame"
1- In the indicator settings section, you can save and change another time period
2-For time frame changes, it should be calculated in minutes
3-Includes three performance indicators ( ichimoku , bollinger bans, pivot ) that are set to a 15-minute timeframe by default.