Filter Volume1. Indicator Name
Filter Volume
2. One-line Introduction
A regression-based trend filter that quantifies and visualizes market direction and strength using price behavior.
3. Overall Description
Filter Volume+ is a trend-detection indicator that uses linear regression to evaluate the dominant direction of price movement over a given period.
It compares historical regression values to determine whether the market is in a bullish, bearish, or neutral state.
The indicator applies a percentage threshold to filter out weak or indecisive trends, highlighting only significant movements.
Each trend state is visualized through distinct colors: bullish (greenish), bearish (reddish), and neutral (gray), with intensity reflecting trend strength.
To reduce noise and create smooth visual signals, a three-step smoothing process is applied to the raw trend intensity.
Users can customize the regression source, lookback period, and sensitivity, allowing the indicator to adapt to various assets and timeframes.
This tool is especially useful in filtering entry signals based on clear directional bias, making it suitable for trend-following or confirmation strategies.
4. Key Benefits (Title + Description)
✅ Quantified Trend Strength
Only displays trend signals when a statistically significant direction is detected using linear regression comparisons.
✅ Visual Clarity with Color Coding
Each market state (bullish, bearish, neutral) is represented with distinct colors and transparency, enabling fast interpretation.
✅ Custom Regression Source
Users can define the data input (e.g., close, open, indicator output) for regression calculation, increasing strategic flexibility.
✅ Multi-Level Smoothing
Applies three layers of smoothing (via moving averages) to eliminate noise and produce a stable, flowing trend curve.
✅ Area Fill Visualization
Plots a colored band between the trend value and zero-line, helping users quickly gauge the market's dominant force.
✅ Adjustable Sensitivity Settings
Includes tolerance and lookback controls, allowing traders to fine-tune how reactive or conservative the trend detection should be.
5. Indicator User Guide
📌 Basic Concept
Filter Volume+ assesses the direction of price by comparing regression values over a selected period.
If the percentage of upward comparisons exceeds a threshold, a bullish state is shown; if downward comparisons dominate, it shows a bearish state.
⚙️ Settings Overview
Lookback Period (n): The number of bars to compare for trend analysis
Range Tolerance (%): Minimum threshold for declaring a strong trend
Regression Source: The data used for regression (e.g., close, open)
Linear Regression Length: Number of bars used to compute each regression value
Bull/Bear Color: Custom colors for bullish and bearish trends
📈 Example Timing
When the trend line stays above zero and the green color intensity increases → trend gaining strength
After a neutral phase (gray), the color shifts quickly to greenish → early trend reversal
📉 Example Timing
When the trend line stays below zero with deepening red color → strong bearish continuation
Sudden change from bullish to bearish color with rising intensity
🧪 Recommended Use
Use as a trend confirmation filter alongside entry/exit strategies
Ideal for swing or position trades in trending markets
Combine with oscillators like RSI or MACD for improved signal validation
🔒 Cautions
In ranging (sideways) markets, the color may change frequently – avoid relying solely on this indicator in those zones.
Low-intensity colors (faded) suggest weak trends – better to stay on the sidelines.
A short lookback period may cause over-sensitivity and false signals.
When using non-price regression sources, expect the indicator to behave differently – test before deploying.
+++
Indicatori e strategie
Pivot Points Standard + 9/20/50/200 EMA by NK//@version=6
indicator("Pivot Points Standard + 9/20/50/200 EMA", "Pivots+EMA", overlay=true, max_lines_count=500, max_labels_count=500)
// --- EMA calculations and plots
ema9 = ta.ema(close, 9)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
plot(ema9, color=color.green, linewidth=2, title="EMA 9")
plot(ema20, color=color.red, linewidth=2, title="EMA 20")
plot(ema50, color=color.new(color.blue, 0), linewidth=2, title="EMA 50") // dark blue
plot(ema200, color=color.black, linewidth=2, title="EMA 200")
// --- Pivots Inputs
pivotTypeInput = input.string(title="Type", defval="Traditional", options= )
pivotAnchorInput = input.string(title="Pivots Timeframe", defval="Auto", options= )
maxHistoricalPivotsInput = input.int(title="Number of Pivots Back", defval=15, minval=1, maxval=200, display = display.data_window)
isDailyBasedInput = input.bool(title="Use Daily-based Values", defval=true, display = display.data_window, tooltip="When this option is unchecked, Pivot Points will use intraday data while calculating on intraday charts. If Extended Hours are displayed on the chart, they will be taken into account during the pivot level calculation. If intraday OHLC values are different from daily-based values (normal for stocks), the pivot levels will also differ.")
showLabelsInput = input.bool(title="Show Labels", defval=true, group="labels", display = display.data_window)
showPricesInput = input.bool(title="Show Prices", defval=true, group="labels", display = display.data_window)
positionLabelsInput = input.string("Left", "Labels Position", options= , group="labels", display = display.data_window, active = showLabelsInput or showPricesInput)
linewidthInput = input.int(title="Line Width", defval=1, minval=1, maxval=100, group="levels", display = display.data_window)
DEFAULT_COLOR = #FB8C00
showLevel2and3 = pivotTypeInput != "DM"
showLevel4 = pivotTypeInput != "DM" and pivotTypeInput != "Fibonacci"
showLevel5 = pivotTypeInput == "Traditional" or pivotTypeInput == "Camarilla"
pColorInput = input.color(DEFAULT_COLOR, "P ", inline="P", group="levels", display = display.data_window)
pShowInput = input.bool(true, "", inline="P", group="levels", display = display.data_window)
s1ColorInput = input.color(DEFAULT_COLOR, "S1", inline="S1/R1" , group="levels", display = display.data_window)
s1ShowInput = input.bool(true, "", inline="S1/R1", group="levels", display = display.data_window)
r1ColorInput = input.color(DEFAULT_COLOR, " R1", inline="S1/R1", group="levels", display = display.data_window)
r1ShowInput = input.bool(true, "", inline="S1/R1", group="levels", display = display.data_window)
s2ColorInput = input.color(DEFAULT_COLOR, "S2", inline="S2/R2", group="levels", display = display.data_window, active = showLevel2and3)
s2ShowInput = input.bool(true, "", inline="S2/R2", group="levels", display = display.data_window, active = showLevel2and3)
r2ColorInput = input.color(DEFAULT_COLOR, " R2", inline="S2/R2", group="levels", display = display.data_window, active = showLevel2and3)
r2ShowInput = input.bool(true, "", inline="S2/R2", group="levels", display = display.data_window, active = showLevel2and3)
s3ColorInput = input.color(DEFAULT_COLOR, "S3", inline="S3/R3", group="levels", display = display.data_window, active = showLevel2and3)
s3ShowInput = input.bool(true, "", inline="S3/R3", group="levels", display = display.data_window, active = showLevel2and3)
r3ColorInput = input.color(DEFAULT_COLOR, " R3", inline="S3/R3", group="levels", display = display.data_window, active = showLevel2and3)
r3ShowInput = input.bool(true, "", inline="S3/R3", group="levels", display = display.data_window, active = showLevel2and3)
s4ColorInput = input.color(DEFAULT_COLOR, "S4", inline="S4/R4", group="levels", display = display.data_window, active = showLevel4)
s4ShowInput = input.bool(true, "", inline="S4/R4", group="levels", display = display.data_window, active = showLevel4)
r4ColorInput = input.color(DEFAULT_COLOR, " R4", inline="S4/R4", group="levels", display = display.data_window, active = showLevel4)
r4ShowInput = input.bool(true, "", inline="S4/R4", group="levels", display = display.data_window, active = showLevel4)
s5ColorInput = input.color(DEFAULT_COLOR, "S5", inline="S5/R5", group="levels", display = display.data_window, active = showLevel5)
s5ShowInput = input.bool(true, "", inline="S5/R5", group="levels", display = display.data_window, active = showLevel5)
r5ColorInput = input.color(DEFAULT_COLOR, " R5", inline="S5/R5", group="levels", display = display.data_window, active = showLevel5)
r5ShowInput = input.bool(true, "", inline="S5/R5", group="levels", display = display.data_window, active = showLevel5)
type graphicSettings
string levelName
color levelColor
bool showLevel
var graphicSettingsArray = array.from(
graphicSettings.new(" P", pColorInput, pShowInput),
graphicSettings.new("R1", r1ColorInput, r1ShowInput), graphicSettings.new("S1", s1ColorInput, s1ShowInput),
graphicSettings.new("R2", r2ColorInput, r2ShowInput), graphicSettings.new("S2", s2ColorInput, s2ShowInput),
graphicSettings.new("R3", r3ColorInput, r3ShowInput), graphicSettings.new("S3", s3ColorInput, s3ShowInput),
graphicSettings.new("R4", r4ColorInput, r4ShowInput), graphicSettings.new("S4", s4ColorInput, s4ShowInput),
graphicSettings.new("R5", r5ColorInput, r5ShowInput), graphicSettings.new("S5", s5ColorInput, s5ShowInput))
autoAnchor = switch
timeframe.isintraday => timeframe.multiplier <= 15 ? "1D" : "1W"
timeframe.isdaily => "1M"
=> "12M"
pivotTimeframe = switch pivotAnchorInput
"Auto" => autoAnchor
"Daily" => "1D"
"Weekly" => "1W"
"Monthly" => "1M"
"Quarterly" => "3M"
=> "12M"
pivotYearMultiplier = switch pivotAnchorInput
"Biyearly" => 2
"Triyearly" => 3
"Quinquennially" => 5
"Decennially" => 10
=> 1
numOfPivotLevels = switch pivotTypeInput
"Traditional" => 11
"Camarilla" => 11
"Woodie" => 9
"Classic" => 9
"Fibonacci" => 7
"DM" => 3
type pivotGraphic
line pivotLine
label pivotLabel
method delete(pivotGraphic graphic) =>
graphic.pivotLine.delete()
graphic.pivotLabel.delete()
var drawnGraphics = matrix.new()
localPivotTimeframeChange = timeframe.change(pivotTimeframe) and year % pivotYearMultiplier == 0
securityPivotTimeframeChange = timeframe.change(timeframe.period) and year % pivotYearMultiplier == 0
pivotTimeframeChangeCounter(condition) =>
var count = 0
if condition and bar_index > 0
count += 1
count
localPivots = ta.pivot_point_levels(pivotTypeInput, localPivotTimeframeChange)
securityPivotPointsArray = ta.pivot_point_levels(pivotTypeInput, securityPivotTimeframeChange)
securityTimeframe = timeframe.isintraday ? "1D" : timeframe.period
= request.security(syminfo.tickerid, pivotTimeframe, , lookahead = barmerge.lookahead_on)
pivotPointsArray = isDailyBasedInput ? securityPivots : localPivots
affixOldPivots(endTime) =>
if drawnGraphics.rows() > 0
lastGraphics = drawnGraphics.row(drawnGraphics.rows() - 1)
for graphic in lastGraphics
graphic.pivotLine.set_x2(endTime)
if positionLabelsInput == "Right"
graphic.pivotLabel.set_x(endTime)
drawNewPivots(startTime) =>
newGraphics = array.new()
for in pivotPointsArray
levelSettings = graphicSettingsArray.get(index)
if not na(coord) and levelSettings.showLevel
lineEndTime = startTime + timeframe.in_seconds(pivotTimeframe) * 1000 * pivotYearMultiplier
pivotLine = line.new(startTime, coord, lineEndTime, coord, xloc = xloc.bar_time, color=levelSettings.levelColor, width=linewidthInput)
pivotLabel = label.new(x = positionLabelsInput == "Left" ? startTime : lineEndTime,
y = coord,
text = (showLabelsInput ? levelSettings.levelName + " " : "") + (showPricesInput ? "(" + str.tostring(coord, format.mintick) + ")" : ""),
style = positionLabelsInput == "Left" ? label.style_label_right : label.style_label_left,
textcolor = levelSettings.levelColor,
color = #00000000,
xloc=xloc.bar_time)
newGraphics.push(pivotGraphic.new(pivotLine, pivotLabel))
drawnGraphics.add_row(array_id = newGraphics)
if drawnGraphics.rows() > maxHistoricalPivotsInput
oldGraphics = drawnGraphics.remove_row(0)
for graphic in oldGraphics
graphic.delete()
localPivotDrawConditionStatic = not isDailyBasedInput and localPivotTimeframeChange
securityPivotDrawConditionStatic = isDailyBasedInput and securityPivotCounter != securityPivotCounter
var isMultiYearly = array.from("Biyearly", "Triyearly", "Quinquennially", "Decennially").includes(pivotAnchorInput)
localPivotDrawConditionDeveloping = not isDailyBasedInput and time_close == time_close(pivotTimeframe) and not isMultiYearly
securityPivotDrawConditionDeveloping = false
if (securityPivotDrawConditionStatic or localPivotDrawConditionStatic)
affixOldPivots(time)
drawNewPivots(time)
var FIRST_BAR_TIME = time
if (barstate.islastconfirmedhistory and drawnGraphics.columns() == 0)
if not na(securityPivots) and securityPivotCounter > 0
if isDailyBasedInput
drawNewPivots(FIRST_BAR_TIME)
else
runtime.error("Not enough intraday data to calculate Pivot Points. Lower the Pivots Timeframe or turn on the 'Use Daily-based Values' option in the indicator settings.")
else
runtime.error("Not enough data to calculate Pivot Points. Lower the Pivots Timeframe in the indicator settings.")
CoreTFRSIMD CoreTFRSIMD library — Reusable TFRSI core for consistent momentum inputs across scripts
The library provides a reusable exported function such as calcTfrsi(src, len, signalLen) so you can compute TFRSI in your own indicators or strategies, e.g. tfrsi = CoreTFRSIMD.calcTfrsi(close, 6, 2)
Summary
CoreTFRSIMD is a Pine Script v6 library that implements a TFRSI-style oscillator core and exposes it as a reusable exported function. It is designed for authors who want the same TFRSI calculation across multiple indicators or strategies without duplicating logic. The library includes a simple demo plot and band styling so you can visually sanity-check the output. No higher-timeframe sampling is used, and there are no loops or arrays, so runtime cost is minimal for typical chart usage.
Motivation: Why this design?
When you reuse an oscillator across different tools, small implementation differences create inconsistent signals and hard-to-debug results. This library isolates the signal path into one exported function so that every dependent script consumes the exact same oscillator output. The design combines filtering, normalization, and a final smoothing pass to produce a stable, RSI-like readout intended for momentum and regime context.
What’s different vs. standard approaches?
Baseline: Traditional RSI computed directly from gains and losses with standard smoothing.
Architecture differences:
A high-pass stage to attenuate slower components before the main smoothing.
A multi-pole smoothing stage implemented with persistent state to reduce noise.
A running peak-tracker style normalization that adapts to changing signal amplitude.
A final signal smoothing layer using a simple moving average.
Practical effect:
The oscillator output tends to be less dominated by raw volatility spikes and more consistent across changing conditions.
The normalization step helps keep the output in an RSI-like reading space without relying on fixed scaling.
How it works (technical)
1. Input source: The exported function accepts a source series and two integer parameters controlling responsiveness and final smoothing.
2. High-pass stage: A recursive filter is applied to the source to emphasize shorter-term movement. This stage uses persistent storage so it can reference prior internal states across bars.
3. Smoothing stage: The filtered stream is passed through a SuperSmoother-like recursive smoother derived from the chosen length. This again uses persistent state and prior values for continuity.
4. Adaptive normalization: The absolute magnitude of the smoothed stream is compared to a slowly decaying reference level. If the current magnitude exceeds the reference, the reference is updated. This acts like a “peak hold with decay” so the oscillator scales relative to recent conditions.
5. Oscillator mapping: The normalized value is mapped into an RSI-like reading range.
6. Signal smoothing: A simple moving average is applied over the requested signal length to reduce bar-to-bar chatter.
7. Demo rendering: The library script plots the oscillator, draws horizontal guide levels, and applies background plus gradient fills for overbought and oversold regions.
Parameter Guide
Parameter — Effect — Default — Trade-offs/Tips
src — Input series used by the oscillator — close in demo — Use close for general momentum, or a derived series if you want to emphasize a specific behavior.
len — Controls the responsiveness of internal filtering and smoothing — six in demo — Smaller values react faster but can increase short-term noise; larger values smooth more but can lag turns.
signalLen — Controls the final smoothing of the mapped oscillator — two in demo — Smaller values preserve detail but can flicker; larger values reduce flicker but can delay transitions.
Reading & Interpretation
The plot is an oscillator intended to be read similarly to an RSI-style momentum gauge.
The demo includes three reference levels: upper at one hundred, mid at fifty, and lower at zero.
The fills visually emphasize zones above the midline and below the midline. Treat these as context, not as standalone entries.
If the oscillator appears unusually compressed or unusually jumpy, the normalization reference may be adapting to an abrupt change in amplitude. That is expected behavior for adaptive normalization.
Practical Workflows & Combinations
Trend following:
Use structure first, then confirm with oscillator behavior around the midline.
Prefer signals aligned with higher-high higher-low or lower-low lower-high context from price.
Exits/Stops:
Use oscillator loss of momentum as a caution flag rather than an automatic exit trigger.
In strong trends, consider keeping risk rules price-based and use the oscillator mainly to avoid adding into exhaustion.
Multi-asset/Multi-timeframe:
Start with the demo defaults when you want a responsive oscillator.
If an asset is noisier, increase the main length or the signal smoothing length to reduce false flips.
Behavior, Constraints & Performance
Repaint/confirmation: No higher-timeframe sampling is used. Output updates on the live bar like any normal series. There is no explicit closed-bar gating in the library.
security or HTF: Not used, so there is no HTF synchronization risk.
Resources: No loops, no arrays, no large history buffers. Persistent variables are used for filter state.
Known limits: Like any filtered oscillator, sharp gaps and extreme one-bar events can produce transient distortions. The adaptive normalization can also make early bars unstable until enough history has accumulated.
Sensible Defaults & Quick Tuning
Starting values: length six, signal smoothing two.
Too many flips: Increase signal smoothing length, or increase the main length.
Too sluggish: Reduce the main length, or reduce signal smoothing length.
Choppy around midline: Increase signal smoothing length slightly and rely more on price structure filters.
What this indicator is—and isn’t
This library is a reusable signal component and visualization aid. It is not a complete trading system, not predictive, and not a substitute for market structure, execution rules, and risk controls. Use it as a momentum and regime context layer, and validate behavior per asset and timeframe before relying on it.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
SwRp – HTF Candle Box OverlaySwRp – HTF Candle Box Overlay gives you a clear visual map of higher-timeframe candles directly on your lower-timeframe chart. Instead of switching timeframes, you can see the structure of each HTF candle plotted as colored boxes that update in real time as the candle forms.
Each HTF candle is drawn using two elements:
• A wick box showing the full high-to-low range
• A body box showing the open-to-close move with automatic bull/bear coloring
Both boxes follow the exact HTF open, high, low and close values, and they stay correctly anchored to price using bar-time positioning. You can customize opacity, body/wick visibility, border color, and the number of HTF candles to keep on the chart. The indicator automatically removes older candles when they exceed your set limit, so the chart stays clean.
This tool is ideal for traders who want to see HTF structure, zones, and candle behavior while analyzing entries and exits on smaller timeframes.
Key Features
• Overlay higher-timeframe candles on lower-timeframe charts
• Real-time updating of HTF candle body and wick
• Bull/bear body coloring with full opacity controls
• Independent toggles for body and wick fills
• Automatically remove older HTF candles to keep the chart clean
• Accurate price anchoring using bar-time for all boxes
• No extra lines, labels, or clutter — a clean visual multi-timeframe view
This indicator offers a simple, clear way to track the behavior of higher-timeframe candles without leaving your current chart, helping you combine HTF context with LTF execution more effectively.
ema_sw_alligatorA powerful and visually intuitive trading indicator that plots four exponential moving averages (EMA 8, 13, 48, 200) with customizable offsets and dynamic gradient visualization between the fast EMAs.
key features:
- four ema periods: displays ema 8, 13, 48, and 200 with customizable lengths
- customizable offsets: each ema can be shifted forward or backward in time (default: ema 200 offset 20, ema 48 offset 5, ema 13 offset 10, ema 8 offset 0)
- dynamic gradient system: visual color gradient between ema 8 and ema 13 that changes based on momentum:
-- green gradient when ema 8 crosses above ema 13 (bullish momentum)
-- red gradient when ema 8 crosses below ema 13 (bearish momentum)
- full customization:
- toggle individual ema visibility on/off
- customize colors for each ema line
- adjust gradient colors and transparency
- modify offset values for each ema
trading strategy:
ENTRY (Long)
- DAILY Chart
- 8 EMA crosses above 200 and 13 EMA
- Price remains above 200 EMA
- Break of Structure
Stay in:
- IF price stays above 8/13 and 48EMA after Entry
EXIT / STOP:
- Stop under recent swing low
- Exit when price crosses below 13 EMA IF under Entry
- Exit when price crosses below 48 EMA IF under Entry
trading applications:
- identify trend direction using the ema alignment
- spot potential entry points when ema 8 crosses ema 13 with gradient color confirmation
- use ema 48 and ema 200 as longer-term trend filters
- the offset feature helps anticipate potential support/resistance levels
- clear entry and exit rules based on EMA crossovers and price structure
settings overview:
- adjust ema lengths according to your trading style
- modify offsets to fine-tune the indicator's responsiveness
- customize colors for better visual clarity
- control gradient transparency to balance visibility and chart readability
perfect for swing traders, day traders, and anyone who uses moving average crossovers in their trading strategy. the visual gradient makes it easy to identify momentum shifts at a glance, while the clear trading rules provide a systematic approach to entries and exits.
BTC vs US2000 – Ratio & Spread (BarDai v6 CLEAN)📌 How the Indicator Works
BTC vs US2000 — Ratio & Spread
The indicator shows:
who is stronger right now — crypto-risk (BTC) or equity-risk (US2000 / Russell-2000)
📈 Top Panel — RATIO + Risk Regime Signals
🎯 Ratio (cyan line)
Measures BTC’s relative strength versus US2000:
📈 Ratio rising → BTC outperforming → Risk-ON environment
📉 Ratio falling → BTC underperforming → Risk-OFF environment
📉 EMA (white line)
A smoothed benchmark.
➡ Key signal — when Ratio crosses the EMA
That marks a shift in the risk regime.
🟩🟥 Background Coloring (Risk Mode)
Condition Regime Meaning Trading Logic
Ratio above EMA 🟩 Risk-ON Capital flows into risk assets Favor BTC longs
Ratio below EMA 🟥 Risk-OFF Capital flows out of risk Prefer shorts / hedge / cash
🧭 SpreadNorm — Bottom Panel
🎯 SpreadNorm shows how strong the deviation is:
🟩 Above 0 → BTC risk premium
🟥 Below 0 → Equity-side risk premium (US2000 stronger)
It helps to:
✔ confirm regime signals
✔ filter false crossovers
✔ measure strength of risk move
(Yellow dots mark extreme deviations → mean-reversion potential)
📌 Trading Usage Guide
Scenario Interpretation Action
Ratio above EMA + SpreadNorm green Stable Risk-ON Look for BTC long entries
Ratio below EMA + SpreadNorm red Stable Risk-OFF Avoid aggressive longs
SpreadNorm extreme + yellow dot Reversal potential Take profit / wait for crossover
📌 Best used on 30–60m timeframes for intraday decision making.
🎁 Final Takeaway
The indicator tracks where risk-capital is flowing.
If BTC outperforms equities → we buy BTC.
If BTC underperforms → we don’t buy (or short it).
Volume Spike Bars (AnAn Edition)volume spike indicators that will help show you when volume is spiking
Regime [CHE] Regime — Minimal HTF MACD histogram regime marker with a simple rising versus falling state.
Summary
Regime is a lightweight overlay that turns a higher-timeframe-style MACD histogram condition into a simple regime marker on your chart. It queries an imported core module to determine whether the histogram is rising and then paints a consistent marker color based on that boolean state. The output is intentionally minimal: no lines, no panels, no extra smoothing visuals, just a repeated marker that reflects the current regime. This makes it useful as a quick context filter for other signals rather than a standalone system.
Motivation: Why this design?
A common problem in discretionary and systematic workflows is clutter and over-interpretation. Many regime tools draw multiple plots, which can distract from price structure. This script reduces the regime idea to one stable question: is the MACD histogram rising under a given preset and smoothing length. The core logic is delegated to a shared module to keep the indicator thin and consistent across scripts that rely on the same definition.
What’s different vs. standard approaches?
Reference baseline: A standard MACD histogram plotted in a separate pane with manual interpretation.
Architecture differences:
Uses a shared library call for the regime decision, rather than re-implementing MACD logic locally.
Uses a single boolean output to drive marker color, rather than plotting histogram bars.
Uses fixed marker placement at the bottom of the chart for consistent visibility.
Practical effect:
You get a persistent “context layer” on price without dedicating a separate pane or reading histogram amplitude. The chart shows state, not magnitude.
How it works (technical)
1. The script imports `chervolino/CoreMACDHTF/2` and calls `core.is_hist_rising()` on each bar.
2. Inputs provide the source series, a preset string for MACD-style parameters, and a smoothing length used by the library function.
3. The library returns a boolean `rising` that represents whether the histogram is rising according to the library’s internal definition.
4. The script maps that boolean to a color: yellow when rising, blue otherwise.
5. A circle marker is plotted on every bar at the bottom of the chart, colored by the current regime state. Only the most recent five hundred bars are displayed to limit visual load.
Notes:
The exact internal calculation details of `core.is_hist_rising()` are not shown in this code. Any higher timeframe mechanics, security usage, or confirmation behavior are determined by the imported library. (Unknown)
Parameter Guide
Source — Selects the price series used by the library call — Default: close — Tips: Use close for consistency; alternate sources may shift regime changes.
Preset — Chooses parameter preset for the library’s MACD-style configuration — Default: 3,10,16 — Trade-offs: Faster presets tend to flip more often; slower presets tend to react later.
Smoothing Length — Controls smoothing used inside the library regime decision — Default: 21 — Bounds: minimum one — Trade-offs: Higher values typically reduce noise but can delay transitions. (Library behavior: Unknown)
Reading & Interpretation
Yellow markers indicate the library considers the histogram to be rising at that bar.
Blue markers indicate the library considers it not rising, which may include falling or flat conditions depending on the library definition. (Unknown)
Because markers repeat on every bar, focus on transitions from one color to the other as regime changes.
This tool is best read as context: it does not express strength, only direction of change as defined by the library.
Practical Workflows & Combinations
Trend following:
Use yellow as a condition to allow long-side entries and blue as a condition to allow short-side entries, then trigger entries with your primary setup such as structure breaks or pullback patterns. (Optional)
Exits and stops:
Consider tightening management after a color transition against your position direction, but do not treat a single flip as an exit signal without price-based confirmation. (Optional)
Multi-asset and multi-timeframe:
Keep `Source` consistent across assets.
Use the slower preset when instruments are noisy, and the faster preset when you need earlier context shifts. The best transferability depends on the imported library’s behavior. (Unknown)
Behavior, Constraints & Performance
Repaint and confirmation:
This script itself uses no forward-looking indexing and no explicit closed-bar gating. It evaluates on every bar update.
Any repaint or confirmation behavior may come from the imported library. If the library uses higher timeframe data, intrabar updates can change the state until the higher timeframe bar closes. (Unknown)
security and HTF:
Not visible here. The library name suggests HTF behavior, but the implementation is not shown. Treat this as potentially higher-timeframe-driven unless you confirm the library source. (Unknown)
Resources:
No loops, no arrays, no heavy objects. The plotting is one marker series with a five hundred bar display window.
Known limits:
This indicator does not convey histogram magnitude, divergence, or volatility context.
A binary regime can flip in choppy phases depending on preset and smoothing.
Sensible Defaults & Quick Tuning
Starting point:
Source: close
Preset: 3,10,16
Smoothing Length: 21
Tuning recipes:
Too many flips: choose the slower preset and increase smoothing length.
Too sluggish: choose the faster preset and reduce smoothing length.
Regime changes feel misaligned with your entries: keep the preset, switch the source back to close, and tune smoothing length in small steps.
What this indicator is—and isn’t
This is a minimal regime visualization and a context filter. It is not a complete trading system, not a risk model, and not a prediction engine. Use it together with price structure, execution rules, and position management. The regime definition depends on the imported library, so validate it against your market and timeframe before relying on it.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
MACD HTF Hardcoded
RSI + Psy + ADXRSI + Psychological Line + ADX (with RCI-replacement logic)
This custom TradingView indicator combines three major technical analysis tools—RSI, Psychological Line (Psy), and ADX—to help traders identify trend strength, market momentum, and overbought/oversold conditions with improved clarity.
1. Multi-Period RSI
The indicator calculates three RSI values:
Short-term RSI (9)
Mid-term RSI (26)
Long-term RSI (52)
These help users observe short-, mid-, and long-term momentum simultaneously.
Threshold lines are drawn at 70, 50, and 30 for standard RSI overbought/oversold analysis.
2. Psychological Line (Psy) with Dynamic Column Display
The Psy indicator counts how many closes within the selected period (default: 12) were higher than the previous close.
Values above 75 indicate overbought markets.
Values below 25 indicate oversold markets.
When Psy crosses these thresholds, it is displayed as a column chart centered at 50, visually expanding upward (overbought) or downward (oversold).
3. ADX Trend Strength with Color Coding
ADX is calculated from DI+ and DI− values (using true range and directional movement).
The ADX line changes color based on trend strength:
Blue: Weak trend (below 20)
Yellow: Moderate trend (20–30)
Red: Strong trend (above 30)
This helps traders easily recognize when the market transitions from low-volatility to strong-trend conditions.
Smart ATR ProSmart ATR Pro - Adaptive Volatility & Smart Money Indicator
Advanced oscillator combining Adaptive ATR filtering with Smart Money detection. Features:
🎯 Smart Signals
BUY/SELL alerts with star rating system (1-5 stars)
STRONG signals for high-probability entries
ATR color status (Green/Yellow/Red) for volatility conditions
📊 Multi-Timeframe Analysis
MFI with overbought/oversold zones
Cumulative Delta volume analysis
Smart Money Power histogram
Price-action divergences detection
⚡ Adaptive Technology
Auto-adjusts ATR ranges based on market conditions
Smart Money strength calculation (0-6 points)
Volume spike detection
🎨 Professional UI
Centered table with adjustable opacity
Color-coded indicators for quick reading
Clean oscillator display with multiple plots
Perfect for swing traders and day traders seeking confirmed entries with volatility filtering and smart money confirmation.
*Settings: ATR Period 14, MFI Period 12, 100-bar analysis*
ICT Key Levels: PDH / PDL / Daily Open//@version=5
indicator("ICT Key Levels: PDH / PDL / Daily Open", shorttitle="ICT Levels", overlay=true)
// --- Inputs
showPD = input.bool(true, "Mostrar PDH/PDL")
showOpen = input.bool(true, "Mostrar Daily Open")
pdhColor = input.color(color.new(color.green, 0), "Color PDH")
pdlColor = input.color(color.new(color.red, 0), "Color PDL")
openColor = input.color(color.new(color.orange, 0), "Color Daily Open")
lineWidth = input.int(1, "Ancho líneas", minval=1, maxval=4)
// --- Previous day high / low (using daily security)
pdh = request.security(syminfo.tickerid, "D", high )
pdl = request.security(syminfo.tickerid, "D", low )
// --- Daily open (current day's open on Daily timeframe)
dailyOpen = request.security(syminfo.tickerid, "D", open)
// --- Plots
plot(showPD and not na(pdh) ? pdh : na, title="PDH", color=pdhColor, linewidth=lineWidth, style=plot.style_line)
plot(showPD and not na(pdl) ? pdl : na, title="PDL", color=pdlColor, linewidth=lineWidth, style=plot.style_line)
plot(showOpen and not na(dailyOpen) ? dailyOpen : na, title="Daily Open", color=openColor, linewidth=lineWidth, style=plot.style_line)
// --- Optional: etiquetas en inicio de día (solo en la primera barra diaria)
isNewDay = ta.change(time("D"))
labelNewDayOpen = input.bool(true, "Mostrar etiqueta en apertura diaria")
if labelNewDayOpen and isNewDay
label.new(bar_index, dailyOpen, text="Open", style=label.style_label_down, color=color.new(openColor,50), textcolor=color.black, yloc=yloc.price)
A.P.E V1
This script is a 2-candle reversal signal indicator that tries to catch sharp turns after an extreme high/low, with an optional ATR (volatility) filter. It then plots BUY/SELL triangles and can trigger alerts.
200W Value Bands (Fixed)Indicator i made for determining the value of mainly Bitcoin/Sol/Eth based on distance from the 200W SMA. I have found that it works well for determining value of stocks too. Cheers
Red to Green / Green to Red Tracker# Red to Green / Green to Red Tracker - Quick Reference
## Core Concept
```
PRIOR CLOSE = Yesterday's closing price = The "zero line" for today
Above Prior Close = 🟢 GREEN (profitable for yesterday's buyers)
Below Prior Close = 🔴 RED (losing for yesterday's buyers)
```
---
## The Two Key Moves
### 🟢 Red to Green (R2G)
```
OPEN: Below prior close (RED)
↓
CROSS: Price moves above prior close
↓
RESULT: Now GREEN - Bullish signal
```
**Why it matters:**
- Bears who shorted get squeezed
- Creates FOMO buying
- Momentum often continues
---
### 🔴 Green to Red (G2R)
```
OPEN: Above prior close (GREEN)
↓
CROSS: Price moves below prior close
↓
RESULT: Now RED - Bearish signal
```
**Why it matters:**
- Longs who bought get trapped
- Triggers stop losses
- Panic selling follows
---
## Signals Explained
| Signal | Shape | Location | Meaning |
|--------|-------|----------|---------|
| R2G | ▲ Green Triangle | Below bar | Crossed to green |
| G2R | ▼ Red Triangle | Above bar | Crossed to red |
---
## Level Lines
| Line | Color | Style | What It Is |
|------|-------|-------|------------|
| Prior Close | Orange | Solid | KEY R2G/G2R level |
| Prior High | Green | Dashed | Yesterday's high |
| Prior Low | Red | Dashed | Yesterday's low |
| Today Open | White | Dotted | Gap reference |
---
## Info Table Reference
| Field | What It Shows |
|-------|---------------|
| Status | 🟢 GREEN / 🔴 RED / ⚪ FLAT |
| Day Change | % change from prior close |
| Prior Close | The key level price |
| Distance | How far from prior close |
| Opened | Did today open green or red |
| R2G | R2G status + price if triggered |
| G2R | G2R status + price if triggered |
| Rel Vol | Current relative volume |
| Prior High | Yesterday's high + distance |
| Prior Low | Yesterday's low + distance |
---
## Trading R2G (Long Setup)
### Entry Checklist
- Stock opened RED (below prior close)
- R2G cross signal triggered (green triangle)
- Volume confirmation (1.5x+ preferred, 2x+ ideal)
- Price holding above prior close
- Overall market not tanking
### Entry Method
1. **Aggressive:** Enter immediately on R2G cross
2. **Conservative:** Wait for pullback to prior close (now support)
### Stop Loss
- Below the R2G cross candle low
- OR below prior close (tighter)
### Target
- Prior day high (first target)
- 2:1 risk-reward minimum
---
## Trading G2R (Short Setup)
### Entry Checklist
- Stock opened GREEN (above prior close)
- G2R cross signal triggered (red triangle)
- Volume confirmation
- Price staying below prior close
- Overall market not ripping
### Entry Method
1. **Aggressive:** Enter immediately on G2R cross
2. **Conservative:** Wait for bounce to prior close (now resistance)
### Stop Loss
- Above the G2R cross candle high
- OR above prior close (tighter)
### Target
- Prior day low (first target)
- Gap fill (if gapped up)
---
## Signal Quality
### High Quality R2G ✓
- Opened significantly red (-2% or more)
- Strong volume on cross (2x+)
- First R2G of the day
- Market trending up
- News catalyst present
### Low Quality R2G ✗
- Opened barely red (-0.5%)
- Low volume cross
- Multiple R2G/G2R already today (choppy)
- Fighting market direction
- No clear catalyst
---
## Common Patterns
### Clean R2G (Best)
```
Open red → Steady climb → Cross prior close → Continue higher
```
### Failed R2G (Avoid/Exit)
```
Open red → Cross to green → Immediately fail back to red
```
### Choppy R2G/G2R (Avoid)
```
Multiple crosses back and forth = Indecision, no clear direction
```
---
## First Cross Rule
**The FIRST R2G or G2R of the day is usually the most significant.**
Why?
- Catches traders off guard
- Largest reaction from market
- Sets tone for rest of day
If you miss the first cross, be more selective on subsequent crosses.
---
## Volume Guide
| Rel Volume | Quality | Action |
|------------|---------|--------|
| < 1.0x | Weak | Skip or small size |
| 1.0-1.5x | Average | Standard position |
| 1.5-2.0x | Good | Full position |
| 2.0x+ | Strong | High conviction |
---
## Settings Recommendations
### Default (Balanced)
```
Require Opposite Open: ON
Require Volume: ON (1.5x)
Candle Close Confirm: OFF
Min Cross %: 0
```
### Conservative (Fewer, Better Signals)
```
Require Opposite Open: ON
Require Volume: ON (2.0x)
Candle Close Confirm: ON
Min Cross %: 0.5
```
### Aggressive (More Signals)
```
Require Opposite Open: OFF
Require Volume: OFF
Candle Close Confirm: OFF
Min Cross %: 0
```
---
## Alert Setup
### Essential Alerts
1. **First R2G of Day** - Highest value alert
2. **R2G with Strong Volume** - High conviction
### How to Set
1. Right-click chart → Add Alert
2. Condition: R2G/G2R Tracker
3. Select alert type
4. Set notification method
---
## Combining with Other Indicators
| Indicator | How to Use |
|-----------|------------|
| **Gap & Go** | R2G on gap-down stock = strong reversal |
| **Bull Flag** | Look for bull flag after R2G confirmation |
| **Float Rotation** | R2G + high rotation = explosive potential |
| **VWAP** | R2G above VWAP = strongest setup |
---
## Common Mistakes
❌ **Chasing late R2G**
- If price is already 3-5% green, you missed the move
- Wait for pullback or next setup
❌ **Ignoring volume**
- Low volume R2G often fails
- Always check relative volume
❌ **Fighting the market**
- R2G in a tanking market often fails
- G2R in a ripping market often fails
❌ **No stop loss**
- Failed R2G can reverse hard
- Always have a defined stop
❌ **Overtrading choppy stocks**
- Multiple R2G/G2R = no clear direction
- Skip stocks that keep crossing back and forth
---
## Quick Decision Framework
```
1. Did it open opposite color? (Red for R2G, Green for G2R)
- NO → Lower probability, be cautious
- YES → Continue
2. Is volume confirming? (1.5x+ relative volume)
- NO → Skip or small size
- YES → Continue
3. Is this the first cross of the day?
- YES → Higher probability
- NO → Be more selective
4. Is market direction supportive?
- NO → Skip
- YES → Take the trade
5. Can you define risk? (Clear stop level)
- NO → Skip
- YES → Execute
```
---
## Key Takeaways
1. **Prior close is THE key level** - everyone watches it
2. **First cross matters most** - sets daily tone
3. **Volume confirms** - low volume crosses often fail
4. **Failed crosses reverse hard** - always use stops
5. **Don't overtrade choppy action** - multiple crosses = stay out
---
Happy Trading! 🟢🔴
[CT] ATR Chart Levels From Open ATR Chart Levels From Open is a volatility mapping tool that projects ATR based price levels directly from a user defined center price, most commonly the current session open, and displays them as clean horizontal levels across your chart. The script pulls an Average True Range from a higher timeframe, by default the daily, using a user selectable moving average type such as SMA, EMA, WMA, RMA or VWMA. That ATR value is then used as the unit of measure for all projected levels. You can choose the ATR length and timeframe so the bands can represent anything from a fast intraday volatility regime to a smoother multi week average range.
The core of the tool is the center line, which is treated as zero ATR. By default this center is the current session open, but you can instead anchor it to the previous close, previous open, previous high or low, or several blended prices such as HLC3, HL2, HLCC4 and OHLC4, including options that use the minimum or maximum of the previous close and current open. From this center, the indicator builds a symmetric grid of ATR based levels above and below the zero line. The grid size input controls the spacing in ATR units, for example a value of 0.25 produces levels at plus or minus 25, 50, 75, 100 percent of ATR and so on, while the number of grids each side determines how far out the bands extend. You can restrict levels to only the upper side, only the lower side, or draw both, which is useful when you want to focus on upside targets or downside expansion separately.
The levels themselves are drawn as horizontal lines on the main price chart, with configurable line style and width. Color handling is flexible. You can assign separate colors to the upper and lower levels, keep the center line in a neutral color, and choose how the colors are applied. The “Cool Towards Center” and “Cool Towards Outermost” modes apply smooth gradients that either intensify toward the middle or toward the outer bands, giving an immediate visual sense of how extended price is relative to its average range. Alternatively, the “Candle’s Close” mode dynamically colors levels based on whether the current close is above or below a given band, which can help highlight zones that are acting as resistance or support in real time.
Each level is optionally labeled at its right endpoint so you always know exactly what you are looking at. The center line label shows “Daily Open”, or more generally the chosen center, along with the exact price. All other bands show the percentage of ATR and the corresponding price, for example “+25% ATR 25999.90”. The label offset input lets you push those tags a user defined number of bars to the right of the current price action so the chart remains clean while still keeping the information visible. As new bars print, both the lines and their labels automatically extend and slide to maintain that fixed offset into the future.
To give additional context about current volatility, the script includes an optional table in the upper right corner of the chart. This table shows the latest single period ATR value on the chosen higher timeframe alongside the smoothed ATR used for the bands, clearly labeled with the timeframe and ATR length. When enabled, a highlight color marks the table cells whenever the most recent ATR reading exceeds the average, making it easy to see when the market is operating in an elevated volatility environment compared to its recent history.
In practical trading terms, ATR Chart Levels From Open turns the abstract concept of “average daily range” into specific, actionable intraday structure. The bands can be used to frame opening range breakouts, define realistic intraday profit targets, establish volatility aware stop placement, or identify areas where price has moved an unusually high percentage of its average range and may be vulnerable to mean reversion or responsive flow. Because the ATR is computed on a higher timeframe yet projected on whatever chart you are trading, you can sit on a one minute or five minute chart and still see the full higher timeframe volatility envelope anchored from your chosen center price for the session.
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
CVD [able0.1]# CVD Overlay iOS Style - Complete User Guide
## 📖 Table of Contents
1. (#what-is-cvd)
2. (#installation-guide)
3. (#understanding-the-display)
4. (#reading-the-info-table)
5. (#settings--customization)
6. (#trading-strategies)
7. (#common-mistakes-to-avoid)
---
## 🎯 What is CVD?
**CVD (Cumulative Volume Delta)** tracks the **difference between buying and selling pressure** over time.
### Simple Explanation:
- **Positive CVD** (Orange) = More buying than selling = Bulls winning
- **Negative CVD** (Gray) = More selling than buying = Bears winning
- **Rising CVD** = Increasing buying pressure = Potential uptrend
- **Falling CVD** = Increasing selling pressure = Potential downtrend
### Why It Matters:
CVD helps you see **who's really in control** of the market - not just price movement, but actual buying/selling volume.
---
## 🚀 Installation Guide
### Step 1: Open Pine Editor
1. Go to TradingView
2. Click the **"Pine Editor"** tab at the bottom of the screen
3. Click **"New"** or open an existing script
### Step 2: Copy & Paste the Code
1. Select all existing code (Ctrl+A / Cmd+A)
2. Delete it
3. Copy the entire CVD iOS Style code
4. Paste it into Pine Editor
### Step 3: Add to Chart
1. Click **"Save"** button (or Ctrl+S / Cmd+S)
2. Click **"Add to Chart"** button
3. The indicator will appear on your chart!
### Step 4: Initial Setup
- The indicator appears as an **overlay** on your price chart
- You'll see an **orange/gray line** following price
- An **info table** appears in the top-right corner
---
## 📊 Understanding the Display
### Main Chart Elements:
#### 1. **CVD Line** (Orange/Gray)
- **Orange Line** = Positive CVD (buying pressure)
- **Gray Line** = Negative CVD (selling pressure)
- This line moves with your price chart but shows volume delta
#### 2. **CVD Zone** (Shaded Area)
- Light shaded box around the CVD line
- Shows the "range" of CVD movement
- Helps visualize CVD boundaries
#### 3. **Center Line** (Dotted)
- Gray dotted line in the middle of the zone
- Represents the "neutral" point
- CVD crossing this = shift in market control
#### 4. **Reference Asset Line** (Light Gray)
- Shows Bitcoin (BTC) price movement for comparison
- Helps you see if your asset moves with or against BTC
- Can be changed to any asset you want
#### 5. **CVD Label**
- Shows current CVD value
- Positioned above/below zone to avoid overlap
- Updates in real-time
#### 6. **Reset Background** (Very Light Gray)
- Appears when CVD resets
- Indicates a new calculation period
---
## 📋 Reading the Info Table
The info table (top-right) shows **8 key metrics**:
### Row 1: **Header**
```
╔═ CVD able ═╗ | 15m | ████████ | able
```
- **CVD able** = Indicator name + creator
- **15m** = Current timeframe
- **████████** = Visual decoration
- **able** = Creator signature
### Row 2: **CVD Value**
```
CVD▲ | 7.39K | ████████ | █
█
█
```
- **CVD▲** = CVD with trend arrow
- ▲ = CVD increasing
- ▼ = CVD decreasing
- ► = CVD unchanged
- **7.39K** = Actual CVD number
- **Progress Bar** = Visual strength (darker = stronger)
- **Vertical Bars** = Height shows intensity
### Row 3: **Delta**
```
◆DELTA | -1.274K | ████░░░░ | ░
░
```
- **Delta** = Volume change THIS BAR ONLY
- **Negative** = More selling this bar
- **Positive** = More buying this bar
- Shows **immediate** pressure (not cumulative)
### Row 4: **UP Volume**
```
UP↑ | -1.263K | ████████ | █
█
█
```
- Total **buying volume** this bar
- Higher = Stronger buying pressure
- Green/Orange vertical bars = Bullish strength
### Row 5: **DOWN Volume**
```
DN↓ | 2.643K | ████████ | ░
░
░
```
- Total **selling volume** this bar
- Higher = Stronger selling pressure
- Gray vertical bars = Bearish strength
### Row 6-7: **Reference Asset** (if enabled)
```
══ REF ══ | ══════ | ████████ | █
█
PRICE▲ | 4130.300 | ████████ | █
█
```
- **REF** = Reference asset header
- **PRICE▲** = Reference price with trend
- Shows if BTC (or chosen asset) is rising/falling
- Compare with your chart to see correlation
### Row 8: **Market Status**
```
◄STATUS► | NEUT | ████░░░░ | ▒
▒
```
- **BULL** = CVD positive + Delta positive = Strong buying
- **BEAR** = CVD negative + Delta negative = Strong selling
- **NEUT** = Mixed signals = Wait for clarity
**Status Colors:**
- **Orange background** = Bullish (good for long)
- **Gray background** = Bearish (good for short)
- **White background** = Neutral (no clear signal)
---
## ⚙️ Settings & Customization
### Main Settings (⚙️)
#### **CVD Reset**
- **None** = CVD never resets (from beginning of data)
- **On Higher Timeframe** = Resets when HTF candle closes
- 15m chart → Resets hourly
- 1h chart → Resets daily
- Recommended for most traders
- **On Session Start** = Resets at market open
- **On Visible Chart** = Resets from leftmost visible bar
#### **Precision**
- **Low (Fast)** = Uses 1m data, faster but less accurate
- **Medium** = Uses 5m data, balanced (recommended)
- **High** = Uses 15m data, most accurate but slower
#### **Cumulative**
- ✅ On = CVD accumulates over time (recommended)
- ❌ Off = Shows only current bar delta
#### **Show Labels**
- ✅ On = Shows CVD value label on chart
- ❌ Off = Cleaner chart, no label
#### **Show Info Table**
- ✅ On = Shows info table (recommended for beginners)
- ❌ Off = Hide table for minimalist view
---
### 🎨 iOS Style Colors
You can customize **every color** to match your chart theme:
#### **Primary Colors**
- **Primary (Orange)** = Main bullish color (#FF9500)
- **Secondary (Gray)** = Main bearish color (#8E8E93)
- **Background** = Table background (#FFFFFF)
- **Text** = Text color (#1C1C1E)
#### **Bullish/Bearish**
- **Bullish (Orange)** = Positive CVD color
- **Bearish (Gray)** = Negative CVD color
- **Opacity** = Zone transparency (0-100%)
- **Show Zone** = Enable/disable shaded area
#### **Table Colors** (📋)
- **Header Background** = Top row background
- **Header Text** = Top row text color
- **Cell Background** = Data cells background
- **Cell Text** = Data cells text color
- **Border** = Table border color
- **Accent Background** = Special rows background
- **Alert Background** = Warning/status background
---
### 📊 Reference Asset Settings
#### **Enable**
- ✅ On = Shows reference asset line
- ❌ Off = Hide reference asset
#### **Symbol**
- Default: `BINANCE:BTCUSDT`
- Can change to any asset:
- `BINANCE:ETHUSDT` (Ethereum)
- `SPX` (S&P 500)
- `DXY` (US Dollar Index)
- Any ticker symbol
#### **Color & Width**
- Customize line appearance
- Width: 1-4 (thickness)
---
## 💡 Trading Strategies
### Strategy 1: CVD Divergence (Beginner-Friendly)
**What to Look For:**
- Price making **higher highs** but CVD making **lower highs** = Bearish divergence
- Price making **lower lows** but CVD making **higher lows** = Bullish divergence
**How to Trade:**
1. Wait for divergence to form
2. Look for confirmation (price reversal, candlestick pattern)
3. Enter trade in divergence direction
4. Stop loss beyond recent high/low
**Example:**
```
Price: /\ /\ /\ (higher highs)
CVD: /\ / \/ (lower highs) = Bearish signal
```
### Strategy 2: CVD Trend Following (Intermediate)
**What to Look For:**
- **Strongly rising CVD** + **rising price** = Strong uptrend
- **Strongly falling CVD** + **falling price** = Strong downtrend
**How to Trade:**
1. Wait for CVD and price moving in same direction
2. Enter on pullbacks to support/resistance
3. Stay in trade while CVD trend continues
4. Exit when CVD trend breaks
**Signals:**
- CVD ▲▲▲ + Price ↑ = Go LONG
- CVD ▼▼▼ + Price ↓ = Go SHORT
### Strategy 3: CVD + Reference Asset (Advanced)
**What to Look For:**
- Your asset **rising** but BTC (reference) **falling** = Relative strength
- Your asset **falling** but BTC (reference) **rising** = Relative weakness
**How to Trade:**
1. Compare CVD movement with BTC
2. If your CVD rises faster than BTC = Buy signal
3. If your CVD falls faster than BTC = Sell signal
4. Use for **pair trading** or **asset selection**
### Strategy 4: Volume Delta Confirmation
**What to Look For:**
- **Large positive Delta** = Strong buying this bar
- **Large negative Delta** = Strong selling this bar
**How to Trade:**
1. Price breaks resistance + Large positive Delta = Confirmed breakout
2. Price breaks support + Large negative Delta = Confirmed breakdown
3. Use Delta to **confirm** price moves, not predict them
**Rules:**
- Delta > 2x average = Very strong pressure
- Delta near zero at key level = Weak move, likely false breakout
---
## 🎓 Reading Real Scenarios
### Scenario 1: Strong Buying Pressure
```
Table Shows:
CVD▲ | 12.5K | ████████ | ████ (CVD rising)
◆DELTA | +2.8K | ████████ | ▲ (Positive delta)
UP↑ | 3.1K | ████████ | ████ (High buy volume)
DN↓ | 0.3K | ██░░░░░░ | ░ (Low sell volume)
◄STATUS► | BULL | ████████ | ████ (Orange background)
```
**Interpretation:** Strong buying, good for LONG trades
### Scenario 2: Distribution (Hidden Selling)
```
Table Shows:
CVD► | 8.2K | ████░░░░ | ▒▒ (CVD flat)
◆DELTA | -1.5K | ████████ | ▼ (Negative delta)
UP↑ | 0.8K | ███░░░░░ | ░ (Low buy volume)
DN↓ | 2.3K | ████████ | ████ (High sell volume)
◄STATUS► | BEAR | ████████ | ░░░░ (Gray background)
```
**Interpretation:** Price may look stable, but selling increasing = Prepare for drop
### Scenario 3: Neutral/Choppy Market
```
Table Shows:
CVD► | 5.1K | ████░░░░ | ▒ (CVD sideways)
◆DELTA | +0.2K | ██░░░░░░ | ─ (Small delta)
UP↑ | 1.2K | ████░░░░ | ▒ (Medium buy)
DN↓ | 1.0K | ████░░░░ | ▒ (Medium sell)
◄STATUS► | NEUT | ████░░░░ | ▒▒ (White background)
```
**Interpretation:** No clear direction = Stay out or reduce position size
---
## ⚠️ Common Mistakes to Avoid
### Mistake 1: Trading on CVD Alone
- ❌ **Wrong:** "CVD is rising, I'll buy immediately"
- ✅ **Right:** "CVD is rising, let me check price structure, support/resistance, and wait for confirmation"
### Mistake 2: Ignoring Delta
- ❌ **Wrong:** Looking only at cumulative CVD
- ✅ **Right:** Watch both CVD (trend) and Delta (momentum)
- Delta shows **immediate** pressure changes
### Mistake 3: Wrong Timeframe
- ❌ **Wrong:** Using 1m chart with High Precision (too slow)
- ✅ **Right:** Match precision to timeframe:
- 1m-5m → Low Precision
- 15m-1h → Medium Precision
- 4h+ → High Precision
### Mistake 4: Not Using Reset
- ❌ **Wrong:** Using "None" reset for intraday trading
- ✅ **Right:** Use "On Higher Timeframe" to see fresh CVD each session
### Mistake 5: Overtrading Neutral Status
- ❌ **Wrong:** Forcing trades when STATUS = NEUT
- ✅ **Right:** Only trade clear BULL or BEAR status
### Mistake 6: Ignoring Reference Asset
- ❌ **Wrong:** Trading altcoin without checking BTC
- ✅ **Right:** Always check if BTC CVD agrees with your asset
---
## 🔥 Pro Tips
### Tip 1: Multi-Timeframe Analysis
- Check CVD on **3 timeframes**:
- Lower TF (15m) = Entry timing
- Current TF (1h) = Trade direction
- Higher TF (4h) = Overall trend
### Tip 2: Volume Confirmation
- Big price move + Small Delta = **Weak move** (likely reversal)
- Small price move + Big Delta = **Strong accumulation** (continuation)
### Tip 3: CVD Reset Zones
- Pay attention to **reset backgrounds** (light gray)
- Often marks **session starts** = High volatility periods
### Tip 4: Divergence + Status
- Bearish divergence + STATUS = BEAR = **Strongest short signal**
- Bullish divergence + STATUS = BULL = **Strongest long signal**
### Tip 5: Color Psychology
- **Orange** (Bullish) is **warm** = Buying energy
- **Gray** (Bearish) is **cool** = Selling pressure
- Train your eye to read colors instantly
### Tip 6: Table as Quick Scan
- Glance at table without reading numbers:
- **All orange** = Bullish
- **All gray** = Bearish
- **Mixed** = Wait
---
## 📱 Quick Reference Card
| Signal | CVD | Delta | Status | Action |
|--------|-----|-------|--------|--------|
| **Strong Buy** | ▲▲ High | ++ Positive | BULL | Long Entry |
| **Strong Sell** | ▼▼ Low | -- Negative | BEAR | Short Entry |
| **Divergence Buy** | ▲ Rising | Price ▼ | → BULL | Long Setup |
| **Divergence Sell** | ▼ Falling | Price ▲ | → BEAR | Short Setup |
| **Neutral** | → Flat | ~0 Near Zero | NEUT | Stay Out |
| **Accumulation** | → Flat | ++ Positive | NEUT→BULL | Watch for Breakout |
| **Distribution** | → Flat | -- Negative | NEUT→BEAR | Watch for Breakdown |
---
## 🆘 Troubleshooting
### Issue: "Indicator not showing"
- **Solution:** Make sure overlay=true in code, re-add to chart
### Issue: "Table overlaps with price"
- **Solution:** Change table position in code or use TradingView's "Move" feature
### Issue: "CVD line too far from price"
- **Solution:** This is normal! CVD is volume-based, not price-based. Focus on CVD direction, not position
### Issue: "Too many lines on chart"
- **Solution:** Disable "Show Zone" and "Show Labels" in settings for cleaner view
### Issue: "Calculations too slow"
- **Solution:** Change Precision to "Low (Fast)" or use higher timeframe
### Issue: "Reference asset not showing"
- **Solution:** Check if "Enable" is ON and symbol is valid (e.g., BINANCE:BTCUSDT)
---
## 🎬 Getting Started Checklist
- Install indicator on TradingView
- Set precision to "Medium"
- Set reset to "On Higher Timeframe"
- Enable info table
- Add reference asset (BTC)
- Practice reading the table on demo account
- Test on different timeframes (15m, 1h, 4h)
- Compare CVD with your current strategy
- Paper trade for 1 week before going live
- Keep a trading journal of CVD signals
---
## 📚 Summary
**CVD shows WHO is winning: Buyers or Sellers**
**Key Points:**
1. **Orange/Rising CVD** = Buying pressure = Bullish
2. **Gray/Falling CVD** = Selling pressure = Bearish
3. **Delta** = Immediate momentum THIS BAR
4. **Status** = Overall market condition
5. **Always confirm** with price action & other indicators
**Remember:**
- CVD is a **tool**, not a crystal ball
- Use with proper risk management
- Practice makes perfect
- Stay disciplined!
---
**Created by: able**
**Version:** iOS Style v1.0
**Contact:** For questions, refer to TradingView community
Happy Trading! 🚀📈
Market Sentiment [NeuraAlgo]
Market Sentiment
This indicator provides a real-time view of market momentum and sentiment by analyzing bullish and bearish impulses using price and volatility-based calculations. It visualizes trends on the chart and offers a dashboard with key statistics.
1.Status Calculation
The Status measures bullish momentum by identifying strong upward impulses.
Equation:
Status Source = Average of lows where(Low - High ) > ATR
For each bar, it checks if the current low minus the high from two bars ago exceeds the Average True Range (ATR) .
All lows that satisfy this condition are collected.
The average of these lows forms the Status Source , representing the level of strong buying pressure.
This helps traders visualize where significant bullish activity is concentrated and gauge upward momentum.
2.Status Source Calculation
Similarly, bearish impulses are detected by checking if highs fall below lows from two bars ago beyond ATR thresholds. The corresponding levels form the reference for selling pressure.
3. Trend Strength and States
Strength is Quantifies how far the price is from bullish or bearish reference levels as a percentage.
Trend States
Stability Phase (Gray): Market is quiet, minimal momentum.
Positive Flow (Green): Bullish pressure dominates; buyers are in control.
Negative Flow (Red): Bearish pressure dominates; sellers lead.
State Transition: Market is shifting; momentum is building.
4. Visuals
Bar colors indicate trend state: green for bullish, red for bearish, gray for neutral.
Filled zones highlight bullish and bearish reference levels for intuitive trend analysis.
5. Dashboard
An optional dashboard displays:
Sentiment: Visual gradient representing bullish or bearish dominance.
Status: Current trend state in concise, human-readable terms.
6. Purpose:
This indicator is designed to identify the current market status and the behavior of the asset by analyzing bullish and bearish impulses. It helps traders understand whether the market shows signs of stability, growth, or decline based on the asset’s price action and volatility.
Understand the asset behavior
Healthy asset behavior
Weak asset behavior
Market Sentiment combines price action, ATR-based volatility, and impulse tracking to provide a clear and actionable view of market conditions. The BullLine equation ensures that only meaningful bullish moves are highlighted, giving traders a reliable reference for momentum and potential entry points.
Advanced Supply and DemandThe Supply and Demand Visible Range indicator displays areas & levels on the user's chart for the visible range using a novel volume-based method. The script also makes use of intra-bar data to create precise Supply & Demand zones.
🔶 SETTINGS
Threshold %: Percentage of the total visible range volume used as a threshold to set supply/demand areas. Higher values return wider areas.
Resolution: Determines the number of bins used to find each area. Higher values will return more precise results.
Intra-bar TF: Timeframe used to obtain intra-bar data.
The supply/demand areas and levels displayed by the script are aimed at providing potential supports/resistances for users. The script's behavior makes it recalculate each time the visible chart interval/range changes, as such this script is more suited as a descriptive tool.
Price reaching a supply (upper) area that might have been tested a few times might be indicative of a potential reversal down, while price reaching a demand (lower) area that might have been tested a few times could be indicative of a potential reversal up.
The width of each area can also indicate which areas are more liquid, with thinner areas indicating more significant liquidity.
The user can control the width of each area using the Threshold % setting, with a higher setting returning wider areas. The precision setting can also return wider supply/demand areas if very low values are used and has the benefit of improving the script execution time at the cost of precision.
The Supply and Demand Zones indicator returns various levels. The solid-colored levels display the average of each area, while dashed colored lines display the weighted averages of each area. These weighted averages can highlight more liquid price levels within the supply/demand areas.
Central solid/dashed lines display the average between the areas' averages and weighted averages.
🔶 DETAILS
Each supply/demand area is constructed from volume data. The calculation is done as follows:
The accumulated volume within the chart visible range is calculated.
The chart visible range is divided into N bins of equal width (where N is the resolution setting)
Calculation start from the highest visible range price value for the supply area, and lowest value for the demand area.
The volume within each bin after the starting calculation level is accumulated, once this accumulated volume is equal or exceed the threshold value (p % of the total visible range volume) the area is set.
Each bin volume accumulation within an area is displayed on the left, this can help indicate how fast volume accumulates within an area.
🔶 LIMITATIONS
The script execution time is dependent on all of the script's settings, using more demanding settings might return errors so make sure to be aware of the potential scenarios that might make the script exceed the allowed execution time:
Having a chart's visible range including a high number of bars.
Using a high number of bins (high resolution value) will increase computation time, this can be worsened by using a high threshold %.
Using very low intra-bar timeframe can drastically increase computation time but can also simply throw an error if the chart timeframe is high.
Nifty Breakout Levels Strategy (v7 Hybrid)Nifty Breakout Levels Strategy (v7 Hybrid – Compounding from Start Date)
Instrument / TF: Designed for current-month NIFTY futures on 1-hour timeframe, with at most 1 trade per day.
Entry logic: Uses a 10-bar breakout box with a 0.3% buffer, plus EMA-based trend + proximity filter.
Longs: price in breakout-high zone, above EMA50/EMA200 and within proximityPts.
Shorts: price in breakout-low zone and strong downtrend (EMA10 < EMA20 < EMA50 < EMA200, price below EMA200).
Trades only when ATR(14) > atrTradeThresh and during regular hours (till 15:15).
Risk / exits: Stop loss is ATR-adaptive – max of slBasePoints (100 pts) and ATR * atrSLFactor; TP is fixed (tpPoints, e.g. 350 pts).
Longs have stepped trailing profit levels (100/150/200/250/320 pts) that lock in gains on pullbacks.
Shorts have trailing loss-reduction levels (80/120/140 pts) to cut improving losses.
Additional exit: 1H EMA50 2-bar reversal against the position, plus optional EOD flatten at 3:15 PM.
Compounding engine: From a chosen start date, equity is rebased to startCapital, and lot size scales dynamically as equity / capitalPerLot, with automatic lot reductions at three drawdown thresholds (ddCut1 / 2 / 3).
Automation: All entries and exits are exposed via alertconditions (long/short entry & exit) so the strategy can be connected to broker/webhook automation.






















