Bollinger Pair TradeNYSE:MA-1.6*NYSE:V
Revision: 1
Author: @ozdemirtrading
Revision 2 Considerations :
- Simplify and clean up plotting
Disclaimer: This strategy is currently working on the 5M chart. Change the length input to accommodate your needs.
For the backtesting of more than 3 months, you may need to upgrade your membership.
Description:
The general idea of the strategy is very straightforward: it takes positions according to the lower and upper Bollinger bands.
But I am mainly using this strategy for pair trading stocks. Do not forget that you will get better results if you trade with cointegrated pairs.
Bollinger band: Moving average & standard deviation are calculated based on 20 bars on the 1H chart (approx 240 bars on a 5m chart). X-day moving averages (20 days as default) are also used in the background in some of the exit strategy choices.
You can define position entry levels as the multipliers of standard deviation (for exp: mult2 as 2 * standard deviation).
There are 4 choices for the exit strategy:
SMA: Exit when touches simple moving average (SMA)
SKP: Skip SMA and do not stop if moving towards 20D SMA, and exit if it touches the other side of the band
SKPXDSMA: Skip SMA if moving towards 20D SMA, and exit if it touches 20D SMA
NoExit: Exit if it touches the upper & lower band only.
Options:
- Strategy hard stop: if trade loss reaches a point defined as a percent of the initial capital. Stop taking new positions. (not recommended for pair trade)
- Loss per trade: close position if the loss is at a defined level but keeps watching for new positions.
- Enable expected profit for trade (expected profit is calculated as the distance to SMA) (recommended for pair trade)
- Enable VIX threshold for the following options: (recommended for volatile periods)
- Stop trading if VIX for the previous day closes above the threshold
- Reverse active trade direction if VIX for the previous day is above the threshold
- Take reverse positions (assuming the Bollinger band is going to expand) for all trades
Backtesting:
Close positions after a defined interval: mark this if you want the close the final trade for backtesting purposes. Unmark it to get live signals.
Use custom interval: Backtest specific time periods.
Other Options:
- Use EMA: use an exponential moving average for the calculations instead of simple moving average
- Not against XDSMA: do not take a position against 20D SMA (if X is selected as 20) (recommended for pairs with a clear trend)
- Not in XDSMA 1 DEV: do not take a position in 20D SMA 1*standart deviation band (recommended if you need to decrease # of trades and increase profit for trade)
- Not in XDSMA 2 DEV: do not take a position in 20D SMA 2*standart deviation band
Session management:
- Not in session: Session start and end times can be defined here. If you do not want to trade in certain time intervals, mark that session.(helps to reduce slippage and get more realistic backtest results)
Buscar en scripts para "band"
Keltner Channel Width Oscillator (KingThies)Definition
The Keltner Channel Width oscillator is a technical analysis indicator derived originally from the same relationship the Bollinger Band Width indicator takes on Bollinger Bands.
Similar to the Bollinger Bands, Kelts measure volatility in relation to price, and factor in various range calculations to create three bands around the price of a given stock or digital asset. The Middle Line is typically a 20 Day Exponential Moving Average while the upper and lower bands highlight price at different range variations around its basis. Keltner Channel Width serve as a way to quantitatively measure the width between the Upper and Lower Bands and identify opportunities for entires and exits, based on the relative range price is experiencing that day.
Calculation
Kelt Channel Width = (Upper Band - Lower Band) / Middle Band
More on Keltner Channels
Keltner channel was first described by a Chicago grain trader called Chester W. Keltner in his 1960 book How to Make Money in Commodities. Though Keltner claimed no ownership of the original idea and simply called it the ten-day moving average trading rule, his name was applied by those who heard of this concept through his books.
Similarly to the Bollinger Bands, Keltner channel is a technical analysis tool based on three parallel lines. In fact, the Keltner indicator consists of a central moving average in addition to channel lines spread above and below it. The central line represents a 10-day simple moving average of what Chester W. Keltner called typical price. The typical price is defined as the average of the high, low and close. The distance between the central line and the upper, or lower line, is equivalent to the simple moving average of the preceding 10 days' trading ranges.
One way to interpret the Keltner Channel would be to consider the price breakouts outside of the channel. A trader would track price movement and consider any close above the upper line as a strong buy signal. Equivalently, any close below the lower line would be considered a strong sell signal. The trader would follow the trend emphasized by the indicator while complementing his analysis with the use of other indicators as well. However, the breakout method only works well when the market moves from a range-bound setting to an established trend. In a trend-less configuration, the Keltner Channel is better used as an overbought/oversold indicator. Thus, as the price breaks out below the lower band, a trader waits for the next close inside the Keltner Channel and considers this price behavior as an oversold situation indicating a potential buy signal. Similarly, as the price breaks out above the upper band, the trader waits for the next close inside the Keltner Channel and considers this price action as an overbought situation indicating a potential sell signal. By waiting for the price to close within the Channel, the trader avoids getting caught in a real upside or downside breakout.
LNL Keltner ExhaustionLNL Keltner Exhaustion resolves the constant issue of Bands vs. EMAs
With the keltner exhaustion wedges, you can easily see the keltner channel extremes witout using the actual bands. That way, you will know whether the price is outside of the keltner channels + you can use other indicators (such as EMAs) on chart without the bands so the chart does not look messy & hard to read.
Two Types of Wedges:
1. Green/Red Wedge - Price action is extended outside the regular band. More of a "profit taking" zone rather than "entry taking" (default set to 3.0 ATR factor).
2. Purple Wedge - Price action is extended outside of the extreme band. Chances are price will revert to mean soon (default set to 4.0 ATR factor).
Works great as a target tool with the squeeze setup or as an overall extension gauge.
Hope it helps.
Ben's BTC Macro Fair Value OscillatorBen's BTC Macro Fair Value Oscillator
Overview
The **BTC Macro Fair Value Oscillator** is a non-crypto fair value framework that uses macro asset relationships (equities, dollar, gold) to estimate Bitcoin's "macro-driven fair value" and identify mean-reversion opportunities.
"Is BTC cheap or expensive right now?" on the 4 Hour Timeframe ONLY
### Key Features
✅ **Macro-driven**: Uses QQQ, DXY, XAUUSD instead of on-chain or crypto metrics
✅ **Dynamic weighting**: Assets weighted by rolling correlation strength
✅ **Mean-reversion signals**: Identifies when BTC is cheap/expensive vs macro
✅ **Validated parameters**: Optimized through 5-year backtest (Sharpe 6.7-9.9)
✅ **Visual transparency**: Live correlation panel, fair value bands, statistics
✅ **Non-repainting**: All calculations use confirmed historical data only
### What This Indicator Does
- Builds a **synthetic macro composite** from traditional assets
- Runs a **rolling regression** to predict BTC price from macro
- Calculates **deviation z-score** (how far BTC is from macro fair value)
- Generates **entry signals** when BTC is extremely cheap vs macro (dev < -2)
- Generates **exit signals** when BTC returns to fair value (dev > 0)
### What This Indicator Is NOT
❌ Not a high-frequency trading system (sparse signals by design)
❌ Not optimized for absolute returns (optimized for Sharpe ratio)
❌ Not suitable as standalone trading system (best as overlay/confirmation)
❌ Not predictive of short-term price movements (mean-reversion timeframe: days to weeks)
---
## Core Concept
### The Premise
Bitcoin doesn't trade in a vacuum. It's influenced by:
- **Risk appetite** (equities: QQQ, SPX)
- **Dollar strength** (DXY - inverse to risk assets)
- **Safe haven flows** (Gold: XAUUSD)
When macro conditions are "good for BTC" (risk-on, weak dollar, strong equities), BTC should trade higher. When macro conditions turn against it, BTC should trade lower.
### The Innovation
Instead of looking at BTC in isolation, this indicator:
1. **Measures how strongly** BTC currently correlates with each macro asset
2. **Builds a weighted composite** of those macro returns (the "D" driver)
3. **Regresses BTC price on D** to estimate "macro fair value"
4. **Tracks the deviation** between actual price and fair value
5. **Signals mean reversion** when deviation becomes extreme
### The Edge
The validated edge comes from:
- **Extreme deviations predict future returns** (dev < -2 → +1.67% over 12 bars)
- **Monotonic relationship** (more negative dev → higher forward returns)
- **Works out-of-sample** (test Sharpe +83-87% better than training)
- **Low correlation with buy & hold** (provides diversification value)
---
## Methodology
### Step 1: Macro Composite Driver D(t)
The indicator builds a weighted composite of macro asset returns:
**Process:**
1. Calculate **log returns** for BTC and each macro reference (QQQ, DXY, XAUUSD)
2. Compute **rolling correlation** between BTC and each reference over `corrLen` bars
3. **Weight each asset** by `|correlation|` if above `minCorrAbs` threshold, else 0
4. **Sign-adjust** weights (+1 for positive corr, -1 for negative) to handle inverse relationships
5. **Z-score normalize** each reference's returns over `fvWindow`
6. **Composite D(t)** = weighted sum of sign-adjusted z-scores
**Formula:**
```
For each reference i:
corr_i = correlation(BTC_returns, ref_i_returns, corrLen)
weight_i = |corr_i| if |corr_i| >= minCorrAbs else 0
sign_i = +1 if corr_i >= 0 else -1
z_i = (ref_i_returns - mean) / std
contrib_i = sign_i * z_i * weight_i
D(t) = sum(contrib_i) / sum(weight_i)
```
**Key Insight:** D(t) represents "how good macro conditions are for BTC right now" in a normalized, correlation-weighted way.
---
### Step 2: Fair Value Regression
Uses rolling linear regression to predict BTC price from D(t):
**Model:**
```
BTC_price(t) = α + β * D(t)
```
**Calculation (Pine Script approach):**
```
corr_CD = correlation(BTC_price, D, fvWindow)
sd_price = stdev(BTC_price, fvWindow)
sd_D = stdev(D, fvWindow)
cov = corr_CD * sd_price * sd_D
var_D = variance(D, fvWindow)
β = cov / var_D
α = mean(BTC_price) - β * mean(D)
fair_value(t) = α + β * D(t)
```
**Result:** A time-varying "macro fair value" line that adapts as correlations change.
---
### Step 3: Deviation Oscillator
Measures how far BTC price has deviated from fair value:
**Calculation:**
```
residual(t) = BTC_price(t) - fair_value(t)
residual_std = stdev(residual, normWindow)
deviation(t) = residual(t) / residual_std
```
**Interpretation:**
- `dev = 0` → BTC at fair value
- `dev = -2` → BTC is 2 standard deviations **cheap** vs macro
- `dev = +2` → BTC is 2 standard deviations **rich** vs macro
---
### Step 4: Signal Generation
**Long Entry:** `dev` crosses below `-2.0` (BTC extremely cheap vs macro)
**Long Exit:** `dev` crosses above `0.0` (BTC returns to fair value)
**No shorting** in default config (risk management choice - crypto volatility)
---
## How It Works
### Visual Components
#### 1. Price Chart (Main Panel)
**Fair Value Line (Orange):**
- The estimated "macro-driven fair value" for BTC
- Calculated from rolling regression on macro composite
**Fair Value Bands:**
- **±1σ** (light): 68% confidence zone
- **±2σ** (medium): 95% confidence zone
- **±3σ** (dark, dots): 99.7% confidence zone
**Entry/Exit Markers:**
- **Green "LONG" label** below bar: Entry signal (dev < -2)
- **Red "EXIT" label** above bar: Exit signal (dev > 0)
#### 2. Deviation Oscillator (Separate Pane)
**Line plot:**
- Shows current deviation z-score
- **Green** when dev < -2 (cheap)
- **Red** when dev > +2 (rich)
- **Gray** when neutral
**Histogram:**
- Visual representation of deviation magnitude
- Green bars = negative deviation (cheap)
- Red bars = positive deviation (rich)
**Threshold lines:**
- **Green dashed at -2.0**: Entry threshold
- **Red dashed at 0.0**: Exit threshold
- **Gray solid at 0**: Fair value line
#### 3. Correlation Panel (Top-Right)
Shows live correlation and weighting for each macro asset:
| Asset | Corr | Weight |
|-------|------|--------|
| QQQ | +0.45 | 0.45 |
| DXY | -0.32 | 0.32 |
| XAUUSD | +0.15 | 0.00 |
| Avg \|Corr\| | 0.31 | 0.77 |
**Reading:**
- **Corr**: Current rolling correlation with BTC (-1 to +1)
- **Weight**: How much this asset contributes to fair value (0 = excluded)
- **Avg |Corr|**: Average correlation strength (should be > 0.2 for reliable signals)
**Colors:**
- Green/Red corr = positive/negative correlation
- White weight = asset included, Gray = excluded (below minCorrAbs)
#### 4. Statistics Label (Bottom-Right)
```
━━━ BTC Macro FV ━━━
Dev: -2.34
Price: $103,192
FV: $110,500
Status: CHEAP ⬇
β: 103.52
```
**Fields:**
- **Dev**: Current deviation z-score
- **Price**: Current BTC close price
- **FV**: Current macro fair value estimate
- **Status**: CHEAP (< -2), RICH (> +2), or FAIR
- **β**: Current regression beta (sensitivity to macro)
---
## Installation & Setup
### TradingView Setup
1. Open TradingView and navigate to any **BTC chart** (BTCUSD, BTCUSDT, etc.)
2. Open **Pine Editor** (bottom panel)
3. Click **"+ New"** → **"Blank indicator"**
4. **Delete** all default code
5. **Copy** the entire Pine Script from `GHPT_optimized.pine`
6. **Paste** into the editor
7. Click **"Save"** and name it "BTC Macro Fair Value Oscillator"
8. Click **"Add to Chart"**
### Recommended Chart Settings
**Timeframe:** 4h (validated timeframe)
**Chart Type:** Candlestick or Heikin Ashi
**Overlay:** Yes (indicator plots on price chart + separate pane)
**Alternative Timeframes:**
- Daily: Works but slower signals
- 1h-2h: May work but not validated
- < 1h: Not recommended (too noisy)
### Symbol Requirements
**Primary:** BTC/USD or BTC/USDT on any exchange
**Macro References:** Automatically fetched
- QQQ (Nasdaq 100 ETF)
- DXY (US Dollar Index)
- XAUUSD (Gold spot)
**Data Requirements:**
- At least **90 bars** of history (warmup period)
- Premium TradingView recommended for full historical data
---
## Reading the Indicator
### Identifying Signals
#### Strong Long Signal (High Conviction)
- ✅ Deviation < -2.0 (extreme undervaluation)
- ✅ Avg |Corr| > 0.3 (strong macro relationships)
- ✅ Price touching or below -2σ band
- ✅ "LONG" label appears below bar
**Interpretation:** BTC is extremely cheap relative to macro conditions. Historical data shows +1.67% average return over next 12 bars (48 hours at 4h timeframe).
#### Moderate Long Signal (Lower Conviction)
- ⚠️ Deviation between -1.5 and -2.0
- ⚠️ Avg |Corr| between 0.2-0.3
- ⚠️ Price approaching -2σ band
**Interpretation:** BTC is cheap but not extreme. Consider as confirmation for other signals.
#### Exit Signal
- 🔴 Deviation crosses above 0 (returns to fair value)
- 🔴 "EXIT" label appears above bar
**Interpretation:** Mean reversion complete. Close long positions.
#### Strong Short/Avoid Signal
- 🔴 Deviation > +2.0 (extreme overvaluation)
- 🔴 Avg |Corr| > 0.3
- 🔴 Price touching or above +2σ band
**Interpretation:** BTC is expensive vs macro. Historical data shows -1.79% average return over next 12 bars. Consider exiting longs or reducing exposure.
### Regime Detection
**Strong Regime (Reliable Signals):**
- Avg |Corr| > 0.3
- Multiple assets weighted > 0
- Fair value line tracking price reasonably well
**Weak Regime (Unreliable Signals):**
- Avg |Corr| < 0.2
- Most weights = 0 (grayed out)
- Fair value line diverging wildly from price
- **Action:** Ignore signals until correlations strengthen
JOPA Channel (Dual-Volumed) v1 [JopAlgo]JOPA Channel (Dual-Volumed) v1
Short title: JOPAV1 • License: MPL-2.0 • Provider: JopAlgo
We have developed our own, first channel-based trading indicator and we’re making it available to all traders. The goal was a channel that breathes with the tape—built on a volume-weighted backbone—so the outcome stays lively instead of static. That led to the JOPA Channel.
All important features (at a glance)
In one line: A Rolling-VWAP channel whose width adapts with two volumes (RVOL + dollar-flow), adds order-flow asymmetry (OBV tilt) and regime awareness (Efficiency Ratio), and frames risk with outer containment bands from residual extremes—so you see fair value, momentum, and exhaustion in one view.
Feature list
Rolling VWAP centerline: Tracks where volume traded (fair value).
Dual-volume width: Bands expand/contract with relative volume and value traded (price×volume).
OBV tilt: Upper/lower widths skew toward the side actually pushing.
Regime adapter (ER): Tighter in trend, wider in chop—automatically.
Outer containment rails: Residual-extreme ceilings/floors, smoothed + margin.
20% / 80% guides: 20% light blue (discount), 80% light red (premium).
Squeeze dots (optional): Orange circles below candles during compression.
Non-repainting: Uses rolling sums and past-only math; no lookahead.
Default visual in this release
Containment rails + fill: ON (stepline, medium).
Inner Value rails + fill: Rails OFF (stepline, thin), fill ON (drawn only if rails are shown).
20% & 80% guides: ON (dashed, thin; 20% light blue, 80% light red).
Squeeze dots: OFF by default (orange circles when enabled).
What you see on the chart
RVWAP (centerline): Your compass for fair value.
Inner Value Bands (optional): Tight rails for breakouts and pullback timing.
Outer Containment Bands (default ON): High-confidence ceilings/floors for targets and fades.
20% / 80% guides: Quick read of “where in the channel” price is sitting.
Squeeze dots (optional): Volatility compression heads-up (no text labels).
Non-repainting note: The indicator does not revise closed bars. Forecast-Lock uses linear regression to extrapolate 1–3 bars ahead without using future data.
How to use it
Core reads (works on any timeframe)
Bias: Above a rising RVWAP → long bias; below a falling RVWAP → short bias.
Breakouts (momentum): Close beyond an Inner Value rail with RVOL ≥ threshold (alert provided).
Reversions (fades): Tag Outer Containment, stall, then close back inside → expect mean reversion toward RVWAP.
20/80 timing:
At/above 80% (light red) → premium/exhaustion risk; trim longs or consider fades if RVOL cools.
At/below 20% (light blue) → discount/exhaustion risk; trim shorts or consider longs if RVOL cools.
Squeeze clusters: When dots bunch up, expect a range break; use the Breakout alert as confirmation.
Playbooks by trading style
Day Trading (1–5m)
Setup: Keep the chart clean (Containment ON, Value rails OFF). Toggle Inner Value ON when hunting a breakout or timing a pullback.
Pullback Long: Dip to RVWAP / Lower Value with sub-threshold RVOL, then a close back above RVWAP → long.
Stop: Just beyond Lower Containment or the pullback swing.
Targets (1:1:1): ⅓ at RVWAP, ⅓ at Upper Value, ⅓ trail toward Upper Containment.
Breakout Long: After a squeeze cluster, take the Breakout Long alert (close > Upper Value, RVOL ≥ min). If no retest, demand the next bar holds outside.
Range Fade: Only when RVWAP is flat and dots cluster; short Upper Containment → RVWAP (mirror for longs at the lower rail).
Intraday (15m–1H)
HTF compass: Take bias from 4H.
Pullback Long: “Touch & reclaim” of RVWAP while RVOL cools; enter on the reclaim close or break of that candle’s high.
Breakout: Run Inner Value ON; act on Breakout alerts (RVOL gate ≈ 1.10–1.15 typical).
Avoid low-probability fades against the 4H slope unless RVWAP is flat.
Swing (4H–1D)
Continuation: In uptrends, buy pullbacks to RVWAP / Lower Value with sub-threshold RVOL; scale at Upper Containment.
Adds: Post-squeeze Breakout Long adds; trail on RVWAP or Lower Value.
Fades: Prefer when RVWAP flattens and price oscillates between containments.
Position (1D+)
Framework: Daily RVWAP slope + position within containment.
Add rule: Each reclaim of RVWAP after a dip is an add; trim into Upper Containment or near 80% light red.
Sizing: Containment distance is larger—size down and trail on RVWAP.
Inputs & Settings (complete)
Core
Source: Price input for RVWAP.
Rolling VWAP Length: Window of the centerline (higher = smoother).
Volume Baseline (RVOL): SMA window for relative volume.
Inner Value Bands (volatility-based width)
k·StdDev(residuals), k·ATR, k·MAD(residuals): Blend three measures into base width.
StdDev / ATR / MAD Lengths: Lookbacks for each.
Two-Volume Fusion
RVOL Exponent: How aggressively width responds to relative volume.
Dollar-Flow Gain: Adds push from price×volume (value traded).
Dollar-Flow Z-Window: Standardization window for dollar-flow.
Asymmetry (Order-Flow Tilt)
Enable Tilt (OBV): Lets flow skew upper/lower widths.
Tilt Strength (0..1): Gain applied to OBV slope z-score.
OBV Slope Z-Window: Window to standardize OBV slope.
Regime Adapter
Efficiency Ratio Lookback: Measures trend vs chop.
ER Width Min/Max: Maps ER into a width factor (tighter in trend, wider in chop).
Band Tracking (inner value rails)
Tracking Mode:
Base: Pure base rails.
Parallel-Lock: Smooth RVWAP & width; track in parallel.
Slope-Lock: Adds a fraction of recent slope (momentum-friendly).
Forecast-Lock: 1–3 bar extrapolation via linreg (non-repainting on closed bars).
Attach Strength (0..1): Blend tracked rails vs base rails.
Tracking Smooth Length: EMA smoothing of RVWAP and width.
Slope Influence / Forecast Lead Bars: Gains for the chosen mode.
Outer Containment Bands
Show Containment Bands: Master toggle (default ON).
Residual Extremes Lookback: Highest/lowest residual window.
Extreme Smoothing (EMA): Stability on extreme lines.
Margin vs inner width: Extra padding relative to smoothed inner width.
Squeeze & Alerts
Squeeze Window / Threshold: Width vs average; at/under threshold = dot (when enabled).
Min RVOL for Breakout: Required RVOL for breakout alerts.
Style (defaults in this release)
Inner Value rails: OFF (stepline, thin).
Inner & Containment fills: ON.
Containment rails: ON (stepline, medium).
20% / 80% guides: ON — 20% light blue, 80% light red, dashed, thin.
Squeeze dots: OFF by default (orange circles below candles when enabled).
Practical templates (copy/paste into a plan)
Momentum Breakout
Context: Squeeze cluster near RVWAP; Inner Value ON.
Trigger: Breakout Long (close > Upper Value & RVOL ≥ min).
Stop: Below Lower Value (tight) or below RVWAP (safer).
Targets (1:1:1): ⅓ Value → ⅓ Containment → ⅓ trail on RVWAP.
Pullback Continuation
Context: Uptrend; dip to RVWAP / Lower Value with cooling RVOL.
Trigger: Close back above RVWAP or break of reclaim candle’s high.
Stop: Just outside Lower Containment or pullback swing.
Targets: RVWAP → Upper Value → Upper Containment.
Containment Reversion (range)
Context: RVWAP flat; repeated containment tags.
Trigger: Stall at containment, then close back inside.
Stop: A step beyond that containment.
Target: RVWAP; runner only if RVOL stays muted.
Alerts included
DVWAP Breakout Long / Short (Value Bands)
Top Zone / Bottom Zone (20% / 80% guides)
Tip: On lower TFs, act on Breakout alerts with higher-TF bias (e.g., trade 5–15m in the direction of 1H/4H RVWAP slope/position).
Best practices
Let RVWAP be the compass; if unsure, wait until price picks a side.
Respect RVOL; low-RVOL breaks are prone to fail.
Use guides for timing, not certainty. Pair 20/80 zones with flow context.
Start with defaults; change one knob at a time.
Common pitfalls
Fading every containment touch → only fade when RVWAP is flat or RVOL cools.
Over-tuning inputs → the defaults are robust; small tweaks go a long way.
Fighting the higher timeframe on low TFs → expensive habit.
Footer — License & Publishing
License: Mozilla Public License 2.0 (MPL-2.0). You may modify and redistribute; keep this file under MPL and provide source for this file.
Originality: © 2025 JopAlgo. No third-party code reused; Pine built-ins and common formulas only.
Publishing: Keep this header/description intact when releasing on TradingView. Avoid promotional links in the public script text.
EMA Percentile Rank [SS]Hello!
Excited to release my EMA percentile Rank indicator!
What this indicator does
Plots an EMA and colors it by short-term trend.
When price crosses the EMA (up or down) and remains on that side for three subsequent bars, the cross is “confirmed.”
At the moment of the most recent cross, it anchors a reference price to the crossover point to ensure static price targets.
It measures the historical distance between price and the EMA over a lookback window, separately for bars above and below the EMA.
It computes percentile distances (25%, 50%, 85%, 95%, 99%) and draws target bands above/below the anchor.
Essentially what this indicator does, is it converts the raw “distance from EMA” behavior into probabilistic bands and historical hit rates you can use for targets, stop placement, or mean-reversion/continuation decisions.
Indicator Inputs
EMA length: Default is 21 but you can use any EMA you prefer.
Lookback: Default window is 500, this is length that the percentiles are calculated. You can increase or decrease it according to your preference and performance.
Show Accumulation Table: This allows you to see the table that shows the hits/price accumulation of each of the percentile ranges. UCL means upper confidence and LCL means lower confidence (so upper and lower targets).
About Percentiles
A percentile is a way of expressing the position of a value within a dataset relative to all the other values.
It tells you what percentage of the data points fall at or below that value.
For example:
The 25th percentile means 25% of the values are less than or equal to it.
The 50th percentile (also called the median) means half the values are below it and half are above.
The 99th percentile means only 1% of the values are higher.
Percentiles are useful because they turn raw measurements into context — showing how “extreme” or “typical” a value is compared to historical behavior.
In the EMA Percentile Rank indicator, this concept is applied to the distance between price and the EMA. By calculating percentile distances, the script can mark levels that have historically been reached often (low percentiles) or rarely (high percentiles), helping traders gauge whether current price action is stretched or within normal bounds.
Use Cases
The EMA Percentile Rank indicator is best suited for traders who want to quantify how far price has historically moved away from its EMA and use that context to guide decision-making.
One strong use case is target setting after trend shifts: when a confirmed crossover occurs, the percentile bands (25%, 50%, 85%, 95%, 99%) provide statistically grounded levels for scaling out profits or placing stops, based on how often price has historically reached those distances. This makes it valuable for traders who prefer data-driven risk/reward planning instead of arbitrary point targets. Another use case is identifying stretched conditions — if price rapidly tags the 95% or 99% band after a cross, that’s an unusually large move relative to history, which could signal exhaustion and prompt mean-reversion trades or protective actions.
Conversely, if the accumulation table shows price frequently resides in upper bands after bullish crosses, traders may anticipate continuation and hold positions longer . The indicator is also effective as a trend filter when combined with its EMA color-coding : only taking trades in the trend’s direction and using the bands as dynamic profit zones.
Additionally, it can support multi-timeframe confluence (if you align your chart to the timeframes of interest), where higher-timeframe trend direction aligns with lower-timeframe percentile behavior for higher-probability setups. Swing traders can use it to frame pullbacks — entering near lower percentile bands during an uptrend — while intraday traders might use it to fade extremes or ride breakouts past the median band. Because the anchor price resets only on EMA crosses, the indicator preserves a consistent reference for ongoing trades, which is especially helpful for managing swing positions through noise .
Overall, its strength lies in transforming raw EMA distance data into actionable, probability-weighted levels that adapt to the instrument’s own volatility and tendencies .
Summary
This indicator transforms a simple EMA into a distribution-aware framework: it learns how far price tends to travel relative to the EMA on either side, and turns those excursions into percentile bands and historical hit rates anchored to the most recent cross. That makes it a flexible tool for targets, stops, and regime filtering, and a transparent way to reason about “how stretched is stretched?”—with context from your chosen market and timeframe.
I hope you all enjoy!
And as always, safe trades!
The Barking Rat LiteMomentum & FVG Reversion Strategy
The Barking Rat Lite is a disciplined, short-term mean-reversion strategy that combines RSI momentum filtering, EMA bands, and Fair Value Gap (FVG) detection to identify short-term reversal points. Designed for practical use on volatile markets, it focuses on precise entries and ATR-based take profit management to balance opportunity and risk.
Core Concept
This strategy seeks potential reversals when short-term price action shows exhaustion outside an EMA band, confirmed by momentum and FVG signals:
EMA Bands:
Parameters used: A 20-period EMA (fast) and 100-period EMA (slow).
Why chosen:
- The 20 EMA is sensitive to short-term moves and reflects immediate momentum.
- The 100 EMA provides a slower, structural anchor.
When price trades outside both bands, it often signals overextension relative to both short-term and medium-term trends.
Application in strategy:
- Long entries are only considered when price dips below both EMAs, identifying potential undervaluation.
- Short entries are only considered when price rises above both EMAs, identifying potential overvaluation.
This dual-band filter avoids counter-trend signals that would occur if only a single EMA was used, making entries more selective..
Fair Value Gap Detection (FVG):
Parameters used: The script checks for dislocations using a 12-bar lookback (i.e. comparing current highs/lows with values 12 candles back).
Why chosen:
- A 12-bar displacement highlights significant inefficiencies in price structure while filtering out micro-gaps that appear every few bars in high-volatility markets.
- By aligning FVG signals with candle direction (bullish = close > open, bearish = close < open), the strategy avoids random gaps and instead targets ones that suggest exhaustion.
Application in strategy:
- Bullish FVGs form when earlier lows sit above current highs, hinting at downward over-extension.
- Bearish FVGs form when earlier highs sit below current lows, hinting at upward over-extension.
This gives the strategy a structural filter beyond simple oscillators, ensuring signals have price-dislocation context.
RSI Momentum Filter:
Parameters used: 14-period RSI with thresholds of 80 (overbought) and 20 (oversold).
Why chosen:
- RSI(14) is a widely recognized momentum measure that balances responsiveness with stability.
- The thresholds are intentionally extreme (80/20 vs. the more common 70/30), so the strategy only engages at genuine exhaustion points rather than frequent minor corrections.
Application in strategy:
- Longs trigger when RSI < 20, suggesting oversold exhaustion.
- Shorts trigger when RSI > 80, suggesting overbought exhaustion.
This ensures entries are not just technically valid but also backed by momentum extremes, raising conviction.
ATR-Based Take Profit:
Parameters used: 14-period ATR, with a default multiplier of 4.
Why chosen:
- ATR(14) reflects the prevailing volatility environment without reacting too much to outliers.
- A multiplier of 4 is a pragmatic compromise: wide enough to let trades breathe in volatile conditions, but tight enough to enforce disciplined exits before mean reversion fades.
Application in strategy:
- At entry, a fixed target is set = Entry Price ± (ATR × 4).
- This target scales automatically with volatility: narrower in calm periods, wider in explosive markets.
By avoiding discretionary exits, the system maintains rule-based discipline.
Visual Signals on Chart
Blue “▲” below candle: Potential long entry
Orange/Yellow “▼” above candle: Potential short entry
Green “✔️”: Trade closed at ATR take profit
Blue (20 EMA) & Orange (100 EMA) lines: Dynamic channel reference
⚙️Strategy report properties
Position size: 25% equity per trade
Initial capital: 10,000.00 USDT
Pyramiding: 10 entries per direction
Slippage: 2 ticks
Commission: 0.055% per side
Backtest timeframe: 1-minute
Backtest instrument: HYPEUSDT
Backtesting range: Jul 28, 2025 — Aug 17, 2025
Note on Sample Size:
You’ll notice the report displays fewer than the ideal 100 trades in the strategy report above. This is intentional. The goal of the script is to isolate high-quality, short-term reversal opportunities while filtering out low-conviction setups. This means that the Barking Rat Lite strategy is very selective, filtering out over 90% of market noise. The brief timeframe shown in the strategy report here illustrates its filtering logic over a short window — not its full capabilities. As a result, even on lower timeframes like the 1-minute chart, signals are deliberately sparse — each one must pass all criteria before triggering.
For a larger dataset:
Once the strategy is applied to your chart, users are encouraged to expand the lookback range or apply the strategy to other volatile pairs to view a full sample.
💡Why 25% Equity Per Trade?
While it's always best to size positions based on personal risk tolerance, we defaulted to 25% equity per trade in the backtesting data — and here’s why:
Backtests using this sizing show manageable drawdowns even under volatile periods.
The strategy generates a sizeable number of trades, reducing reliance on a single outcome.
Combined with conservative filters, the 25% setting offers a balance between aggression and control.
Users are strongly encouraged to customize this to suit their risk profile.
What makes Barking Rat Lite valuable
Combines multiple layers of confirmation: EMA bands + FVG + RSI
Adaptive to volatility: ATR-based exits scale with market conditions
Clear, actionable visuals: Easy to monitor and manage trades
Bitcoin Logarithmic Growth Curve 2025 Z-Score"The Bitcoin logarithmic growth curve is a concept used to analyze Bitcoin's price movements over time. The idea is based on the observation that Bitcoin's price tends to grow exponentially, particularly during bull markets. It attempts to give a long-term perspective on the Bitcoin price movements.
The curve includes an upper and lower band. These bands often represent zones where Bitcoin's price is overextended (upper band) or undervalued (lower band) relative to its historical growth trajectory. When the price touches or exceeds the upper band, it may indicate a speculative bubble, while prices near the lower band may suggest a buying opportunity.
Unlike most Bitcoin growth curve indicators, this one includes a logarithmic growth curve optimized using the latest 2024 price data, making it, in our view, superior to previous models. Additionally, it features statistical confidence intervals derived from linear regression, compatible across all timeframes, and extrapolates the data far into the future. Finally, this model allows users the flexibility to manually adjust the function parameters to suit their preferences.
The Bitcoin logarithmic growth curve has the following function:
y = 10^(a * log10(x) - b)
In the context of this formula, the y value represents the Bitcoin price, while the x value corresponds to the time, specifically indicated by the weekly bar number on the chart.
How is it made (You can skip this section if you’re not a fan of math):
To optimize the fit of this function and determine the optimal values of a and b, the previous weekly cycle peak values were analyzed. The corresponding x and y values were recorded as follows:
113, 18.55
240, 1004.42
451, 19128.27
655, 65502.47
The same process was applied to the bear market low values:
103, 2.48
267, 211.03
471, 3192.87
676, 16255.15
Next, these values were converted to their linear form by applying the base-10 logarithm. This transformation allows the function to be expressed in a linear state: y = a * x − b. This step is essential for enabling linear regression on these values.
For the cycle peak (x,y) values:
2.053, 1.268
2.380, 3.002
2.654, 4.282
2.816, 4.816
And for the bear market low (x,y) values:
2.013, 0.394
2.427, 2.324
2.673, 3.504
2.830, 4.211
Next, linear regression was performed on both these datasets. (Numerous tools are available online for linear regression calculations, making manual computations unnecessary).
Linear regression is a method used to find a straight line that best represents the relationship between two variables. It looks at how changes in one variable affect another and tries to predict values based on that relationship.
The goal is to minimize the differences between the actual data points and the points predicted by the line. Essentially, it aims to optimize for the highest R-Square value.
Below are the results:
snapshot
snapshot
It is important to note that both the slope (a-value) and the y-intercept (b-value) have associated standard errors. These standard errors can be used to calculate confidence intervals by multiplying them by the t-values (two degrees of freedom) from the linear regression.
These t-values can be found in a t-distribution table. For the top cycle confidence intervals, we used t10% (0.133), t25% (0.323), and t33% (0.414). For the bottom cycle confidence intervals, the t-values used were t10% (0.133), t25% (0.323), t33% (0.414), t50% (0.765), and t67% (1.063).
The final bull cycle function is:
y = 10^(4.058 ± 0.133 * log10(x) – 6.44 ± 0.324)
The final bear cycle function is:
y = 10^(4.684 ± 0.025 * log10(x) – -9.034 ± 0.063)
The main Criticisms of growth curve models:
The Bitcoin logarithmic growth curve model faces several general criticisms that we’d like to highlight briefly. The most significant, in our view, is its heavy reliance on past price data, which may not accurately forecast future trends. For instance, previous growth curve models from 2020 on TradingView were overly optimistic in predicting the last cycle’s peak.
This is why we aimed to present our process for deriving the final functions in a transparent, step-by-step scientific manner, including statistical confidence intervals. It's important to note that the bull cycle function is less reliable than the bear cycle function, as the top band is significantly wider than the bottom band.
Even so, we still believe that the Bitcoin logarithmic growth curve presented in this script is overly optimistic since it goes parly against the concept of diminishing returns which we discussed in this post:
This is why we also propose alternative parameter settings that align more closely with the theory of diminishing returns."
Now with Z-Score calculation for easy and constant valuation classification of Bitcoin according to this metric.
Created for TRW
RSI-Adaptive T3 [ChartPrime]The RSI-Adaptive T3 is a precision trend-following tool built around the legendary T3 smoothing algorithm developed by Tim Tillson , designed to enhance responsiveness while reducing lag compared to traditional moving averages. Current implementation takes it a step further by dynamically adapting the smoothing length based on real-time RSI conditions — allowing the T3 to “breathe” with market volatility. This dynamic length makes the curve faster in trending moves and smoother during consolidations.
To help traders visualize volatility and directional momentum, adaptive volatility bands are plotted around the T3 line, with visual crossover markers and a dynamic info panel on the chart. It’s ideal for identifying trend shifts, spotting momentum surges, and adapting strategy execution to the pace of the market.
HOIW IT WORKS
At its core, this indicator fuses two ideas:
The T3 Moving Average — a 6-stage recursively smoothed exponential average created by Tim Tillson , designed to reduce lag without sacrificing smoothness. It uses a volume factor to control curvature.
A Dynamic Length Engine — powered by the RSI. When RSI is low (market oversold), the T3 becomes shorter and more reactive. When RSI is high (overbought), the T3 becomes longer and smoother. This creates a feedback loop between price momentum and trend sensitivity.
// Step 1: Adaptive length via RSI
rsi = ta.rsi(src, rsiLen)
rsi_scale = 1 - rsi / 100
len = math.round(minLen + (maxLen - minLen) * rsi_scale)
pine_ema(src, length) =>
alpha = 2 / (length + 1)
sum = 0.0
sum := na(sum ) ? src : alpha * src + (1 - alpha) * nz(sum )
sum
// Step 2: T3 with adaptive length
e1 = pine_ema(src, len)
e2 = pine_ema(e1, len)
e3 = pine_ema(e2, len)
e4 = pine_ema(e3, len)
e5 = pine_ema(e4, len)
e6 = pine_ema(e5, len)
c1 = -v * v * v
c2 = 3 * v * v + 3 * v * v * v
c3 = -6 * v * v - 3 * v - 3 * v * v * v
c4 = 1 + 3 * v + v * v * v + 3 * v * v
t3 = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3
The result: an evolving trend line that adapts to market tempo in real-time.
KEY FEATURES
⯁ RSI-Based Adaptive Smoothing
The length of the T3 calculation dynamically adjusts between a Min Length and Max Length , based on the current RSI.
When RSI is low → the T3 shortens, tracking reversals faster.
When RSI is high → the T3 stretches, filtering out noise during euphoria phases.
Displayed length is shown in a floating table, colored on a gradient between min/max values.
⯁ T3 Calculation (Tim Tillson Method)
The script uses a 6-stage EMA cascade with a customizable Volume Factor (v) , as designed by Tillson (1998) .
Formula:
T3 = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3
This technique gives smoother yet faster curves than EMAs or DEMA/Triple EMA.
⯁ Visual Trend Direction & Transitions
The T3 line changes color dynamically:
Color Up (default: blue) → bullish curvature
Color Down (default: orange) → bearish curvature
Plot fill between T3 and delayed T3 creates a gradient ribbon to show momentum expansion/contraction.
Directional shift markers (“🞛”) are plotted when T3 crosses its own delayed value — helping traders spot trend flips or pullback entries.
⯁ Adaptive Volatility Bands
Optional upper/lower bands are plotted around the T3 line using a user-defined volatility window (default: 100).
Bands widen when volatility rises, and contract during compression — similar to Bollinger logic but centered on the adaptive T3.
Shaded band zones help frame breakout setups or mean-reversion zones.
⯁ Dynamic Info Table
A live stats panel shows:
Current adaptive length
Maximum smoothing (▲ MaxLen)
Minimum smoothing (▼ MinLen)
All values update in real time and are color-coded to match trend direction.
HOW TO USE
Use T3 crossovers to detect trend transitions, especially during periods of volatility compression.
Watch for volatility contraction in the bands — breakouts from narrow band periods often precede trend bursts.
The adaptive smoothing length can also be used to assess current market tempo — tighter = faster; wider = slower.
CONCLUSION
RSI-Adaptive T3 modernizes one of the most elegant smoothing algorithms in technical analysis with intelligent RSI responsiveness and built-in volatility bands. It gives traders a cleaner read on trend health, directional shifts, and expansion dynamics — all in a visually efficient package. Perfect for scalpers, swing traders, and algorithmic modelers alike, it delivers advanced logic in a plug-and-play format.
Low Volatility Breakout Detector)This indicator is designed to visually identify potential breakouts from consolidation during periods of low volatility. It is based on classic Bollinger Bands and relative volume. Its primary purpose is not to generate buy or sell signals but to assist in spotting moments when the market exits a stagnation phase.
Arrows appear only when the price breaks above the upper or below the lower Bollinger Band, the band width is below a specified threshold (expressed in percentage), and volume is above its moving average multiplied by a chosen multiplier (default is 1). This combination may indicate the start of a new impulse following a period of low activity.
The chart background during low volatility is colored based on volume strength—the lower the volume during stagnation, the less transparent the background. This helps quickly spot unusual market behavior under seemingly calm conditions. The background opacity is dynamically scaled relative to the range of volumes over a selected period, which can be set manually (default is 50 bars).
The indicator works best in classic horizontal consolidations, where price moves within a narrow range and volatility and volume clearly decline. It is not intended to detect breakouts from formations such as triangles or wedges, which may not always exhibit low volatility relative to Bollinger Bands.
Settings allow you to adjust:
Bollinger Band length and multiplier,
Volatility threshold (in %),
Background and arrow colors,
Volume moving average length and multiplier,
Bar range used for background opacity scaling.
Note: For reliable results, it’s advisable to tailor the volatility threshold and volume/background ranges to the specific market and timeframe, as different instruments have distinct dynamics. If you want the background color to closely match the color of breakout arrows, you should set the same volume analysis period as the volume moving average length.
Additional note: To achieve a cleaner chart and focus solely on breakout signals, you can disable the background and Bollinger Bands display in the settings. This will leave only the breakout arrows visible on the chart, providing a clearer and more readable market picture.
Consolidation Range with Signals (Zeiierman)█ Overview
Consolidation Range with Signals (Zeiierman) is a precision tool for identifying and trading market consolidation zones, where price contracts into tight ranges before significant movement. It provides dynamic range detection using either ADX-based trend strength or volatility compression metrics, and offers built-in take profit and stop loss signals based on breakout dynamics.
Whether you trade breakouts, range reversals, or trend continuation setups, this indicator visualizes the balance between supply and demand with clearly defined mid-bands, breakout zones, and momentum-sensitive TP/SL placements.
█ How It Works
⚪ Multi-Method Range Detection
ADX Mode
Uses the Average Directional Index (ADX) to detect low-trend-strength environments. When ADX is below your selected threshold, price is considered to be in consolidation.
Volatility Mode
This mode detects consolidation by identifying periods of volatility compression. It evaluates whether the following metrics are simultaneously below their respective historical rolling averages:
Standard Deviation
Variance
Average True Range (ATR)
⚪ Dynamic Range Band System
Once a range is confirmed, the system builds a dynamic band structure using a volatility-based filter and price-jump logic:
Middle Line (Trend Filter): Reacts to price imbalance using adaptive jump logic.
Upper & Lower Bands: Calculated by expanding from the middle line using a configurable multiplier.
This creates a clean, visual box that reflects current consolidation conditions and adapts as price fluctuates within or escapes the zone.
⚪ SL/TP Signal Engine
On detection of a breakout from the range, the indicator generates up to 3 Take Profit levels and one Stop Loss, based on the breakout direction:
All TP/SL levels are calculated using the filtered base range and multipliers.
Cooldown logic ensures signals are not spammed bar-to-bar.
Entries are visualized with colored lines and labeled levels.
This feature is ideal for traders who want automated risk and reward reference points for range breakout plays.
█ How to Use
⚪ Breakout Traders
Use the SL/TP signals when the price breaks above or below the range bands, especially after extended sideways movement. You can customize how far TP1, TP2, and TP3 sit from the entry using your own risk/reward profile.
⚪ Mean Reversion Traders
Use the bands to locate high-probability reversion zones. These serve as reference zones for scalping or fade entries within stable consolidation phases.
█ Settings
Range Detection Method – Choose between ADX or Volatility compression to define range criteria.
Range Period – Determines how many bars are used to compute trend/volatility.
Range Multiplier – Scales the width of the consolidation zone.
SL/TP System – Optional levels that project TP1/TP2/TP3 and SL from the base price using multipliers.
Cooldown – Prevents repeated SL/TP signals from triggering too frequently.
ADX Threshold & Smoothing – Adjusts sensitivity of trend strength detection.
StdDev / Variance / ATR Multipliers – Fine-tune compression detection logic.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
SD Median NUPL-Z🧠 Overview
SD Median NUPL-Z is a trend-following indicator that leverages a normalized version of Bitcoin’s Net Unrealized Profit/Loss (NUPL) metric, filtered through a median-based volatility band. Unlike traditional NUPL which is often used to spot extremes, this indicator is designed to identify sustained directional trends — entering only when both on-chain momentum and price structure align.
🧩 Key Features
Z-Scored NUPL Trend Engine: Normalizes NUPL using rolling mean and standard deviation to create a smoothed trend signal.
Price Structure Filter: Implements a median-based price band to avoid false entries during short-term volatility.
Custom Thresholds: User-defined thresholds determine when the trend signal is strong enough to justify a long or short directional bias.
Directional Candle Coloring: Reinforces current trend regime visually with aqua (bullish) and red (bearish) plots and candles.
Optimized for BTC: Uses Bitcoin’s Market Cap and Realized Cap to construct the NUPL input.
🔍 How It Works
On-Chain Core: NUPL is calculated as the percentage of unrealized profit in the market: (Market Cap - Realized Cap) / Market Cap * 100.
Z-Score Transformation: The raw NUPL value is normalized using a rolling average and standard deviation over a set window (default 134 days), producing the NUPL-Z series.
Median-Based Price Filter: A rolling 50th percentile (median) of price is used alongside its own standard deviation to create upper and lower bounds.
These bounds define a "volatility corridor" around price; the trend signal is only acted upon if price confirms by staying outside these bands.
Signal Logic:
A Long signal is triggered when NUPL-Z rises above the long threshold and price is not below the lower band.
A Short signal is triggered when NUPL-Z falls below the short threshold.
State Variable (CD): Tracks the current market regime, used to control plotting and color changes.
🔁 Use Cases & Applications
Momentum-Based Trend Following: Helps traders align with directional moves backed by both on-chain sentiment and supportive price structure.
Filtered Entry Timing: Reduces premature or noise-based entries by requiring price confirmation before committing to NUPL-based signals.
Best Suited for BTC: This tool is designed specifically around Bitcoin’s on-chain metrics and is not intended for altcoins or low-volume assets.
✅ Conclusion
SD Median NUPL-Z repurposes a traditionally cyclical valuation tool into a modern trend-following signal by combining statistical normalization with dynamic price structure filtering. It offers a more robust way to participate in high-conviction directional trends, reducing the likelihood of entering during short-lived counter moves.
⚠️ Disclaimer
The content provided by this indicator is for educational and informational purposes only. Nothing herein constitutes financial or investment advice. Trading and investing involve risk, including the potential loss of capital. Always backtest and apply risk management suited to your strategy.
IU Mean Reversion SystemDESCRIPTION
The IU Mean Reversion System is a dynamic mean reversion-based trading framework designed to identify optimal reversal zones using a smoothed mean and a volatility-adjusted band. This system captures price extremes by combining exponential and running moving averages with the Average True Range (ATR), effectively identifying overextended price action that is likely to revert back to its mean. It provides precise long and short entries with corresponding exit conditions, making it ideal for range-bound markets or phases of low volatility.
USER INPUTS :
Mean Length – Controls the smoothness of the mean; default is 9.
ATR Length – Defines the lookback period for ATR-based band calculation; default is 100.
Multiplier – Determines how wide the upper and lower bands are from the mean; default is 3.
LONG CONDITION :
A long entry is triggered when the closing price crosses above the lower band, indicating a potential upward mean reversion.
A position is taken only if there is no active long position already.
SHORT CONDITION :
A short entry is triggered when the closing price crosses below the upper band, signaling a potential downward mean reversion.
A position is taken only if there is no active short position already.
LONG EXIT :
A long position exits when the high price crosses above the mean, implying that price has reverted back to its average and may no longer offer favorable long risk-reward.
SHORT EXIT :
A short position exits when the low price crosses below the mean, indicating the mean reversion has occurred and the downside opportunity has likely played out.
WHY IT IS UNIQUE:
Uses a double smoothing approach (EMA + RMA) to define a stable mean, reducing noise and false signals.
Adapts dynamically to volatility using ATR-based bands, allowing it to handle different market conditions effectively.
Implements a state-aware entry system using persistent variables, avoiding redundant entries and improving clarity.
The logic is clear, concise, and modular, making it easy to modify or integrate with other systems.
HOW USER CAN BENEFIT FROM IT :
Traders can easily identify reversion opportunities in sideways or mean-reverting environments.
Entry and exit points are visually labeled on the chart, aiding in clarity and trade review.
Helps maintain discipline and consistency by using a rule-based framework instead of subjective judgment.
Can be combined with other trend filters, momentum indicators, or higher time frame context for enhanced results.
Moving Volume-Weighted Avg Price, % Channel, BBsThis script includes:
- Moving Volume-Weighted Average Price line.
- User-defined % band above and below, very useful for "breakout" signals, and mentally adjusting to the magnitude of price swings when viewing an automatic scale on the price axis.
- Volume-Weighted Bollinger Bands, which are more sensitive to volume.
More detail:
- This is like TV's basic VWAP in concept, except the major flaw in that is that it has reset periods that you can't override, and the volume is cumulative until the next hard reset. The 'reset' is OK for securities trading, that resets every day anyway. But not for crypto - and not if/when securities trading goes 24/7. Also, the denominator accumulating over the entire period is also *not* OK, because then what is shown means something different as the day progresses - which kind of makes it useless. In other words, it starts out very sensitive to volume, and gets progressively more numb to it as they day progresses, and starts flattening out.
- This fixes both problems, by using a user-definable moving window for the average. Essentially combining SMA with volume-weighting.
- You may also find an invaluable trading aid, in the % bands above and below.
- What can optionally be shown is standard deviation bands, aka Bollinger bands. The advantage over regular BB is that it's volume-weighted. Since it is already calculated on a moving average, the period for the standard deviation has been shortened by default, and the magnitude increased, to better approximate regular Bollinger Bands - but it's still more responsive to volume.
Q Momentum FlowQ Momentum Flow
A hybrid trend engine combining breakout-driven momentum shifts with adaptive volatility bands. Designed for traders who want clear entries, intelligent exits, and a balance between reactivity and noise control.
🔧 Core Features
1. Momentum Shift Detection
• Uses dynamic breakout levels (ATR-based) to identify impulse-driven price shifts.
• Filters weak moves by enforcing a cooldown period and direction alternation.
2. Adaptive Trend Framework
• Trend direction is derived from a dual-EMA anchor with dynamic volatility bands.
• Sensitivity automatically adjusts based on smoothed price deviation.
3. Entry & Exit System
• Buy and sell arrows appear on valid momentum + trend alignment.
• Exit markers signal early trend weakening before full reversal.
• Arrows and labels are visually separated to reduce chart clutter.
4. Alerts (Fully Integrated)
• Buy and Sell alerts on valid entry triggers.
• Separate alerts for early exits based on weakening trend conditions.
• Compatible with automation or notification setups.
⚙️ Configurable Inputs
• Trend Length — Controls how fast the adaptive bands react.
• Smoothing — Smooths volatility for more stable band generation.
• Sensitivity — Adjusts band width and breakout tolerance.
• Visual Settings — Customize background color, arrow styles, and label size.
• Exit Logic — Built-in reversal detection to signal when trend weakens.
📈 How to Use
• Follow Buy/Sell arrows for directional entries.
• Stay in trade until either:
— Opposite signal appears, or
— “Exit” label triggers based on adaptive trend weakening.
• Use background and bar colors for regime clarity.
Candle Trend PowerThe Candle Trend Power is a custom technical indicator designed for advanced trend analysis and entry signal generation. It combines multiple smoothing methods, candle transformations, and volatility bands to visually and analytically enhance your trading decisions.
🔧 Main Features:
📉 Custom Candle Types
It transforms standard OHLC candles into one of several advanced types:
Normal Candles, Heikin-Ashi, Linear Regression, Rational Quadratic (via kernel filtering), McGinley Dynamic Candles
These transformations help traders better see trend continuations and reversals by smoothing out market noise.
🧮 Smoothing Method for Candle Data
Each OHLC value can be optionally smoothed using:
EMA, SMA, SMMA (RMA), WMA, VWMA, HMA, Mode (Statistical mode) Or no smoothing at all.
This flexibility is useful for customizing to different market conditions.
📊 Volatility Bands
Volatility-based upper and lower bands are calculated using:
Band = price ± (price% + ATR * multiplier)
They help identify overbought/oversold zones and potential reversal points.
📍 Candle Color Logic
Each candle is colored:
Cyan (#00ffff) if it's bullish and stronger than the previous candle
Red (#fd0000) if it's bearish and weaker
Alternating bar index coloring improves visual clarity.
📈 Trend Momentum Labels
The script includes a trend strength estimation using a smoothed RSI:
If the candle is bullish, it shows a BUY label with the overbought offset.
If bearish, it shows a SELL label with the oversold offset.
These labels are dynamic and placed next to the bar.
📍 Signal Markers
It also plots triangles when the price crosses the volatility bands:
Triangle up for potential long
Triangle down for potential short
✅ Use Case Summary
This script is mainly used for:
Visual trend confirmation with enhanced candles
Volatility-based entry signals
RSI-based trend momentum suggestions
Integrating different smoothing & transformation methods to fine-tune your strategy
It’s a flexible tool for both manual traders and automated system developers who want clear, adaptive signals across different market conditions.
💡 What's Different
🔄 Candle Type Transformations
⚙️ Custom Candle Smoothing
📉 Candle's Multi-level Volatility Bands
🔺 Dynamic Entry Signals (Buy/Sell Labels)
❗Important Note:
This script is provided for educational purposes and does not constitute financial advice. Traders and investors should conduct their research and analysis before making any trading decisions.
VWAP StrategyVWAP and volatility filters for structured intraday trades.
How the Strategy Works
1. VWAP Anchored to Session
VWAP is calculated from the start of each trading day.
Standard deviations are used to create bands above/below the VWAP.
2. Entry Triggers: Al Brooks H1/H2 and L1/L2
H1/H2 (Long Entry): Opens below 2nd lower deviation, closes above it.
L1/L2 (Short Entry): Opens above 2nd upper deviation, closes below it.
3. Volatility Filter (ATR)
Skips trades when deviation bands are too tight (< 3 ATRs).
4. Stop Loss
Based on the signal bar’s high/low ± stop buffer.
Longs: signalBarLow - stopBuffer
Shorts: signalBarHigh + stopBuffer
5. Take Profit / Exit Target
Exit logic is customizable per side:
VWAP, Deviation Band, or None
6. Safety Exit
Exits early if X consecutive bars go against the trade.
Longs: X red bars
Shorts: X green bars
Explanation of Strategy Inputs
- Stop Buffer: Distance from signal bar for stop-loss.
- Long/Short Exit Rule: VWAP, Deviation Band, or None
- Long/Short Target Deviation: Standard deviation for target exit.
- Enable Safety Exit: Toggle emergency exit.
- Opposing Bars: Number of opposing candles before safety exit.
- Allow Long/Short Trades: Enable or disable entry side.
- Show VWAP/Entry Bands: Toggle visual aids.
- Highlight Low Vol Zones: Orange shading for low volatility skips.
Tuning Tips
- Stop buffer: Use 1–5 points.
- Target deviation: Start with VWAP. In strong trends use 2nd deviation and turn off the counter-trend entry.
- Safety exit: 3 bars recommended.
- Disable short/long side to focus on one type of reversal.
Backtest Setup Suggestions
- initial_capital = 2000
- default_qty_value = 1 (fixed contracts or percent-of-equity)
VIX Implied MovesKey Features:
Three Timeframe Bands:
Daily: Blue bands showing ±1σ expected move
Weekly: Green bands showing ±1σ expected move
30-Day: Red bands showing ±1σ expected move
Calculation Methodology:
Uses VIX's annualized volatility converted to specific timeframes using square root of time rule
Trading day convention (252 days/year)
Band width = Price × (VIX/100) ÷ √(number of periods)
Visual Features:
Colored semi-transparent backgrounds between bands
Progressive line thickness (thinner for shorter timeframes)
Real-time updates as VIX and ES prices change
Example Calculation (VIX=20, ES=5000):
Daily move = 5000 × (20/100)/√252 ≈ ±63 points
Weekly move = 5000 × (20/100)/√50 ≈ ±141 points
Monthly move = 5000 × (20/100)/√21 ≈ ±218 points
This indicator helps visualize expected price ranges based on current volatility conditions, with wider bands indicating higher market uncertainty. The probabilistic ranges represent 68% confidence levels (1 standard deviation) derived from options pricing.
Channels by SmanovIndicator Description
“Channels by Smanov” is a multi-channel indicator that plots dynamic support and resistance zones around a moving average line. It is composed of two main parts:
FL 1 (Flexible Channels):
A Simple Moving Average (SMA) serves as the Basis.
Upper and lower bands are calculated by adding and subtracting an ATR-based buffer from the Basis.
User-defined inputs (such as Half Length, ATR Period, and ATR Multiplier) allow for flexibility in adapting the channel width to different market conditions.
FL 2 (Fixed Channels):
Eight additional bands expand on the same SMA + ATR logic but use fixed ATR multipliers (ranging from 2.2 up to 5.0).
These extra lines can help you gauge more distant levels of potential support or resistance.
By combining an SMA (to smooth price data) with ATR (to gauge volatility), this indicator highlights areas where price may be “stretched” relative to recent volatility. Traders often use channel-based indicators to identify potential “overbought” or “oversold” conditions, as well as to spot trend continuations or reversals.
How to Use / Trading Strategy
Trend Identification (Basis Line):
The middle line (the SMA) can be used as a trend filter:
If price consistently stays above the basis, it suggests an uptrend.
If price consistently stays below the basis, it suggests a downtrend.
Reversal Opportunities (Outer Bands):
When price moves into or beyond the upper bands, it may signal overbought conditions, creating potential short (or profit-taking) opportunities.
Conversely, when price dips into or beyond the lower bands, it may signal oversold conditions, which some traders use for initiating or adding to long positions.
Breakout or Continuation Signals:
In a strong trend, price may “ride” along the outer channels.
A clear break above/below a channel that previously acted as resistance/support could hint at trend continuation.
Failure to break these levels could suggest a potential reversal or consolidation phase.
Stop-Loss Placement:
Traders often place stops just outside a relevant band. For example, if you go long on a dip near a lower band, you might place your stop slightly below that band, relying on the ATR-based buffer to reflect normal volatility.
Multiple Timeframe Analysis:
Consider confirming signals on a higher timeframe (e.g., 4-hour or daily) while taking entries on a lower timeframe.
Channels on higher timeframes can act as stronger support or resistance, offering additional confluence.
Disclaimer
This indicator is provided for educational purposes and does not guarantee specific results. Trading involves risk, and individual traders are responsible for managing their own risk and capital. Always conduct thorough analysis and use appropriate risk management (e.g., stop-losses) when entering any market positions.
Enjoy using Channels by Smanov! Your feedback and personal insights can further refine the indicator’s settings for your preferred trading style. Good luck and trade responsibly!
This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0.
© Smanov_I
Adaptive Fourier Transform Supertrend [QuantAlgo]Discover a brand new way to analyze trend with Adaptive Fourier Transform Supertrend by QuantAlgo , an innovative technical indicator that combines the power of Fourier analysis with dynamic Supertrend methodology. In essence, it utilizes the frequency domain mathematics and the adaptive volatility control technique to transform complex wave patterns into clear and high probability signals—ideal for both sophisticated traders seeking mathematical precision and investors who appreciate robust trend confirmation!
🟢 Core Architecture
At its core, this indicator employs an adaptive Fourier Transform framework with dynamic volatility-controlled Supertrend bands. It utilizes multiple harmonic components that let you fine-tune how market frequencies influence trend detection. By combining wave analysis with adaptive volatility bands, the indicator creates a sophisticated yet clear framework for trend identification that dynamically adjusts to changing market conditions.
🟢 Technical Foundation
The indicator builds on three innovative components:
Fourier Wave Analysis: Decomposes price action into primary and harmonic components for precise trend detection
Adaptive Volatility Control: Dynamically adjusts Supertrend bands using combined ATR and standard deviation
Harmonic Integration: Merges multiple frequency components with decreasing weights for comprehensive trend analysis
🟢 Key Features & Signals
The Adaptive Fourier Transform Supertrend transforms complex wave calculations into clear visual signals with:
Dynamic trend bands that adapt to market volatility
Sophisticated cloud-fill visualization system
Strategic L/S markers at key trend reversals
Customizable bar coloring based on trend direction
Comprehensive alert system for trend shifts
🟢 Practical Usage Tips
Here's how you can get the most out of the Adaptive Fourier Transform Supertrend :
1/ Setup:
Add the indicator to your favorites, then apply it to your chart ⭐️
Start with close price as your base source
Use standard Fourier period (14) for balanced wave detection
Begin with default harmonic weight (0.5) for balanced sensitivity
Start with standard Supertrend multiplier (2.0) for reliable band width
2/ Signal Interpretation:
Monitor trend band crossovers for potential signals
Watch for convergence of price with Fourier trend
Use L/S markers for trade entry points
Monitor bar colors for trend confirmation
Configure alerts for significant trend reversals
🟢 Pro Tips
Fine-tune Fourier parameters for optimal sensitivity:
→ Lower Base Period (8-12) for more reactive analysis
→ Higher Base Period (15-30) to filter out noise
→ Adjust Harmonic Weight (0.3-0.7) to control shorter trend influence
Customize Supertrend settings:
→ Lower multiplier (1.5-2.0) for tighter bands
→ Higher multiplier (2.0-3.0) for wider bands
→ Adjust ATR length based on market volatility
Strategy Enhancement:
→ Compare signals across multiple timeframes
→ Combine with volume analysis
→ Use with support/resistance levels
→ Integrate with other momentum indicators
Fast WMAThe Fast WMA is a reactive trend-following tool designed to provide rapid signals on the ETHBTC ratio. It uses advanced smoothing techniques and normalized thresholds to detect trends effectively. Let’s break it down further:
Source Smoothing with Standard Deviations
The source price data is smoothed by calculating its standard deviation, which measures how far prices typically move from the average. This creates upper and lower deviation levels:
The upper deviation represents a high boundary where prices might be overextended.
The lower deviation represents a low boundary where prices might be oversold.
These deviations are combined with the Weighted Moving Average (WMA) to filter out noise and focus on significant price movements.
Weighting the WMA for Further Smoothing
The Weighted Moving Average (WMA) itself is refined by applying adjustable weights:
An upper weight expands the WMA, forming an Upper Band.
A lower weight compresses the WMA, forming a Lower Band.
This dual-weighted approach allows the tool to adapt dynamically to price action, highlighting areas of potential trend reversals or continuations.
Normalized WMA (NWMA) with Adjustable Thresholds
The Normalized WMA (NWMA) adds an extra layer of analysis:
It compares the source price to its smoothed average, expressing the result as a percentage change.
This helps identify whether the market is overbought (positive NWMA) or oversold (negative NWMA).
Two adjustable thresholds—a long threshold (for buy signals) and a short threshold (for sell signals)—allow users to fine-tune the sensitivity of these signals based on their trading style or the market's volatility.
Entry/Exit Conditions
The Fast WMA generates signals based on two conditions:
Buy (Long) Signal:
Occurs when the price stays above the lower deviation level, and the NWMA crosses above the long threshold.
Indicates bullish momentum and suggests an upward trend.
Sell (Short) Signal:
Occurs when the price falls below the upper deviation level, and the NWMA drops below the short threshold.
Indicates bearish momentum and suggests a downward trend.
Important Note
This indicator is not designed to work alone. It’s a powerful tool for identifying trends but should be combined with other analyses, such as volume, higher time-frame trends, or fundamental analysis, for better decision-making.
Plotting Features
The Fast WMA includes intuitive visual cues to enhance usability:
Color-Coded Signals:
Colors change dynamically to indicate trend direction.
Options are available to customize the color scheme (e.g., for specific trading pairs like ETHBTC or SOLBTC).
Threshold Lines:
Dashed horizontal lines mark the long and short thresholds, helping users visualize signal levels.
Bands and Fill Areas:
The Upper Band and Lower Band are plotted around the WMA, with shaded regions indicating the deviation zones.
Signal Arrows:
Triangles appear below or above candles to highlight potential buy (upward arrow) or sell (downward arrow) points.
Bar Coloring:
Candlesticks are colored according to trend direction, making it easier to identify trends at a glance.
The Fast WMA combines mathematical precision with user-friendly visualization, offering traders a versatile tool to analyze trends and make informed decisions. However, like any indicator, it’s most effective when used as part of a broader trading strategy.
Time Appliconic Macro | ForTF5m (Fixed)The Time Appliconic Macro (TAMcr) is a custom-built trading indicator designed for the 5-minute time frame (TF5m), providing traders with clear Buy and Sell signals based on precise technical conditions and specific time windows.
Key Features:
Dynamic Moving Average (MA):
The indicator utilizes a Simple Moving Average (SMA) to identify price trends.
Adjustable length for user customization.
Custom STARC Bands:
Upper and lower bands are calculated using the SMA and the Average True Range (ATR).
Includes a user-defined multiplier to adjust the band width for flexibility across different market conditions.
RSI Integration:
Signals are filtered using the Relative Strength Index (RSI), ensuring they align with overbought/oversold conditions.
Time-Based Signal Filtering:
Signals are generated only during specific time windows, allowing traders to focus on high-activity periods or times of personal preference.
Supports multiple custom time ranges with automatic adjustments for UTC-4 or UTC-5 offsets.
Clear Signal Visualization:
Buy Signals: Triggered when the price is below the lower band, RSI indicates oversold conditions, and the time is within the defined range.
Sell Signals: Triggered when the price is above the upper band, RSI indicates overbought conditions, and the time is within the defined range.
Signals are marked directly on the chart for easy identification.
Customizability:
Adjustable parameters for the Moving Average length, ATR length, and ATR multiplier.
Time zone selection and defined trading windows provide a tailored experience for global users.
Who is this Indicator For?
This indicator is perfect for intraday traders who operate in the 5-minute time frame and value clear, filtered signals based on price action, volatility, and momentum indicators. The time window functionality is ideal for traders focusing on specific market sessions or personal schedules.
How to Use:
Adjust the MA and ATR parameters to match your trading style or market conditions.
Set the desired time zone and time ranges to align with your preferred trading hours.
Monitor the chart for Buy (green) and Sell (red) signals, and use them as a guide for entering or exiting trades.
E9 Bollinger RangeThe E9 Bollinger Range is a technical trading tool that leverages Bollinger Bands to track volatility and price deviations, along with additional trend filtering via EMAs.
The script visually enhances price action with a combination of trend-filtering EMAs, bar colouring for trend direction, signals to indicate potential buy and sell points based on price extension and engulfing patterns.
Here’s a breakdown of its key components:
Bollinger Bands: The strategy plots multiple Bollinger Band deviations to create different price levels. The furthest deviation bands act as warning signs for traders when price extends significantly, signaling potential overbought or oversold conditions.
Bar Colouring: Visual bar colouring is applied to clearly indicate trend direction: green bars for an uptrend and red bars for a downtrend.
EMA Filtering: Two EMAs (50 and 200) are used to help filter out false signals, giving traders a better sense of the underlying trend.
This combination of signals, visual elements, and trend filtering provides traders with a systematic approach to identifying price deviations and taking advantage of market corrections.
Brief History of Bollinger Bands
Bollinger Bands were developed by John Bollinger in the early 1980s as a tool to measure price volatility in financial markets. The bands consist of a moving average (typically 20 periods) with upper and lower bands placed two standard deviations away. These bands expand and contract based on market volatility, offering traders a visual representation of price extremes and potential reversal zones.
John Bollinger’s work revolutionized technical analysis by incorporating volatility into trend detection. His bands remain widely used across markets, including stocks, commodities, and cryptocurrencies. With the ability to highlight overbought and oversold conditions, Bollinger Bands have become a staple in many trading strategies.






















