RVOL + ATR Panel (overlay)RVOL and ATR indicator
1. Purpose
The script combines:
RVOL (Relative Volume): Measures current intraday volume compared to the average volume for the same time across the past N days.
ATR (Average True Range): Shows the 14-day average daily price range and calculates how far today’s current move is as a percentage of that ATR.
This allows traders to quickly assess:
Whether volume is unusually high or low compared to typical activity at the same time of day.
How large the current price move is relative to historical volatility.
2. RVOL Calculation
Historical Baseline: It records volume for each minute of the session across the chosen number of past days (period input).
Time Matching: Compares the current time’s cumulative volume against the historical average at the same time.
Result: A ratio (RVOL) where 1.0x means volume is normal, >1.0x means above-average, and <1.0x means below-average.
3. ATR Move Calculation
Uses ATR(14) on the daily timeframe.
Calculates:
ATR Value in points.
Current Move = absolute distance from yesterday’s close to the current price.
Move % of ATR = (Current Move / ATR) × 100.
Starts tracking from pre-market open (4 AM EST) and resets after post-market close (8 PM EST).
4. Display
Instead of plotting a line or histogram:
Shows a small panel in the bottom-right corner of the chart.
Two rows:
ATR D: | <% move>
RVOL:
Colors can be set dynamically (e.g., green if high volume, red if extreme ATR move).
5. Trading Utility
High RVOL + Large ATR Move → Market is active, good for breakout/scalping setups.
Low RVOL + Small ATR Move → Market is quiet, less opportunity.
Divergence (e.g., high RVOL but small ATR move) can indicate early buildup before a potential breakout.
Göstergeler ve stratejiler
urpha zone AkomilovBuilds a zone from each new “1” candle (cycle=99).
Direction flips to URPHA BUY/SELL ARENA only on a strong body break: Close beyond zone by ATR × multiplier.
Entry on retest + rejection candle (bull/bear body %).
Cooldown: waits 6 bars between signals.
SL: highest/lowest wick inside box ± pip offset, with minimum distance from entry.
TP: plotted at RR 1:3. Alerts for entries and exits.
Tip: raise ATR length / break multiplier to reduce fake breakouts.
ATR & Time-Adj RVOL A two-row panel in the bottom-right of any chart:
Row 1 — ATR
Label: ATR D: | %
Value: the Daily ATR(14) pulled from the daily timeframe, so it’s the same no matter what chart TF you’re on.
Percent: how far today’s price is from yesterday’s close, expressed as a percent of ATR:
\text{Move%} = \frac{\text{current price} - \text{prior daily close}}{\text{ATR(14)}} \times 100
It updates from pre-market through post-market.
Background color (by absolute move):
< 50% green · 50–80% yellow · 81–99% orange · ≥ 100% dark red.
(So 131% means price has moved 1.31× the typical daily range since yesterday’s close.)
Row 2 — RVOL
Label: RVOL :
Meaning: time-adjusted RTH relative volume. It compares today’s cumulative volume up to this minute (09:30–16:00 ET only) to the average cumulative volume at the same minute over the last N completed RTH sessions (default 10).
RVOL
=
today cum vol (to this minute, RTH only)
avg cum vol (same minute, last N RTH days)
RVOL=
avg cum vol (same minute, last N RTH days)
today cum vol (to this minute, RTH only)
Works on any chart TF (internally computes on 1-minute bars).
Background color: < 0.99 orange · 1.00–1.50 dark green · > 1.50 lime.
Behavior details: holds the final value after 16:00, resets at the next RTH open, and handles early closes/half-days gracefully (missing minutes in history are ignored). An end-of-day safety cap prevents index errors on the last bar.
Inputs you can tweak
ATR Length (Daily): default 14.
RVOL lookback (completed RTH sessions): default 10.
Text Size: tiny / small / normal / large.
How to read it quickly
ATR row tells you the day’s “heat” vs a typical daily move: e.g., ATR D: 19.17 | 131.1% ⇒ price is ~1.31× ATR from yesterday’s close.
RVOL row tells you participation vs typical by now: e.g., 1.90 ⇒ ~90% more volume than usual at this time.
TSU HCC/LCC barsHCC/LCC ("Higher Candle Close / Lower Candle Close") bars help keep traders on the right side of the trend. They are most useful for keeping traders in a trade and not exiting too early.
The first green candle in a series can be seen as a bullish reversal, while the first red candle in a series can be seen as a bearish reversal. Yellow candles are neutral -- neither progressing nor reversing.
FVG Zones for entry (LTF)Recent FVGs which can be used for your trade. Best for 5m / 15m timeframes.
TSU Squeeze Target DotsUtility script to help you know when to scale out of a squeeze trade. The red triangles appear after the squeeze has fired, once the stock reaches the +/-2ATR Keltner Channel
TSU Keltner ChannelsA simple 3-in-1 Keltner Channel tool that plots 3 Keltner Channels on your chart:
+/-1 ATR
+/-2 ATR
+/-3 ATR
Stocks tend to stay between the +2 and -2 ATR channel bands most of the time. A move to or beyond the +/-3 ATR band can be considered extreme, potentially leading to "overbought" or "oversold" conditions.
EFXU Banker Level Price GridThe EFXU Banker Level Price Grid indicator draws fixed horizontal price levels at key whole-number intervals for Forex pairs, regardless of zoom level or timeframe. It’s designed for traders who want consistent visual reference points for major and minor price zones across all charts.
Features:
Major 1000-pip zones (bold lines) above and below a fixed origin price (auto-detects 1.00000 for non-JPY pairs and 100.000 for JPY pairs, or set manually).
500-pip median levels (dashed lines) between each major zone.
100-pip subdivisions (dotted lines) within each 1000-pip zone.
Adjustable number of zones above and below the origin.
Customizable colors, line widths, and label sizes.
Optional labels on the right edge for quick zone identification.
Works on all timeframes and stays visible regardless of zoom or price position.
Use case:
This tool is ideal for traders using institutional-level zones, psychological price levels, or “big money” areas for planning entries, exits, and risk management. Perfect for swing traders, position traders, and scalpers who rely on major pip milestones for market structure context.
Relative Trend IndexRTI (Relative Trend Index)
Description:
The Relative Trend Index (RTI) is a customizable technical analysis indicator designed to gauge trend strength and direction by combining a user-selected moving average with the Relative Strength Index (RSI). The RTI oscillates around a zero line, providing clear visual signals for bullish, bearish, and neutral market conditions. It is plotted in a separate panel below the chart, making it ideal for identifying trend momentum, potential reversals, or periods of consolidation when used alongside other indicators.
The RTI incorporates user-defined upper and lower thresholds to delineate bullish, bearish, and neutral zones. When the RTI is between these thresholds, it signals a neutral market state, visually represented by gray coloring for the RTI plot, price bars, and background. This helps traders identify periods of indecision or consolidation, while strong bullish or bearish trends are highlighted with distinct colors.
How It Works
Moving Average Calculation: Users can choose from 10 moving average types (SMA, EMA, DEMA, TEMA, WMA, VWMA, SMMA, HMA, LSMA, ALMA) to smooth the price data.
The moving average determines the trend direction by comparing it to the closing price.
Trend Direction
A raw trend direction is calculated (+1 if the moving average is above the close price, -1 if below).
The trend direction is smoothed using a Simple Moving Average (SMA) over a user-defined trend length, producing a trendstrength value between -1 and 1.
RSI Integration
The RSI, calculated over a user-specified period, adjusts the RTI’s magnitude to incorporate momentum.
RTI Calculation
The RTI is computed as:
RTI = (trendstrength * (1 - RSI/100)) * 100trendstrength reflects the smoothed trend direction.
The RSI is scaled and inverted to influence the RTI’s intensity.
Threshold Zones
Bullish Zone: When RTI exceeds the upper threshold (default: +30), the RTI plot and price bars turn orange (#FF8040), and the background is light green, indicating strong bullish momentum.
Bearish Zone: When RTI falls below the lower threshold (default: -30), the RTI plot and price bars turn blue (#001BB7), and the background is light red, indicating strong bearish momentum.
Neutral Zone: When RTI is between the upper and lower thresholds, the RTI plot, price bars, and background turn gray, signaling a lack of strong trend or consolidation.
Features
Customizable Moving Average: Select from 10 moving average types (SMA, EMA, DEMA, TEMA, WMA, VWMA, SMMA, HMA, LSMA, ALMA) with adjustable period and ALMA sigma parameters.
Flexible Trend Smoothing: Adjust the trend length to smooth the trend direction, reducing noise and tailoring the indicator’s responsiveness.
RSI Integration: Fine-tune the RSI length to incorporate momentum into the RTI calculation.
Customizable Thresholds: Set upper and lower thresholds to define bullish, bearish, and neutral zones.
Trend line Projection by julzALGOOVERVIEW
Trend Line Single draws two dynamic, forward-projecting trendlines from recent pivots:
Wick Lines – from swing highs/lows of candle wicks.
Body Lines – from swing highs/lows of candle bodies.
Both auto-extend to the right and can optionally shade the zone between wick and body lines, making it easy to spot reaction areas and structure shifts.
Includes automatic HH/LL/HL/LH pivot labeling.
HOW TO USE
Default Length = 8 works for most markets.
Shorter Length → more reactive lines, more frequent signals.
Longer Length → smoother structure, fewer but stronger signals.
Watch for price retests or breaks of wick/body bands.
Use shaded zones to quickly see where price is balancing between wick extremes and body closes.
FEATURES
Wick-based upper/lower trendlines from confirmed swing pivots.
Body-based upper/lower trendlines from confirmed body pivots.
Always-on right extension for forward projection.
Optional fill between wick and body lines to visualize “pressure zones.”
Automatic HH / LL / HL / LH labels for structure reading.
Non-repainting beyond standard pivot confirmation.
SETTINGS
Length – Pivot lookback/forward bars (default 8).
Wick Top / Bottom Color – Wick trendline colors.
Body Top / Bottom Color – Body trendline colors.
Fill Color – Transparency/color for the shaded zone.
PRINCIPLES
Wicks often mark liquidity grabs or extremes.
Bodies reflect actual settlement – good for fair value and consolidation zones.
Wick ≈ Body confluence can mark stronger S/R.
Break + Retest of a line can signal continuation or reversal—always confirm with your own system.
NOTES
Lines only appear after pivots confirm.
Works on all markets and timeframes.
For low-TF noise reduction, increase Length.
This tool is for discretionary analysis, not auto-trading.
SUMMARY
A lightweight, production-ready trendline tool that combines wick- and body-based structure, forward-projects them, optionally shades between them, and labels key pivots for instant structure reading.
DISCLAIMER
For educational purposes only. This is not financial advice. Trade at your own risk with proper management.
Major Lows OscillatorDescription
The Major Lows Oscillator is a custom technical indicator designed to identify significant low-price areas by normalizing the current closing price relative to recent lowest lows and highest highs. The oscillator calculates a normalized price percentage over a configurable lookback period, applies exponential moving averages for smoothing, and inverts the result to highlight potential market bottoms.
Calculation Details
Lowest Low Lookback : Finds the lowest low over a user-defined period (default 100 bars).
Highest High Lookback : Calculates the highest high over a short period (default 1 bar), providing a dynamic normalization range.
Normalization : Normalizes the current close within the range defined by the lowest low and highest high, scaled to 0-100.
Smoothing : Applies a 10-period EMA, inversion, and weighted smoothing combining the last valid value and current oscillator reading.
Final Output : Applies a final EMA (period 1) and inverts the oscillator (100 - value) to emphasize major lows.
Features
Customizable midline level for signal alerts (default 50).
Visual midline reference line.
Alerts trigger on oscillator crossing below midline for automated monitoring.
Usage
Useful for complementing existing setups or integration in algorithmic trading strategies.
Changing the input parameters opens new ways to leverage the asymmetric range concept, allowing adaptation to different market regimes and enhancing the oscillator’s sensitivity and utility.
Examples of input combinations and their potential purposes include:
Extremely Asymmetric Setting: Lowest Low Lookback = 200, Highest High Lookback = 1
Focuses on deep long-term lows contrasted with immediate highs, ideal for spotting strong oversold levels within an otherwise bullish short-term momentum.
Symmetric Lookbacks: Lowest Low Lookback = Highest High Lookback = 50
Balances the range equally, creating a normalized oscillator that treats recent lows and highs with the same weight — useful for markets with balanced volatility.
Short but Equal Lookbacks: Lowest Low Lookback = Highest High Lookback = 10
Highly sensitive to recent price swings, this setting can detect rapid shifts and is suited for intraday or very short-term trading.
Inverted Extreme: Lowest Low Lookback = 1, Highest High Lookback = 100
Highlights very recent lows against a long-term high range, possibly signaling quick dips in a generally overextended market.
Inputs
Midline Level : Threshold for alerts (default 50).
Lowest Low Lookback Period : Bars evaluated for lowest low (default 100).
Highest High Lookback Period : Bars evaluated for highest high (default 1).
Alerts
Configured to trigger once per bar close when the oscillator crosses below the midline level.
---
Disclaimer
This indicator is for educational and analytical use only.
RiffleFX MA Trend RibbonThe RiffleFX MA Trend Ribbon is a simple but powerful trend-following tool for all markets and timeframes.
Features:
• Dual Moving Averages (SMA or EMA, customizable)
• Trend-based background coloring (Green = Bullish, Red = Bearish)
• BUY/SELL arrows on MA crossovers
• Works with Forex, Crypto, Stocks, Indices, and Commodities
How to use:
• Green background + BUY arrow → Look for long trades
• Red background + SELL arrow → Look for short trades
• Best combined with support/resistance and price action for confirmation
ATR x2 AUTODescription:
This indicator automatically plots ATR-based horizontal levels for each of the most recent candles, helping traders visualize potential stop-loss hunting zones, breakout areas, or price reaction points.
It works by taking the Average True Range (ATR) over a customizable period and multiplying it by a user-defined factor (default: ×2). For each of the last N candles (default: 5), it calculates and draws:
Below green candles (bullish) → A horizontal line placed ATR × multiplier below the candle’s low.
Above red candles (bearish) → A horizontal line placed ATR × multiplier above the candle’s high.
Doji candles → No line is drawn.
Each line extends to the right indefinitely, allowing traders to monitor how price reacts when returning to these ATR-based levels. This makes the tool useful for:
Identifying likely stop-loss clusters below bullish candles or above bearish candles.
Anticipating liquidity sweeps and fakeouts.
Supporting breakout or reversal strategies.
Key Features:
Customizable ATR length, multiplier, number of recent candles, and line thickness.
Separate colors for bullish and bearish candle levels.
Automatic real-time updates for each new bar.
Clean overlay on the main price chart.
Inputs:
ATR Length → Period used for ATR calculation.
Multiplier → Factor applied to the ATR distance.
Number of Candles → How many recent candles to track.
Line Thickness and Colors → Full visual customization.
Usage Tip:
These levels can be combined with key market structure points such as support/resistance, trendlines, or the 200 EMA to anticipate high-probability price reactions.
RiffleFX MA Trend RibbonThe RiffleFX MA Trend Ribbon is a simple yet powerful trend-following tool.
It uses two customizable moving averages (SMA or EMA) to:
• Highlight bullish and bearish trends with colored backgrounds.
• Show BUY/SELL arrows on MA crossovers.
• Work on any market and timeframe, including XAUUSD & BTCUSD.
How to use:
• Green background + BUY arrow → look for long opportunities.
• Red background + SELL arrow → look for short opportunities.
• Works best when combined with support/resistance or price action.
RiffleFX MA Trend RibbonThe RiffleFX MA Trend Ribbon is a simple yet powerful trend-following tool.
It uses two customizable moving averages (SMA or EMA) to:
• Highlight bullish and bearish trends with colored backgrounds.
• Show BUY/SELL arrows on MA crossovers.
• Work on any market and timeframe, including XAUUSD & BTCUSD.
How to use:
• Green background + BUY arrow → look for long opportunities.
• Red background + SELL arrow → look for short opportunities.
• Works best when combined with support/resistance or price action.
ABS Companion Oscillator — Trend / Exhaustion / New Trend (v1.1)
# ABS Companion Oscillator — Trend / Exhaustion / New Trend (v1.1)
## What it is (quick take)
**ABS CO** is a unified **–100…+100 trend oscillator** that fuses:
* **Regime**: EMA stack (fast/slow/long) + **HTF slope** (e.g., 60-minute)
* **Momentum**: **TSI** vs its signal
* **Stretch**: session-anchored **VWAP Z-score** for exhaustion and “fresh-trend” sanity checks
It paints the oscillator with **lime** in upstate, **red** in downstate, **gray** in neutral, and tags:
* **NEW↑ / NEW↓** when a **new trend** likely starts (zero-line cross with acceptable stretch)
* **EXH↑ / EXH↓** when an **existing trend looks exhausted** (large |Z| + momentum rollback)
> Use it as a **direction filter and context layer**. Works great in front of an entry engine and behind an exit tool.
---
## How to use it (operational workflow)
1. **Read the state**
* **Uptrend** when the oscillator is **≥ upThresh** (default +55) → prefer **long-side** plays.
* **Downtrend** when the oscillator is **≤ dnThresh** (default −55) → prefer **short-side** plays.
* **Neutral** between thresholds → be selective or flat; expect chop.
2. **Act on events**
* **NEW↑ / NEW↓**: zero-line cross with acceptable |Z| (not already overstretched). Treat as **trend start** cues.
* **EXH↑ / EXH↓**: trend state with **high |Z|** and TSI rollback versus its signal. Treat as **trend fatigue**; avoid fresh go-with entries and tighten risk.
3. **Practical pairing**
* Use **up/down state** (or above/below **neutralBand**) as your go/no-go filter for entries.
* Prioritize entries **with** NEW↑/NEW↓ and **without** nearby EXH tags.
* Keep holding while the oscillator stays in state and no EXH appears; consider scaling out on EXH or on your exit tool.
---
## Visual semantics & alerts
* **ABS CO line** (–100…+100): lime in upstate, red in downstate, gray in neutral.
* **Horizontal guides**: `Up` threshold, `Down` threshold, `Zero`, and optional **neutral band** lines.
* **Background heat** (optional): shaded when EXH conditions trigger (lime/red tint with intensity scaled by |Z|).
* **Tags**: `NEW↑`, `NEW↓`, `EXH↑`, `EXH↓`.
**Alerts (stable):**
* **ABS CO — New Uptrend** (NEW↑)
* **ABS CO — New Downtrend** (NEW↓)
* **ABS CO — Exhausted Up** (EXH↑)
* **ABS CO — Exhausted Down** (EXH↓)
Set alerts to **“Once per bar close”** for clean signals.
---
## Non-repainting behavior
* HTF queries use **lookahead\_off**.
* With **Strict NR = true**, the HTF slope is taken from the **prior completed** HTF bar; events evaluate on confirmed bars → **safer, fewer, cleaner**.
* NEW/EXH tags finalize at bar close. Disabling strictness yields earlier but noisier responses.
---
## Every input explained (and how it changes behavior)
### A) Trend & HTF structure
* **EMA Fast / Slow / Long (`emaFastLen`, `emaSlowLen`, `emaLongLen`)**
Control the baseline regime. Larger = smoother, fewer flips; smaller = snappier, more flips.
* **HTF EMA Len (`htfLen`)** & **HTF timeframe (`htfTF`)**
HTF slope filter. Longer len or higher TF = steadier bias (fewer state changes); shorter/ lower = more sensitive.
* **Strict NR (`strictNR`)**
`true` uses the **previous** HTF bar for slope and evaluates on confirmed bars → cleaner, slower.
### B) Momentum (TSI)
* **TSI Long / Short / Signal (`tsiLong`, `tsiShort`, `tsiSig`)**
Standard TSI. Larger values = smoother momentum, fewer EXH triggers; smaller = snappier, more EXH sensitivity.
### C) Stretch (VWAP Z-score)
* **VWAP Z-score length (`zLen`)**
Window for Z over session-anchored VWAP distance. Larger = smoother |Z|; smaller = more reactive stretch detection.
* **Exhaustion |Z| (`zHot`)**
Minimum |Z| to flag **EXH**. Raise to demand **bigger** stretch (fewer EXH); lower to catch milder excess.
* **Max |Z| for NEW (`zNewMax`)**
NEW requires |Z| **≤ zNewMax** (avoid “new trend” when already stretched). Lower = stricter; higher = more NEW tags.
### D) States & thresholds
* **Uptrend threshold (`upThresh`)** / **Downtrend threshold (`dnThresh`)**
Where the oscillator flips into trend states. Widen (e.g., +60/−60) to reduce false states; narrow to get earlier signals.
* **Neutral band (`neutralBand`)**
Visual buffer around zero for “meh” momentum. Larger band = fewer go/no-go flips near zero.
### E) Visuals & tags
* **Show New / Show Exhausted (`showNew`, `showExh`)**
Toggle the tag labels.
* **Shade exhaustion heat (`plotHeat`)**
On = color background when EXH fires. Helpful for scanning.
### F) Smoothing
* **Osc smoothing (`smoothLen`)**
EMA over the raw composite. Higher = steadier line (fewer whip flips); lower = faster turns.
---
## Tuning recipes
* **Trend-day bias (follow moves longer)**
* Raise **`upThresh`** to \~60 and **`dnThresh`** to \~−60
* Keep **`zNewMax`** low (1.0–1.2) to avoid “fresh trend” when stretched
* **`smoothLen`** 3–5 to reduce noise
* **Range-day bias (fade edges)**
* Keep thresholds closer (e.g., +50/−50) for quicker state changes
* Lower **`zHot`** slightly (1.6–1.7) to catch earlier exhaustion
* Consider slightly shorter TSI (e.g., 21/9/5) for faster EXH response
* **Scalping LTF (1–3m)**
* TSI 21/9/5, **`smoothLen`** 1–2
* Thresholds +/-50; **`zNewMax`** 1.0–1.2; **`zHot`** 1.6–1.8
* StrictNR **off** if you want earlier calls (accept more noise)
* **Swing / HTF (1h–D)**
* TSI 35/21/9, **`smoothLen`** 4–7
* Thresholds +/-60\~65; **`zNewMax`** 1.2; **`zHot`** 1.8–2.0
* StrictNR **on** for cleaner bias
---
## Playbooks (how to actually trade it)
* **Go/No-Go Filter**
* Only take **long entries** when the oscillator is **above the neutral band** (preferably ≥ `upThresh`).
* Only take **short entries** when **below** the neutral band (preferably ≤ `dnThresh`).
* Avoid fresh go-with entries if an **EXH** tag appears; let the next setup re-arm.
* **Trend Genesis**
* Treat **NEW↑ / NEW↓** as “green light” for **first pullback** entries in the new direction (ideally within acceptable |Z|).
* **Trend Maturity**
* When in a position and **EXH** prints **against** you, tighten stops, take partials, or lean on your exit tool to protect gains.
---
## Suggested starting points
* **Day trading (5–15m):**
* TSI 25/13/7, `smoothLen=3`, thresholds **+55 / −55**, `zNewMax = 1.2`, `zHot = 1.8`, **StrictNR = true**
* **Scalping (1–3m):**
* TSI 21/9/5, `smoothLen=1–2`, thresholds **+50 / −50**, `zNewMax = 1.1–1.2`, `zHot = 1.6–1.8`, **StrictNR = false** (optional)
* **Swing (1h–D):**
* TSI 35/21/9, `smoothLen=4–6`, thresholds **+60 / −60**, `zNewMax = 1.2`, `zHot = 1.9–2.0`, **StrictNR = true**
---
## Notes & best practices
* **Session anchoring**: Z-score is session-anchored (resets by trading date). If you trade outside standard sessions, verify your data session.
* **Instrument specificity**: Tune **`zHot`**, **`zNewMax`**, and thresholds per symbol and timeframe.
* **Bar-close discipline**: Evaluate tags at **bar close** to avoid intrabar flip-flop.
* This is a **context/confirmation tool**, not a broker or strategy. Combine with your entry/exit rules and position sizing.
---
**Tip:** Start with the suggested day-trading profile. Use this oscillator as your **gate** (only trade with it), let your entry engine time executions, and rely on your exit tool for standardized profit-taking.
Market structure + TF Bucket Key Features
Multi-Timeframe Support:
Analyzes market structure on up to six user-defined timeframes (e.g., 1m, 3m, 15m, 4h, etc.).
Dynamically adjusts pivot lengths based on the chart’s timeframe or uses static lengths.
Pivot Detection:
Identifies pivot highs and lows to define market structure.
Supports customizable pivot lengths for internal and swing structures.
Market Structure Events:
Break of Structure (BOS): Detects when price breaks through a significant high or low, indicating continuation of the trend.
Change of Character (CHoCH): Identifies shifts in market trend direction (e.g., from bullish to bearish).
Equal High/Low (EQH/EQL): Marks zones where price forms equal highs or lows, based on a percentage of ATR.
Liquidity Analysis:
Detects liquidity zones (e.g., stop-loss clusters) using user-defined confirmation bars and lookback periods.
Statistics Table:
Tracks the frequency of BOS and CHoCH events over a user-specified number of years (up to 50).
Displays results in a table on the chart, with color adaptation for light/dark themes.
Screener and Alerts:
Generates signals for BOS and CHoCH events, which can be used for TradingView alerts.
Signals remain active for a user-defined number of bars.
Visualization:
Optionally displays pivot points, equal high/low zones, and current structure on the chart.
Supports customizable styles (e.g., labels, colors) for visual elements.
Customizability:
Extensive input options for timeframes, pivot lengths, alerts, and visualization settings.
Toggle for enabling/disabling internal, swing, or liquidity analysis.
Wolf Exit Oscillator Enhanced
# Wolf Exit Oscillator Enhanced
## What it is (quick take)
**Wolf Exit Oscillator Enhanced** is a clean, rules-first **exit timing tool** built on the **True Strength Index (TSI)** with two optional safeguards:
1. **Signal-line crossover** (to avoid bailing on shallow dips), and
2. **EMA confirmation** (price-based “is the trend actually weakening/strengthening?” check).
Use it to standardize when you **take profits, cut losers, or scale out**—especially after momentum runs hot or cold.
> Works best **paired** with:
>
> * **ABS NR — Fail-Safe Confirm (v4.2.2)** for entries
> * **ABS Companion Oscillator — Trend / Exhaustion / New Trend** for trend/exhaustion context
---
## How to use it (operational workflow)
1. **Set your bands**
* `exitHigh` and `exitLow` mark “overcooked” zones on the TSI scale (default: +60 / –60).
* Above `exitHigh` = momentum stretched **up** (good place to **exit shorts** or **take long profits**).
* Below `exitLow` = momentum stretched **down** (good place to **exit longs** or **take short profits**).
2. **Choose strictness**
* **Base mode**: the moment TSI crosses out of a band, you get an exit signal.
* **Add Signal-Line Cross** (`enableSignalX = true`): require TSI to cross its signal in the same direction → **fewer, cleaner exits**.
* **Add EMA Filter** (`enableEMAFilter = true`): also require **price** to confirm (e.g., long exit only if price < EMA). This avoids bailing during healthy trends.
3. **Execute with structure**
* **Full exit** when a signal fires, or
* **Scale out** (e.g., 50% on first signal, remainder on trail/secondary signal), or
* **Move stop** to lock gains once an exit signal prints.
4. **Alerts**
* Set to **“Once per bar close”** to avoid intrabar flip-flop.
* Use the two provided alert names for automation (see “Alerts” below).
---
## Signals & visuals
* **TSI line** (solid) and **Signal line** (dashed) with optional **histogram** (TSI − Signal).
* **Horizontal bands** at `exitHigh` and `exitLow`.
* **Labels**:
* **Exit Long** appears when long-side momentum breaks down (below `exitLow`, plus any enabled filters).
* **Exit Short** appears when short-side momentum breaks down (above `exitHigh`, plus any enabled filters).
**Alerts (stable names):**
* **WolfExit — Exit Long**
* **WolfExit — Exit Short**
---
## Non-repainting behavior (what to expect)
* The oscillator is computed with **EMAs on current timeframe**—no higher-timeframe lookahead, no repaint.
* **Intrabar**: TSI/Signal can fluctuate; use **bar-close evaluation** (and alert setting “Once per bar close”) to lock signals.
* If you enable the EMA filter, that check is also evaluated at bar close.
---
## Every input explained (and how changing it alters behavior)
### Momentum engine (TSI)
* **TSI Long EMA Length (`tsiLongLen`, default 25)**
Higher = smoother, slower momentum; fewer signals. Lower = twitchier, more signals.
* **TSI Short EMA Length (`tsiShortLen`, default 13)**
Fine-tunes responsiveness on top of the long length. Lower short → snappier TSI.
* **TSI Signal Line Length (`tsisigLen`, default 7)**
Higher = slower signal line (harder to cross) → fewer signals. Lower = easier crosses → more signals.
### Thresholds (the bands)
* **Exit Threshold High (`exitHigh`, default +60)**
Raise to demand **stronger** overbought before signaling short exits / long profit-takes. Lower to trigger sooner.
* **Exit Threshold Low (`exitLow`, default −60)**
Raise (toward 0) to trigger **earlier** on longs; lower (more negative) to wait for deeper downside stretch.
### Confirmation layers
* **Require Signal Line Crossover (`enableSignalX`, default true)**
On = TSI must cross its signal (same direction as exit) → **filters out shallow wiggles**. Off = faster, more frequent exits.
* **Enable EMA Confirmation Filter (`enableEMAFilter`, default true)**
On = require **price < EMA** for **Exit Long** and **price > EMA** for **Exit Short**.
* **EMA Exit Confirmation Length (`exitEMALen`, default 50)**
Higher = **trendier** filter (harder to flip) → fewer exits; Lower = more reactive → more exits.
### Visuals
* **Show Histogram (`showHist`)**
On = quick visual for TSI–Signal spread (helps spot weakening momentum before a cross).
* **Plot Exit Signals (`showSignals`)**
Toggle labels if you only want the lines/bands with alerts.
---
## Tuning recipes (quick, practical)
* **Strong trend days (avoid premature exits)**
* Keep **`enableSignalX = true`** and **`enableEMAFilter = true`**
* Increase **`exitEMALen`** (e.g., 80)
* Consider raising **`exitHigh`** to 65–70 (and lowering **`exitLow`** to −65/−70)
* **Choppy/range days (exit faster, take the cash)**
* **`enableEMAFilter = false`** (don’t wait for price filter)
* **`enableSignalX`** optional; try off for quicker responses
* Bring bands closer to **±50** to take profits earlier
* **Scalping / lower timeframes**
* Shorten **TSI lengths** a bit (e.g., 21/9/5)
* Consider **`exitHigh=55 / exitLow=-55`**
* Keep **histogram on** to visualize momentum flip risk
* **Swing trading / higher timeframes**
* Lengthen **TSI** (e.g., 35/21/9) and **`exitEMALen`** (e.g., 100)
* Wider bands (±65 to ±75) to catch bigger moves before exiting
---
## Playbooks (how to actually trade it)
* **Entry from ABS NR FS, exit with Wolf**
* Take entries from **ABS NR — Fail-Safe Confirm** (triangle).
* Use **Wolf Exit** to scale out: 50% on first exit label, trail remainder with price/EMA or your stop logic.
* **Pyramid & protect**
* Add on re-accelerations (TSI pulls back toward zero without breaching the opposite band).
* The first **Exit** signal → take partial, raise stop to last higher low / lower high.
* **Mean-reversion fade management**
* When fading with ABS NR (KC band pokes + stretched |Z|), target the first opposite **Exit** signal as your “don’t overstay” cue.
---
## Suggested starting points
* **Day trading (5–15m):**
* TSI: **25 / 13 / 7** (default)
* Bands: **+60 / −60**
* Confirmations: **SignalX = on**, **EMA Filter = on**, **EMA Len = 50**
* Alerts: **Once per bar close**
* **Scalping (1–3m):**
* TSI: **21 / 9 / 5**
* Bands: **±55**
* Confirmations: **SignalX = on**, **EMA Filter = off** (optional for speed)
* **Swing (1h–D):**
* TSI: **35 / 21 / 9**
* Bands: **+65 / −65** (or ±70)
* Confirmations: **SignalX = on**, **EMA Filter = on**, **EMA Len = 100**
---
## Best-practice pairings
* **Entries:** **ABS NR — Fail-Safe Confirm (v4.2.2)**
* Take ABS triangles; let Wolf standardize exits so you’re not guessing.
* **Context:** **ABS Companion Oscillator**
* Prefer holding longer when the companion stays above (for longs) or below (for shorts) its neutral band and **no EXH tag** prints.
* If companion flags **EXH** against your position, tighten stops; Wolf’s next exit signal becomes high priority.
---
## Notes & disclaimers
* This is an **exit signal tool**, not a strategy or broker.
* Signals are strongest when aligned with your **entry logic** and a **risk framework** (position sizing, stops, partials).
* All evaluations are **current timeframe**; no higher-timeframe lookahead is used.
* Markets change—tune the bands and confirmations per symbol/timeframe.
---
**Tip:** Keep your alerts simple—one for **Exit Long**, one for **Exit Short**, **Once per bar close**. Use partial exits on the first signal, and let your stop/trailing logic handle the rest.
MarketStructureBLibrary "MarketStructureB"
Will draw out the market structure for the disired pivot length.
Liqudity(liquidity)
Will draw liquidity.
Parameters:
liquidity (Liquidity) : The 'PriceAction.Liquidity' object.
Pivot(structure)
Sets the pivots in the structure.
Parameters:
structure (Structure)
PivotLabels(structure)
Draws labels for the pivots found.
Parameters:
structure (Structure)
EqualHighOrLow(structure)
Draws the boxes for equal highs/lows. Also creates labels for the pivots included.
Parameters:
structure (Structure)
BreakOfStructure(structure)
Will create lines when a break of strycture occures.
Parameters:
structure (Structure)
Returns: A boolean that represents if a break of structure was found or not.
ChangeOfCharacter(structure)
Will create lines when a change of character occures. This line will have a label with "MSF" or "MSF+".
Parameters:
structure (Structure)
Returns: A boolean that represents if a change of character was found or not.
VisualizeCurrent(structure)
Will create a box with a background for between the latest high and low pivots. This can be used as the current trading range (if the pivots broke strucure somehow).
Parameters:
structure (Structure)
StructureBreak
Holds drawings for a structure break.
Fields:
Line (series line) : The line object.
Label (series label) : The label object.
Pivot
Holds all the values for a found pivot.
Fields:
Price (series float) : The price of the pivot.
BarIndex (series int) : The bar_index where the pivot occured.
Time (series int) : The time where the pivot occured.
Type (series int) : The type of the pivot (-1 = low, 1 = high).
BreakOfStructureBroken (series bool) : Sets to true if a break of structure has happened.
LiquidityBroken (series bool) : Sets to true if a liquidity of the price level has happened.
ChangeOfCharacterBroken (series bool) : Sets to true if a change of character has happened.
Structure
Holds all the values for the market structure.
Fields:
LeftLength (series int) : Define the left length of the pivots used.
RightLength (series int) : Define the right length of the pivots used.
Type (series Type) : Set the type of the market structure. Two types can be used, 'internal' and 'swing' (0 = internal, 1 = swing).
Trend (series int) : This will be set internally and can be -1 = downtrend, 1 = uptrend.
EqualPivotsFactor (series float) : Set how the limits are for an equal pivot. This is a factor of the Average True Length (ATR) of length 14. If a low pivot is considered to be equal if it doesn't break the low pivot (is at a lower value) and is inside the previous low pivot + this limit.
ExtendEqualPivotsZones (series bool) : Set to true if you want the equal pivots zones to be extended.
ExtendEqualPivotsStyle (series string) : Set the style of equal pivot zones.
ExtendEqualPivotsColor (series color) : Set the color of equal pivot zones.
EqualHighs (array) : Holds the boxes for zones that contains equal highs.
EqualLows (array) : Holds the boxes for zones that contains equal lows.
BreakOfStructures (array) : Holds all the break of structures within the trend (before a change of character).
Pivots (array) : All the pivots in the current trend, added with the latest first, this is cleared when the trend changes.
Liquidity
Holds all the values for liquidity.
Fields:
LiquidityPivotsHigh (array) : All high pivots for liquidity.
LiquidityPivotsLow (array) : All low pivots for liquidity.
LiquidityConfirmationBars (series int) : The number of bars to confirm that a liquidity is valid.
LiquidityPivotsLookback (series int) : A number of pivots to look back for.
PriceAction
Holds all the values for the general price action and the market structures.
Fields:
Liquidity (Liquidity)
Swing (Structure) : Placeholder for all objects used for the swing market structure.
Internal (Structure) : Placeholder for all objects used for the internal market structure.
Stoch Signals with EMA, Level Filter & Slope ThresholdDescription – "Stoch Signals with EMA, Level Filter & Slope Threshold"
This TradingView indicator generates buy and sell signals based on Stochastic oscillator crossovers with additional filtering for better accuracy.
Core Logic
Stochastic Oscillator Crossovers
Buy signal: %K line crosses above %D line
Sell signal: %K line crosses below %D line
EMA50 Trend Filter (optional)
If enabled, only buys when price is above the 50-period EMA, and only sells when below it.
Level Filter & Positive Slope Override
Normally, buys only trigger when %D is below 50 (oversold or mid-zone).
However, if %D’s slope is rising strongly (above your chosen threshold), buys can occur even if %D > 50.
Sells only trigger when %D is above 50 (overbought zone).
Bar Close Confirmation
Avoids repainting by confirming signals only after the bar closes (optional).
Plots
EMA50 on chart
Buy/Sell markers at signal bars
Optional %K and %D plots overlaid on the price chart
ABS NR — Fail-Safe Confirm (v4.2.2)
# ABS NR — Fail-Safe Confirm (v4.2.2)
## What it is (quick take)
**ABS NR FS** is a **non-repainting “arm → confirm” entry framework** for intraday and swing execution. It blends:
* **Regime** (EMA stack + 60-min slope),
* **Location** (Keltner basis/edges),
* **Stretch** (session-anchored **VWAP Z-score**),
* **Momentum gating** (TSI cross/slope),
* **Guards** (session window, minimum ATR%, gap filter, optional market alignment).
You’ll see a **small dot** when a setup is **armed** (candidate) and a **triangle** when that setup **confirms** within a user-defined number of bars. A **gray “X”** marks a timeout (candidate canceled).
> Tip: This entry tool works best when paired with a trend context filter and a dedicated exit tool.
---
## How to use it (operational workflow)
1. **Read the regime**
* **Bull trend**: fast > slow > long EMA **and** 60-min slope up.
* **Bear trend**: fast < slow < long EMA **and** 60-min slope down.
* **Range**: neither bull nor bear.
2. **Wait for a candidate (dot)**
Two families:
* **Reclaim (trend-following):** price crosses the **KC basis** with acceptable |Z| (not overstretched) and passes the TSI gate.
* **Fade (range-revert):** price **pokes a KC band**, prints a **reversal wick**, |Z| is stretched, and TSI gate agrees.
3. **Trade the confirmation (triangle)**
The confirm must occur **within N bars** and follow your chosen **Confirm mode** logic (see Inputs). If confirmation doesn’t arrive in time, an **X** cancels the candidate.
4. **Use guards to avoid junk**
Session windows (US focus), minimum ATR%, gap guard, and optional **market alignment** (e.g., SPY above EMA20 for longs).
5. **Manage the position**
* Entries: take **triangles** in the direction of your playbook (reclaims with trend; fades in clean ranges).
* Filters and exits: use your own process or pair with a trend/exit companion.
---
## Visual semantics & alerts
* **Candidate L / S (dot)** → a setup armed on this bar.
* **CONFIRM L / S (triangle)** → actionable signal that met confirm rules within your time window.
* **Cancel L / S (X)** → candidate expired without confirmation; ignore the dot.
**Alerts (stable names for automation):**
* **ABS FS — Confirmed** → fires on confirmed long or short.
* **ABS FS — Candidate Armed** → fires as a candidate arms.
---
## Non-repainting behavior (why signals don’t repaint)
* All HTF requests use **lookahead\_off**.
* With **Strict NR = true**, the 60-min slope uses the **prior completed** 60-min bar and arming/confirming only occurs on confirmed bars.
* Confirmation triangles finalize on bar close.
* If you disable strictness, signals may appear slightly earlier but with more intrabar sensitivity.
---
## Inputs reference (what each control does and the trade-offs)
### A) Behavior / Modes
**Mode** (`Turbo / Aggressive / Balanced / Conservative`)
Changes multiple internal thresholds:
* **Turbo** → most signals; relaxes prior-bar break & VWAP-side checks and time/vol/gap guards. Highest frequency, highest noise.
* **Aggressive** → more signals than Balanced, fewer than Turbo.
* **Balanced** → default; steady trade-off of frequency vs. quality.
* **Conservative** → tightens |Z| and other checks; fewest but cleanest signals.
**Strict NR (bar close + prior HTF 60m)**
* **true** = safer: uses prior 60-min slope; arms/confirms on confirmed bars → **fewer/cleaner** signals.
* **false** = earlier and more reactive; slightly noisier.
---
### B) Keltner Channel (location engine)
* **KC EMA Length (`kcLen`)**
Higher → smoother basis (fewer basis crosses). Lower → snappier basis (more crosses).
* **ATR Length (`atrLen`)**
Higher → steadier band width; Lower → more reactive band width.
* **KC ATR Mult (`kcMult`)**
Higher → wider bands (fewer edge pokes → fewer fades). Lower → narrower (more fades).
---
### C) Trend & HTF slope
* **Trend EMA Fast/Slow/Long (`emaFastLen / emaSlowLen / emaLongLen`)**
Larger = slower regime flips (fewer reclaims); smaller = faster flips (more reclaims).
* **HTF EMA Len (60m) (`htfLen`)**
Larger = steadier HTF slope (fewer signals); smaller = more sensitive (more signals).
---
### D) VWAP Z-Score (stretch / mean-revert logic)
* **VWAP Z-Length (`zLen`)**
Window for Z over session-anchored VWAP distance. Larger = smoother |Z| (fewer fades/re-entries). Smaller = more reactive (more).
* **Range Fade |Z| (base) (`zFadeBase`)**
Minimum |Z| to allow **fades** in ranges. Raise to demand more stretch (fewer fades). Lower to take more fades.
* **Max |Z| Trend Re-entry (base) (`maxZTrendBase`)**
Caps how stretched price can be and still permit **reclaims** with trend. Lower = stricter (avoid chases). Higher = will chase further.
---
### E) TSI Momentum Gate
* **TSI Long/Short/Signal (`tsiLong / tsiShort / tsiSig`)**
Larger = smoother/laggier momentum; smaller = snappier.
* **TSI gate (`CrossOnly / CrossOrSlope / Off`)**
* **CrossOnly**: require TSI cross of its signal (strict).
* **CrossOrSlope**: cross *or* favorable slope (balanced default).
* **Off**: no momentum gate (most signals, most noise).
---
### F) Guards (filters to avoid low-quality tape)
* **US focus 09:35–10:30 & 14:00–15:45 (base) (`useTimeBase`)**
`true` limits to high-quality windows. `false` trades all session.
* **Skip N bars after 09:30 ET (`skipFirst`)**
Skips the open scramble. Larger = skip longer.
* **Min volatility ATR% (base)** = `useVolMinBase` + `atrPctMinBase`
Requires `ATR(10)/Close*100 ≥ atrPctMinBase`. Raise threshold to avoid dead tape; lower to accept quieter sessions.
* **Gap guard (base)** = `gapGuardBase` + `gapMul`
Blocks signals when the opening gap exceeds `gapMul * ATR`. Increase `gapMul` to allow more gapped opens; decrease to be stricter.
---
### G) Visuals & Sides
* **Plot Keltner (`plotKC`)** → show/hide basis & bands.
* **Show Longs / Show Shorts** → enable/disable each side.
---
### H) Fail-Safe Confirmation
* **Confirm mode (`BreakHighOnly / BreakHigh+Hold / TwoBarImpulse`)**
* **BreakHighOnly**: confirm by taking out the armed bar’s extreme. Fastest, most frequent.
* **BreakHigh+Hold**: must **break**, have **body ≥ X·ATR**, **and** hold above/below the basis → higher quality, fewer signals.
* **TwoBarImpulse**: decisive follow-through vs. prior bar with **body ≥ X·ATR** → momentum-biased confirmations.
* **Confirm within N bars (`confirmBars`)**
Confirmation window size. Smaller = faster validation; larger = more patience (can be later).
* **Impulse body ≥ X·ATR (`impulseBodyATR`)**
Raise for stronger confirmations (fewer weak triangles). Lower to accept lighter pushes.
* **Require market alignment (`needMarket`) + `marketTicker`**
When enabled: Longs require **market > EMA20 (5m)**; Shorts require **market < EMA20 (5m)**.
* **Diagnostics: Show debug letters (`debug`)**
Tiny “B/C” audit marks for base/confirm while tuning.
---
## Tuning recipes (quick, practical)
* **If you’re getting chopped:**
* Set **Mode = Conservative**
* **Confirm mode = BreakHigh+Hold**
* Raise **impulseBodyATR** (e.g., 0.45)
* Keep **needMarket = true**
* Keep **Strict NR = true**
* **If you need more signals:**
* **Mode = Aggressive** (or Turbo if you accept more noise)
* **Confirm mode = BreakHighOnly**
* Lower **impulseBodyATR** (0.25–0.30)
* Increase **confirmBars** to 3
* **Range-day focus (fades):**
* Keep session guard on
* Raise **zFadeBase** to demand real stretch
* Keep **maxZTrendBase** moderate (don’t chase)
* **Trend-day focus (reclaims):**
* Slightly **lower `maxZTrendBase`** (avoid chasing excessive stretch)
* Use **CrossOrSlope** TSI gating
* Consider turning **needMarket** on
---
## Best practices & notes
* **Instrument specificity:** Tune Z, TSI, and guards per symbol and timeframe.
* **Session awareness:** Session filter uses **exchange-local** time; adjust for non-US markets.
* **Automation:** Use the two provided alert names; they’re stable.
* **Risk management:** Confirmation improves quality but doesn’t remove risk. Always pre-define stop/size logic.
---
## Suggested starting point (balanced profile)
* **Mode = balanced**
* **Strict NR = true**
* **Confirm mode = BreakHigh+Hold**
* **confirmBars = 2**
* **impulseBodyATR ≈ 0.35**
* **needMarket = off** (turn on for extra confluence)
* Leave Keltner/TSI defaults; then nudge `zFadeBase` and `maxZTrendBase` to match your symbol.
---
*This tool is a signal generator, not a broker or strategy. Validate on your markets/timeframes and integrate with your risk plan.*