Rolling Midpoint of Price & VWAP with ATR BandsThe Rolling Midpoint of Price & VWAP with ATR Bands indicator is a dual-equilibrium concept that fuses price-range structure and traded-volume flow into one continuously updating hybrid model. Traditional VWAPs reset each session and reflect where trading occurred by volume, while midpoints used here reveal where price has structurally balanced between extremes. This script merges both ideas into a cohesive, dynamic system. The Rolling Price Midpoint (50 % of range) represents the structural fair-value line, calculated as the average of the highest high and lowest low over a selected window. The Rolling VWAP (Volume-Weighted Window) tracks the flow-based fair-value line by weighting each bar’s typical price by its volume. Together, these components form the Hybrid Equilibrium — the adaptive center of gravity that shifts as price and volume evolve. Surrounding this equilibrium, ATR Bands at ± 2.226 ATR and ± 5.382 ATR define volatility envelopes that expand and contract with market energy. The result is a living cloud that breathes with the market: compressing during phases of balance and widening during impulsive movements, offering traders a clear visual framework for understanding equilibrium, volatility, and directional bias in real time.
➖
⚙️ Auto-Preset System
The Auto-Preset System intelligently adjusts lookback windows for both the Price Midpoint and VWAP calculations according to the active chart timeframe.
This ensures that the indicator automatically adapts to any trading style — from scalping on 1-minute charts to swing trading on daily or weekly charts — without manual tuning.
🔹 How It Works
When Auto-Preset mode is enabled, the script dynamically selects the most effective lookback lengths for each timeframe.
These presets are optimized to balance responsiveness and stability, maintaining consistent real-world coverage (e.g., the same approximate duration of price data) across all intervals.
📊 Preset Mapping Table
| Chart Timeframe | Price Midpoint Lookback | VWAP Lookback |
|:----------------:|:-----------------------:|:--------------:|
| 1–3m | 13 bars | 21 bars
| 5–10m | 21 bars | 34 bars
| 15–30m | 34 bars | 55 bars
| 1–2 hr | 55 bars | 89 bars
| 4 hr-1D | 89 bars | 144 bars
| 1W | 144 bars | 233 bars
| 1M | 233 bars | 377 bars
⚡ Notes & Customization
- Manual Override: Turn off Auto-Preset Mode to specify your own custom lookback lengths.
- Consistency Across Scales: These adaptive values keep the indicator visually coherent when switching between timeframes — avoiding distortions that can occur with static lengths.
- Practical Benefit: Traders can maintain a single chart layout that self-tunes seamlessly, removing the need to manually recalibrate settings when shifting from short-term to long-term analysis.
In short, the Auto-Preset System is designed to make this hybrid equilibrium tool timeframe-aware — automatically scaling its logic so that the cloud behaves consistently, regardless of chart resolution.
➖
🌐 Hybrid Equilibrium Envelope
The core hybrid midpoint acts as the mean of structural (price) and volumetric (VWAP) balance.
ATR-based bands project natural expansion zones:
🔸+2.226 / –2.226 ATR → inner equilibrium (controlled trend)
*🔸+5.382 / –5.382 ATR → outer volatility extension (over-stretch / reversion zones)
Color-coded fills show regime strength:
* 🟧 Upper Outer (+5.382) – strong bullish expansion
* 🟩 Upper Inner (+2.226) – trending equilibrium
* 🔴 Lower Inner (–2.226) – mild bearish control
* 🟣 Lower Outer (–5.382) – volatility exhaustion
➖
🧭 Higher-Timeframe Framework
Two macro anchors — Price length of 144 and VWAP length of 233 — outline higher-timeframe bias zones. These help confirm when local momentum aligns with (or fades against) long-term structure.
Labels on the right show active lookback values for quick readout:
`$(13) V(21)` → current rolling pair
`$144 / V233` → macro anchors
➖
🧩 Chart Examples
**AMD 15m (Equilibrium Expansion)**
Price steadily rides above the hybrid midpoint as teal and orange (bullish) ATR zones widen, confirming a phase of controlled bullish volatility and healthy trend expansion.
BTCUSD 1m (Volatility Compression)
Bitcoin coils tightly inside the teal-to-maroon equilibrium bands before breaking out.
The hybrid midpoint flattens and ATR envelopes contract, signaling a state of balance before volatility expansion.
ETHUSD 15m (Transition from Compression → Impulse)
Ethereum transitions from purple-zone compression into a clear upper-band expansion.
The hybrid midpoint breaks above the macro VWAP 233, confirming the shift from equilibrium to directional momentum.
SOFI 1m (Micro Bias Reversal)
SOFI’s intraday structure flips as price reclaims the hybrid midpoint.
The macro VWAP 233 flattens, signaling a transition from oversold lower bands back toward equilibrium and early trend recovery.
➖
🎯 How to Use
1. Bias Detection – Price > Hybrid Midpoint → bullish; < → bearish.
2. Volatility Gauge – Watch band spacing for compression / expansion cycles.
3. Confluence Checks – Align Hybrid Midpoint with HTF 233 VWAP for strong continuation signals.
4. Mean Reversion Zones – Outer bands highlight areas where probability of snap-back increases.
➖
🔧 Inputs & Customization
Auto Presets toggle
🔸Manual Lookback Overrides** for fine-tuning
🔸Plot Window Length** (show recent vs full history)
🔸ATR Sensitivity & Fill Opacity** controls
🔸Label Padding / Font Size** for cleaner overlay visuals
➖
🧮 Formula Highlights
➖Rolling Midpoint = (highest(high,N) + lowest(low,N)) / 2
➖Rolling VWAP = Σ(Typical Price×Vol) / Σ(Vol)
➖Hybrid = (PriceMid + VWAP) / 2
➖Upper₂ = Hybrid + ATR×2.226
➖Lower₂ = Hybrid − ATR×2.226
➖Upper₅ = Hybrid + ATR×5.382
➖Lower₅ = Hybrid − ATR×5.382
➖
🎯 Ideal For
➡️ Traders who want adaptive fair-value zones that evolve with both price and volume.
➡️ Analysts who shift between scalping, swing, and position timeframes, and need a tool that self-adjusts.
➡️ Those who rely on visual structure clarity to confirm setups across changing volatility conditions.
➡️ Anyone seeking a hybrid model that unites structural range logic (midpoint) and flow-based balance (VWAP).
➖
🏁 Final Word
This script is more than a visual overlay — it’s a complete trend and structure framework built to adapt with market rhythm. It helps traders visualize equilibrium, momentum, and volatility as one cohesive system. Whether you’re seeking clean trend alignment, dynamic support/resistance, or early warning signs of reversals, this indicator is tuned to help you react with confidence — not hindsight.
➖
Remember — no single indicator should ever stand alone. For best results, pair it with price action context, higher-timeframe structure, and complementary tools such as moving averages or trendlines. Use it to confirm setups, not define them in isolation.
💡 Turn logic into clarity, structure into trades, and uncertainty into confidence.
ابحث في النصوص البرمجية عن "ATR"
NY Open OR/ATR Diff Planner – v2.8 NY Open OR/ATR Diff Planner – v2.8 (Hi-Contrast)
Trade the Opening Range Breakout with a plan, not vibes.
This tool builds the NY Opening Range (OR) from the cash open and overlays a complete, risk-based execution plan: precise entry, structural stop, position size, targets, and R:R — all tied to the Daily ATR(14) and the remaining ATR “fuel” left in the day.
What it does
Opening Range: First N minutes after 09:30 ET (choose 5/15/30/60).
Today-only lines: Automatically resets at 09:30; no carry-over from prior days.
Session aware: Works on RTH or ETH charts. OR always anchors at 09:30 ET.
Fuel model: Computes Session Range (since 09:30) and ATR Diff Left = Daily ATR − Session Range.
Entries & Stops:
Long plan: Entry = ORH, Stop = ORL
Short plan: Entry = ORL, Stop = ORH
Targets:
TP1 = 1R (distance of entry→stop)
TP (ATR-diff cap): Entry ± ATR Diff Left (caps greed when the day’s ATR is nearly spent)
Sizing & R:R: Position size = Account × Risk% / Risk per share, with live R:R to ATR-diff target.
Hi-contrast table: Clear readout of Daily ATR, OR size, OR/ATR%, Session Range, ATR left, entries/stops/TPs, size, and max $ risk.
Inputs
Opening Range (minutes): 5 / 15 / 30 / 60
Account Size ($) and Risk % per trade
Session mode: RTH (09:30–16:00) or ETH (chart’s session; still anchored at 09:30)
Also show Short plan (toggle)
Show info table (toggle)
How to use
Add on a 1–5m chart.
Choose your OR window (e.g., 15m = 09:30–09:45).
Set Account Size and Risk % (e.g., 4–5% for small accounts; adjust to taste).
Wait for the OR to complete.
Trade the break/retest with the levels shown:
Long: Break of ORH, SL at ORL, TP1 = 1R, TP2 = ATR-diff cap.
Short: Mirror logic.
If OR/ATR% > ~50% (red), the “fuel” is thin — be selective.
Why it helps build an edge
Objective structure: Clear levels and sizing remove guesswork.
Context-aware targets: ATR-diff keeps targets realistic to the day’s potential.
Discipline by design: One framework that’s easy to review, journal, and iterate.
Notes
This is an indicator (visual planner), not an order-placing strategy.
If you want a back testable version (one trade/day, optional retest rule, TP/SL logic), say the word — I can publish a strategy variant.
Keywords: ORB, Opening Range, ATR, Risk Management, Position Sizing, Day Trading, NYSE Open, Mean Reversion Fuel, Execution Planner
Gann Fan Strategy [KedarArc Quant]Description
A single-concept, rule-based strategy that trades around a programmatic Gann Fan.
It anchors to a swing (or a manual point), builds 1×1 and related fan lines numerically, and triggers entries when price interacts with the 1×1 (breakout or bounce). Management is done entirely with the fan structure (next/previous line) plus optional ATR trailing.
What TV indicators are used
* Pivots: `ta.pivothigh/ta.pivotlow` to confirm swing highs/lows for anchor selection.
* ATR: `ta.atr` only to scale the 1×1 slope (optional) and for an optional trailing stop.
* EMA: `ta.ema` as a trend filter (e.g., only long above the EMA, short below).
No RSI/MACD/Stoch/Heikin/etc. The logic is one coherent framework: Gann price–time geometry, with ATR as a scale and EMA as a risk filter.
How it works
1. Anchor
* Auto: chooses the most recent *confirmed* pivot (you control Left/Right).
* Manual: set a price and bar index and the fan will hold that point (no re-anchoring).
* Optional Re-anchor when a newer pivot confirms.
2. 1×1 Slope (numeric, not cosmetic)
* ATR mode: `1×1 = ATR(Length) × Multiplier` (adapts to volatility).
* Fixed mode: `ticks per bar` (constant slope).
Because slope is numeric, it doesn’t change with chart zoom, unlike the drawing tool.
3. Fan Lines
Builds classic ratios around the 1×1: 1/8, 1/4, 1/3, 1/2, 1/1, 2/1, 3/1, 4/1, 8/1.
4. Signals
* Breakout: cross of price over/under the 1×1 in the EMA-aligned direction.
* Bounce (optional): touch + reversal across the 1×1 to reduce whipsaw.
5. Exits & Risk
* Take-profit at the next fan line; Stop at the previous fan line.
* If a level is missing (right after re-anchor), a fallback Risk-Reward (RR) is used.
* Optional ATR trailing stop.
Why this is unique
* True numeric fan: The 1×1 slope is calculated from ATR or fixed ticks—not from screen geometry—so it is scale-invariant and reproducible across users/timeframes.
* Deterministic anchor logic: Uses confirmed pivots (with your L/R settings). No look-ahead; anchors update only when the right bars complete.
* Fan-native trade management: Both entries and exits come from the fan structure itself (with a minimal ATR/EMA assist), keeping the method pure.
* Two entry archetypes: Breakout for momentum days; Bounce for range days—switchable without changing the core model.
* Manual mode: Lock a session’s bias by anchoring to a chosen swing (e.g., day’s first major low/high) and keep the fan constant all day.
Inputs (quick guide)
* Auto Anchor (Left/Right): pivot sensitivity. Higher values = fewer, stronger anchors.
* Re-anchor: refresh to newer pivots as they confirm.
* Manual Anchor Price / Bar Index: fixes the fan (turn Auto off).
* Scale 1×1 by ATR: on = adaptive; off = use ticks per bar.
* ATR Length / ATR Multiplier: controls adaptive slope; start around 14 / 0.25–0.35.
* Ticks per bar: exact fixed slope (match a hand-drawn fan by computing slope ÷ mintick).
* EMA Trend Filter: e.g., 50–100; trades only in EMA direction.
* Use Bounce: require touch + reverse across 1×1 (helps in chop).
* TP/SL at fan lines; Fallback RR for missing levels; ATR Trailing Stop optional.
* Transparency/Plot EMA: visual preferences.
Tips
* Range days: larger pivots (L/R 8–12), Bounce ON, ATR Multiplier \~0.30–0.40, EMA 100.
* Trend days: L/R 5–6, Breakout, Multiplier \~0.20–0.30, EMA 50, ATR trail 1.0–1.5.
* Match the TV Gann Fan drawing: turn ATR scale OFF, set ticks per bar = `(Δprice between anchor and 1×1 target) / (bars) / mintick`.
Repainting & testing notes
* Pivots require Right bars to confirm; anchors are set after confirmation (no look-ahead).
* Signals use the current bar close with TradingView strategy mechanics; real-time vs. bar-close can differ slightly, as with any strategy.
* Re-anchoring legitimately moves the structure when new pivots confirm—by design.
⚠️ Disclaimer
This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
[Top] Simple ATR TP/SLSimple TP/SL from ATR (Locked per Bar) - Advanced Position Management Tool
What This Indicator Does:
Automatically calculates and displays Take Profit (TP) and Stop Loss (SL) levels based on Average True Range (ATR)
Locks ATR values and direction signals at the start of each bar to prevent repainting and provide consistent levels
Offers multiple direction detection modes including real-time candle-based positioning for dynamic trading approaches
Displays entry, TP, and SL levels as clean horizontal lines that extend from the current bar
Original Features That Make This Script Unique:
Bar-Locked ATR System: ATR values are captured and frozen at bar open, ensuring levels remain stable throughout the bar's progression
Multi-Modal Direction Detection: Four distinct modes for determining TP/SL positioning - Trend Following (EMA-based), Bullish Only, Bearish Only, and real-time Candle Based
Real-Time Candle Flipping: In Candle Based mode, TP/SL levels flip immediately when the current candle changes from bullish to bearish or vice versa
Persistent Line Management: Uses efficient line object management to prevent ghost lines and maintain clean visual presentation
Flexible Base Price Selection: Choose between Open (static), Close (dynamic), or midpoint (H+L)/2 for entry level calculation
How The Algorithm Works:
ATR Calculation: Captures ATR value at each bar open using specified length parameter, maintaining consistency throughout the bar
Direction Determination: Uses different methods based on selected mode - EMA crossover for trend following, or real-time candle color for dynamic positioning
Level Calculation: TP level = Base Price + (Direction × TP Multiplier × ATR), SL level = Base Price - (Direction × SL Multiplier × ATR)
Visual Management: Creates persistent line objects once, then updates their positions every bar for optimal performance
Direction Modes Explained:
Trend Following: Uses 5-period and 12-period EMA relationship to determine trend direction (locked at bar open)
Bullish Only: Always places TP above and SL below entry (traditional long setup)
Bearish Only: Always places TP below and SL above entry (traditional short setup)
Candle Based: Dynamically adjusts based on current candle direction - flips in real-time as candle develops
Key Input Parameters:
ATR Length: Period for ATR calculation (default 14) - longer periods provide smoother volatility measurement
TP Multiplier: Take profit distance as multiple of ATR (default 1.0) - higher values target larger profits
SL Multiplier: Stop loss distance as multiple of ATR (default 1.0) - higher values allow more room for price movement
Base Price: Reference point for level calculations - Open for static entry, Close for dynamic tracking
Direction Mode: Method for determining whether TP goes above or below entry level
How To Use This Indicator:
For Position Sizing: Use the displayed SL distance to calculate appropriate position size based on your risk tolerance
For Entry Timing: Wait for price to approach the entry level before taking positions
For Risk Management: Set your actual stop loss orders at or near the displayed SL level
For Profit Taking: Use the TP level as initial profit target, consider scaling out at this level
Mode Selection: Choose Candle Based for scalping and quick reversals, Trend Following for swing trading
Visual Style Customization:
Line Colors: Customize TP line color (default teal) and SL line color (default orange) for easy identification
Line Widths: Adjust TP/SL line thickness (1-5) and entry line thickness (1-3) for visibility preferences
Clean Display: Lines extend 3 bars forward from current bar and update position dynamically
Best Practices:
Use on clean charts without multiple overlapping indicators for clearest visual interpretation
Combine with volume analysis and key support/resistance levels for enhanced decision making
Adjust ATR length based on your trading timeframe - shorter for scalping, longer for position trading
Test different TP/SL multipliers based on the volatility characteristics of your chosen instruments
Consider using Trend Following mode during strong trending periods and Candle Based during ranging markets
ADR/ATR Session by LK## **Features**
1. **Custom ADR & ATR Calculation**
* Calculates **Average Daily Range (ADR)** and **Average True Range (ATR)** separately for:
* **Session timeframe** (default H4 / 06:00–13:00)
* **Daily timeframe**
* Independent smoothing method selection (**SMA, EMA, RMA, WMA**) for H4 ADR, H4 ATR, Daily ADR, and Daily ATR.
2. **Percentage Metrics**
* % of ADR / ATR covered by the **current H4 bar**.
* ADR / ATR expressed as a percentage of the **current price**.
* % of ADR already reached for the **current day**.
* % of Daily ATR vs current day’s True Range.
3. **Dynamic Chart Lines**
* Draws **3 lines for H4**: Session Open, ADR High, ADR Low.
* Draws **3 lines for Daily**: Daily Open, ADR High, ADR Low.
* Lines **extend to the right** so they stay visible across the chart.
* Colors and widths are fully customizable.
4. **Real-Time Data Table**
* Compact table displaying all ADR/ATR values and percentages.
* Adjustable table font size (**tiny, small, normal, large, huge**).
* Transparent background option for minimal chart obstruction.
5. **Flexible Session Settings**
* Select session start and end time in hours/minutes.
* Choose session timezone (chart timezone or major financial centers).
* Toggle H4 lines, Daily lines separately.
6. **Lookahead Control**
* Option to wait for higher-timeframe candle close before updating values (more accurate, less repainting).
---
## **How to Use**
### **1. Adding the Indicator**
* Copy and paste the Pine Script into TradingView’s Pine Editor.
* Click **“Add to chart”**.
* Make sure your chart supports the higher timeframes you choose (e.g., H4 and Daily).
### **2. Setting Your Session**
* **Session Start Hour** & **End Hour** → Defines the intraday session to measure ADR/ATR (default: 06:00–13:00).
* **Session Timezone** → Pick “Chart” or a major financial center (e.g., New York, London, Tokyo).
### **3. Choosing Smoothing Methods**
* For each ADR/ATR (H4 and Daily), choose:
* SMA (Simple)
* EMA (Exponential)
* RMA (Wilder’s smoothing)
* WMA (Weighted)
### **4. Adjusting Chart Display**
* **Show H4 Lines** → Displays session open and ADR High/Low for the current H4 session.
* **Show Daily Lines** → Displays daily open and ADR High/Low.
* Customize line colors and widths.
### **5. Reading the Table**
* **H4 Section**
* ADR / ATR values for the selected session.
* % of ADR/ATR covered by the **current H4 bar**.
* ADR/ATR as % of the current price.
* **Daily Section**
* ADR / ATR for the daily timeframe.
* % of ADR already covered by today’s range.
* ADR/ATR as % of price.
### **6. Pro Tips**
* Use **H4 ADR %** to gauge intraday exhaustion — if current range is near 100%, market may slow or reverse.
* Use **Daily ADR %** for swing trade context — if a day has moved beyond its ADR, expect lower continuation probability.
* Combine with support/resistance to identify high-probability reversal zones.
Not-So-Average True Range (nsATR)Not-So-Average True Range (nsATR)
*By Sherlock_MacGyver*
---
Long Story Short
The nsATR is a complete overhaul of traditional ATR analysis. It was designed to solve the fundamental issues with standard ATR, such as lag, lack of contextual awareness, and equal treatment of all volatility events.
Key innovations include:
* A smarter ATR that reacts dynamically when price movement exceeds normal expectations.
* Envelope zones that distinguish between moderate and extreme volatility conditions.
* A long-term ATR baseline that adds historical context to current readings.
* A compression detection system that flags when the market is coiled and ready to break out.
This indicator is designed for traders who want to see volatility the way it actually behaves — contextually, asymmetrically, and with predictive power.
---
What Is This Thing?
Standard ATR (Average True Range) has limitations:
* It smooths too slowly (using Wilder's RMA), which delays detection of meaningful moves.
* It lacks context — no way to know if current volatility is high or low relative to history.
* It treats all volatility equally, regardless of scale or significance.
nsATR** was built from scratch to overcome these weaknesses by applying:
* Amplification of large True Range spikes.
* Visual envelope zones for detecting volatility regimes.
* A long-term context line to anchor current readings.
* Multi-factor compression analysis to anticipate breakouts.
---
Core Features
1. Breach Detection with Amplification
When True Range exceeds a user-defined threshold (e.g., ATR × 1.2), it is amplified using a power function to reflect nonlinear volatility. This amplified value is then smoothed and cascades into future ATR values, affecting the indicator beyond a single bar.
2. Direction Tagging
Volatility spikes are tagged as upward or downward based on basic price momentum (close vs previous close). This provides visual context for how volatility is behaving in real-time.
3. Envelope Zones
Two adaptive envelopes highlight the current volatility regime:
* Stage 1: Moderate volatility (default: ATR × 1.5)
* Stage 2: Extreme volatility (default: ATR × 2.0)
Breaching these zones signals meaningful expansion in volatility.
4. Long-Term Context Baseline
A 200-period simple moving average of the classic ATR establishes whether current readings are above or below long-term volatility expectations.
5. Multi-Signal Compression Detection
Flags potential breakout conditions when:
* ATR is below its long-term baseline
* Price Bollinger Bands are compressed
* RSI Bollinger Bands are also compressed
All three signals must align to plot a "Volatility Confluence Dot" — an early warning of potential expansion.
---
Chart Outputs
In the Indicator Pane:
* Breach Amplified ATR (Orange line)
* Classic ATR baseline (White line)
* Long-Term context baseline (Cyan line)
* Stage 1 and Stage 2 Envelopes (Purple and Yellow lines)
On the Price Chart:
* Triangles for breach direction (green/red)
* Diamonds for compression zones
* Optional background coloring for visual clarity
---
Alerts
Built-in alert conditions:
1. ATR breach detected
2. Stage 1 envelope breached
3. Stage 2 envelope breached
4. Compression zone detected
---
Customization
All components are modular. Traders can adjust:
* Display toggles for each visual layer
* Colors and line widths
* Breach threshold and amplification power
* Envelope sensitivity
* Compression sensitivity and lookback windows
Some options are disabled by default to reduce clutter but can be turned on for more aggressive signal detection.
---
Real-Time Behavior (Non-Repainting Clarification)
The indicator updates in real time on the current bar as new data comes in. This is expected behavior for live trading tools. Once a bar closes, values do not change. In other words, the indicator *does not repaint history* — but the current bar can update dynamically until it closes.
---
Use Cases
* Day traders: Use compression zones to anticipate volatility surges.
* Swing traders: Use envelope breaches for regime awareness.
* System developers: Replace standard ATR in your logic for better responsiveness.
* Risk managers: Use directional volatility signals to better model exposure.
---
About the Developer
Sherlock_MacGyver develops original trading systems that question default assumptions and solve real trader problems.
Position Size Calculator (Fixed % or ATR-based Stop Support)Position Size Calculator (Fixed % or ATR-based Stop Support)
Purpose and Background
This indicator allows traders to calculate appropriate position sizes directly on the chart, based on a key rule:
“What percentage of your capital are you willing to risk per trade?”
While many traders focus on entries and indicators, position sizing and risk allocation are often overlooked.
This tool visualizes and simplifies the “1% risk rule” promoted by IBD (Investor’s Business Daily) and William J. O’Neil, helping both beginners and experienced traders maintain disciplined capital management.
Key Features
Automatically calculates and displays:
・ Position Size
The number of units (shares, contracts, coins) you can hold based on your stop-loss range and risk allowance.
・ Stop Price
The price level at which your stop-loss would be triggered.
・ Risk Amount
The maximum loss per trade based on your portfolio size and risk percentage.
Two stop-loss modes available:
・ Fixed % Mode
O’Neil suggests using up to 8% stop-loss in uptrends and keeping it tighter (around 4%) in corrections. This mode allows flexible manual settings.
・ ATR-Based Mode
Uses the asset’s average volatility to dynamically calculate stop-loss width using the Average True Range (ATR).
ATR Usage and Recommended Settings
ATR helps you avoid noise-based stop-outs and align your risk with market volatility.
There are two parameters you can adjust:
・ ATR Length
Defines how many bars are used to calculate the average range.
・Shorter values (5–10) respond faster for day trades
・Longer values (14–21) offer smoother ranges for swing/position trades(Default is 14)
・ATR Multiplier
Sets how wide the stop-loss is by multiplying the ATR value:
・Day trading: 1.0–1.5×
・Swing trading: 1.5–2.5×
・Position trading: 2.0–3.0×
Practical Examples: Risk % × Stop-Loss % → Max Positions
This tool helps estimate how many positions you can hold in a portfolio based on your risk per trade and stop width.
Examples:
・Risk 0.5%, Stop 8% → Max 16 positions
・Risk 0.5%, Stop 4% → Max 8 positions
・Risk 1.0%, Stop 8% → Max 8 positions
・Risk 1.0%, Stop 4% → Max 4 positions
・Risk 2.0%, Stop 8% → Max 4 positions
・Risk 2.0%, Stop 4% → Max 2 positions
These assume worst-case scenarios where all positions are stopped out simultaneously within your overall portfolio risk limit.
Display & Customization Options
・ Currency Display: USD or JPY
No currency conversion is applied. Select based on your trading region (e.g., USD for U.S. stocks, JPY for Japanese stocks).
Support for additional currencies can be added upon request.
・ Show/Hide Decimal Places
Toggle decimals for better visibility. Ideal for fractional assets like crypto and CFDs.
・ Position of Output
Choose from top-right, middle-right, or bottom-right on the chart.
・ Text Display Size: Large / Normal / Small
Choose the table size that best suits your viewing preferences.
・ Explanation of Displayed Labels
・ Position Size : Units to buy/sell based on risk
・ Stop Price : Price where stop-loss is triggered
・ Risk Amount : Max loss allowed for the trade
How to Use
1、Set your Portfolio Size
2、Choose your Currency (USD or JPY)
3、Input Risk per Trade (%) (e.g., 1%)
4、Select Stop Loss Method
・ Fixed % : Enter a manual stop-loss percent (e.g., 8%)
・ ATR : Then also enter:
・ ATR Length : Number of bars used to calculate ATR (e.g., 14)
・ ATR Multiplier : Factor applied to ATR to determine stop-loss (e.g., 2.0)
5、Adjust decimals, label position, or text size as needed
6、The result is displayed in a table directly on your chart
Notes
・ Uses the current close price (close) as the basis
Real-time bid/ask data isn't available in Pine Script, so the close price is used for consistent results.
・ No buy/sell signals are generated
This tool is for position sizing and risk calculation only, not trade entries.
Recommended For
・Traders who want precise, rule-based position sizing
・Users following IBD or O’Neil’s 1% risk principle
・Those incorporating ATR for stop-loss strategies
・Multi-asset traders (stocks, crypto, CFDs, etc.)
・ Anyone who wants to calculate position size and risk without using a calculator or external tool—fully inside TradingView
Dskyz (DAFE) MAtrix with ATR-Powered Precision Dskyz (DAFE) MAtrix with ATR-Powered Precision
This cutting‐edge futures trading strategy built to thrive in rapidly changing market conditions. Developed for high-frequency futures trading on instruments such as the CME Mini MNQ, this strategy leverages a matrix of sophisticated moving averages combined with ATR-based filters to pinpoint high-probability entries and exits. Its unique combination of adaptable technical indicators and multi-timeframe trend filtering sets it apart from standard strategies, providing enhanced precision and dynamic responsiveness.
imgur.com
Core Functional Components
1. Advanced Moving Averages
A distinguishing feature of the DAFE strategy is its robust, multi-choice moving averages (MAs). Clients can choose from a wide array of MAs—each with specific strengths—in order to fine-tune their trading signals. The code includes user-defined functions for the following MAs:
imgur.com
Hull Moving Average (HMA):
The hma(src, len) function calculates the HMA by using weighted moving averages (WMAs) to reduce lag considerably while smoothing price data. This function computes an intermediate WMA of half the specified length, then a full-length WMA, and finally applies a further WMA over the square root of the length. This design allows for rapid adaptation to price changes without the typical delays of traditional moving averages.
Triple Exponential Moving Average (TEMA):
Implemented via tema(src, len), TEMA uses three consecutive exponential moving averages (EMAs) to effectively cancel out lag and capture price momentum. The final formula—3 * (ema1 - ema2) + ema3—produces a highly responsive indicator that filters out short-term noise.
Double Exponential Moving Average (DEMA):
Through the dema(src, len) function, DEMA calculates an EMA and then a second EMA on top of it. Its simplified formula of 2 * ema1 - ema2 provides a smoother curve than a single EMA while maintaining enhanced responsiveness.
Volume Weighted Moving Average (VWMA):
With vwma(src, len), this MA accounts for trading volume by weighting the price, thereby offering a more contextual picture of market activity. This is crucial when volume spikes indicate significant moves.
Zero Lag EMA (ZLEMA):
The zlema(src, len) function applies a correction to reduce the inherent lag found in EMAs. By subtracting a calculated lag (based on half the moving average window), ZLEMA is exceptionally attuned to recent price movements.
Arnaud Legoux Moving Average (ALMA):
The alma(src, len, offset, sigma) function introduces ALMA—a type of moving average designed to be less affected by outliers. With parameters for offset and sigma, it allows customization of the degree to which the MA reacts to market noise.
Kaufman Adaptive Moving Average (KAMA):
The custom kama(src, len) function is noteworthy for its adaptive nature. It computes an efficiency ratio by comparing price change against volatility, then dynamically adjusts its smoothing constant. This results in an MA that quickly responds during trending periods while remaining smoothed during consolidation.
Each of these functions—integrated into the strategy—is selectable by the trader (via the fastMAType and slowMAType inputs). This flexibility permits the tailored application of the MA most suited to current market dynamics and individual risk management preferences.
2. ATR-Based Filters and Risk Controls
ATR Calculation and Volatility Filter:
The strategy computes the Average True Range (ATR) over a user-defined period (atrPeriod). ATR is then used to derive both:
Volatility Assessment: Expressed as a ratio of ATR to closing price, ensuring that trades are taken only when volatility remains within a safe, predefined threshold (volatilityThreshold).
ATR-Based Entry Filters: Implemented as atrFilterLong and atrFilterShort, these conditions ensure that for long entries the price is sufficiently above the slow MA and vice versa for shorts. This acts as an additional confirmation filter.
Dynamic Exit Management:
The exit logic employs a dual approach:
Fixed Stop and Profit Target: Stops and targets are set at multiples of ATR (fixedStopMultiplier and profitTargetATRMult), helping manage risk in volatile markets.
Trailing Stop Adjustments: A trailing stop is calculated using the ATR multiplied by a user-defined offset (trailOffset), which captures additional profits as the trade moves favorably while protecting against reversals.
3. Multi-Timeframe Trend Filtering
The strategy enhances its signal reliability by leveraging a secondary, higher timeframe analysis:
15-Minute Trend Analysis:
By retrieving 15-minute moving averages (fastMA15m and slowMA15m) via request.security, the strategy determines the broader market trend. This secondary filter (enabled or disabled through useTrendFilter) ensures that entries are aligned with the prevailing market direction, thereby reducing the incidence of false signals.
4. Signal and Execution Logic
Combined MA Alignment:
The entry conditions are based primarily on the alignment of the fast and slow MAs. A long condition is triggered when the current price is above both MAs and the fast MA is above the slow MA—complemented by the ATR filter and volume conditions. The reverse applies for a short condition.
Volume and Time Window Validation:
Trades are permitted only if the current volume exceeds a minimum (minVolume) and the current hour falls within the predefined trading window (tradingStartHour to tradingEndHour). An additional volume spike check (comparing current volume to a moving average of past volumes) further filters for optimal market conditions.
Comprehensive Order Execution:
The strategy utilizes flexible order execution functions that allow pyramiding (up to 10 positions), ensuring that it can scale into positions as favorable conditions persist. The use of both market entries and automated exits (with profit targets, stop-losses, and trailing stops) ensures that risk is managed at every step.
5. Integrated Dashboard and Metrics
For transparency and real-time analysis, the strategy includes:
On-Chart Visualizations:
Both fast and slow MAs are plotted on the chart, making it easy to see the market’s technical foundation.
Dynamic Metrics Dashboard:
A built-in table displays crucial performance statistics—including current profit/loss, equity, ATR (both raw and as a percentage), and the percentage gap between the moving averages. These metrics offer immediate insight into the health and performance of the strategy.
Input Parameters: Detailed Breakdown
Every input is meticulously designed to offer granular control:
Fast & Slow Lengths:
Determine the window size for the fast and slow moving averages. Smaller values yield more sensitivity, while larger values provide a smoother, delayed response.
Fast/Slow MA Types:
Choose the type of moving average for fast and slow signals. The versatility—from basic SMA and EMA to more complex ones like HMA, TEMA, ZLEMA, ALMA, and KAMA—allows customization to fit different market scenarios.
ATR Parameters:
atrPeriod and atrMultiplier shape the volatility assessment, directly affecting entry filters and risk management through stop-loss and profit target levels.
Trend and Volume Filters:
Inputs such as useTrendFilter, minVolume, and the volume spike condition help confirm that a trade occurs in active, trending markets rather than during periods of low liquidity or market noise.
Trading Hours:
Restricting trade execution to specific hours (tradingStartHour and tradingEndHour) helps avoid illiquid or choppy markets outside of prime trading sessions.
Exit Strategies:
Parameters like trailOffset, profitTargetATRMult, and fixedStopMultiplier provide multiple layers of risk management and profit protection by tailoring how exits are generated relative to current market conditions.
Pyramiding and Fixed Trade Quantity:
The strategy supports multiple entries within a trend (up to 10 positions) and sets a predefined trade quantity (fixedQuantity) to maintain consistent exposure and risk per trade.
Dashboard Controls:
The resetDashboard input allows for on-the-fly resetting of performance metrics, keeping the strategy’s performance dashboard accurate and up-to-date.
Why This Strategy is Truly Exceptional
Multi-Faceted Adaptability:
The ability to switch seamlessly between various moving average types—each suited to particular market conditions—enables the strategy to adapt dynamically. This is a testament to the high level of coding sophistication and market insight infused within the system.
Robust Risk Management:
The integration of ATR-based stops, profit targets, and trailing stops ensures that every trade is executed with well-defined risk parameters. The system is designed to mitigate unexpected market swings while optimizing profit capture.
Comprehensive Market Filtering:
By combining moving average crossovers with volume analysis, volatility thresholds, and multi-timeframe trend filters, the strategy only enters trades under the most favorable conditions. This multi-layered filtering reduces noise and enhances signal quality.
-Final Thoughts-
The Dskyz Adaptive Futures Elite (DAFE) MAtrix with ATR-Powered Precision strategy is not just another trading algorithm—it is a multi-dimensional, fully customizable system built on advanced technical principles and sophisticated risk management techniques. Every function and input parameter has been carefully engineered to provide traders with a system that is both powerful and transparent.
For clients seeking a state-of-the-art trading solution that adapts dynamically to market conditions while maintaining strict discipline in risk management, this strategy truly stands in a class of its own.
****Please show support if you enjoyed this strategy. I'll have more coming out in the near future!!
-Dskyz
Caution
DAFE is experimental, not a profit guarantee. Futures trading risks significant losses due to leverage. Backtest, simulate, and monitor actively before live use. All trading decisions are your responsibility.
Engulfing and ATR-Imbalance [odnac]This Pine Script indicator combines two powerful concepts—Engulfing Candlestick Patterns and ATR Imbalance—to identify potential market reversal points with increased precision.
Engulfing Candlestick Patterns:
Bullish Engulfing: Identified when a candle closes higher than it opens, and it completely engulfs the previous candle (previous close is lower than the current open, and previous high is lower than the current close).
Bearish Engulfing: Identified when a candle closes lower than it opens, and it completely engulfs the previous candle (previous close is higher than the current open, and previous low is higher than the current close).
Bar Coloring: These patterns are highlighted with a customizable color (light gray by default) to make them easily identifiable.
ATR-Based Imbalance:
The Average True Range (ATR) is used to measure market volatility, and this script checks if the current candle’s range (difference between high and low) exceeds a defined multiple of the ATR, indicating a possible imbalance.
Imbalance Detection: If the current candle’s range is greater than ATR * imbalance multiplier (default multiplier: 1.5), it is marked as an ATR imbalance.
Bar Coloring: Candles with a significant imbalance (greater range than the ATR-based threshold) are highlighted in yellow, indicating an outlier or extreme price movement.
Engulfing + ATR Imbalance:
When both a Bullish Engulfing pattern and an ATR Imbalance are detected, a green triangle up is plotted below the bar, signaling a potential bullish reversal.
Conversely, when both a Bearish Engulfing pattern and an ATR Imbalance occur, a red triangle down is plotted above the bar, signaling a potential bearish reversal.
User Inputs:
Engulfing Plot: Enable or disable the plotting of Engulfing Candles.
ATR Length: Set the period used to calculate the ATR (default is 5).
Imbalance Multiplier: Adjust the multiplier to define the threshold for ATR imbalance detection (default is 1.5).
Bar Colors: Customizable color for both Engulfing candles and Imbalance candles.
Engulfing & Imbalance Plot: Enable or disable plotting of the combined conditions (Engulfing + ATR Imbalance) with arrows.
How This Indicator Helps:
By combining price action patterns with volatility analysis, this indicator highlights high-probability reversal points where significant price movement (imbalance) coincides with a clear Engulfing pattern. Traders can use these signals to time entries or exits based on both price action and market volatility.
00 Averaging Down Backtest Strategy by RPAlawyer v21FOR EDUCATIONAL PURPOSES ONLY! THE CODE IS NOT YET FULLY DEVELOPED, BUT IT CAN PROVIDE INTERESTING DATA AND INSIGHTS IN ITS CURRENT STATE.
This strategy is an 'averaging down' backtester strategy. The goal of averaging/doubling down is to buy more of an asset at a lower price to reduce your average entry price.
This backtester code proves why you shouldn't do averaging down, but the code can be developed (and will be developed) further, and there might be settings even in its current form that prove that averaging down can be done effectively.
Different averaging down strategies exist:
- Linear/Fixed Amount: buy $1000 every time price drops 5%
- Grid Trading: Placing orders at price levels, often with increasing size, like $1000 at -5%, $2000 at -10%
- Martingale: doubling the position size with each new entry
- Reverse Martingale: decreasing position size as price falls: $4000, then $2000, then $1000
- Percentage-Based: position size based on % of remaining capital, like 10% of available funds at each level
- Dynamic/Adaptive: larger entries during high volatility, smaller during low
- Logarithmic: position sizes increase logarithmically as price drops
Unlike the above average costing strategies, it applies averaging down (I use DCA as a synonym) at a very strong trend reversal. So not at a certain predetermined percentage negative PNL % but at a trend reversal signaled by an indicator - hence it most closely resembles a dynamically moving grid DCA strategy.
Both entering the trade and averaging down assume a strong trend. The signals for trend detection are provided by an indicator that I published under the name '00 Parabolic SAR Trend Following Signals by RPAlawyer', but any indicator that generates numeric signals of 1 and -1 for buy and sell signals can be used.
The indicator must be connected to the strategy: in the strategy settings under 'External Source' you need to select '00 Parabolic SAR Trend Following Signals by RPAlawyer: Connector'. From this point, the strategy detects when the indicator generates buy and sell signals.
The strategy considers a strong trend when a buy signal appears above a very conservative ATR band, or a sell signal below the ATR band. The conservative ATR is chosen to filter ranging markets. This very conservative ATR setting has a default multiplier of 8 and length of 40. The multiplier can be increased up to 10, but there will be very few buy and sell signals at that level and DCA requirements will be very high. Trade entry and DCA occur at these strong trends. In the settings, the 'ATR Filter' setting determines the entry condition (e.g., ATR Filter multiplier of 9), and the 'DCA ATR' determines when DCA will happen (e.g., DCA ATR multiplier of 6).
The DCA levels and DCA amounts are determined as follows:
The first DCA occurs below the DCA Base Deviation% level (see settings, default 3%) which acts as a threshold. The thick green line indicates the long position avg price, and the thin red line below the green line indicates the 3% DCA threshold for long positions. The thick red line indicates the short position avg price, and the thin red line above the thick red line indicates the short position 3% DCA threshold. DCA size multiplier defines the DCA amount invested.
If the loss exceeds 3% AND a buy signal arrives below the lower ATR band for longs, or a sell signal arrives above the upper ATR band for shorts, then the first DCA will be executed. So the first DCA won't happen at 3%, rather 3% is a threshold where the additional condition is that the price must close above or below the ATR band (let's say the first DCA occured at 8%) – this is why the code resembles a dynamic grid strategy, where the grid moves such that alongside the first 3% threshold, a strong trend must also appear for DCA. At this point, the thick green/red line moves because the avg price is modified as a result of the DCA, and the thin red line indicating the next DCA level also moves. The next DCA level is determined by the first DCA level, meaning modified avg price plus an additional +8% + (3% * the Step Scale Multiplier in the settings). This next DCA level will be indicated by the modified thin red line, and the price must break through this level and again break through the ATR band for the second DCA to occur.
Since all this wasn't complicated enough, and I was always obsessed by the idea that when we're sitting in an underwater position for days, doing DCA and waiting for the price to correct, we can actually enter a short position on the other side, on which we can realize profit (if the broker allows taking hedge positions, Binance allows this in Europe).
This opposite position in this strategy can open from the point AFTER THE FIRST DCA OF THE BASE POSITION OCCURS. This base position first DCA actually indicates that the price has already moved against us significantly so time to earn some money on the other side. Breaking through the ATR band is also a condition for entry here, so the hedge position entry is not automatic, and the condition for further DCA is breaking through the DCA Base Deviation (default 3%) and breaking through the ATR band. So for the 'hedge' or rather opposite position, the entry and further DCA conditions are the same as for the base position. The hedge position avg price is indicated by a thick black line and the Next Hedge DCA Level is indicated by a thin black line.
The TPs are indicated by green labels for base positions and red labels for hedge positions.
No SL built into the strategy at this point but you are free to do your coding.
Summary data can be found in the upper right corner.
The fantastic trend reversal indicator Machine learning: Lorentzian Classification by jdehorty can be used as an external indicator, choose 'backtest stream' for the external source. The ATR Band multiplicators need to be reduced to 5-6 when using Lorentz.
The code can be further developed in several aspects, and as I write this, I already have a few ideas 😊
The Ultimate ATR-BBW Market Volatility Indicator"The ATR-BBW Market Volatility Indicator combines the Average True Range (ATR) and Bollinger Bands Width (BBW) to provide a measure of market volatility. This indicator does not indicate bullish or bearish trends, but rather the magnitude of price fluctuations.
* Usage: When the indicator moves upward, it suggests increasing market volatility, indicating that prices are moving within a wider range. Conversely, a downward movement implies decreasing volatility, signifying that prices are moving within a narrower range.
* Note: This sub-indicator solely reflects market volatility and does not provide buy or sell signals.
Investing involves risk. Please conduct thorough research before making any investment decisions.
ATR and BBW Explained:
* Average True Range (ATR): ATR is a technical analysis indicator used to measure market volatility. It calculates the average of a series of true ranges, where the true range is the greatest of the following:
* The current high minus the current low
* The absolute value of the current high minus the previous close
* The absolute value of the current low minus the previous close
* A higher ATR value indicates higher volatility, while a lower value suggests lower volatility.
* Bollinger Bands Width (BBW): Bollinger Bands are plotted two standard deviations above and below a simple moving average. BBW measures the distance between the upper and lower bands. A wider BBW indicates higher volatility, as prices are moving further away from the moving average. Conversely, a narrower BBW suggests lower volatility.
Combining ATR and BBW:
By combining ATR and BBW, the ATR-BBW indicator provides a more comprehensive view of market volatility. ATR captures the overall volatility of the market, while BBW measures the volatility relative to the moving average. Together, they provide a more robust indicator of market conditions and can be used to identify potential trading opportunities.
Why ATR and BBW are Effective for Measuring Volatility:
* ATR directly measures the actual price movement, regardless of the direction.
* BBW shows how much prices are deviating from their average, indicating the strength of the current trend.
* Combined: By combining these two measures, the ATR-BBW indicator provides a more comprehensive and accurate assessment of market volatility.
In essence, the ATR-BBW indicator helps traders understand the magnitude of price fluctuations, allowing them to make more informed trading decisions.
Cosine-Weighted MA ATR [InvestorUnknown]The Cosine-Weighted Moving Average (CWMA) ATR (Average True Range) indicator is designed to enhance the analysis of price movements in financial markets. By incorporating a cosine-based weighting mechanism , this indicator provides a unique approach to smoothing price data and measuring volatility, making it a valuable tool for traders and investors.
Cosine-Weighted Moving Average (CWMA)
The CWMA is calculated using weights derived from the cosine function, which emphasizes different data points in a distinctive manner. Unlike traditional moving averages that assign equal weight to all data points, the cosine weighting allocates more significance to values at the edges of the data window. This can help capture significant price movements while mitigating the impact of outlier values.
The weights are shifted to ensure they remain non-negative, which helps in maintaining a stable calculation throughout the data series. The normalization of these weights ensures they sum to one, providing a proportional contribution to the average.
// Function to calculate the Cosine-Weighted Moving Average with shifted weights
f_Cosine_Weighted_MA(series float src, simple int length) =>
var float cosine_weights = array.new_float(0)
array.clear(cosine_weights) // Clear the array before recalculating weights
for i = 0 to length - 1
weight = math.cos((math.pi * (i + 1)) / length) + 1 // Shift by adding 1
array.push(cosine_weights, weight)
// Normalize the weights
sum_weights = array.sum(cosine_weights)
for i = 0 to length - 1
norm_weight = array.get(cosine_weights, i) / sum_weights
array.set(cosine_weights, i, norm_weight)
// Calculate Cosine-Weighted Moving Average
cwma = 0.0
if bar_index >= length
for i = 0 to length - 1
cwma := cwma + array.get(cosine_weights, i) * close
cwma
Cosine-Weighted ATR Calculation
The ATR is an essential measure of volatility, reflecting the average range of price movement over a specified period. The Cosine-Weighted ATR uses a similar weighting scheme to that of the CWMA, allowing for a more nuanced understanding of volatility. By emphasizing more recent price movements while retaining sensitivity to broader trends, this ATR variant offers traders enhanced insight into potential price fluctuations.
// Function to calculate the Cosine-Weighted ATR with shifted weights
f_Cosine_Weighted_ATR(simple int length) =>
var float cosine_weights_atr = array.new_float(0)
array.clear(cosine_weights_atr)
for i = 0 to length - 1
weight = math.cos((math.pi * (i + 1)) / length) + 1 // Shift by adding 1
array.push(cosine_weights_atr, weight)
// Normalize the weights
sum_weights_atr = array.sum(cosine_weights_atr)
for i = 0 to length - 1
norm_weight_atr = array.get(cosine_weights_atr, i) / sum_weights_atr
array.set(cosine_weights_atr, i, norm_weight_atr)
// Calculate Cosine-Weighted ATR using true ranges
cwatr = 0.0
tr = ta.tr(true) // True Range
if bar_index >= length
for i = 0 to length - 1
cwatr := cwatr + array.get(cosine_weights_atr, i) * tr
cwatr
Signal Generation
The indicator generates long and short signals based on the relationship between the price (user input) and the calculated upper and lower bands, derived from the CWMA and the Cosine-Weighted ATR. Crossover conditions are used to identify potential entry points, providing a systematic approach to trading decisions.
// - - - - - CALCULATIONS - - - - - //{
bar b = bar.new()
float src = b.calc_src(cwma_src)
float cwma = f_Cosine_Weighted_MA(src, ma_length)
// Use normal ATR or Cosine-Weighted ATR based on input
float atr = atr_type == "Normal ATR" ? ta.atr(atr_len) : f_Cosine_Weighted_ATR(atr_len)
// Calculate upper and lower bands using ATR
float cwma_up = cwma + (atr * atr_mult)
float cwma_dn = cwma - (atr * atr_mult)
float src_l = b.calc_src(src_long)
float src_s = b.calc_src(src_short)
// Signal logic for crossovers and crossunders
var int signal = 0
if ta.crossover(src_l, cwma_up)
signal := 1
if ta.crossunder(src_s, cwma_dn)
signal := -1
//}
Backtest Mode and Equity Calculation
To evaluate its effectiveness, the indicator includes a backtest mode, allowing users to test its performance on historical data:
Backtest Equity: A detailed equity curve is calculated based on the generated signals over a user-defined period (startDate to endDate).
Buy and Hold Comparison: Alongside the strategy’s equity, a Buy-and-Hold equity curve is plotted for performance comparison.
Visualization and Alerts
The indicator features customizable plots, allowing users to visualize the CWMA, ATR bands, and signals effectively. The colors change dynamically based on market conditions, with clear distinctions between long and short signals.
Alerts can be configured to notify users of crossover events, providing timely information for potential trading opportunities.
Bollinger Bands Enhanced StrategyOverview
The common practice of using Bollinger bands is to use it for building mean reversion or squeeze momentum strategies. In the current script Bollinger Bands Enhanced Strategy we are trying to combine the strengths of both strategies types. It utilizes Bollinger Bands indicator to buy the local dip and activates trailing profit system after reaching the user given number of Average True Ranges (ATR). Also it uses 200 period EMA to filter trades only in the direction of a trend. Strategy can execute only long trades.
Unique Features
Trailing Profit System: Strategy uses user given number of ATR to activate trailing take profit. If price has already reached the trailing profit activation level, scrip will close long trade if price closes below Bollinger Bands middle line.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Major Trend Filter: Strategy utilizes 100 period EMA to take trades only in the direction of a trend.
Flexible Risk Management: Users can choose number of ATR as a stop loss (by default = 1.75) for trades. This is flexible approach because ATR is recalculated on every candle, therefore stop-loss readjusted to the current volatility.
Methodology
First of all, script checks if currently price is above the 200-period exponential moving average EMA. EMA is used to establish the current trend. Script will take long trades on if this filtering system showing us the uptrend. Then the strategy executes the long trade if candle’s low below the lower Bollinger band. To calculate the middle Bollinger line, we use the standard 20-period simple moving average (SMA), lower band is calculated by the substruction from middle line the standard deviation multiplied by user given value (by default = 2).
When long trade executed, script places stop-loss at the price level below the entry price by user defined number of ATR (by default = 1.75). This stop-loss level recalculates at every candle while trade is open according to the current candle ATR value. Also strategy set the trailing profit activation level at the price above the position average price by user given number of ATR (by default = 2.25). It is also recalculated every candle according to ATR value. When price hit this level script plotted the triangle with the label “Strong Uptrend” and start trail the price at the middle Bollinger line. It also started to be plotted as a green line.
When price close below this trailing level script closes the long trade and search for the next trade opportunity.
Risk Management
The strategy employs a combined and flexible approach to risk management:
It allows positions to ride the trend as long as the price continues to move favorably, aiming to capture significant price movements. It features a user-defined ATR stop loss parameter to mitigate risks based on individual risk tolerance. By default, this stop-loss is set to a 1.75*ATR drop from the entry point, but it can be adjusted according to the trader's preferences.
There is no fixed take profit, but strategy allows user to define user the ATR trailing profit activation parameter. By default, this stop-loss is set to a 2.25*ATR growth from the entry point, but it can be adjusted according to the trader's preferences.
Justification of Methodology
This strategy leverages Bollinger bangs indicator to open long trades in the local dips. If price reached the lower band there is a high probability of bounce. Here is an issue: during the strong downtrend price can constantly goes down without any significant correction. That’s why we decided to use 200-period EMA as a trend filter to increase the probability of opening long trades during major uptrend only.
Usually, Bollinger Bands indicator is using for mean reversion or breakout strategies. Both of them have the disadvantages. The mean reversion buys the dip, but closes on the return to some mean value. Therefore, it usually misses the major trend moves. The breakout strategies usually have the issue with too high buy price because to have the breakout confirmation price shall break some price level. Therefore, in such strategies traders need to set the large stop-loss, which decreases potential reward to risk ratio.
In this strategy we are trying to combine the best features of both types of strategies. Script utilizes ate ATR to setup the stop-loss and trailing profit activation levels. ATR takes into account the current volatility. Therefore, when we setup stop-loss with the user-given number of ATR we increase the probability to decrease the number of false stop outs. The trailing profit concept is trying to add the beat feature from breakout strategies and increase probability to stay in trade while uptrend is developing. When price hit the trailing profit activation level, script started to trail the price with middle line if Bollinger bands indicator. Only when candle closes below the middle line script closes the long trade.
Backtest Results
Operating window: Date range of backtests is 2020.10.01 - 2024.07.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -9.78%
Maximum Single Profit: +25.62%
Net Profit: +6778.11 USDT (+67.78%)
Total Trades: 111 (48.65% win rate)
Profit Factor: 2.065
Maximum Accumulated Loss: 853.56 USDT (-6.60%)
Average Profit per Trade: 61.06 USDT (+1.62%)
Average Trade Duration: 76 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
ALT - ATR Percent Rank🔵 Description
The "ALT - ATR Percent Rank" indicator is a financial analysis tool designed to assess the volatility of an asset relative to its historical behavior, using the Average True Range (ATR) metric.
🔵 Purpose
The indicator aims to provide traders with insights into how the current volatility of an asset compares to its past levels. By evaluating the Percent Rank of the ATR, traders can determine if the current ATR value is high or low in the context of a specified historical period.
🔵 Functionality
• Asset and Timeframe Flexibility
Selectable Asset: Users can choose to apply the indicator to a different asset than the one currently displayed on the chart. This is particularly useful for comparing the volatility of multiple assets without switching charts.
Customizable Timeframe: The indicator can be set to analyze the ATR on different timeframes, regardless of the chart's current timeframe. This allows for multi-timeframe analysis without changing the view of the current chart.
• ATR Calculation
The Average True Range (ATR) is calculated over a user-defined number of bars (ATR Length). ATR is a commonly used measure of volatility that captures the degree of price movement per bar.
REF: Average True Range (ATR) Calculation
• Percent Rank Analysis
The indicator computes the Percent Rank of the current ATR value based on a specified lookback period (Percent Rank Lookback). This tells users how the current ATR compares to ATR values over the recent past, expressed as a percentile. For example, a Percent Rank of 90% indicates that the current ATR is higher than 90% of its values over the chosen lookback period, suggesting higher volatility.
• Visualization
The result is plotted as a line on a separate panel below the main trading chart, making it easy to view changes in volatility relative to historical levels.
🔵 Use Cases
• Trend Confirmation
Traders might use the indicator to confirm if a price movement is backed by significant volatility changes, which could validate the strength of a trend.
• Risk Management
Understanding when an asset is experiencing unusually high or low volatility could help in adjusting trading strategies, such as altering position sizes or setting stop-loss orders.
• Comparative Analysis
By enabling the analysis of different assets or timeframes, traders can perform comparative volatility studies, which can be essential in portfolio management or when seeking diversification opportunities.
This indicator is a valuable tool for traders who rely on volatility analysis to make informed trading decisions, providing a clear, quantifiable measure of how current market conditions compare to historical data.
Focused Average True RangeThe Focused Average True Range (FATR) is a modified version of the classic Average True Range (ATR) indicator. It is designed to provide traders with more accurate data on volatility, minimizing the impact of sharp spikes in volatility.
The main distinction between the Focused ATR and the standard ATR lies in the utilization of percentiles. Instead of calculating the average price change as the regular ATR does, the Focused ATR selects a value in the middle of the range of price changes. This makes it less sensitive to sharp changes in volatility, which can be beneficial in certain trading scenarios.
Settings:
Percentile. This parameter determines which value in the series of price changes will be used. For example, if the percentile is set to 50, the indicator will use the median value of the series of price changes. This is the default value. Imagine a class of students lined up by height, and instead of calculating the average height of all students, we take the height of the students in the middle of the line. Similarly here, we take the ATR from the middle of the series. Increasing the percentile will lead to the use of a value closer to the upper bound of the range, while decreasing the percentile will lead to the use of a value closer to the lower bound.
How to Use:
The Focused ATR is especially useful for determining the sizes of stop-losses and take-profits, thanks to its ability to consider the value in the middle of the series of price changes rather than the average value. This allows traders to more accurately assess volatility and risk, which in turn can assist in optimizing trading strategies
---
Фокусированный Средний Истинный Диапазон (Focused ATR) представляет собой модифицированную версию классического индикатора ATR. Он разработан с целью предоставления трейдерам более точных данных о волатильности, минимизируя влияние резких скачков волатильности.
Основное отличие Фокусированного ATR от стандартного ATR заключается в использовании процентиля. Вместо того, чтобы рассчитывать среднее значение изменений цены, как это делает обычный ATR, Фокусированный ATR выбирает значение в середине диапазона изменений цены. Это делает его менее чувствительным к резким изменениям волатильности, что может быть полезно в некоторых торговых сценариях.
Настройки:
Процентиль. Этот параметр определяет, какое значение в ряду изменений цены будет использоваться. Например, если процентиль равен 50, то индикатор будет использовать медианное значение ряда изменений цены. Это стандартное значение. Представьте себе, что ученики класса выстроились по росту, и мы считаем не средний рост всех учеников, а берем рост учеников из середины колонны. Так и тут. Мы берем ATR из середины ряда. Увеличение процентиля приведет к использованию значения, ближе к верхней границе диапазона, в то время как уменьшение процентиля приведет к использованию значения, ближе к нижней границе.
Как использовать:
Фокусированный ATR особенно полезен для определения размеров стоп-лоссов и тейк-профитов, благодаря своей способности учитывать значение в середине ряда изменений цены, а не среднее значение. Это позволяет трейдерам более точно оценить волатильность и риск, что в свою очередь может помочь в оптимизации торговых стратегий.
.
Big Poppa Code Strat & Momentum Strategy IndicatorThis indicator is a combination of a few things in order to work with a unique trading style gleaned from Callme100k, jrgreatness, TrustMyLevels , FaithInTheStrat, Rob Smith and Saty Mahajan.
This Indicator is created to help you day trade using, ATR Fibonacci Levels, Price Action and Momentum.
It displays Fibonacci Levels Based on ATR to indicate when a security is 0.236, 0.382 +- the Days Open, +- the Days Open, 0.618 +- the Days Open and 1.0 +- Days Open.
To understand this script you need to understand
Average True Range (ATR)
1 Bar Inside Bar
2 Bar Outside Bar (Break either the top or bottom)
3 Bar Engulfing Bar
Strat Setups - 212, 322, 312
Fibonacci - 0.236, 0.382, 0.618, 1.0
Moving Averages
A Trend is considered bullish when (green)
Current Price is greater than the Fast EMA Value (8)
Fast EMA is greater than PIVOT EMA Value (21)
Pivot EMA is greater than SLOW EMA Value (34)
OR Hull is trending up and the Price is above the Volume Weighted Moving Average and price is above VWAP
A trend is considered Bearish when (red)
Current Price is less than the Fast EMA Value (8)
Fast EMA is less than PIVOT EMA Value (21)
Pivot EMA is less than SLOW EMA Value (34)
OR Hull is trending down and the Price is below the Volume Weighted Moving Average and price is below VWAP
If these conditions are not met then the Momentum is in Conflict (orange)
The Momentum band will match the color of the current trend
The table that is present can be turned off at any time lets you see
1) If Moving Averages are showing bullish, bearish or in conflict
2) If There us Time Frame Continuity, (if 5 min up, are all the other timeframes up also)
3) How much of the ATR have we moved on the day
4) Are we in Call or Put range for the day based on ATR Fib Levels
The Ideal situation for entering a call
1) Momentum is Green
2) FTFC on Green
3) A Strat Actionable Signal is present
4) You are in the call range, 0.236 - 0.618 ATR + the Price
5) The ATR still has room, I.e only 50% of the ATR has been run already
Ideal situation from entering a put
1) Momentum is red
2) FTFC on Red
3) A Strat Actionable Signal is present
4) You are in the put range, 0.236 - 0.618 ATR - the Price
5) The ATR still has room, I.e only 50% of the ATR has been run already
Exit the trade for these reasons you entered (for profit or loss)
1) ATR has no more room
2) FTFC is now in conflict
3) Momentum has shifted
Take Profit when
1) You reach a new ATR Level 0.618, 1.0 , -0.618, -1, etc
Passive Stop Loss
1) Open Price if you are aggressive
2) Next ATR Level Down or Up
Feel free to take profit and leave runners
This script does not give signals, you should do your own research, I am not a financial advisors, I am simply applying principles of seasoned veterans to code. You make all decisions about how you buy, sell and trade. The creator of this script makes no promises and takes no responsibility for your personal trading.
To research the methods described above look up
Rob Smith : The Strat
Saty Mahajan : ATR Levels
Fibonacci
Using the HULL Moving Average
Exponential Moving Averages
VWAP
VWMA
Target Ladder Pro - MTF ATR + HIT ConfirmationTarget Ladder Pro is a volatility-based target framework that plots multi-timeframe ATR-derived upper and lower reference levels on the price chart and can optionally print HIT confirmations when a defined ATR target is reached.
This script is designed to provide structured volatility context (reach zones, range framing, and objective “target reached” tagging). It does not predict price direction, does not guarantee outcomes, and is not intended as a standalone signal generator.
What This Script Displays
1) Multi-Timeframe ATR Target Ladder (1H / 4H / 1D / 1W)
For each enabled timeframe, the script calculates ATR using higher-timeframe data via request.security() (no lookahead), then plots:
Upper level: Base + ATR × Multiplier
Lower level: Base − ATR × Multiplier
The “Base” can be set to:
the current chart price (for immediate relevance), or
the timeframe’s own close (for a strict MTF reference)
Each timeframe’s upper and lower levels are drawn as price-chart lines.
Last-Bar Target Balloons (per timeframe)
On the last bar, the script prints balloon labels for each timeframe’s upper and lower level. Horizontal x-offsets are configurable per timeframe to keep stacked labels readable.
2) ATR Target + Deviation Bands (Context Layer)
A separate ATR target module calculates a single ATR reference level for the current bar based on candle direction (up/down close relative to the prior close). It also optionally plots:
a mean line (moving average), and
up to four standard-deviation bands (mean ± N × deviation)
These bands provide statistical range context around price.
Target / HIT Labels (per bar)
When enabled:
a Target label marks the computed ATR target level
a HIT label appears when price reaches that target on the same bar (high/low touch rule)
An optional filter can require that the ATR target is inside the first deviation band before printing a HIT label, reducing HIT labels during extended conditions.
Label history can be limited to the most recent N labels or allowed to persist (with a safety cap).
How to Use
Enable the timeframes you want to display (e.g., 1H / 4H / 1D / 1W).
Adjust ATR length and multipliers per timeframe to match the asset’s volatility profile.
Choose whether MTF ladder levels are anchored to current price or the timeframe’s own close.
Use the ladder levels as volatility reach reference zones above and below price.
Use Target/HIT labels as objective “condition occurred” markers for review and journaling.
Notes and Limitations
ATR levels are volatility references, not forecasts or guarantees.
Targets may be reached frequently in high-volatility regimes and rarely in compressed markets.
HIT labels indicate that a defined volatility condition occurred; they do not imply reversal or continuation on their own.
This script is provided for informational and educational purposes only and does not constitute financial advice.
Luminous Volatility Flux [Pineify]```
Luminous Volatility Flux - Dynamic ATR Bands with Hull Moving Average Baseline
The Luminous Volatility Flux indicator is a sophisticated trend-following and volatility analysis tool that combines the responsiveness of the Hull Moving Average (HMA) with adaptive ATR-based bands that expand and contract based on real-time market volatility conditions. This indicator helps traders identify trend direction, volatility regimes, and potential breakout opportunities with high-probability entry signals.
Key Features
Hull Moving Average baseline for low-lag trend detection
Dynamic volatility bands that breathe with market conditions
Flux Factor system comparing short-term vs long-term ATR
Volatility-filtered breakout signals to reduce false entries
Gradient-filled zones for intuitive visual analysis
Real-time bar coloring based on trend direction
How It Works
The indicator operates on three core calculation layers:
1. Hull Moving Average Baseline
The foundation of this indicator is the Hull Moving Average, calculated using the formula: WMA(2*WMA(n/2) - WMA(n), sqrt(n)). Unlike traditional moving averages, the HMA dramatically reduces lag while maintaining smoothness. This makes it ideal for identifying trend changes earlier than conventional EMAs or SMAs. When the HMA is rising, the baseline turns green indicating bullish momentum; when falling, it turns red for bearish conditions.
2. Volatility Flux Factor
The unique aspect of this indicator is the Flux Factor calculation. It compares short-term ATR (default 14 periods) against long-term ATR (default 100 periods) to determine the current volatility regime:
Flux Factor > 1.0 = Volatility Expansion (market is more volatile than usual)
Flux Factor < 1.0 = Volatility Compression (market is in a squeeze)
This ratio creates a dynamic multiplier that causes the bands to expand during high volatility periods and contract during consolidation phases.
3. Dynamic Band Calculation
The upper and lower bands are calculated as: Baseline ± (Short ATR × Multiplier × Flux Factor). This means the bands automatically widen when volatility increases and tighten during quiet market conditions, providing context-aware support and resistance levels.
Trading Ideas and Insights
Trend Following: Trade in the direction of the baseline color. Green baseline suggests looking for long opportunities; red baseline suggests short opportunities.
Volatility Breakouts: The indicator plots "Flux" signals when price breaks above the upper band (bullish) or below the lower band (bearish) during volatility expansion phases. These signals indicate potential momentum continuation.
Mean Reversion: During compression phases (tight bands), prices often revert to the baseline. Consider taking profits near the bands and re-entering near the baseline.
Squeeze Detection: When bands are unusually tight (Flux Factor < 1), the market is coiling for a potential explosive move. Prepare for breakout trades.
How Multiple Indicators Work Together
This indicator integrates three distinct technical analysis concepts into a cohesive system:
The Hull Moving Average provides the trend direction foundation with minimal lag. The dual ATR comparison (short vs long) creates the Flux Factor that measures relative volatility. The dynamic bands combine both elements, using the HMA as the center and ATR-based deviations that scale with the Flux Factor.
The synergy works as follows: The HMA identifies the trend, the Flux Factor determines market regime (expansion vs compression), and the bands provide dynamic support/resistance levels. Breakout signals only trigger when all components align - price breaks the band AND volatility is expanding. This multi-layered approach filters out many false signals that would occur with static bands or simple moving average crossovers.
Unique Aspects
Unlike Bollinger Bands that use standard deviation, this indicator uses ATR ratio-based dynamic bands that better capture directional volatility
The Flux Factor concept is original - comparing two ATR timeframes to create a volatility regime indicator
Breakout signals are filtered by volatility expansion, reducing false signals during choppy, low-volatility conditions
Gradient fills provide instant visual feedback on the strength of the bullish or bearish zones
How to Use
Add the indicator to your chart. It works on all timeframes and instruments.
Observe the baseline color for overall trend direction (green = bullish, red = bearish).
Watch for band expansion/contraction to gauge volatility regime.
Look for "Flux" signals for potential breakout entries - these appear only during volatility expansion.
Use the gradient zones to identify potential support (lower green zone) and resistance (upper red zone) areas.
Customization
Baseline Length (default: 24) - Controls the HMA period. Lower values = more responsive but noisier; higher values = smoother but more lag.
ATR Length (default: 14) - Short-term ATR period for band calculation. Standard setting works well for most markets.
Flux Multiplier (default: 2.0) - Controls band width. Increase for wider bands (fewer signals), decrease for tighter bands (more signals).
Flux Sensitivity (default: 100) - Long-term ATR period for Flux Factor calculation. Higher values create a more stable volatility reference.
Conclusion
The Luminous Volatility Flux indicator offers traders a comprehensive view of market conditions by combining trend detection, volatility analysis, and signal generation into one elegant tool. Its adaptive nature makes it suitable for various market conditions - from trending markets where it identifies direction and momentum, to ranging markets where it highlights compression and potential breakout zones. The volatility-filtered signals help traders focus on high-probability setups while the visual gradient fills make chart analysis intuitive and efficient.
Note: This indicator is designed as a technical analysis tool. Always use proper risk management and consider multiple factors before making trading decisions. Past performance does not guarantee future results.
```
Average True Range (ATR)Strategy Name: ATR Trend-Following System with Volatility Filter & Dynamic Risk Management
Short Name: ATR Pro Trend System
Current Version: 2025 Edition (fully tested and optimized)Core ConceptA clean, robust, and highly profitable trend-following strategy that only trades when three strict conditions are met simultaneously:Clear trend direction (price above/below EMA 50)
Confirmed trend strength and trailing stop (SuperTrend)
Sufficient market volatility (current ATR(14) > its 50-period average)
This combination ensures the strategy stays out of choppy, low-volatility ranges and only enters during high-probability, trending moves with real momentum.Key Features & ComponentsComponent
Function
Default Settings
EMA 50
Primary trend filter
50-period exponential
SuperTrend
Dynamic trailing stop + secondary trend confirmation
Period 10, Multiplier 3.0
ATR(14) with RMA
True volatility measurement (Wilder’s original method)
Length 14
50-period SMA of ATR
Volatility filter – only trade when current ATR > average ATR
Length 50
Background coloring
Visual position status: light green = long, light red = short, white = flat
–
Entry markers
Green/red triangles at the exact entry bar
–
Dynamic position sizing
Fixed-fractional risk: exactly 1% of equity per trade
1.00% risk
Stop distance
2.5 × ATR(14) – fully adaptive to current volatility
Multiplier 2.5
Entry RulesLong: Close > EMA 50 AND SuperTrend bullish AND ATR(14) > SMA(ATR,50)
Short: Close < EMA 50 AND SuperTrend bearish AND ATR(14) > SMA(ATR,50)
Exit RulesPosition is closed automatically when SuperTrend flips direction (acts as volatility-adjusted trailing stop).
Money ManagementRisk per trade: exactly 1% of current account equity
Position size is recalculated on every new entry based on current ATR
Automatically scales up in strong trends, scales down in low-volatility regimes
Performance Highlights (2015–Nov 2025, real backtests)CAGR: 22–50% depending on market
Max Drawdown: 18–28%
Profit Factor: 1.89–2.44
Win Rate: 57–62%
Average holding time: 10–25 days (daily timeframe)
Best Markets & TimeframesExcellent on: Bitcoin, S&P 500, Nasdaq-100, DAX, Gold, major Forex pairs
Recommended timeframes: 4H, Daily, Weekly (Daily is the sweet spot)
Volume Profile Auto POC📌 Overview
Volume Profile Auto POC is a trend-following strategy that uses the automatically calculated Point of Control (POC) from the volume profile, combined with ATR zones, to capture reversals and breakouts.
By basing decisions on volume concentration, it dynamically visualizes the price levels most watched by market participants.
⚠️ This strategy is provided for educational and research purposes only.
Past performance does not guarantee future results.
🎯 Strategy Objectives
Automatically detect the volume concentration area (POC) to improve entry accuracy
Optimize risk management through ATR-based volatility adjustment
Provide early and consistent signals when trends emerge
✨ Key Features
Automatic POC Detection : Updates the volume profile over a defined lookback window in real time
ATR Zone Integration : Defines a POC ± 0.5 ATR zone to clarify potential reversals/breakouts
Visual Support : Plots the POC line and zones on the chart for intuitive decision-making
📊 Trading Rules
Long Entry:
Price breaks above the POC + 0.5 ATR zone
Volume is above average to support the breakout
Short Entry:
Price breaks below the POC - 0.5 ATR zone
Volume is above average to support the downside move
Exit (or Reverse Position):
Price returns to the POC area
Or touches the ATR band
⚙️ Trading Parameters & Considerations
Indicator Name: Volume Profile Auto POC
Parameters:
Lookback Bars: 50
Bins for Volume Profile: 24
ATR Length: 14
ATR Multiplier: 2.0
🖼 Visual Support
POC line plotted in red
POC ± 0.5 ATR zone displayed as a semi-transparent box
ATR bands plotted in blue for confirmation
🔧 Strategy Improvements & Uniqueness
This strategy is inspired by traditional Volume Profile + ATR analysis,
while adding the improvement of a sliding-window mechanism for automatic POC updates.
Compared with conventional trend-following approaches,
its strength lies in combining both price and volume perspectives for decision-making.
✅ Summary
Volume Profile Auto POC automatically extracts key market levels (POC) and combines them with ATR-based zones,
providing a responsive trend-following method.
It balances clarity with practicality, aiming for both usability and reproducibility.
⚠️ This strategy is based on historical data and does not guarantee future profits.
Always use proper risk management when applying it.
Weekly/Monthly Golden ATR LevelsWeekly/Monthly Golden ATR Levels
This indicator is designed to give traders a clear, rule-based framework for identifying support and resistance zones anchored to prior period ranges and the market’s own volatility. It uses the Average True Range (ATR) as a measure of how far price can realistically stretch, then projects fixed levels from the midpoint of the prior week and prior month.
Rather than “moving targets” that repaint, these levels are frozen at the start of each new week and month and stay fixed until the next period begins. This makes them reliable rails for both intraday and swing trading.
What It Plots
Weekly Midpoint (last week’s High + Low ÷ 2)
From this mid, the script projects:
Weekly +1 / −1 ATR
Weekly +2 / −2 ATR
Monthly Midpoint (last month’s High + Low ÷ 2)
From this mid, the script projects:
Monthly +1 / −1 ATR
Monthly +2 / −2 ATR
Customization
Set ATR length & timeframe (default: 14 ATR on Daily bars).
Adjust multipliers for Level 1 (±1 ATR) and Level 2 (±2 ATR).
Choose line color, style, and width separately for weekly and monthly bands.
Toggle labels on/off.
How to Use
Context at the Open
If price opens above last week’s midpoint, bias favors upside toward +1 / +2.
If price opens below the midpoint, bias favors downside toward −1 / −2.
Weekly Bands = Short-Term Rails
+1 / −1 ATR: Rotation pivots. Expect intraday reaction.
+2 / −2 ATR: Extreme stretch zones. Reversals or breakouts often occur here.
Monthly Bands = Big Picture Rails
Use these for swing positioning, or as “outer guardrails” on intraday charts.
When weekly and monthly bands cluster → high-confluence zone.
Trade Playbook
Trend Day: Hold above +1 → target +2. Break below −1 → target −2.
Range Day: Fade first test of ±2, scalp toward ±1 or midpoint.
Catalyst/News Day: Use with caution—levels provide context, not barriers.
Risk Management
Place stops just outside the band you’re trading against.
Scale profits at the next inner level (e.g., short from +2, cover partial at +1).
Runners can trail to the midpoint or opposite side.
Why It Works
ATR measures volatility—how far price tends to travel in a given period.
Anchoring to prior highs and lows captures where real supply/demand last clashed.
Combining the two gives levels that are statistically relevant, widely observed, and psychologically sticky.
Trading books from Mark Douglas (Trading in the Zone), Jared Tendler (The Mental Game of Trading), and Oliver Kell (Victory in Stock Trading) all stress the importance of having objective, repeatable reference points. These levels deliver that discipline—removing guesswork and reducing emotional trading
Adaptive ATR Trailing Stops█ Introduction
This script is based on the average true range (ATR) and has been improved with the HHV or LLV. The script supports the trader to have his stoploss trailed. In this case, the stoploss is dynamic and can be adjusted with each candleclose.
█ What Does This Indicator Do?
The ATR SL Trailing Indicator helps you dynamically adjust your stop-loss levels based on market movements. It uses market volatility to calculate trailing stop-loss levels, ensuring you can secure profits or minimize losses. The indicator creates two lines:
A green/red line for long positions (when you’re betting on prices going up).
A green/red line for short positions (when you’re betting on prices going down).
█ Key Concepts: How Does the Indicator Work?
The Average True Range (ATR) measures market volatility, showing how much the price moves over a specific period.
A high ATR indicates a volatile market (large price swings), while a low ATR indicates a quiet market (smaller price changes).
Why is ATR important? ATR helps dynamically adjust the distance between your stop-loss and the current price. In volatile markets, the stop-loss is placed further away to avoid being triggered by short-term fluctuations. In quieter markets, the stop-loss is set closer to the price.
The HHV is the highest price over a specific period. For long positions, the indicator uses the highest price minus an ATR-based value to determine the stop-loss level.
Why is HHV important? HHV ensures the stop-loss for long positions only moves up when the price reaches new highs. Once the price starts falling, the stop-loss remains unchanged to lock in profits or minimize losses.
The LLV is the lowest price over a specific period. For short positions, the indicator uses the lowest price plus an ATR-based value to determine the stop-loss level.
Why is LLV important? LLV ensures the stop-loss for short positions only moves down when the price reaches new lows. Once the price starts rising, the stop-loss remains unchanged to lock in profits or minimize losses.
█ How Does the Indicator Work?
For Long Positions:
The indicator sets the stop-loss below the current price, based on:
Market volatility (ATR).
The highest price over a specific period (HHV).
The line turns green when the current price is above the stop-loss.
The line turns red when the price drops below the stop-loss, signaling you may need to exit the trade.
For Short Positions:
The indicator sets the stop-loss above the current price, based on:
*Market volatility (ATR).
*The lowest price over a specific period (LLV).
*The line turns green when the current price is below the stop-loss.
*The line turns red when the price moves above the stop-loss, signaling you may need to exit the trade.
█ Advantages of the ATR SL Trailing Indicator
*Dynamic and adaptive: Automatically adjusts stop-loss levels based on market volatility.
*Visual clarity: Green and red lines clearly indicate whether your position is safe or at risk.
*Effective risk management: Helps you lock in profits and minimize losses without the need for constant manual adjustments.
█ When Should You Use This Indicator?
*If you practice trend-based trading and want your stop-losses to automatically adapt to market movements.
*In volatile markets, to avoid being stopped out by short-term fluctuations.
*When you want to implement efficient risk management without manually adjusting your positions.
█ Inputs
The user can set the indicator for both longs and shorts. This is particularly important because the calculation is different. The HHV is used for longs and the LLV for shorts. The user can therefore set the period/length for the ATR on the one hand and the HHV/LLV on the other. He also has a multiplier, which can also be customized. The multiplier multiplies the price change of each individual candle.
█ Color Change
If the SL is trailed and the price breaks a line, the color changes. In this case, it would have executed the SL on an open trade.
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)






















