Trinity Multi-Timeframe CCITrinity Multi-Timeframe CCI Indicator
This Pine Script indicator is a powerful **multi-timeframe Commodity Channel Index (MTF CCI)** tool that displays three CCI lines on a single pane:
- **Current timeframe** (whatever chart you're viewing, e.g., 1h, 15m, etc.)
- **4-hour timeframe**
- **Daily timeframe**
All three use the same CCI length (default 20, adjustable) and are fully customizable—you can enable/disable each line, change its timeframe, color, and thickness. Horizontal levels at 0 (dashed white by default), +100 (red), and -100 (green) are also included and fully editable.
### Core Functionality & Visual Signals
The standout feature is the **dynamic coloring of the current timeframe CCI line**:
- **Green**: Strong **bullish alignment**. This occurs when **all three CCIs are above the zero line** AND the current timeframe CCI is the **highest** of the three (leading the move upward with higher-timeframe confirmation).
- **Red**: Strong **bearish alignment**. This occurs when **all three CCIs are below the zero line** AND the current timeframe CCI is the **lowest** of the three (leading the move downward with higher-timeframe confirmation).
- **Yellow**: Neutral or no clear alignment (default state when the above conditions aren't met).
An optional light background shading (green or red) highlights when the indicator is in a bullish or bearish state.
Small triangle markers appear on the pane when a new bullish or bearish alignment forms, and built-in alerts notify you of new signals or when a signal ends. These are editable to enable or disable.
### How Traders Can Use It
This indicator helps identify **high-probability trend continuations or reversals** by combining momentum (CCI) across multiple timeframes with alignment confirmation:
- **Trend-following entries**: A green current line (especially with a fresh alert) suggests strong upward momentum backed by higher timeframes—ideal for long entries or adding to positions in an uptrend.
- **Bearish entries/short setups**: A red current line signals strong downward momentum confirmed across timeframes—good for short entries or exiting longs.
- **Confluence filter**: Use it as a filter for other strategies. Only take trades in the direction of the alignment (e.g., only long if current line is green).
- **Early warning of weakness**: When the current line turns yellow after being green/red, it often signals the trend is losing multi-timeframe support—useful for tightening stops or taking partial profits.
In essence, it visually answers the question: “Is the short-term momentum not only strong, but also aligned with and leading the medium- and long-term momentum?” When the answer is yes (green or red), it highlights moments of **multi-timeframe confluence**—some of the most reliable setups in technical trading.
The alerts make it practical for active traders: you get notified the moment a strong aligned signal appears, without needing to watch the chart constantly.
It's clean, highly customizable, and focuses on one clear concept—**multi-timeframe CCI leadership**—making it excellent for trend, swing, and even intraday traders looking for higher-timeframe confirmation.
Indikatoren und Strategien
HaP D-RSIHaP D-RSI (HaP Dual RSI) This code shares the dual RSI structure and divergences of hakan çift rsi-most indicator as open source. It is designed for simple, understandable, and effective use.
()
HaP D-RSI is a comprehensive oscillator that powerfully enhances the classic Relative Strength Index (RSI) indicator. By adding a 9-period EMA on top of the standard RSI(14), it smooths the momentum for clearer readability, while dynamic area filling between the short RSI(10) and long RSI(14) visually emphasizes trend strength. Its strongest feature is the automatic detection of regular (normal) and hidden positive/negative divergences, marked with clear labels. This provides opportunities to catch both trend reversals and continuations early.The indicator operates in a separate panel and includes overbought/oversold levels (70/30/50). With multi-timeframe support, you can display RSI values from a higher timeframe on your current chart.Main FeaturesDual RSI Calculation: Short-period RSI(10) and long-period RSI(14) are calculated separately.
EMA Smoothing: A 9-period EMA is applied to RSI(14) to reduce noise and clarify signals.
Dynamic Area Filling: Dynamic colored filling between RSI(10) and RSI(14)-EMA (blue tones for bullish, red tones for bearish momentum).
Fixed-intensity area between RSI(10) and RSI(14) (emphasizes trend strength).
Overbought/Oversold Lines: Dashed lines at 70 (overbought), 30 (oversold), and 50 (midline).
Full Divergence Detection:Positive Divergence (pu): Price makes a lower low while RSI makes a higher low → Potential bullish reversal.
Hidden Positive Divergence (gpu): Trend continuation signal (buying opportunity after pullback).
Negative Divergence (nu): Price makes a higher high while RSI makes a lower high → Potential bearish reversal.
Hidden Negative Divergence (gnu): Bearish trend continuation signal.
Customizable Pivot Settings: Adjust divergence sensitivity with lookback left/right and distance range.
Multi-Timeframe Support: Ability to pull RSI data from a different timeframe.
Usage InstructionsAdd to Chart: When added, it opens a separate RSI panel.
Settings: Change the short RSI (default 10) and long RSI (default 14) periods as needed.
Adjust the EMA period (default 9) to suit your needs.
If the timeframe is left blank, it uses the current chart timeframe; otherwise, select a higher timeframe.
You can toggle divergence types (positive/negative, hidden/regular) on/off.
Increase pivot lookback values for stronger (fewer signals) divergences.
Signal InterpretationBuy Opportunity: When "pu" or "gpu" labels appear (especially around the 30 level).
Sell Opportunity: When "nu" or "gnu" labels appear (especially around the 70 level).
Area filling colors support momentum direction: Blue tones indicate bullish pressure, red tones indicate bearish pressure.
For best results, use in combination with support/resistance levels, volume, or trend filters (e.g., EMA).
Why Use This Indicator?Powerful Divergence Detection: Automatically and accurately captures both regular (reversal) and hidden (continuation) divergences – a feature missing in many standard RSI indicators.
Visual Clarity: Dynamic colored areas and labels ensure you don't miss signals.
Flexibility: Suitable for all markets (stocks, forex, crypto) and timeframes.
Early Warning System: Divergences often signal before price reversals, providing high-probability entries.
Add this indicator to your strategies to elevate your momentum-based trading.
This indicator is free. Feel free to leave comments with your feedback and improvement suggestions. If you like it, don't forget to add it to favorites and share! Happy trading!
Harmonic Patterns [kingthies]Harmonic Patterns
This indicator scans price swings for classic X-A-B-C-D harmonic patterns and plots the structure plus a PRZ (Potential Reversal Zone) to help you frame areas where reactions are statistically more likely. It supports both bullish and bearish setups and can trigger alerts when a new D pivot confirms a pattern.
What it does
Builds a pivot-based swing map (ZigZag-style) using a configurable Pivot Length .
Evaluates the most recent 5 swing points (X, A, B, C, D) against harmonic ratio rules with a user-defined tolerance .
Detects: Gartley, Bat, Butterfly, Crab, Deep Crab, Cypher, Shark (loose) .
Draws the pattern legs (X-A-B-C-D), labels the detection with ratio readouts, and projects a PRZ using 3 target levels (derived from XA/BC logic per pattern).
Offers two rendering modes:
Best only : picks the closest match (lowest score) to reduce clutter.
Show all : plots every valid match (uses filled PRZ boxes to keep object usage under control).
PRZ (Potential Reversal Zone)
PRZ is built from three target levels and expanded into a zone.
Optional padding uses ATR (ATR multiplier) to widen/narrow the zone for volatility.
Display modes: Off, Box, Lines, Both .
Zones can be extended forward by a configurable number of bars to keep the area visible as price develops.
How to use
Start with Confirm only when D pivot forms enabled (recommended) to reduce false positives while patterns are still forming.
Adjust Pivot Length based on timeframe:
Lower values = more swings, more signals, more noise.
Higher values = cleaner structures, fewer signals.
Use Ratio Tolerance to control strictness:
Lower tolerance = fewer, higher-confidence matches.
Higher tolerance = more matches, potentially lower quality.
Treat harmonics as context , not a standalone entry system:
Look for confluence (HTF levels, structure, volume, momentum/RSI divergence, etc.).
Use your own confirmation and risk plan (invalidations beyond PRZ / beyond D).
Settings overview
Swings (Pivot ZigZag)
Pivot Length: pivot sensitivity.
Use Wicks: uses High/Low; if off, uses Close.
Max Stored Swings: limits stored pivots for performance/object control.
Harmonic Detection
Ratio Tolerance (%): allowed deviation around ideal ratios.
Confirm only when D pivot forms: reduces repaint-like behavior.
When multiple match: Best only vs Show all.
Pattern Filters enable/disable each pattern type.
PRZ
PRZ Display: Off / Box / Lines / Both.
PRZ Padding (ATR multiplier): volatility-adjusted zone padding.
PRZ Extend (bars): how far to project the zone.
Visuals
Draw Legs: draws X-A-B-C-D.
Show Pattern Label: prints pattern name, direction, ratios, and score.
Label Offset: shift label forward if you want more space.
Alerts
“Bullish/Bearish Harmonic (Any)” triggers on any detected pattern.
Per-pattern alerts are included for each supported pattern type.
Notes
This indicator is educational and intended to assist with pattern recognition and confluence mapping.
Harmonic patterns do not guarantee reversals—always manage risk and confirm with your own process.
Gaps IdentifierThis indicator identifies up and down Gaps using previous period's close price to the next period's open price. Potentially useful for Gap rebound strategies.
(Will identify gaps 4%–11% by default; can change in settings)
Multi-Timeframe Market Structure [MattyBTradez]Provides a Bullish or Bearish analysis based on market structure for the 1M, 5M, 15M, 30M, 1H, 4H, and 1D timeframes.
SMC Alpha Sentiment Hunter [Crypto Trade]The SMC Alpha Sentiment Hunter is an institutional-grade decision-support tool developed by the Crypto Trade community.
Unlike traditional lagging indicators, this script focuses on Smart Money Concepts (SMC) by analyzing real-time market sentiment data directly from Binance Futures.
Key Features:
- Real-time Open Interest (OI) Tracking: Confirms institutional capital flow.
- Long/Short Ratio (LSR) Analysis: Identifies retail positioning to spot "liquidity traps".
- Volume & Volatility Filters: Built-in ATR and Volume Moving Average to validate entry signals.
- Multi-Asset Compatibility: Optimized for a broad range of Binance Futures pairs on the 15-minute timeframe.
Logic:
Signals are triggered when institutional interest (OI) rises while retail traders (LSR) are caught on the wrong side of the trend, confirmed by RSI exhaustion and strong volume.
Disclaimer: For educational purposes only. Trading involves risk.
CM RSI Description
This indicator plots ladder-style buy signals based on RSI oversold “cycles.”
BUY1 triggers after RSI closes ≤ Oversold for at least two consecutive candles.
Additional buys (BUY2, BUY3, …) can only occur after RSI re-arms by closing back above the oversold level, then returning oversold for two+ closes, and price is at least X% below the last entry price.
The “last entry” reference updates after every buy, allowing unlimited rebuys with a dynamic step-down.
Notes
Signals are generated on closed bars only (non-repainting behavior).
You can optionally set a Start Time to ignore earlier history and avoid off-screen state.
Choose whether the % drop check uses Close or Low depending on how strict you want confirmation.
Inputs
RSI length/source, oversold level, rebuy drop %, price check source, entry storage source, start time/baseline options, and display controls.
MACD Classic MT5 Style (2 Lines + Histogram)MACD Classic MT5 Style (แบบ MetaTrader 5) มีความแตกต่างจาก MACD ทั่วไปที่ใช้กันใน TradingView พอสมควรครับ นี่คือคำอธิบายว่ามันทำงานอย่างไรและอ่านค่าอย่างไรครับ:
1. ความแตกต่างสำคัญ (Key Difference)
MACD ทั่วไป (Standard):
มี 2 เส้น (เส้น MACD และ เส้น Signal)
ฮิสโตแกรม (แท่งกราฟ) คือ ส่วนต่าง (Gap) ระหว่าง 2 เส้นนั้น
MACD แบบ MT5 (Classic MT5):
เส้น MACD จะถูกวาดออกมาเป็น แท่งกราฟ (Histogram) แทนที่จะเป็นเส้น
เส้น Signal จะเป็น เส้น (Line) สีแดงพาดผ่านแท่งกราฟ
สรุปคือ: ในแบบ MT5 แท่งกราฟคือตัวพระเอก (MACD) ส่วนเส้นคือตัวช่วยกรอง (Signal)
Here is the English translation of the explanation:
MACD Classic MT5 Style vs. Standard MACD
The "Classic MT5 Style" MACD differs significantly from the standard MACD typically found on TradingView. Below is an explanation of its mechanics and how to interpret it.
1. Key Differences
Standard MACD (TradingView Default):
Displays 2 Lines (MACD Line and Signal Line).
The Histogram represents the difference (gap) between those two lines.
MT5 Style MACD (Classic):
The MACD value is plotted as a Histogram (bars) instead of a line.
The Signal Line appears as a standard Line (usually red) overlaying the histogram.
In summary: In the MT5 style, the Histogram represents the actual MACD Line, while the separate line acts as the Signal filter.
Sector Flow AnalysisSector Flow Analysis - Track market leadership and rotation across 11 major sector ETFs with real-time performance rankings.
Key Features:
Monitors all 11 S&P sector ETFs (XLK, XLF, XLI, XLU, XLV, XLP, XLY, XLB, XLRE, XLC, XLE)
Configurable lookback period (5-60 days) for performance calculation
Color-coded risk indicators: 🟢 Risk-On sectors leading (bullish), 🟠 Risk-Off sectors leading (defensive), 🟡 Neutral sectors
Display top N sectors (1-11) to declutter your chart
Fully customizable positioning, text size, and color
Clean, minimal table overlay that won't obstruct your chart
Use Cases:
Identify sector rotation patterns and market leadership changes
Gauge market sentiment (risk-on vs risk-off behavior)
Find opportunities by tracking which sectors are gaining/losing momentum
Confirm trend strength when your stock's sector is leading
Perfect companion to comprehensive market analysis tools for a complete picture of sector dynamics.
Range EncapsulatorWhen a user selects a start date and the desired duration, the specified date range will be highlighted. High and low data lines corresponding to this range will be drawn. Additionally, quarter-point interval lines from the previous data range will be displayed between the high and low lines of the current range, provided they fall within those boundaries.
Long-term KST (Know Sure Thing)Description
Long-term Know Sure Thing (KST) oscillator, specifically adapted for non-24h markets such as stocks, indices, ETFs and futures.
This version correctly scales the weekly ROC periods based on the actual trading week length and daily session duration of the instrument — making it accurate across different asset classes (European indices, US equities, crypto, etc.).
Key features:
• Fully customizable trading week (5 days for most stock markets, 7 days for crypto/24h markets)
• Customizable daily session length (8.5h for FTSE MIB/DAX, 6.5h for US equities, 24h for crypto/forex)
• Automatically adjusts bar count per week on any chart timeframe (including Weekly)
• Classic Martin Pring KST parameters (10/13/15/20 ROC weeks, 10/13/15/20 SMA weeks, 1-2-3-4 weighting)
• Includes signal line (SMA of KST) and visual fill between KST and signal (green/red)
What is the Long-term KST used for?
The KST (Know Sure Thing) is a momentum oscillator created by Martin Pring to detect major trend changes, confirm the primary trend direction, and identify significant reversals in medium- to long-term cycles (weeks to months).
Main practical uses:
• Major trend reversals: KST crossing above/below signal line
• Primary trend confirmation: KST above/below zero line
• Classic divergences: Price vs KST divergences often precede important tops/bottoms
• Cycle identification: Helps spot the end of multi-month corrections or the start of new bull/bear phases
• Trend-following filter: Stay long when KST > 0 and rising, stay short when KST < 0 and falling
It is especially powerful on major indices (FTSE MIB, DAX, SPX, NDX, RUT, CAC40, Nikkei…) because it captures institutional money flow with fewer, higher-quality signals compared to faster oscillators.
Best used on:
• Daily, 4H, Weekly charts
• European indices (FTSE MIB, DAX, IBEX…)
• US indices/ETFs (SPX, NDX, RUT…)
• Crypto pairs (set week_length=7, session_duration=24h)
Enjoy trading the big-picture momentum!
SETUP XANDAO ETFEste setap é usado para operar nos futuros, usamos essas métricas para poder achar entradas
SMC Alpha Sentiment Pro [Binance Futures Data]The SMC Alpha Sentiment Pro is an advanced decision-support tool developed for the Crypto Trade community. Unlike traditional lagging indicators, this script focuses on Market Sentiment and Smart Money Concepts (SMC) by analyzing real-time data from Binance Futures.
🔍 Key Data Points:
Open Interest (OI): Tracks new capital entering the market to confirm trend strength.
Long/Short Ratio (LSR): Identifies retail positioning. We look for "Smart Money" opportunities when retail (LSR > 1) is trapped or providing liquidity for institutional moves.
RSI & ATR: Used to identify exhaustion levels and ensure sufficient volatility for the trade.
Volume Filter: A built-in security layer that validates signals only when current volume exceeds the 20-period average.
🚥 Signal Logic:
SMC LONG: Triggered when OI is rising, LSR is below 1 and falling (retail selling), RSI is showing extreme strength (>= 68), and volume is surging.
SMC SHORT: Triggered when OI is rising, LSR is above 1 and rising (retail buying), RSI is showing extreme weakness (<= 32), and volume is surging.
📈 Best Practices:
Timeframe: Optimized for 15-minute (15M) charts.
Exchange: Specifically designed to pull ticker data from Binance Futures.
Disclaimer: This script is for educational purposes only. Trading involves significant risk.
A-Share Broad-Based ETF Dual-Core Timing System1. Strategy Overview
The "A-Share Broad-Based ETF Dual-Core Timing System" is a quantitative trading strategy tailored for the Chinese A-share market (specifically for broad-based ETFs like CSI 300, CSI 500, STAR 50). Recognizing the market's characteristic of "short bulls, long bears, and sharp bottoms," this strategy employs a "Left-Side Latency + Right-Side Full Position" dual-core driver. It aims to safely bottom-fish during the late stages of a bear market and maximize profits during the main ascending waves of a bull market.
2. Core Logic
A. Left-Side Latency (Rebound/Bottom Fishing)
Capital Allocation: Defaults to 50% position.
Philosophy: "Buy when others fear." Seeks opportunities in extreme panic or momentum divergence.
Entry Signals (Triggered by any of the following):
Extreme Panic: RSI Oversold (<30) + Price below Bollinger Lower Band + Bullish Candle Close (Avoid catching falling knives).
Oversold Bias: Price deviates more than 15% from the 60-day MA (Life Line), betting on mean reversion.
MACD Bullish Divergence: Price makes a new low while MACD histogram does not, accompanied by strengthening momentum.
B. Right-Side Full Position (Trend Following)
Capital Allocation: Aggressively scales up to Full Position (~99%) upon signal trigger.
Philosophy: "Follow the trend." Strike heavily once the trend is confirmed.
Entry Signals (All must be met):
Upward Trend: MACD Golden Cross + Price above 20-day MA.
Breakout Confirmation: CCI indicator breaks above 100, confirming a main ascending wave.
Volume Support: Volume MACD Golden Cross, ensuring price increase is backed by volume.
C. Smart Risk Control
Bear Market Exhaustion Exit: In a bearish trend (MA20 < MA60), the strategy does not "hold and hope." It immediately liquidates left-side positions upon signs of rebound exhaustion (breaking below MA20, touching MA60 resistance, or RSI failure).
ATR Trailing Stop: Uses Average True Range (ATR) to calculate a dynamic stop-profit line that rises with the price to lock in profits.
Hard Stop Loss: Forces a stop-loss if the left-side bottom fishing fails and losses exceed a set ATR multiple, preventing deep drawdowns.
3. Recommendations
Target Assets: High liquidity broad-based ETFs such as CSI 300 ETF (510300), CSI 500 ETF (510500), ChiNext ETF (159915), STAR 50 ETF (588000).
Timeframe: Daily Chart.
9 HMA Direction Scalper (Pure Flip)new easier 9hma directional pure flip, it will help you with scalping short trends
IDAHL | QuantEdgeBIDAHL | QuantEdgeB
🔍 Overview
The IDAHL indicator builds adaptive, volatility-aware threshold bands from two separate ALMA lines—one smoothed from recent highs, the other from recent lows—then uses percentiles of those lines to define a dynamic “high/low” channel. Price crossing above or below that channel triggers clear long/short signals, with on-chart candle coloring, fills, optional labels and even a built-in backtest table.
✨ Key Features
• 📈 Dual ALMA Bands (with DEMA pre-smoothing)
o High ALMA: ALMA applied to DEMA-smoothed highs (high → DEMA(30) → ALMA).
o Low ALMA: ALMA applied to DEMA-smoothed lows (low → DEMA(30) → ALMA).
• 📊 Percentile Thresholds
o Computes a high threshold at the Xth percentile of the High ALMA over a lookback window.
o Computes a low threshold at the Yth percentile of the Low ALMA.
o Shifts each threshold forward by a small period to reduce repainting.
• ⚡ Dynamic Channel Logic
o When price closes above the high percentile line, the “final” threshold flips down to the low percentile line (and vice versa), creating an adaptive channel that only moves when the outer bound is violated.
o Inside the channel, the threshold holds its last value to avoid whipsaw.
• 🎨 Visual & Alerts
o Plots the two percentile lines and fills between them with a color that reflects the current regime (green for long, yellow for neutral, orange for short).
o Colors your candles to match the active signal.
o Optional “Long”/“Short” labels on confirmed flips.
o Alert conditions fire on each long/short crossover.
• 📊 On-Chart Backtest Metrics
o Toggle on a small performance table—complete with win-rate, net P/L, drawdown—from your chosen start date, without any extra code.
⚙️ How It Works
1. Adaptive Smoothing (ALMA)
o Uses ALMA (Arnaud Legoux Moving Average) for smooth, low-lag filtering. In this script, the inputs are additionally pre-smoothed with DEMA(30) to reduce noise before ALMA is applied—improving stability on highs/lows.
2. Percentile Lines
o The High ALMA series feeds a linear-interpolation percentile function to generate the upper bound; the Low ALMA produces the lower bound.
o These lines are offset by a small look-ahead (X bars) to reduce repaint behavior.
3. Channel Logic
o Breakout Flip: When the selected source (default: Close) closes above the upper bound, the active threshold “jumps” to the lower bound—locking in a new channel until price next crosses.
o Breakdown Flip: Conversely, a close below the lower bound flips the threshold to the upper bound.
4. Signal Generation
o Long while the source is above the current “final” threshold.
o Short while below.
o Neutral inside the channel before any flip.
5. Visualization & Alerts
o Dynamic fills between the two percentile lines change hue as the regime flips.
o Candles adopt the regime color.
o Optional pinned “Long”/“Short” labels at flip bars.
o Alerts on every signal crossover of the zero-based regime line.
6. Backtest Table
o From your chosen start date, a mini-table displays cumulative P/L, win rate and drawdown for this strategy—handy for quick in-chart validation.
🎯 Who Should Use It
• Breakout Traders hunting for adaptive channels that auto-recenter on new highs/lows.
• Volatility Traders who want thresholds that expand and contract with market turbulence.
• Trend-Chasers seeking a fresh take on high/low channels with built-in smoothing.
• Systematic Analysts who appreciate on-chart backtesting without leaving TradingView.
⚙️ Default Settings
• ALMA Length: 14
• Percentile Length: 35 bars
• Percentile Lookback Period (offset): 4 bars
• Upper Percentile: 92%
• Lower Percentile: 50%
• Threshold Source: Close
• Visuals: Candle coloring on, labels off by default, “Strategy” palette
• Backtest Table: on by default (toggleable)
• Start Date (Backtest): 09 Oct 2017
📌 Conclusion
IDAHL blends two smooth, low-lag ALMA filters (fed by DEMA-smoothed highs/lows) with percentile-based channel construction for a self-rewiring high/low envelope. It gives you robust breakout/breakdown signals, immediate visual context via colored fills and candles, optional labels, alerts, and even performance stats—everything you need to spot and confirm regime shifts in one compact script.
🔹 Disclaimer : Past performance is not indicative of future results. Always backtest and align settings with your risk tolerance and objectives before live trading.
🔹 Strategic Advice : Always backtest, optimize, and align parameters with your trading objectives and risk tolerance before live trading.
Account GuardianAccount Guardian: Dynamic Risk/Reward Overlay
Introduction
Account Guardian is an open-source indicator for TradingView designed to help traders evaluate trade setups before entering positions. It automatically calculates Risk-to-Reward ratios based on market structure, displays visual Stop Loss and Take Profit zones, and provides real-time position sizing recommendations.
The indicator addresses a fundamental question every trader should ask before entering a trade: "Does this setup make mathematical sense?" Account Guardian answers this question visually and numerically, helping traders avoid impulsive entries with poor risk profiles.
Core Functionality
Account Guardian performs four primary functions:
Detects swing highs and swing lows to identify logical stop loss placement levels
Calculates Risk-to-Reward ratios for both long and short setups in real-time
Displays visual SL/TP zones on the chart for immediate trade planning
Computes position sizing based on your account size and risk tolerance
The goal is to provide traders with instant feedback on whether a potential trade meets their minimum risk/reward criteria before committing capital.
How It Works
Swing Detection
The indicator uses pivot point detection to identify recent swing highs and swing lows on the chart. These swing points serve as logical areas for stop loss placement:
For Long Trades: The most recent swing low becomes the stop loss level. Price breaking below this level would invalidate the bullish thesis.
For Short Trades: The most recent swing high becomes the stop loss level. Price breaking above this level would invalidate the bearish thesis.
The swing detection lookback period is configurable, allowing you to adjust sensitivity based on your trading timeframe and style.
It automatically adjusts the tp and sl when it is applied to your chart so it is always moving up and down!
Risk/Reward Calculation
Once swing levels are identified, the indicator calculates:
Entry Price: Current close price (where you would enter)
Stop Loss: Recent swing low (for longs) or swing high (for shorts)
Risk: Distance from entry to stop loss
Take Profit: Entry plus (Risk × Target Multiplier)
R:R Ratio: Reward divided by Risk
The R:R ratio is then evaluated against your configured thresholds to determine if the setup is valid, marginal, or poor.
Visual Elements
SL/TP Zones
When enabled, the indicator draws colored boxes on the chart showing:
Red Zone: Stop Loss area - the region between your entry and stop loss
Green/Gold/Red Zone: Take Profit area - colored based on R:R quality
The color coding provides instant visual feedback:
Green: R:R meets or exceeds your "Good R:R" threshold (default 3:1)
Gold: R:R meets minimum threshold but below "Good" (between 2:1 and 3:1)
Red: R:R below minimum threshold - setup should be avoided
Swing Point Markers
Small circles mark detected swing points on the chart:
Green circles: Swing lows (potential support / long SL levels)
Red circles: Swing highs (potential resistance / short SL levels)
Dashboard Panel
The dashboard in the top-right corner displays comprehensive trade planning information:
R:R Row: Current Risk-to-Reward ratio for long and short setups
Status Row: VALID, OK, BAD, or N/A based on R:R thresholds
Stop Loss Row: Exact price level for stop loss placement
Take Profit Row: Exact price level for take profit placement
Pos Size Row: Recommended position size based on your risk parameters
Risk $ Row: Dollar amount at risk per trade
Position Sizing Logic
The indicator calculates position size using the formula:
Position Size = Risk Amount / Risk per Unit
Where:
Risk Amount = Account Size × (Risk Percentage / 100)
Risk per Unit = Entry Price - Stop Loss Price
For example, with a $10,000 account risking 1% per trade ($100), if your entry is at 100 and stop loss at 98 (risk of 2 per unit), your position size would be 50 units.
Input Parameters
Swing Detection:
Swing Lookback: Number of bars to look back for pivot detection (default: 10). Higher values find more significant swing points but may be slower to update.
Target Multiplier: Multiplier applied to risk to calculate take profit distance (default: 2). A value of 2 means TP is 2× the distance of SL from entry.
Risk/Reward Thresholds:
Minimum R:R: Minimum acceptable Risk-to-Reward ratio (default: 2.0). Setups below this show as "BAD" in red.
Good R:R: Threshold for excellent setups (default: 3.0). Setups at or above this show as "VALID" in green.
Account Settings:
Account Size ($): Your trading account size in dollars (default: 10,000). Used for position sizing calculations.
Risk Per Trade (%): Percentage of account to risk per trade (default: 1.0%). Professional traders typically risk 0.5-2% per trade.
Display:
Show SL/TP Zones: Toggle visibility of the colored zone boxes on chart (default: enabled)
Show Dashboard: Toggle visibility of the information panel (default: enabled)
Analyze Direction: Choose to analyze Long only, Short only, or Both directions (default: Both)
How to Use This Indicator
Basic Workflow:
Add the indicator to your chart
Configure your account size and risk percentage in the settings
Set your minimum and good R:R thresholds based on your trading rules
Look at the dashboard to see current R:R for potential long and short entries
Only consider trades where the status shows "VALID" or at minimum "OK"
Use the displayed SL and TP levels for your order placement
Use the position size recommendation to determine lot/contract size
Interpreting the Dashboard:
VALID (Green): Excellent setup - R:R meets your "Good" threshold. This is the ideal scenario for taking a trade.
OK (Gold): Acceptable setup - R:R meets minimum but isn't optimal. Consider taking if other confluence factors align.
BAD (Red): Poor setup - R:R below minimum threshold. Avoid this trade or wait for better entry.
N/A (Gray): Cannot calculate - usually means no valid swing point detected yet.
Best Practices:
Use this indicator as a filter, not a signal generator. It tells you IF a trade makes sense, not WHEN to enter.
Combine with your existing entry strategy - use Account Guardian to validate setups from other analysis.
Adjust the swing lookback based on your timeframe. Lower timeframes may need smaller lookback values.
Be honest with your account size input - accurate position sizing requires accurate inputs.
Consider the target multiplier carefully. Higher multipliers mean larger potential reward but lower probability of hitting TP.
Alerts
The indicator includes four alert conditions:
Good Long Setup: Triggers when long R:R reaches or exceeds your "Good R:R" threshold
Good Short Setup: Triggers when short R:R reaches or exceeds your "Good R:R" threshold
Bad Long Setup: Triggers when long R:R falls below your minimum threshold
Bad Short Setup: Triggers when short R:R falls below your minimum threshold
These alerts can help you monitor multiple charts and get notified when favorable setups appear.
Technical Implementation
The indicator is built using Pine Script v6 and includes:
Pivot-based swing detection using ta.pivothigh() and ta.pivotlow()
Dynamic box drawing for visual SL/TP zones
Table-based dashboard for clean information display
Color-coded visual feedback system
Persistent variable tracking for swing levels
Code Structure:
// Swing Detection
float swingHi = ta.pivothigh(high, swingLen, swingLen)
float swingLo = ta.pivotlow(low, swingLen, swingLen)
// R:R Calculation for Long
float longSL = recentSwingLo
float longRisk = entry - longSL
float longTP = entry + (longRisk * targetMult)
float longRR = (longTP - entry) / longRisk
// Position Sizing
float riskAmount = accountSize * (riskPct / 100)
float posSize = riskAmount / longRisk
Limitations
The indicator uses historical swing points which may not always represent optimal SL placement for your specific strategy
Position sizing assumes you can trade fractional units - adjust accordingly for instruments with minimum lot sizes
R:R calculations assume linear price movement and don't account for gaps or slippage
The indicator doesn't predict price direction - it only evaluates the mathematical viability of a setup
Swing detection has inherent lag due to the lookback period required for pivot confirmation
Recommended Settings by Trading Style
Scalping (1-5 minute charts):
Swing Lookback: 5-8
Target Multiplier: 1-2
Minimum R:R: 1.5
Good R:R: 2.0
Day Trading (15-60 minute charts):
Swing Lookback: 8-12
Target Multiplier: 2
Minimum R:R: 2.0
Good R:R: 3.0
Swing Trading (4H-Daily charts):
Swing Lookback: 10-20
Target Multiplier: 2-3
Minimum R:R: 2.5
Good R:R: 4.0
Why Risk/Reward Matters
Many traders focus solely on win rate, but profitability depends on the combination of win rate AND risk/reward ratio. Consider these scenarios:
50% win rate with 1:1 R:R = Breakeven (before costs)
50% win rate with 2:1 R:R = Profitable
40% win rate with 3:1 R:R = Profitable
60% win rate with 1:2 R:R = Losing money
Account Guardian helps ensure you only take trades where the math works in your favor, even if you're wrong more often than you're right.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not intended as financial, investment, trading, or any other type of advice or recommendation.
Trading involves substantial risk of loss and is not suitable for all investors. The calculations provided by this indicator are based on historical price data and mathematical formulas that may not accurately predict future price movements.
Position sizing recommendations are estimates based on user inputs and should be verified before placing actual trades. Always consider factors such as leverage, margin requirements, and broker-specific rules when determining actual position sizes.
The Risk-to-Reward ratios displayed are theoretical calculations based on swing point detection. Actual trade outcomes will vary based on market conditions, execution quality, and other factors not captured by this indicator.
Past performance does not guarantee future results. Users should thoroughly test any trading approach in a demo environment before risking real capital. The authors and publishers of this indicator are not responsible for any losses or damages arising from its use.
Always consult with a qualified financial advisor before making investment decisions.
Hurst-Optimized Adaptive Channel [Kodexius]Hurst-Optimized Adaptive Channel (HOAC) is a regime-aware channel indicator that continuously adapts its centerline and volatility bands based on the market’s current behavior. Instead of using a single fixed channel model, HOAC evaluates whether price action is behaving more like a trend-following environment or a mean-reverting environment, then automatically selects the most suitable channel structure.
At the core of the engine is a robust Hurst Exponent estimation using R/S (Rescaled Range) analysis. The Hurst value is smoothed and compared against user-defined thresholds to classify the market regime. In trending regimes, the script emphasizes stability by favoring a slower, smoother channel when it proves more accurate over time. In mean-reversion regimes, it deliberately prioritizes a faster model to react sooner to reversion opportunities, similar in spirit to how traders use Bollinger-style behavior.
The result is a clean, professional adaptive channel with inner and outer bands, dynamic gradient fills, and an optional mean-reversion signal layer. A minimalist dashboard summarizes the detected regime, the current Hurst reading, and which internal model is currently preferred.
🔹 Features
🔸 Robust Regime Detection via Hurst Exponent (R/S Analysis)
HOAC uses a robust Hurst Exponent estimate derived from log returns and Rescaled Range analysis. The Hurst value acts as a behavioral filter:
- H > Trend Start threshold suggests trend persistence and directional continuation.
- H < Mean Reversion threshold suggests anti-persistence and a higher likelihood of reverting toward a central value.
Values between thresholds are treated as Neutral, allowing the channel to remain adaptive without forcing a hard bias.
This regime framework is designed to make the channel selection context-aware rather than purely reactive to recent volatility.
🔸 Dual Channel Engine (Fast vs Slow Models)
Instead of relying on one fixed channel, HOAC computes two independent channel candidates:
Fast model: shorter WMA basis and standard deviation window, intended to respond quickly and fit more reactive environments.
Slow model: longer WMA basis and standard deviation window, intended to reduce noise and better represent sustained directional flow.
Each model produces:
- A midline (basis)
- Outer bands (wider deviation)
- Inner bands (tighter deviation)
This structure gives you a clear core zone and an outer envelope that better represents volatility expansion.
🔸 Rolling Optimization Memory (Model Selection by Error)
HOAC includes an internal optimization layer that continuously measures how well each model fits current price action. On every bar, each model’s absolute deviation from the basis is recorded into a rolling memory window. The script then compares total accumulated error between fast and slow models and prefers the one with lower recent error.
This approach does not attempt curve fitting on multiple parameters. It focuses on a simple, interpretable metric: “Which model has tracked price more accurately over the last X bars?”
Additionally:
If the regime is Mean Reversion, the script explicitly prioritizes the fast model, ensuring responsiveness when reversals matter most.
🔸 Optional Output Smoothing (User-Selectable)
The final selected channel can be smoothed using your choice of:
- SMA
- EMA
- HMA
- RMA
This affects the plotted midline and all band outputs, allowing you to tune visual stability and responsiveness without changing the underlying decision engine.
🔸 Premium Visualization Layer (Inner Core + Outer Fade)
HOAC uses a layered band design:
- Inner bands define the core equilibrium zone around the midline.
- Outer bands define an extended volatility envelope for extremes.
Gradient fills and line styling help separate the core from the extremes while staying visually clean. The midline includes a subtle glow effect for clarity.
🔸 Adaptive Bar Tinting Strength (Regime Intensity)
Bar coloring dynamically adjusts transparency based on how far the Hurst value is from 0.5. When market behavior is more decisively trending or mean-reverting, the tint becomes more pronounced. When behavior is closer to random, the tint becomes more subtle.
🔸 Mean-Reversion Signal Layer
Mean-reversion signals are enabled when the environment is not classified as Trending:
- Buy when price crosses back above the lower outer band
- Sell when price crosses back below the upper outer band
This is intentionally a “return to channel” logic rather than a breakout logic, aligning signals with mean-reversion behavior and avoiding signals in strongly trending regimes by default.
🔸 Minimalist Dashboard (HUD)
A compact table displays:
- Current regime classification
- Smoothed Hurst value
- Which model is currently preferred (Fast or Slow)
- Trend flow direction (based on midline slope)
🔹 Calculations
1) Robust Hurst Exponent (R/S Analysis)
The script estimates Hurst using a Rescaled Range approach on log returns. It builds a returns array, computes mean, cumulative deviation range (R), standard deviation (S), then converts RS into a Hurst exponent.
calc_robust_hurst(int length) =>
float r = math.log(close / close )
float returns = array.new_float(length)
for i = 0 to length - 1
array.set(returns, i, r )
float mean = array.avg(returns)
float cumDev = 0.0
float maxCD = -1.0e10
float minCD = 1.0e10
float sumSqDiff = 0.0
for i = 0 to length - 1
float val = array.get(returns, i)
sumSqDiff += math.pow(val - mean, 2)
cumDev += (val - mean)
if cumDev > maxCD
maxCD := cumDev
if cumDev < minCD
minCD := cumDev
float R = maxCD - minCD
float S = math.sqrt(sumSqDiff / length)
float RS = (S == 0) ? 0.0 : (R / S)
float hurst = (RS > 0) ? (math.log10(RS) / math.log10(length)) : 0.5
hurst
This design avoids simplistic proxies and attempts to reflect persistence (trend tendency) vs anti-persistence (mean reversion tendency) from the underlying return structure.
2) Hurst Smoothing
Raw Hurst values can be noisy, so the script applies EMA smoothing before regime decisions.
float rawHurst = calc_robust_hurst(i_hurstLen)
float hVal = ta.ema(rawHurst, i_smoothHurst)
This stabilized hVal is the value used across regime classification, dynamic visuals, and the HUD display.
3) Regime Classification
The smoothed Hurst reading is compared to user thresholds to label the environment.
string regime = "NEUTRAL"
if hVal > i_trendZone
regime := "TRENDING"
else if hVal < i_chopZone
regime := "MEAN REV"
Higher Hurst implies more persistence, so the indicator treats it as a trend environment.
Lower Hurst implies more mean-reverting behavior, so the indicator enables MR logic and emphasizes faster adaptation.
4) Dual Channel Models (Fast and Slow)
HOAC computes two candidate channel structures in parallel. Each model is a WMA basis with volatility envelopes derived from standard deviation. Inner and outer bands are created using different multipliers.
Fast model (more reactive):
float fastBasis = ta.wma(close, 20)
float fastDev = ta.stdev(close, 20)
ChannelObj fastM = ChannelObj.new(fastBasis, fastBasis + fastDev * 2.0, fastBasis - fastDev * 2.0, fastBasis + fastDev * 1.0, fastBasis - fastDev * 1.0, math.abs(close - fastBasis))
Slow model (more stable):
float slowBasis = ta.wma(close, 50)
float slowDev = ta.stdev(close, 50)
ChannelObj slowM = ChannelObj.new(slowBasis, slowBasis + slowDev * 2.5, slowBasis - slowDev * 2.5, slowBasis + slowDev * 1.25, slowBasis - slowDev * 1.25, math.abs(close - slowBasis))
Both models store their structure in a ChannelObj type, including the instantaneous tracking error (abs(close - basis)).
5) Rolling Error Memory and Model Preference
To decide which model fits current conditions better, the script stores recent errors into rolling arrays and compares cumulative error totals.
var float errFast = array.new_float()
var float errSlow = array.new_float()
update_error(float errArr, float error, int maxLen) =>
errArr.unshift(error)
if errArr.size() > maxLen
errArr.pop()
Each bar updates both error histories and computes which model has lower recent accumulated error.
update_error(errFast, fastM.error, i_optLookback)
update_error(errSlow, slowM.error, i_optLookback)
bool preferFast = errFast.sum() < errSlow.sum()
This is an interpretable optimization approach: it does not attempt to brute-force parameters, it simply prefers the model that has tracked price more closely over the last i_optLookback bars.
6) Winner Selection Logic (Regime-Aware Hybrid)
The final model selection uses both regime and rolling error performance.
ChannelObj winner = regime == "MEAN REV" ? fastM : (preferFast ? fastM : slowM)
rawMid := winner.mid
rawUp := winner.upper
rawDn := winner.lower
rawUpInner := winner.upper_inner
rawDnInner := winner.lower_inner
In Mean Reversion, the script forces the fast model to ensure responsiveness.
Otherwise, it selects the lowest-error model between fast and slow.
7) Optional Output Smoothing
After the winner is selected, the script optionally smooths the final channel outputs using the chosen moving average type.
smooth(float src, string type, int len) =>
switch type
"SMA" => ta.sma(src, len)
"EMA" => ta.ema(src, len)
"HMA" => ta.hma(src, len)
"RMA" => ta.rma(src, len)
=> src
float finalMid = i_enableSmooth ? smooth(rawMid, i_smoothType, i_smoothLen) : rawMid
float finalUp = i_enableSmooth ? smooth(rawUp, i_smoothType, i_smoothLen) : rawUp
float finalDn = i_enableSmooth ? smooth(rawDn, i_smoothType, i_smoothLen) : rawDn
float finalUpInner = i_enableSmooth ? smooth(rawUpInner, i_smoothType, i_smoothLen) : rawUpInner
float finalDnInner = i_enableSmooth ? smooth(rawDnInner, i_smoothType, i_smoothLen) : rawDnInner
This preserves decision integrity since smoothing happens after model selection, not before.
8) Dynamic Visual Intensity From Hurst
Transparency is derived from the distance of hVal to 0.5, so stronger behavioral regimes appear with clearer tints.
int dynTrans = int(math.max(20, math.min(80, 100 - (math.abs(hVal - 0.5) * 200))))






















