Customizable MA 10/20/50/100/200Customizable EMA/SMA indicator. Select EMA (default) or SMA and support up to 5 timeframes.
Hareketli Ortalamalar
Volume Delta Volume Signals by Claudio [hapharmonic]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © hapharmonic
//@version=6
FV = format.volume
FP = format.percent
indicator('Volume Delta Volume Signals by Claudio ', format = FV, max_bars_back = 4999, max_labels_count = 500)
//------------------------------------------
// Settings |
//------------------------------------------
bool usecandle = input.bool(true, title = 'Volume on Candles',display=display.none)
color C_Up = input.color(#12cef8, title = 'Volume Buy', inline = ' ', group = 'Style')
color C_Down = input.color(#fe3f00, title = 'Volume Sell', inline = ' ', group = 'Style')
// ✅ Nueva entrada para colores de señales
color buySignalColor = input.color(color.new(color.green, 0), "Buy Signal Color", group = "Signals")
color sellSignalColor = input.color(color.new(color.red, 0), "Sell Signal Color", group = "Signals")
string P_ = input.string(position.top_right,"Position",options = ,
group = "Style",display=display.none)
string sL = input.string(size.small , 'Size Label', options = , group = 'Style',display=display.none)
string sT = input.string(size.normal, 'Size Table', options = , group = 'Style',display=display.none)
bool Label = input.bool(false, inline = 'l')
History = input.bool(true, inline = 'l')
// Inputs for EMA lengths and volume confirmation
bool MAV = input.bool(true, title = 'EMA', group = 'EMA')
string volumeOption = input.string('Use Volume Confirmation', title = 'Volume Option', options = , group = 'EMA',display=display.none)
bool useVolumeConfirmation = volumeOption == 'none' ? false : true
int emaFastLength = input(12, title = 'Fast EMA Length', group = 'EMA',display=display.none)
int emaSlowLength = input(26, title = 'Slow EMA Length', group = 'EMA',display=display.none)
int volumeConfirmationLength = input(6, title = 'Volume Confirmation Length', group = 'EMA',display=display.none)
string alert_freq = input.string(alert.freq_once_per_bar_close, title="Alert Frequency",
options= ,group = "EMA",
tooltip="If you choose once_per_bar, you will receive immediate notifications (but this may cause interference or indicator repainting).
However, if you choose once_per_bar_close, it will wait for the candle to confirm the signal before notifying.",display=display.none)
//------------------------------------------
// UDT_identifier |
//------------------------------------------
type OHLCV
float O = open
float H = high
float L = low
float C = close
float V = volume
type VolumeData
float buyVol
float sellVol
float pcBuy
float pcSell
bool isBuyGreater
float higherVol
float lowerVol
color higherCol
color lowerCol
//------------------------------------------
// Calculate volumes and percentages |
//------------------------------------------
calcVolumes(OHLCV ohlcv) =>
var VolumeData data = VolumeData.new()
data.buyVol := ohlcv.V * (ohlcv.C - ohlcv.L) / (ohlcv.H - ohlcv.L)
data.sellVol := ohlcv.V - data.buyVol
data.pcBuy := data.buyVol / ohlcv.V * 100
data.pcSell := 100 - data.pcBuy
data.isBuyGreater := data.buyVol > data.sellVol
data.higherVol := data.isBuyGreater ? data.buyVol : data.sellVol
data.lowerVol := data.isBuyGreater ? data.sellVol : data.buyVol
data.higherCol := data.isBuyGreater ? C_Up : C_Down
data.lowerCol := data.isBuyGreater ? C_Down : C_Up
data
//------------------------------------------
// Get volume data |
//------------------------------------------
ohlcv = OHLCV.new()
volData = calcVolumes(ohlcv)
// Plot volumes and create labels
plot(ohlcv.V, color=color.new(volData.higherCol, 90), style=plot.style_columns, title='Total',display = display.all - display.status_line)
plot(ohlcv.V, color=volData.higherCol, style=plot.style_stepline_diamond, title='Total2', linewidth = 2,display = display.pane)
plot(volData.higherVol, color=volData.higherCol, style=plot.style_columns, title='Higher Volume', display = display.all - display.status_line)
plot(volData.lowerVol , color=volData.lowerCol , style=plot.style_columns, title='Lower Volume',display = display.all - display.status_line)
S(D,F)=>str.tostring(D,F)
volStr = S(math.sign(ta.change(ohlcv.C)) * ohlcv.V, FV)
buyVolStr = S(volData.buyVol , FV )
sellVolStr = S(volData.sellVol , FV )
// ✅ MODIFICACIÓN: Porcentaje sin decimales
buyPercentStr = str.tostring(math.round(volData.pcBuy)) + " %"
sellPercentStr = str.tostring(math.round(volData.pcSell)) + " %"
totalbuyPercentC_ = volData.buyVol / (volData.buyVol + volData.sellVol) * 100
sup = not na(ohlcv.V)
if sup
TC = text.align_center
CW = color.white
var table tb = table.new(P_, 6, 6, bgcolor = na, frame_width = 2, frame_color = chart.fg_color, border_width = 1, border_color = CW)
tb.cell(0, 0, text = 'Volume Candles', text_color = #FFBF00, bgcolor = #0E2841, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 0, 5, 0)
tb.cell(0, 1, text = 'Current Volume', text_color = CW, bgcolor = #0B3040, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 1, 1, 1)
tb.cell(0, 2, text = 'Buy', text_color = #000000, bgcolor = #92D050, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 2, text = 'Sell', text_color = #000000, bgcolor = #FF0000, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 3, text = buyVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 3, text = sellVolStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(0, 5, text = 'Net: ' + volStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.merge_cells(0, 5, 1, 5)
tb.cell(0, 4, text = buyPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
tb.cell(1, 4, text = sellPercentStr, text_color = CW, bgcolor = #074F69, text_halign = TC, text_valign = TC, text_size = sT)
cellCount = 20
filledCells = 0
for r = 5 to 1 by 1
for c = 2 to 5 by 1
if filledCells < cellCount * (totalbuyPercentC_ / 100)
tb.cell(c, r, text = '', bgcolor = C_Up)
else
tb.cell(c, r, text = '', bgcolor = C_Down)
filledCells := filledCells + 1
filledCells
if Label
sp = ' '
l = label.new(bar_index, ohlcv.V,
text=str.format('Net: {0} Buy: {1} ({2}) Sell: {3} ({4}) {5}/\ {5}l {5}l',
volStr, buyVolStr, buyPercentStr, sellVolStr, sellPercentStr, sp),
style=label.style_none, textcolor=volData.higherCol, size=sL, textalign=text.align_left)
if not History
(l ).delete()
//------------------------------------------
// Draw volume levels on the candlesticks |
//------------------------------------------
float base = na,float value = na
bool uc = usecandle and sup
if volData.isBuyGreater
base := math.min(ohlcv.O, ohlcv.C)
value := base + math.abs(ohlcv.O - ohlcv.C) * (volData.pcBuy / 100)
else
base := math.max(ohlcv.O, ohlcv.C)
value := base - math.abs(ohlcv.O - ohlcv.C) * (volData.pcSell / 100)
barcolor(sup ? color.new(na, na) : ohlcv.C < ohlcv.O ? color.red : color.green,display = usecandle? display.all:display.none)
UseC = uc ? volData.higherCol:color.new(na, na)
plotcandle(uc?base:na, uc?base:na, uc?value:na, uc?value:na,
title='Body', color=UseC, bordercolor=na, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
plotcandle(uc?ohlcv.O:na, uc?ohlcv.H:na, uc?ohlcv.L:na, uc?ohlcv.C:na,
title='Fill', color=color.new(UseC,80), bordercolor=UseC, wickcolor=UseC,
display = usecandle ? display.all - display.status_line : display.none, force_overlay=true,editable=false)
//------------------------------------------------------------
// Plot the EMA and filter out the noise with volume control. |
//------------------------------------------------------------
float emaFast = ta.ema(ohlcv.C, emaFastLength)
float emaSlow = ta.ema(ohlcv.C, emaSlowLength)
bool signal = emaFast > emaSlow
color c_signal = signal ? C_Up : C_Down
float volumeMA = ta.sma(ohlcv.V, volumeConfirmationLength)
bool crossover = ta.crossover(emaFast, emaSlow)
bool crossunder = ta.crossunder(emaFast, emaSlow)
isVolumeConfirmed(source, length, ma) =>
math.sum(source > ma ? source : 0, length) >= math.sum(source < ma ? source : 0, length)
bool ISV = isVolumeConfirmed(ohlcv.V, volumeConfirmationLength, volumeMA)
bool crossoverConfirmed = crossover and (not useVolumeConfirmation or ISV)
bool crossunderConfirmed = crossunder and (not useVolumeConfirmation or ISV)
PF = MAV ? emaFast : na
PS = MAV ? emaSlow : na
p1 = plot(PF, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PF, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
p2 = plot(PS, color = c_signal, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 80), linewidth = 10, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 90), linewidth = 20, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 95), linewidth = 30, editable = false, force_overlay = true, display = display.pane)
plot(PS, color = color.new(c_signal, 98), linewidth = 45, editable = false, force_overlay = true, display = display.pane)
fill(p1, p2, top_value=crossover ? emaFast : emaSlow,
bottom_value =crossover ? emaSlow : emaFast,
top_color =color.new(c_signal, 80),
bottom_color =color.new(c_signal, 95)
)
// ✅ Usar colores configurables para señales
plotshape(crossoverConfirmed and MAV, style=shape.triangleup , location=location.belowbar, color=buySignalColor , size=size.small, force_overlay=true,display =display.pane)
plotshape(crossunderConfirmed and MAV, style=shape.triangledown, location=location.abovebar, color=sellSignalColor, size=size.small, force_overlay=true,display =display.pane)
string msg = '--------- '+"Buy volume ="+buyVolStr+" Buy Percent = "+buyPercentStr+" Sell volume = "+sellVolStr+" Sell Percent = "+sellPercentStr+" Net = "+volStr+' ---------'
if crossoverConfirmed
alert("Price (" + str.tostring(close) + ") Crossed over MA " + msg, alert_freq)
if crossunderConfirmed
alert("Price (" + str.tostring(close) + ") Crossed under MA " + msg, alert_freq)
Smartalgo gn1Smart Algo gives you clear entry & exit signals using advanced price action logic. Built for traders who want consistency and speed.
Flat Day PredictorAdvanced technical indicator that predicts low-volatility "flat" trading days using multi-factor analysis. Designed for day traders and scalpers who need to identify when markets are likely to trade sideways.
Key Features:
Real-time flat day probability calculation (0-100%)
8-factor scoring system combining volatility, volume, and momentum indicators
Visual table displaying all indicator values and overall signal strength
Color-coded alerts for high-probability flat day signals
Works on all timeframes, optimized for intraday trading
Indicators Analyzed:
VIX volatility levels
Bollinger Band width compression
RSI momentum neutrality
ATR trend declining
Volume below average
Daily range percentage
Price action patterns
Market regime detection
Signal Levels:
75%+ = VERY HIGH flat probability (Red alert)
62-74% = HIGH flat probability (Orange)
50-61% = MODERATE flat probability (Yellow)
Below 50% = Trending day likely (Green)
Usage:
Add to any chart and monitor the probability percentage. Higher scores indicate increased likelihood of sideways price action. Use for position sizing, strategy selection, and risk management during low-volatility periods.
EMA KitEMA Kit delivers multiple 1D EMA's wrapped into a single indicator.
I was annoyed with having a bunch of EMA indicators on the left side of my chart for each individual EMA I rely on, so I created a single indicator with all of them.
This EMA kit allows you to select any combination of the following EMA's: 3D, 5D, 8D, 21D, 34D, 50D, 100D, 200D, and 200W. They are all based on the 1D timeframe regardless of the timeframe you're currently viewing on your chart - for example, if you toggle from a Daily chart to a 15 minute chart, the EMA's won't change to reflect the 15 minute timeframe. EMA Kit smoothes the lines to prevent staggering on lower timeframes. You can change the color scheme and line thickness and even toggle between different line types like area, histogram, etc. You also have the option to turn end-of-line price labels on/off. Current price level for each EMA is highlighted on the price scale.
EMA/SMA Market Indicator V1 (Situational Awareness Uptrend)Red condition (highest priority in code)
Background = red if any of these are true:
Close < 10MA
OR Close < 20MA
OR (10MA and 20MA slopes ≤ threshold → “flat/down”)
Green condition (only if not red)
Background = green if:
(Close > 10MA or Close > 20MA)
AND Close > 50MA
Otherwise = nothing (transparent)
If neither red nor green is true → background is off.
So when is there no background?
Close is not below 10MA
Close is not below 20MA
MAs are not both flat/down
AND the price fails the “green test” (ex. under 50MA, or not above 10/20).
Uptrick: Volatility Weighted CloudIntroduction
The Volatility Weighted Cloud (VWC) is a trend-tracking overlay that combines adaptive volatility-based bands with a multi-source smoothed price cloud to visualize market bias. It provides users with a dynamic structure that adapts to volatility conditions while maintaining a persistent visual record of trend direction. By incorporating configurable smoothing techniques, percentile-ranked volatility, and multi-line cloud construction, the indicator allows traders to interpret price context more effectively without relying on raw price movement alone.
Overview
The script builds a smoothed price basis using the open, and close prices independently, and uses these to construct a layered visual cloud. This cloud serves both as a reference for price structure and a potential area of dynamic support and resistance. Alongside this cloud, adaptive upper and lower bands are plotted using volatility that scales with percentile rank. When price closes above or below these bands, the script interprets that as a breakout and updates the trend bias accordingly.
Candle coloring is persistent and reflects the most recent confirmed signal. Labels can optionally be placed on the chart when the trend bias flips, giving traders additional visual reference points. The indicator is designed to be both flexible and visually compact, supporting different strategies and timeframes through its detailed configuration options.
Originality
This script introduces originality through its combined use of percentile-ranked volatility, adaptive envelope sizing, and multi-source cloud construction. Unlike static-band indicators, the Volatility Weighted Cloud adjusts its band width based on where current volatility ranks within a defined lookback range. This dynamic scaling allows for smoother signal behavior during low-volatility environments and more responsive behavior during high-volatility phases.
Additionally, instead of using a single basis line, the indicator computes two separate smoothed lines for open and close. These are rendered into a shaded visual cloud that reflects price structure more completely than traditional moving average overlays. The use of ALMA and MAD, both less commonly applied in volatility-band overlays, adds further control over smoothing behavior and volatility measurement, enhancing its adaptability across different market types.
Inputs
Group: Core
Basis Length (short-term): The number of bars used for calculating the primary basis line. Affects how quickly the basis responds to price changes.
Basis Type: Option to choose between EMA and ALMA. EMA provides a standard exponential average; ALMA offers a centered, Gaussian-weighted average with reduced lag.
ALMA Offset: Determines the balance point of the ALMA window. Only applies when ALMA is selected.
Sigma: Sets the width of the ALMA smoothing window, influencing how much smoothing is applied.
Basis Smoothing EMA: Adds additional EMA-based smoothing to the computed basis line for noise reduction.
Group: Volatility & Bands
Volatility: Choose between StDev (standard deviation) and MAD (median absolute deviation) for measuring price volatility.
Vol Length (short-term): Length of the window used for calculating volatility.
Vol Smoothing EMA: Smooths the raw volatility value to stabilize band behavior.
Min Multiplier: Minimum multiplier applied to volatility when forming the adaptive bands.
Max Multiplier: Maximum multiplier applied at high volatility percentile.
Volatility Rank Lookback: Number of bars used to calculate the percentile rank of current volatility.
Show Adaptive Bands: Enables or disables the display of upper and lower volatility bands on the chart.
Group: Trend Switch Labels
Show Trend Switch Labels: Toggles the appearance of labels when the trend direction changes.
Label Anchor: Defines whether the labels are anchored to recent highs/lows or to the main basis line.
ATR Length (offset): Length used for calculating ATR, which determines label offset distance.
ATR Offset (multiplier): Multiplies the ATR value to place labels away from price bars for better visibility.
Label Size: Allows selection of label size (tiny to huge) to suit different chart setups.
Features
Adaptive Volatility Bands: The indicator calculates volatility using either standard deviation or MAD. It then applies an EMA smoothing layer and scales the band width dynamically based on the percentile rank of volatility over a user-defined lookback window. This avoids fixed-width bands and allows the indicator to adapt to changing volatility regimes in real time.
Volatility Method Options: Users can switch between two volatility measurement methods:
➤ Standard Deviation (StDev): Captures overall price dispersion, but may be sensitive to spikes.
➤ Median Absolute Deviation (MAD): A more robust measure that reduces the effect of outliers, making the bands less jumpy during erratic price behavior.
Basis Type Options: The core price basis used for cloud and bands can be built from:
➤ Exponential Moving Average (EMA): Fast-reacting and widely used in trend systems.
➤ Arnaud Legoux Moving Average (ALMA): A smoother, more centered alternative that offers greater control through offset and sigma parameters.
Multi-Line Basis Cloud: The cloud is formed by plotting two individually smoothed basis lines from open and close prices. A filled area is created between the open and close basis lines. This cloud serves as a dynamic support or resistance zone, allowing users to identify possible reversal areas. Price moving through or rejecting from the cloud can be interpreted contextually, especially when combined with band-based signals.
Persistent Trend Bias Coloring: The indicator uses the last confirmed breakout (above upper band or below lower band) to determine bias. This bias is reflected in the color of every subsequent candle, offering a persistent visual cue until a new signal is triggered. It helps simplify trend recognition, especially in choppy or sideways markets.
Trend Switch Labels: When enabled, the script places labeled markers at the exact bar where the bias direction switches. Labels are anchored either to recent highs/lows or to the main basis line, and spaced vertically using an ATR-based offset. This allows the trader to quickly locate historical trend transitions.
Alert Conditions: Two built-in alert conditions are available:
➤ Long Signal: Triggered when the close crosses above the upper adaptive band.
➤ Short Signal: Triggered when the close crosses below the lower adaptive band.
These conditions can be used for custom alerts, automation, or external signaling tools.
Display Control and Flexibility: Users can disable the adaptive bands for a cleaner layout while keeping the basis cloud and candle coloring active. The indicator can be tuned for fast or slow response depending on the strategy in use, and is suitable for intraday, swing, or position trading.
Summary
The Volatility Weighted Cloud is a configurable trend-following overlay that uses adaptive volatility bands and a structured cloud system to help visualize market bias. By combining EMA or ALMA smoothing with percentile-ranked volatility and a four-line price structure, it provides a flexible and informative charting layer. Its key strengths lie in the use of dynamic envelopes, visually persistent trend indication, and clearly defined breakout zones that adapt to current volatility conditions.
Disclaimer
This indicator is for informational and educational purposes only. Trading involves risk and may not be suitable for all investors. Past performance does not guarantee future results.
Best MA Finder: Sharpe/Sortino ScannerThis script, Best MA Finder: Sharpe/Sortino Scanner, is a tool designed to identify the moving average (SMA or EMA) that best acts as a dynamic trend threshold on a chart, based on risk-adjusted historical performance. It scans a wide range of MA lengths (SMA or EMA) and selects the one whose simple price vs MA crossover delivered the strongest results using either the Sharpe ratio or the Sortino ratio. Reading it is intuitive: when price spent time above the selected MA, conditions were on average more favorable in the backtest; below, less favorable. It is a trend and risk gauge, not an overbought or oversold signal.
What it does:
- Runs individual long-only crossover backtests for many MA lengths across short to very long horizons.
- For each length, measures the total number of trades, the annualized Sharpe ratio, and the annualized Sortino ratio.
- Uses the chosen metric value (Sharpe or Sortino) as the score to rank candidates.
- Applies a minimum trade filter to discard statistically weak results.
- Optionally applies a local stability filter to prefer a length that also outperforms its close neighbors by at least a small margin.
- Selects the optimal MA and displays it on the chart with a concise summary table.
How to use it:
- Choose MA type: SMA or EMA.
- Choose the metric: Sharpe or Sortino.
- Set the minimum trade count to filter out weak samples.
- Select the risk-free mode:
Auto: uses a short-term risk-free rate for USD-priced symbols when available.
Manual: you provide a risk-free ticker.
None: no risk-free rate.
- Optionally enable stability controls: neighbor radius and epsilon.
- Toggle the on-chart summary table as needed.
On-chart output:
- The selected optimal MA is plotted.
- The optional table shows MA length, number of trades, chosen metric value annualized, and the annual risk-free rate used.
Key features:
- Risk-adjusted optimization via Sharpe or Sortino for fair, comparable assessment.
- Broad MA scan with SMA and EMA support.
- Optional stability filter to avoid one-off spikes.
- Clear and auditable presentation directly on the chart.
Use cases:
- Traders who want a defensible, data-driven trend threshold without manual trial and error.
- Swing and trend-following workflows across timeframes and asset classes.
- Quick SMA vs EMA comparisons using risk-adjusted results.
Limitations:
- Not a full trading strategy with position sizing, costs, funding, slippage, or stops.
- Long-only, one position at a time.
- Discrete set of MA lengths, not a continuous optimizer.
- Requires sufficient price history and, if used, a reliable risk-free series.
This script is open-source and built from original logic. It does not replicate closed-source scripts or reuse significant external components.
Smart TP Manager V.1.1 (SL trail par TP)🔹 Smart TP Manager V1.1 – Trade Management Advanced
A powerful TradingView tool designed to enhance trade management and protect profits.
Features:
Automatically detect Long/Short signals using EMA crossovers, RSI filter, higher-timeframe EMA trend, and ADX strength.
Calculate and display a dynamic Stop Loss based on ATR.
Automatically set TP1, TP2, TP3 with advanced Breakeven management:
SL moves to Entry after TP1 hit
SL moves to TP1 after TP2 hit, securing partial profits
Track your performance with a comprehensive statistics table (Win/Loss, BE, win rate, net profit in R).
Clear visual display of entries, SL, and TPs using colored lines and labels.
Receive automatic alerts for every signal and target reached.
Optional SL trailing feature to secure profits progressively as targets are hit.
📊 Smart TP Manager V1.1 is your assistant for risk control, trade optimization, and profit protection on TradingView.
MA“5 / 10 / 20 / 60 / 240 Moving Averages, with a red background automatically highlighted when MA5 > MA10 > MA20.”
FSVZO | Lyro RSFSVZO | Lyro RS
This script is a technical analysis tool called the FSVZO, or Fourier Smoothed Volume Zone Oscillator. It is designed to analyze market momentum and trend strength by combining price and volume data with advanced smoothing techniques. The goal is to help identify potential trends, overbought/oversold conditions, and divergence signals in a clear visual format.
Understanding the Indicator's Components
The indicator plots a main oscillator line and several supporting elements on a separate pane below the chart.
The Main Oscillator: This is the primary, colored wave. Its movement and color are key to interpretation.
Trend Direction: The color shifts between bullish and bearish tones based on the momentum of the oscillator. This provides a quick visual reference for the prevailing short-term trend.
Key Levels: Horizontal lines mark significant levels such as +60, +85, -60, and -85. Movements above +60 or below -60 can indicate strong momentum, while approaches to the extreme levels (+85/-85) may suggest overbought or oversold conditions.
Divergence Detection: The indicator can plot labels ("ℝ" for Regular, "ℍ" for Hidden) on the oscillator to signal potential divergences. These occur when the indicator's direction differs from the price action on the main chart and can sometimes foreshadow reversals or continuations.
Moving Average (MA): A central moving average line, based on the oscillator, helps to smooth out the data further and can act as a dynamic support or resistance level within the indicator pane.
White Noise Filter (Optional): This feature displays a histogram that represents market noise. It can be toggled on or off. Analyzing the histogram's behavior may provide additional context on the stability or volatility of the current trend.
Dynamic Background: The background of the indicator pane can change color to highlight periods where the momentum is particularly strong, based on the position of the moving average.
Suggested Use and Interpretation
Traders might use this indicator in several ways:
Trend Identification: Observe the color and position of the main oscillator. A predominantly bullish-colored oscillator above the zero line may suggest an upward trend, while a bearish-colored one below zero may suggest a downward trend.
Signal Confirmation: Look for the oscillator to cross key levels (like +/-40 or +/-60) in the direction of a suspected trend as a confirmation signal.
Divergence Analysis: When the price makes a new high or low that is not confirmed by a new high or low on the FSVZO oscillator (a divergence), it can be a warning of potential weakness in the trend. The "ℝ" and "ℍ" labels help to identify these scenarios.
Extreme Readings: Readings near the +85 or -85 levels can indicate that a price move may be overextended, which could precede a pause or reversal.
Customization Options
The indicator includes settings groups that allow you to adjust its behavior and appearance:
FSVZO Settings: Adjust parameters like Length and Sensitivity to make the oscillator more or less responsive to market movements.
Signals & Display: Modify visual aspects such as Smooth Length and Glowing Amount, or toggle features like the dynamic background on and off.
Colors: Choose from several pre-set color palettes to suit your visual preferences.
⚠️Disclaimer
This indicator is a tool for technical analysis and does not provide guaranteed results. It should be used in conjunction with other analysis methods and proper risk management practices. The creators of this indicator are not responsible for any financial decisions made based on its signals.
UKDT Level 1 short average bias indicatorUKDT Level 1 short average bias indicator.
Short averages displayed with bias indicator background colours.
All configurable in settings.
10MAs + BB10 MAs riboon + Bollinger Bands
I used two basic Multiple MA ribbons. so I just merge them to one indicaotor
Disparity Index with 4 EMAsDisparity Index with 4 EMAs
(ema - close ) / ema * 100
or
(ema - close0 / close * 100
Ultra Simple ReversalThis is a simple script that combines Key Features:
✅ No plotting - Only text labels and candle color changes
✅ Reversal candle detection - Changes candle color on high-probability signals
✅ BUY/SELL text labels - Clear directional signals
✅ Four-module confluence - SSL + Squeeze + MTF Pivots + ORB Breakout
✅ Non-repainting - Reliable signals using proper security calls
✅ Pine Script v6 compatible - All syntax errors fixed
EMA Regime (9/20/50/100/200) — Stacked with 200 FilterEMA Regime (9/20/50/100/200) — Stacked Long/Short Box
Plots the 9, 20, 50, 100, and 200 EMAs on the chart.
Checks if price is above or below each EMA and whether the EMAs are stacked in order.
LONG signal: price above all selected EMAs and EMAs stacked 9 > 20 > 50 > 100 >(> 200 if strict mode on).
SHORT signal: price below all selected EMAs and EMAs stacked 9 < 20 < 50 < 100 (< 200 if strict mode on).
Shows a two-row table (LONGS / SHORTS) so you can quickly see which EMAs are aligned.
Optionally colors candles green/red when a full long/short regime is active.
Can show labels when a new LONG or SHORT condition appears.
Has alerts you can use for automated notifications when the regime flips.
“Use 200 EMA in the stack” lets you choose ultra-strict mode (9>20>50>100>200) or lighter mode (9>20>50>100 but price & 9 above 200).
TW All in OneIts a overlap strategy, giving signals for buy and sell.
Mostly suitable for Bank Nifty. Nifty and crude oil
Capitulation DayThe idea is that when US indexes are >10% below their 50,100,200sma it is a capitulation day.
MajorTop DeltaVol ma5-52wThe idea is to identify major tops on the weekly when both are above 0 at the same time; to look just for mkt tops.
Major tops use to drag on for a little with increasing volatility before crashing.
green is 5-52sma
fuchsia 3-9sma
Sma are on the candle's range ratio on the close.
Universal Valuation ~ GForge
🎯 Universal Valuation - GForge
Overview:
The Universal Valuation indicator is a sophisticated technical analysis tool that combines 14 different technical indicators into a single, normalized composite Z-score. This revolutionary approach provides traders and investors with a comprehensive view of an asset's relative valuation state, helping identify potential overvalued and undervalued conditions across any market, any timeframe .
🌟 Key Features:
Multi-Indicator Fusion: Combines RSI, CCI, Bollinger Bands, Price Analysis, Chande Momentum, Disparity Index, Hurst Exponent, IMI, TEMA, VWAP, Intraday Momentum, and advanced Risk Ratios (Sharpe, Sortino, Omega)
Universal Compatibility: Works seamlessly across stocks, forex, crypto, commodities, indices, and any tradeable asset
Multi-Timeframe Support: Optimized for all timeframes from 1-minute scalping to monthly long-term analysis
Professional Visualization: 9 stunning color themes with gradient effects and customizable styling
Comprehensive Dashboard: Real-time table displaying individual indicator scores and overall valuation phase
Smart Alert System: Built-in notifications for extreme valuation conditions
Z-Score Normalization: All indicators standardized for consistent comparison and interpretation
🔬 Technical Methodology:
The indicator employs advanced statistical normalization using Z-scores to transform disparate technical indicators into a unified measurement system. This revolutionary approach solves the fundamental problem of combining indicators with different scales and ranges.
1H MNT
Z-Score Normalization Process:
Raw Calculation: Each indicator is first calculated using its traditional formula (RSI 0-100, CCI unlimited range, etc.)
Statistical Analysis: For each indicator, the system calculates a rolling mean and standard deviation over a customizable lookback period
Z-Score Conversion: Current reading is converted using: Z = (Current Value - Rolling Mean) / Rolling Standard Deviation
Standardization: All Z-scores are clamped between -5 and +5 to prevent extreme outliers from dominating the composite
Democratic Weighting: Each normalized indicator contributes equally to the final composite score
Composite Calculation: Final score = Sum of all active Z-scores / Number of active indicators
Why Z-Scores Make It Universal:
Z-scores transform any indicator reading into "how many standard deviations away from normal this reading is." This means:
• An RSI of 85 on a volatile crypto might have the same Z-score as an RSI of 75 on a stable stock
• A CCI reading of +200 in a trending market might be less extreme than +100 in a ranging market
• Price movements are automatically adjusted for each asset's historical volatility
• Different timeframes are automatically normalized for their typical volatility patterns
This mathematical approach ensures the indicator adapts to any asset's unique characteristics and market conditions.
📊 Detailed Component Analysis:
Technical Indicators:
RSI (Relative Strength Index):
Calculates momentum by comparing recent gains to recent losses over a customizable period (default 21). Values above 70 traditionally indicate overbought conditions, while values below 30 suggest oversold conditions. The Universal Valuation converts these raw RSI values into Z-scores, providing a normalized view of how extreme current RSI readings are compared to historical patterns.
CCI (Commodity Channel Index):
Measures the current price level relative to an average price level over a given period (default 30). CCI compares the typical price (high+low+close)/3 to its simple moving average and divides by the mean absolute deviation. Values above +100 or below -100 indicate price extremes. Our Z-score normalization helps identify when CCI readings are statistically significant.
Bollinger Bands Position:
Calculates where the current price sits within the Bollinger Bands envelope. A value of +1 means price is at the upper band, -1 at the lower band, and 0 at the middle (SMA). This component measures price deviation from the mean in standard deviation units, making it naturally statistical. The Z-score normalization reveals when band position readings are historically extreme.
Price Z-Score:
Direct statistical measurement of how far the current price deviates from its historical mean in standard deviation units. This is the purest form of valuation measurement, showing whether an asset is trading at statistically significant levels relative to its historical price range.
Momentum Indicators:
Chande Momentum Oscillator (CMO):
Unlike RSI, CMO uses the sum of gains and losses rather than averages, making it more sensitive to recent price changes. It calculates (sum of gains - sum of losses) / (sum of gains + sum of losses) × 100. Values range from -100 to +100. The Z-score normalization helps identify when momentum readings are unusually extreme.
Disparity Index:
Measures the percentage difference between current price and its simple moving average: (Price - SMA) / SMA × 100. This shows how far price has deviated from its average, with positive values indicating price above average and negative values below. Z-score normalization reveals when these deviations are statistically significant.
Intraday Momentum Index (IMI):
Similar to RSI but uses intraday price movements instead of closing prices. It compares gains and losses within each session (close vs open) rather than session-to-session changes. This captures intraday sentiment and momentum that closing-based indicators might miss. Particularly useful for detecting intraday reversal patterns.
Intraday Momentum:
Simple but effective measurement of daily price movement: (Close - Open) / Open × 100. This shows the percentage gain or loss within each trading session. When Z-score normalized, it reveals when intraday movements are historically extreme, often indicating climax buying or selling conditions.
Advanced Indicators:
TEMA (Triple Exponential Moving Average):
A sophisticated moving average that applies exponential smoothing three times to reduce lag while maintaining responsiveness. TEMA = 3×EMA₁ - 3×EMA₂ + EMA₃, where each EMA is applied to the previous result. The Z-score of TEMA helps identify when price has moved significantly away from this responsive trend line.
VWAP (Volume Weighted Average Price):
Calculates the average price weighted by volume, giving more importance to prices where more volume occurred. VWAP = Σ(Price × Volume) / Σ(Volume). This represents the "fair value" based on actual trading activity. Z-score normalization shows when current VWAP is statistically extreme relative to historical VWAP levels.
Hurst Exponent:
Advanced mathematical concept measuring market efficiency and trend persistence. Values near 0.5 indicate random walk (efficient market), above 0.5 suggest trending behavior, and below 0.5 indicate mean-reverting markets. The indicator converts this to an oscillator: (Hurst - 0.5) × 100, then applies Z-score normalization to identify extreme efficiency/inefficiency periods.
Risk Ratios:
Sharpe Ratio:
Classic risk-adjusted return measure: (Return - Risk-free Rate) / Standard Deviation of Returns. Higher values indicate better risk-adjusted performance. The Z-score normalization reveals when current risk-adjusted returns are historically high or low, helping identify periods of exceptional or poor risk-adjusted performance.
Sortino Ratio:
Improvement over Sharpe ratio that only penalizes downside volatility: (Return - Risk-free Rate) / Downside Deviation. This gives a more accurate picture of risk-adjusted returns since upside volatility isn't necessarily bad. Z-score normalization helps identify when downside risk-adjusted returns reach extreme levels.
Omega Ratio:
Sophisticated risk measure that considers the probability-weighted ratio of gains versus losses above a threshold: Σ(Gains above threshold) / Σ(Losses below threshold). Values above 1.0 indicate positive expected returns above the threshold. Z-score normalization reveals when probability-weighted risk/reward ratios reach historically significant levels.
🎨 Valuation Phases:
The composite Z-score translates into clear valuation phases:
🔵 Extremely Undervalued: Z-Score ≤ -2.0 (Rare buying opportunities)
🟦 Strongly Undervalued: Z-Score ≤ -1.3 (Strong buying signals)
🟨 Moderately Undervalued: Z-Score ≤ -0.65 (Potential value plays)
⚪ Fairly Valued: Z-Score -0.65 to 0.5 (Neutral territory)
🟨 Slightly Overvalued: Z-Score 0.5 to 1.2 (Caution advised)
🟧 Moderately Overvalued: Z-Score 1.2 to 2.0 (Consider profit-taking)
🔴 Strongly Overvalued: Z-Score > 2.0 (High risk, potential sell signals)
12H GOLD
🌍 Universal Application:
Why "Universal"?
Timeframe Independent: Statistical normalization adapts to any timeframe's volatility characteristics
Market Neutral: Works across different market conditions (trending, ranging, volatile, calm)
Configurable Components: Enable/disable specific indicators based on asset type and market conditions
Adaptive Parameters: All lookback periods are customizable for different trading styles
💡 Optimal Use Cases:
Swing Trading: Identify intermediate-term reversal points
Position Trading: Long-term value assessment for portfolio allocation
Day Trading: Intraday extreme condition alerts
Risk Management: Position sizing based on valuation extremes
Multi-Asset Analysis: Compare relative value across different instruments
Market Timing: Entry and exit point optimization
⚙️ Customization Options:
Component Selection: Enable/disable any of the 14 indicators
Lookback Periods: Adjust Z-score calculation periods for each component
Visual Themes: 9 professional color schemes plus custom colors
Alert Thresholds: Configurable extreme condition notifications
Dashboard Display: Toggle individual component visibility
Background Highlighting: Visual emphasis for extreme conditions
🎯 Interpretation Guide:
For Long Positions:
• Look for Z-scores below -1.3 for entry opportunities
• Consider profit-taking when Z-scores exceed +1.2
• Use extreme readings (< -2.0) for high-conviction entries
For Short Positions:
• Look for Z-scores above +2.0 for entry opportunities
• Cover positions when Z-scores fall below +0.5
• Avoid shorting during extreme undervaluation (< -1.3)
For Risk Management:
• Reduce position sizes during overvalued conditions
• Increase allocation during undervalued periods
• Use neutral zones (±0.5) for position adjustments
🔔 Alert System:
Built-in alerts notify you when:
Composite score enters/exits strong overvalued territory (±2.0)
Composite score enters/exits strong undervalued territory (±1.3)
Extreme conditions are reached (±2.5 for overvalued, -2.0 for undervalued)
Neutral crossovers occur (useful for trend changes)
📈 Performance Optimization:
The indicator includes several performance optimizations:
Efficient calculation methods to minimize processing load
Clamped Z-scores to prevent extreme outliers
Optimized table rendering for smooth operation
🎨 Visual Elements:
Main Plot: Composite Z-score line with dynamic gradient coloring
Zone Fills: Visual bands showing valuation regions
Reference Lines: Key threshold levels clearly marked
Background Highlighting: Extreme condition emphasis
Dashboard Table: Comprehensive component breakdown
Bar Coloring: Optional candlestick coloring based on valuation
🔧 Technical Requirements:
Requires sufficient historical data for accurate Z-score calculations
Recommended minimum: 300+ bars for optimal performance
Works on all TradingView subscription levels
📚 Educational Value:
This indicator serves as an excellent educational tool for:
Understanding statistical normalization in trading
Learning how multiple indicators can be combined effectively
Studying market valuation concepts across different assets
Developing a systematic approach to market analysis
⚠️ Important Notes:
The indicator works best with sufficient historical data
Consider market context and fundamental factors alongside technical signals
Backtest thoroughly before implementing in live trading
Adjust parameters based on specific asset characteristics and trading timeframe
Use in conjunction with other analysis methods for best results
---
⚠️ DISCLAIMER:
This indicator is provided for educational and informational purposes only and should not be considered as financial advice, investment advice, trading advice, or any other type of advice.
The Universal Valuation indicator is a technical analysis tool that provides statistical information about price movements and market conditions. It does not guarantee profits or predict future market movements with certainty.
---
Developed with precision for the TradingView community ~ GForge
Bullish_1Hour_entry_Indicator with AlertsIt uses EMAs convergence & VWAP confirmation along with multi Time frame analysis






















