Opening Range Box, 2 SessionsOpening Range & Session Box Indicator
This indicator automatically draws Opening Range (OR) boxes and Session Boxes based on specific time zone settings, helping you visualize key trading periods across different global markets.
Key Features:
Custom Sessions: Define two independent trading sessions (e.g., New York and London).
Time Zone Selection: Choose the exact time zone for each session from a simple dropdown menu, ensuring accurate session mapping regardless of your chart's time zone.
Opening Range Definition: The initial portion of each session (defined by the Opening Range Minutes input) establishes the high and low of the box.
Offset Lines: Automatically draws two percentage offset lines inside the box, allowing you to easily track price movement relative to the Opening Range high and low (e.g., 10% retracement levels).
How to Use the Inputs:
Session A/B Timezone - Select the time zone for Session A (e.g., America/New_York).
Session A/B Time - Define the start and end time for Session A (e.g., 0930-1600).
Opening Range Minutes - Set how long the initial opening range period lasts (e.g., 30 minutes).
Percent from High/Low for Line - Set the percentage distance for the inner offset lines (e.g., 10.0 for 10% retracement).
Number of Boxes to Show - Controls the number of historical session boxes and lines that remain visible on the chart.
Trend Analysis
STRATEGY 1 │ Red Dragon │ Model 1 │ Pro │ [Titans_Invest]The Red Dragon Model 1 is a fully automated trading strategy designed to operate BTC/USDT.P on the 4-hour chart with precision, stability, and consistency. It was built to deliver reliable behavior even during strong market movements, maintaining operational discipline and avoiding abrupt variations that could interfere with the trader’s decision-making.
Its core is based on a professionally engineered logical structure that combines trend filters, confirmation criteria, and balanced risk management. Every component was designed to work in an integrated way, eliminating noise, avoiding unnecessary trades, and protecting capital in critical moments. There are no secret mechanisms or hidden logic: everything is built to be objective, clean, and efficient.
Even though it is based on professional quantitative engineering, Red Dragon Model 1 remains extremely simple to operate. All logic is clearly displayed and fully accessible within TradingView itself, making it easy to understand for both beginners and experienced traders. The structure is organized so that any user can quickly view entry conditions, exit criteria, additional filters, adjustable parameters, and the full mechanics behind the strategy’s behavior.
In addition, the architecture was built to minimize unnecessary complexity. Parameters are straightforward, intuitive, and operate in a balanced way without requiring deep adjustments or advanced knowledge. Traders have full freedom to analyze the strategy, understand the logic, and make personal adaptations if desired—always with total transparency inside TradingView.
The strategy was also designed to deliver consistent operational behavior over the long term. Its confirmation criteria reduce impulsive trades; its filters isolate noise; and its overall logic prioritizes high-quality entries in structured market movements. The goal is to provide a stable, clear, and repeatable flow—essential characteristics for any medium-term quantitative approach.
Combining clarity, professional structure, and ease of use, Red Dragon Model 1 offers a solid foundation both for users who want a ready-to-use automated strategy and for those looking to study quantitative models in greater depth.
This entire project was built with extreme dedication, backed by more than 14,000 hours of hands-on experience in Pine Script, continuously refining patterns, techniques, and structures until reaching its current level of maturity. Every line of code reflects this long process of improvement, resulting in a strategy that unites professional engineering, transparency, accessibility, and reliable execution.
🔶 MAIN FEATURES
• Fully automated and robust: Operates without manual intervention, ideal for traders seeking consistency and stability. It delivers reliable performance even in volatile markets thanks to the solid quantitative engineering behind the system.
• Multiple layers of confirmation: Combines 10 key technical indicators with 15 adaptive filters to avoid false signals. It only triggers entries when all trend, market strength, and contextual criteria align.
• Configurable and adaptable filters: Each of the 15 filters can be enabled, disabled, or adjusted by the user, allowing the creation of personalized statistical models for different assets and timeframes. This flexibility gives full freedom to optimize the strategy according to individual preferences.
• Clear and accessible logic: All entry and exit conditions are explicitly shown within the TradingView parameters. The strategy has no hidden components—any user can quickly analyze and understand each part of the system.
• Integrated exclusive tools: Includes complete backtest tables (desktop and mobile versions) with annualized statistics, along with real-time entry conditions displayed directly on the chart. These tools help monitor the strategy across devices and track performance and risk metrics.
• No repaint: All signals are static and do not change after being plotted. This ensures the trader can trust every entry shown without worrying about indicators rewriting past values.
🔷 ENTRY CONDITIONS & RISK MANAGEMENT
Red Dragon Model 1 triggers buy (long) or sell (short) signals only when all configured conditions are satisfied. For example:
• Volume:
• The system only trades when current volume exceeds the volume moving average multiplied by a user-defined factor, indicating meaningful market participation.
• RSI:
• Confirms bullish bias when RSI crosses above its moving average, and bearish bias when crossing below.
• ADX:
• Enters long when +DI is above –DI with ADX above a defined threshold, indicating directional strength to the upside (and the opposite conditions for shorts).
• Other indicators (MACD, SAR, Ichimoku, Support/Resistance, etc.)
Each one must confirm the expected direction before a final signal is allowed.
When all bullish criteria are met simultaneously, the system enters Long; when all criteria indicate a bearish environment, the system enters Short.
In addition, the strategy uses fixed Take Profit and Stop Loss targets for risk control:
Currently: TP around 1.5% and SL around 2.0% per trade, ensuring consistent and transparent risk management on every position.
⚙️ INDICATORS
__________________________________________________________
1) 🔊 Volume: Avoids trading on flat charts.
2) 🍟 MACD: Tracks momentum through moving averages.
3) 🧲 RSI: Indicates overbought or oversold conditions.
4) 🅰️ ADX: Measures trend strength and potential entry points.
5) 🥊 SAR: Identifies changes in price direction.
6) ☁️ Cloud: Accurately detects changes in market trends.
7) 🌡️ R/F: Improves trend visualization and helps avoid pitfalls.
8) 📐 S/R: Fixed support and resistance levels.
9)╭╯MA: Moving Averages.
10) 🔮 LR: Forecasting using Linear Regression.
__________________________________________________________
🟢 ENTRY CONDITIONS 🔴
__________________________________________________________
IF all conditions are 🟢 = 📈 Long
IF all conditions are 🔴 = 📉 Short
__________________________________________________________
🚨 CURRENT TRIGGER SIGNAL 🚨
__________________________________________________________
🔊 Volume
🟢 LONG = (volume) > (MA_volume) * (Volume Mult)
🔴 SHORT = (volume) > (MA_volume) * (Volume Mult)
🧲 RSI
🟢 LONG = (RSI) > (RSI_MA)
🔴 SHORT = (RSI) < (RSI_MA)
🟢 ALL ENTRY CONDITIONS AVAILABLE 🔴
__________________________________________________________
🔊 Volume
🟢 LONG = (volume) > (MA_volume) * (Volume Mult)
🔴 SHORT = (volume) > (MA_volume) * (Volume Mult)
🔊 Volume
🟢 LONG = (volume) > (MA_volume) * (Volume Mult) and (close) > (open)
🔴 SHORT = (volume) > (MA_volume) * (Volume Mult) and (close) < (open)
🍟 MACD
🟢 LONG = (MACD) > (Signal Smoothing)
🔴 SHORT = (MACD) < (Signal Smoothing)
🧲 RSI
🟢 LONG = (RSI) < (Upper)
🔴 SHORT = (RSI) > (Lower)
🧲 RSI
🟢 LONG = (RSI) > (RSI_MA)
🔴 SHORT = (RSI) < (RSI_MA)
🅰️ ADX
🟢 LONG = (+DI) > (-DI) and (ADX) > (Treshold)
🔴 SHORT = (+DI) < (-DI) and (ADX) > (Treshold)
🥊 SAR
🟢 LONG = (close) > (SAR)
🔴 SHORT = (close) < (SAR)
☁️ Cloud
🟢 LONG = (Cloud A) > (Cloud B)
🔴 SHORT = (Cloud A) < (Cloud B)
☁️ Cloud
🟢 LONG = (Kama) > (Kama )
🔴 SHORT = (Kama) < (Kama )
🌡️ R/F
🟢 LONG = (high) > (UP Range) and (upward) > (0)
🔴 SHORT = (low) < (DOWN Range) and (downward) > (0)
🌡️ R/F
🟢 LONG = (high) > (UP Range)
🔴 SHORT = (low) < (DOWN Range)
📐 S/R
🟢 LONG = (close) > (Resistance)
🔴 SHORT = (close) < (Support)
╭╯MA2️⃣
🟢 LONG = (Cyan Bar MA2️⃣)
🔴 SHORT = (Red Bar MA2️⃣)
╭╯MA2️⃣
🟢 LONG = (close) > (MA2️⃣)
🔴 SHORT = (close) < (MA2️⃣)
╭╯MA2️⃣
🟢 LONG = (Positive MA2️⃣)
🔴 SHORT = (Negative MA2️⃣)
__________________________________________________________
🎯 TP / SL 🛑
__________________________________________________________
🎯 TP: 1.5 %
🛑 SL: 2.0 %
__________________________________________________________
🪄 UNIQUE FEATURES OF THIS STRATEGY
____________________________________
1) 𝄜 Table Backtest for Mobile.
2) 𝄜 Table Backtest for Computer.
3) 𝄜 Table Backtest for Computer & Annual Performance.
4) 𝄜 Live Entry Conditions.
1) 𝄜 Table Backtest for Mobile.
2) 𝄜 Table Backtest for Computer.
3) 𝄜 Table Backtest for Computer & Annual Performance.
4) 𝄜 Live Entry Conditions.
_____________________________
𝄜 BACKTEST / PERFORMANCE 𝄜
_____________________________
• Net Profit: +634.47%, Maximum Drawdown: -18.44%.
🪙 PAIR / TIMEFRAME ⏳
🪙 PAIR: BINANCE:BTCUSDT.P
⏳ TIME: 4 hours (240m)
✅ ON ☑️ OFF
✅ LONG
✅ SHORT
🎯 TP / SL 🛑
🎯 TP: 1.5 (%)
🛑 SL: 2.0 (%)
⚙️ CAPITAL MANAGEMENT
💸 Initial Capital: 10000 $ (TradingView)
💲 Order Size: 10 % (Of Equity)
🚀 Leverage: 10 x (Exchange)
💩 Commission: 0.03 % (Exchange)
📆 BACKTEST
🗓️ Start: Setember 24, 2019
🗓️ End: November 21, 2025
🗓️ Days: 2250
🗓️ Yers: 6.17
🗓️ Bars: 13502
📊 PERFORMANCE
💲 Net Profit: + 63446.89 $
🟢 Net Profit: + 634.47 %
💲 DrawDown Maximum: - 10727.48 $
🔴 DrawDown Maximum: - 18.44 %
🟢 Total Closed Trades: 1042
🟡 Percent Profitable: 63.92 %
🟡 Profit Factor: 1.247
💲 Avg Trade: + 60.89 $
⏱️ Avg # Bars in Trades
🕯️ Avg # Bars: 4
⏳ Avg # Hrs: 15
✔️ Trades Winning: 666
❌ Trades Losing: 376
✔️ Maximum Consecutive Wins: 11
❌ Maximum Consecutive Losses: 7
📺 Live Performance : br.tradingview.com
• Use this strategy on the recommended pair and timeframe above to replicate the tested results.
• Feel free to experiment and explore other settings, assets, and timeframes.
Larry Williams COT Analysis Enhanced [tradeviZion]Larry Williams COT Analysis Enhanced - Complete Description
📖 Introduction
Welcome to the Larry Williams COT Analysis Enhanced indicator. This comprehensive description explains every setting, feature, and capability of this advanced Commitments of Traders (COT) analysis tool.
This indicator implements Larry Williams' professional COT analysis methodology with enhanced features including statistical validation, combination analysis, and adaptive signal generation.
---
🎯 Quick Start
Add the indicator to your chart
The script will automatically detect your symbol's CFTC code and asset type
Review the main COT analysis table (displayed by default)
Customize settings based on your trading style
Review the Trading Edge & Signals section for signal information
---
⚙️ Settings Groups Overview
The indicator is organized into 9 logical groups of settings:
1. Core COT Settings - Data source and report configuration
2. Analysis Parameters - Calculation methods and lookback periods
3. Signal Generation - Buy/sell signals and trend weighting
4. Plot Display Settings - Visual customization of chart lines
5. Smoothing Settings - Data smoothing options
6. COT Proximity Index Settings - Price-based proxy indicator configuration
7. Common Table Settings - Shared table appearance
8. Main Table Display Settings - Main analysis table customization
9. Historical Comparison Settings - Historical data table configuration
---
📋 Group 1: Core COT Settings
COT Report Type
Options: Legacy | Disaggregated | Financial
What it is: Selects the type of COT report data to analyze.
Legacy - Traditional COT report format. Recommended for most users. Uses "Commercial Positions" and "Noncommercial Positions" metrics. Shows Commercial, Non-Commercial, and Small Speculator positions in the classic format.
Commercials: "Commercial Positions"
Speculators: "Noncommercial Positions"
Small Specs: "Nonreportable Positions"
Disaggregated - Separates managed money from other speculators. Uses different metrics than Legacy format.
Commercials: "Producer Merchant Positions"
Speculators: "Managed Money Positions"
Small Specs: "Nonreportable Positions"
Important: When using Disaggregated report type, the table will still show "Non-Comm" as the label, but the data displayed is actually " Managed Money Positions " (hedge funds and CTAs). The underlying data changes based on your report type selection, even though the table label remains "Non-Comm" for consistency.
Where you'll see this data:
📊 Current Positions section - The "Non-Comm" row shows Managed Money long, short, and net positions
📊 Open Interest Analysis section - "Non-Comm" net changes reflect Managed Money position changes
📈 Analysis section - "Non-Comm" percentile and LW Index values are calculated from Managed Money positions
Chart plots - The blue "Non-Commercial" line shows Managed Money net positions
Useful when you want to analyze hedge funds (Managed Money) separately from other large speculators. The "Commercial" row will show " Producer Merchant Positions " instead of general "Commercial Positions".
Financial - Designed for financial instruments (currencies, bonds, stock indices). Uses financial-specific metrics.
Commercials: "Dealer Positions"
Speculators: "Leveraged Funds Positions"
Small Specs: "Nonreportable Positions"
Important: When using Financial report type, the table will still show "Commercial" and "Non-Comm" as labels, but the data displayed is actually " Dealer Positions " (commercials) and " Leveraged Funds Positions " (speculators). The underlying data changes based on your report type selection.
Where you'll see this data:
📊 Current Positions section - "Commercial" row shows Dealer long/short/net, "Non-Comm" row shows Leveraged Funds positions
📊 Open Interest Analysis section - Net changes reflect Dealer and Leveraged Funds position changes
📈 Analysis section - Percentile and LW Index values are calculated from Dealer and Leveraged Funds positions
Chart plots - Lines show Dealer and Leveraged Funds net positions
Use this for currency futures, bond futures, and stock index futures.
Trading Use: Most traders use Legacy as it provides the most comprehensive view and works with all asset types. Switch to Disaggregated if you want to analyze managed money positions separately. Use Financial specifically for financial instruments (currencies, bonds, stock indices).
---
Include Options Data
Default: Off (false)
What it is: Toggles whether to include options positions in addition to futures positions.
Trading Use: Larry Williams observed no significant difference in COT analysis when including options data. Keep this disabled unless you specifically need options data. Most traders leave it off for cleaner analysis.
---
Auto-detect CFTC Code
Default: On (true)
What it is: Automatically finds the correct CFTC code for your symbol.
Trading Use: Keep this enabled unless you need a specific CFTC code. The script automatically detects codes for:
- Currency futures: CME:6E1! , CME:6B1! , CME:6J1!
- Stock index futures: CME_MINI:ES1! , CBOT_MINI:YM1! , CME_MINI:NQ1!
- Commodities: NYMEX:CL1! , COMEX:GC1! , CBOT:ZC1!
- And many more
Only disable if you're analyzing a symbol that requires a specific CFTC code not in the auto-detection database.
---
Manual CFTC Code
Default: Empty
What it is: Enter a specific CFTC code manually (e.g. for E-mini S&P 500). "13874+"
Trading Use: Only used when Auto-detect CFTC Code is disabled. Most users never need this setting.
---
📊 Group 2: Analysis Parameters
Display Mode
Options: COT Report | COT Index | COT Proximity Index
What it is: Controls what data is displayed on the chart and in the table.
COT Report - Shows raw position data (Long, Short, Net positions) plus analysis. Best for detailed analysis. Displays Commercial, Non-Commercial, Small Speculator, and Open Interest lines.
COT Index - Shows index values based on your selected Analysis Method (Percentile or LW Index). Best for quick sentiment analysis. Displays index lines for Commercial, Non-Commercial, Small Speculator, and Open Interest. Percentile can exceed 0-100% for extremes, LW Index stays 0-100%.
Percentile can exceed 0-100% for extremes
LW Index stays 0-100%
COT Proximity Index - Shows a price-based proxy indicator. Useful when COT data is delayed or unavailable. Calculates sentiment based on price action patterns.
Trading Use:
- Use COT Report for comprehensive analysis
- Use COT Index when you want to focus on extreme sentiment levels
- Use COT Proximity Index as a backup when COT data is delayed or unavailable.
---
Analysis Method
Options: Percentile | LW Index
What it is: Selects the calculation method for position rankings.
Percentile - Professional approach. Excludes current bar from range calculation. Can show extremes (>100% or <0%) when today's value breaks historical range. More sensitive to recent extremes.
LW Index - Original Larry Williams method. Includes current bar in range, always 0-100%. Traditional approach.
Trading Use:
Percentile - Better for catching new extremes and recent market shifts
LW Index - Better for traditional Larry Williams analysis
Most traders prefer Percentile for its ability to show when positions break historical ranges.
---
Lookback Mode
Options: Auto | Manual
What it is: Controls how the historical lookback period is determined.
Auto - Automatically sets lookback period based on detected asset type
Manual - Choose your own lookback period
Trading Use: Use Auto unless you have a specific reason to customize. The script automatically sets optimal periods:
Currencies: 26 weeks
Metals: 13 weeks
Grains: 26 weeks
Stocks/Indices: 13 weeks
Bonds: 52 weeks
Energies: 13 weeks
---
Manual Lookback Period
Options: 1 Month | 3 Months | 6 Months | 1 Year | 3 Years | Asset-specific presets | Manual
What it is: How far back to look for historical comparison. Only used when Lookback Mode is set to Manual .
---
Manual Lookback Weeks
Default: 18 weeks | Range: 1-500
What it is: Exact number of weeks to look back. Only used when Manual Lookback Period is set to Manual .
Trading Use: Set a custom period if you want precise control. 18 weeks = approximately one quarter (3 months).
---
🎯 Group 3: Signal Generation
Show Signal Arrows
Default: Off (false)
What it is: Displays buy/sell arrows on the chart when extreme positions are detected.
Trading Use: Enable to get visual alerts for signals. Signals use strict multi-factor conditions requiring:
- Commercial extreme positioning
- Speculator positioning alignment
- Open Interest confirmation
- Trend consistency
- And more...
---
Show Background Colors
Default: Off (false)
What it is: Colors the chart background during extreme market conditions.
Trading Use: Enable for visual market state awareness:
- Strong signals = Darker background colors
- Moderate signals = Lighter background colors
- Green background = Bullish extreme
- Red background = Bearish extreme
Useful for quick visual assessment of market conditions.
---
Use Price Trend Weighting
Default: On (true)
What it is: Weights signals based on price trend alignment.
How it works:
Uptrend + Commercials long = Stronger bullish signal
Downtrend + Commercials short = Stronger bearish signal
Counter-trend signals = Harder to trigger (more conservative)
Trading Use: Keep enabled for more reliable signals. Commercials aligned with price trend are historically more accurate.
This feature makes signals easier to trigger when commercials align with the trend and harder when they're counter-trend.
---
Trend MA Period
Default: 40 | Range: 1-200
What it is: Moving average period for price trend detection.
How it works:
Price above MA with the MA rising = Uptrend
Price below MA with the MA declining = Downtrend
---
📈 Group 4: Plot Display Settings
Commercial Line Settings
Default Color: Red | Default Width: 2
What it is: Controls the Commercial traders net position line appearance.
Trading Use: Commercials are considered "smart money." Watch for:
Extreme long positions (high index ≥74%) = Heavy buyers = BULLISH signal
Extreme short positions (low index ≤26%) = Heavy sellers = BEARISH signal
Red is traditional for commercials. When Commercials are heavy buyers (high index), it's a bullish signal. When they're heavy sellers (low index), it's a bearish signal.
---
Non-Commercial Line Settings
Default Color: Blue | Default Width: 2
What it is: Controls the Non-Commercial (Large Speculators) net position line appearance.
Trading Use: Large speculators are often trend-followers. Watch for:
Extreme long = Potential top (contrarian sell signal)
Extreme short = Potential bottom (contrarian buy signal)
They're often wrong at extremes - use as contrarian indicator.
---
Small Speculator Line Settings
Default Color: Green | Default Width: 2
What it is: Controls the Small Speculators net position line appearance.
Trading Use: Small specs are typically wrong at extremes:
Extreme long = Potential top (sell signal)
Extreme short = Potential bottom (buy signal)
Exception: In Meats markets, small specs are accurate (like commercials).
---
Small Speculator Multiplier
Default: 5.0x | Range: 0.1-20.0
What it is: Multiplies Small Speculator PLOTTED values for visual comparison.
Important: This only affects the visual plot line, NOT calculations or table values. Raw values used in all calculations remain unchanged.
Trading Use: Small spec positions are often much smaller than commercials. Use multiplier (default 5.0x) to scale the line for easier visual comparison.
---
Open Interest Line Settings
Default Color: Black | Default Width: 1
What it is: Controls the Open Interest line appearance.
Trading Use: Open Interest shows market participation:
Rising OI = New money entering (confirms trend)
Falling OI = Money leaving (potential reversal)
Watch WHO is driving OI changes - This is critical
---
Scale Open Interest
Default: On (true)
What it is: Scales Open Interest values to fit chart range.
Important: Only affects plotted lines, not table values. Scaling changes based on lookback period:
- Shorter lookback = More compressed range
- Longer lookback = Wider range
Trading Use: Keep enabled for better visual comparison. Disable if you want absolute OI values.
---
Show Reference Lines
Default: Off (false)
What it is: Toggles the display of horizontal reference lines at 0%, 50%, and 100% levels on the chart.
What it shows:
Zero Line (0%) - Dotted gray line at 0% level
Midline (50%) - Solid gray line at 50% level
100 Line (100%) - Dotted gray line at 100% level
Trading Use: Enable when you want visual reference points for:
0% = Extreme bearish positioning
50% = Neutral/middle range
100% = Extreme bullish positioning
---
🔄 Group 5: Smoothing Settings
Smoothing Method
Options: None | SMA | EMA | WMA | RMA
What it is: Selects the moving average type for smoothing data.
None - Use raw data (no smoothing)
SMA - Simple Moving Average (equal weight to all periods)
EMA - Exponential Moving Average (more weight to recent data)
WMA - Weighted Moving Average (linear weighting)
RMA - Relative Moving Average (Wilder's smoothing)
Trading Use:
None - Best for catching extremes quickly
SMA - Most common, balanced smoothing
EMA - More responsive to recent changes
WMA/RMA - Advanced smoothing methods
Smoothing reduces noise but may delay signal detection. Use None for most responsive signals.
---
Smoothing Period
Default: 4 | Range: 2-20
What it is: Number of periods for the moving average smoothing.
Trading Use:
Shorter periods (2-5) = Less smoothing, more responsive
Longer periods (10-20) = More smoothing, less noise
Default 4 = Good balance
Only used when Smoothing Method is not None.
---
Smooth COT Report Plots
Default: Off (false)
What it is: Applies smoothing to COT Report plotted lines (Commercial, Non-Commercial, Small Speculators, Open Interest).
Trading Use: Enable if you want smoother chart lines. Note: Smoothing affects visual display but calculations use raw data unless Smooth COT Index Plots is also enabled.
---
Smooth COT Index Plots
Default: Off (false)
What it is: Applies smoothing to COT Index plotted lines.
Trading Use: Enable if you want smoother index lines. Important : When enabled, smoothed values are used in table displays and signal calculations. This affects the "user-facing" index values shown in the table and used for signals.
---
📊 Group 6: COT Proximity Index Settings
Proximity Length Mode
Options: Auto | Manual
What it is: Controls how the proximity index calculation period is determined.
Auto - Calculates length based on ZigZag patterns (dynamic)
Manual - Uses fixed length setting
Trading Use: Use Auto for adaptive calculation. Use Manual if you want consistent period regardless of market conditions.
---
Manual Proximity Length
Default: 8 bars | Range: 1+
What it is: Fixed number of bars for COT Proximity Index calculation. Only used when Proximity Length Mode is Manual .
Trading Use: Set based on your timeframe. 8 bars works well for weekly chart.
---
Heavy Buyers Level
Default: 74% | Range: 50-100
What it is: COT Index level above which commercials are considered heavy buyers (extreme long positioning).
Trading Use: This threshold is used for:
- Signal generation
- Market state calculation
- Entry level recommendations
Default 74% means commercials are "heavy buyers" when LW Index ≥ 74%.
---
Heavy Sellers Level
Default: 26% | Range: 0-50
What it is: COT Index level below which commercials are considered heavy sellers (extreme short positioning).
Trading Use: This threshold is used for:
- Signal generation
- Market state calculation
- Entry level recommendations
Default 26% means commercials are "heavy sellers" when LW Index ≤ 26%.
---
ZigZag Deviation
Default: 1.0% | Range: 1-100.0
What it is: Minimum price change (%) required to create a new ZigZag pivot point.
Trading Use:
Smaller values = More sensitive, more pivots
Larger values = Less sensitive, fewer pivots
Used for Auto proximity length calculation.
---
ZigZag Depth
Default: 1 | Range: 1+
What it is: Minimum number of bars between pivot points.
Trading Use: Higher values filter out minor pivots. Default 1 captures all significant pivots.
---
Extend ZigZag to Last Bar
Default: Off (false)
What it is: Draws ZigZag lines to the current bar (may show incomplete patterns).
Trading Use: Enable to see current ZigZag pattern, but be aware it may change as new bars form.
---
Show ZigZag Lines
Default: Off (false)
What it is: Displays ZigZag pivot lines on the chart for visual reference.
Trading Use: Enable to see the ZigZag pattern used for proximity index calculation. Useful for understanding how Auto mode works.
---
🎨 Group 7: Common Table Settings
Color Theme
Options: Dark | Light | Midnight Blue | Ocean Blue | Forest Green | Amber Gold | Slate Gray
What it is: Color scheme for both main and historical comparison tables.
Trading Use: Choose based on your preference:
Dark/Light - Classic themes
Midnight Blue - Professional dark theme
Ocean Blue - Calming blue tones
Forest Green - Natural green theme
Amber Gold - Warm gold tones
Slate Gray - Modern gray theme
Theme applies to both tables simultaneously for consistency.
---
📋 Group 8: Main Table Display Settings
Show COT Table
Default: On (true)
What it is: Toggles the main COT analysis table display.
Trading Use: Disable only if you want to use chart plots only. Most traders keep this enabled for comprehensive analysis.
---
Table Mode
Options: Full | Compact
What it is: Controls the detail level of the main table.
Full - Complete analysis table with all sections
Compact - Essential info only (mobile-friendly)
Trading Use:
Full - Desktop trading, comprehensive analysis
Compact - Mobile trading, quick reference
See "Table Modes Explained" section below for details.
---
Table Position
Options: Top Right | Top Left | Bottom Right | Bottom Left | Middle Right | Middle Left
What it is: Position of the main COT analysis table on the chart.
Trading Use: Choose based on your chart layout and preference. Top Right is default and works well for most traders.
---
Table Text Size
Options: Tiny | Small | Normal | Large
What it is: Size of text in the COT analysis table.
---
Section Visibility Controls
All default: On (true)
What it is: Individual toggles to show/hide specific table sections.
⚙️ Settings - Report Type, CFTC Code, Options setting
📊 Current Positions - Long, Short, Net positions for each group
📈 Analysis - LW Index, Percentile, Market State
🎯 Trading Edge & Signals - Current Signal, Entry Level, Best Setup
💡 Trading Tips - Context-aware trading insights
📈 Trend Analysis - Trend Direction, Strength, Cum Change, ROC, vs MA
🔄 Market Maker Activity - Spreading, Activity Level, Trading Edge
Trading Use: Customize your table to show only what you need:
Quick traders - Show only Trading Edge & Signals
Detailed analysis - Show all sections
Mobile users - Hide less critical sections
Each section can be toggled independently for maximum customization.
---
📊 Group 9: Historical Comparison Settings
Show Historical Comparisons
Default: On (true)
What it is: Toggles the historical comparison table display.
Trading Use: This table shows how current positions rank over different time periods (1M, 3M, 6M, 1Y, 3Y, All Time). Very useful for context.
---
Historical Table Mode
Options: Full | Compact
What it is: Controls the detail level of the historical comparison table.
Full - Complete historical comparison with all time periods (1M, 3M, 6M, 1Y, 3Y, All Time) and all COT groups
Compact - Essential periods only (1M, 3M, 6M, 1Y, All Time) showing Commercial % only
Trading Use:
- Full - Comprehensive historical analysis
- Compact - Quick reference, mobile-friendly
---
Table Position (Historical)
Options: Top Right | Top Left | Bottom Right | Bottom Left
What it is: Position of the historical comparison table on the chart.
---
Table Text Size (Historical)
Options: Tiny | Small | Normal | Large
What it is: Size of text in the historical comparison table.
---
Trading Days
Options: Weekdays | 24/7
What it is: How to calculate time periods for historical comparisons.
Weekdays - Calculate based on trading days only (5 days/week)
24/7 - Include all calendar days (7 days/week), Use for 24/7 markets like cryptocurrencies
Used for both main COT data and COT Proximity Index historical comparisons.
---
📊 Table Modes Explained
Full Mode - Main Table
The Full mode displays all available sections:
⚙️ Settings - Report type, CFTC code, options setting
📊 Current Positions - Long, Short, Net for Commercial, Non-Commercial, Small Speculators
📊 Open Interest Analysis - OI value, change, who's driving changes, concentration
📈 Analysis - Percentile ranks, LW Index values, Market State
🎯 Trading Edge & Signals - Current Signal, Entry Level, What to Watch, Best Setup
💡 Trading Tips - Context-aware insights
📈 Trend Analysis - Trend Direction, Strength, Consistency, Cumulative Change, ROC %, vs MA
🔄 Market Maker Activity - Spreading %, Activity Level, Interpretation, Trading Edge
Best for: Desktop trading, comprehensive analysis, detailed market assessment
---
📋 Understanding Each Table Section
This section explains what each part of the main table means and how to use it for trading decisions.
⚙️ Settings Section
Report Type - Shows which COT report format you're using (Legacy, Disaggregated, or Financial). Verify this matches your asset type.
Options - Indicates if options data is included ("Included") or excluded ("Excluded"). Most traders exclude options for cleaner analysis.
CFTC Code - Unique identifier for your futures contract. Shows "Auto" when automatically detected, or displays the manual code if set.
Trading Use: Always verify your CFTC code is correct. Wrong code = wrong data = wrong signals.
---
📊 Current Positions Section
Shows the actual position sizes for each trader group.
What Each Column Means:
Long - Total long contracts held by this group
Short - Total short contracts held by this group
Net - Net position (Long - Short). This is the key number.
How to Interpret:
Commercial Net Position:
- Negative (Net Short) = Commercials expect prices to fall
- Positive (Net Long) = Commercials expect prices to rise
- Commercials are "smart money" - their positioning often precedes major moves
Non-Commercial Net Position:
- Positive (Net Long) = Large speculators bullish
- Negative (Net Short) = Large speculators bearish
- Often trend-followers, can be caught at extremes
Small Spec Net Position:
- Positive (Net Long) = Small traders bullish
- Negative (Net Short) = Small traders bearish
- Often contrarian indicator - wrong at extremes
Trading Edge: Watch for extremes in Commercial net positions. When Commercials are heavy buyers (high index ≥74%), it's a bullish signal. When they're heavy sellers (low index ≤26%), it's a bearish signal.
---
📊 Open Interest Analysis Section
Open Interest - Total number of outstanding contracts. Shows market participation level.
Change - Week-over-week change in Open Interest. Rising OI = new money entering, Falling OI = money leaving.
Net Changes - Shows which group is driving Open Interest changes. This is Larry Williams' most important insight.
🎯 Critical Question: Who is Driving OI Changes?
EXTREMELY BULLISH SIGNAL (Very Rare - Pay Close Attention):
- Commercials driving OI increase + Commercials raising positions + Uptrend market
- Meaning: Smart money (commercials) accumulating long positions while market is rising
- Action: Extremely bullish - very rare setup, pay close attention to this signal
- This is the strongest bullish signal possible
BULLISH SIGNAL (Strong Buy):
- Commercials driving OI increase + Commercials net long
- Meaning: Smart money accumulating long positions
- Action: Strong bullish setup
BEARISH SIGNAL (Strong Sell - Market Topping):
- Commercials exiting + OI increasing due to Small Specs + Non-Commercials
- Meaning: Smart money leaving while speculative money entering
- Action: Market top forming - most likely scenario for bearish reversal
- This indicates speculative excess and potential market top
BEARISH SIGNAL (Speculative Excess):
- Small Specs + Non-Commercials driving OI increase + They are net long
- Meaning: Speculative excess, "dumb money" driving market
- Action: Bearish reversal likely
Trading Use:
- Rising OI = New money entering (confirms trend)
- Falling OI = Money leaving (potential reversal)
- Watch WHO is driving OI changes - This is critical
- When Commercials drive OI increases while raising positions in an uptrend = Extremely bullish and very rare - pay attention
- When Commercials exit while OI increases due to Small Specs and Non-Commercials = Market topping signal
Concentration - Shows how much of the market is controlled by the largest traders:
- Top 4 - Four largest traders' share of total OI
- Top 8 - Eight largest traders' share of total OI
Trading Use: High concentration (>30%) means fewer dominant players, potential for volatility. Low concentration means more distributed positions, healthier market.
---
📈 Analysis Section
Proximity Index (when in COT Proximity Index mode):
- Value: Current proximity index reading (0-100%)
- Length: Number of bars used in calculation
- Status: Heavy Buyers, Heavy Sellers, or Neutral
Analysis Method - Shows whether you're using Percentile or LW Index calculation.
Small Spec Mode - Shows how Small Speculators are interpreted:
- Contrarian (Traditional) - Small specs are wrong at extremes (default)
- Accurate (Meats) - Small specs are accurate like commercials (for Meats markets)
Market State - Overall market sentiment assessment:
- STRONG BULLISH - Multiple factors aligned bullish, strong buy signal
- MODERATE BULLISH - Several bullish factors, moderate buy signal
- LEANING BULLISH - Slight bullish bias, watch for confirmation
- NEUTRAL - Mixed signals, trade with existing trend
- LEANING BEARISH - Slight bearish bias, watch for confirmation
- MODERATE BEARISH - Several bearish factors, moderate sell signal
- STRONG BEARISH - Multiple factors aligned bearish, strong sell signal
Trading Use: Start your analysis here. Market State gives you the overall picture before diving into details.
---
🎯 Trading Edge & Signals Section
Current Signal - Shows which combination is active based on current positioning extremes and its expected accuracy percentage:
- Comm+Spec+OI - All three groups at extremes (highest accuracy)
- Comm+Spec - Commercials and specs at extremes (opposite extremes - Larry Williams' favorite)
- Comm+OI - Commercials and Open Interest at extremes (smart money + participation)
- Commercials - Only Commercials at extreme (smart money indicator)
- Wait - No extremes detected, wait for setup
Entry - Trading signal based on Commercial positioning:
- LONG - Commercials are heavy buyers (≥Heavy Buyers Level), bullish signal
- SHORT - Commercials are heavy sellers (≤Heavy Sellers Level), bearish signal
- Wait - Commercials neutral, no clear signal
Best Setup - Shows the historically highest accuracy combination found in the data:
- Comm+Spec+SmallSpec+OI - All four groups aligned (strongest signal)
- Comm+Spec+OI (All) - Commercials + Speculators + Open Interest aligned
- Comm+Spec+SmallSpec - Commercials + Speculators + Small Specs aligned
- Comm+Spec (Both) - Commercials + Speculators (opposite extremes - Larry Williams' favorite)
- Comm+OI (Both) - Commercials + Open Interest (participation confirms smart money)
- Comm+SmallSpec - Commercials + Small Specs (especially strong in Meats markets)
- Commercials Alone - Commercial positioning only (baseline - smart money indicator)
Trading Use: This is your action center . Focus on Entry signals when Market State confirms. Higher accuracy setups (shown in Best Setup) are more reliable.
---
💡 Trading Tips Section
Context-aware insights based on current market conditions.
What You'll See:
Commercial positioning assessment (extreme long/short, favorable/unfavorable)
Speculator positioning (contrarian support or warning)
Open Interest guidance (who's driving changes)
Trend assessment (aligning or conflicting)
Information about entry timing, position sizing, and confirmation needs
Trading Use: Review these tips when analyzing. They provide context-specific information tailored to current conditions.
---
📈 Trend Analysis Section
Trend Direction - Overall price trend:
- Bullish - Price trending up
- Bearish - Price trending down
- Mixed - No clear direction
Consistency - How stable the trend is:
- Consistent - Trend is stable and maintaining direction
- Mixed - Trend is unstable, direction changing
- Accelerating - Trend is gaining momentum
Strength - Trend intensity:
- Strong - Powerful trend
- Steady - Moderate trend
- Weak - Weak trend
This Week - Net position change this week (percentage).
Cumulative Change - Total net position change over different periods:
- 4W - 4-week cumulative change
- 13W - 13-week cumulative change (one quarter)
- 26W - 26-week cumulative change (half year)
ROC % - Rate of Change percentage over different periods. Shows momentum.
vs MA - Current net position compared to moving average:
- Positive = Above average (strong positioning)
- Negative = Below average (weak positioning)
Trading Use: Align COT signals with trend direction for higher accuracy. When COT signals align with price trend, signals are more reliable. Counter-trend signals require more confirmation.
---
🔄 Market Maker Activity Section
Total Spreading - Percentage of open interest in spread positions (simultaneous long and short in different months).
Percentile - Where current spreading level ranks historically. High percentile = unusual spreading activity.
13W Trend - 13-week trend in spreading activity (+ = increasing, - = decreasing).
Activity Level - Market maker activity intensity:
- High - Very active, expect volatility
- Moderate - Normal activity
- Low - Quiet, less volatility expected
vs 13W Avg - Current activity compared to 13-week average.
Trading Edge - Interpretation of market maker activity:
- High & Rising - Expect volatility, market makers hedging risk
- High & Stable - Active hedging, monitor for changes
- Low & Falling - Reduced activity, potential for directional moves
Trading Use: High market maker activity often precedes volatility. Use this to adjust position sizing and risk management. When spreading is high and rising, expect choppy conditions.
---
📋 Understanding Compact Mode Fields
The Compact mode provides essential information for quick trading decisions. Here's what each field means:
State
Shows the overall market sentiment based on combined COT analysis.
Possible Values:
- STRONG BULLISH - Multiple factors aligned bullish, strong buy signal
- MODERATE BULLISH - Several bullish factors, moderate buy signal
- LEANING BULLISH - Slight bullish bias, watch for confirmation
- NEUTRAL - Mixed signals, trade with existing trend
- LEANING BEARISH - Slight bearish bias, watch for confirmation
- MODERATE BEARISH - Several bearish factors, moderate sell signal
- STRONG BEARISH - Multiple factors aligned bearish, strong sell signal
Trading Use: Start your analysis here. Strong signals (STRONG BULLISH/BEARISH) indicate higher confidence setups. Neutral means trade with price trend.
---
Entry
Your actionable trading signal based on Commercial positioning.
Possible Values:
- LONG - Commercials are heavy buyers (≥Heavy Buyers Level), bullish signal
- SHORT - Commercials are heavy sellers (≤Heavy Sellers Level), bearish signal
- Wait - Commercials neutral, no clear signal
Trading Use: This is your go/no-go decision point. Only take trades when Entry shows LONG or SHORT. When Entry = Wait, stay on sidelines until clearer signal develops.
---
Comm Index
Commercial LW Index percentage showing where Commercial net position ranks historically.
Range: 0% to 100%
- 0-26% = Commercials heavy sellers (bearish positioning)
- 27-73% = Commercials neutral (no extreme)
- 74-100% = Commercials heavy buyers (bullish positioning)
Trading Use: Commercial extremes are most reliable. Values ≥74% (heavy buyers/extreme long) = BULLISH signal. Values ≤26% (heavy sellers/extreme short) = BEARISH signal. When Commercials are heavy buyers, it indicates bullish sentiment. When they're heavy sellers, it indicates bearish sentiment.
---
OI Status
Open Interest condition showing market participation level and trend.
Format: Status (Percentile %)
Examples:
- High (100.0%) - OI at extreme high, strong participation
- Moderate (50.0%) - OI at average level
- Low (10.0%) - OI at extreme low, weak participation
Trend Indicators:
- Rising - OI increasing (new money entering)
- Falling - OI decreasing (money leaving)
- Stable - OI unchanged
Trading Use: High OI with rising trend = strong market participation, confirms directional moves. Falling OI = watch for potential reversals. Low OI = reduced participation, potential for volatility.
---
Best Setup
Shows which combination of factors has the highest historical accuracy.
Format: Combination Name (Accuracy %)
Examples:
- Commercials Alone (75.3%) - Commercial positioning only
- Commercials + Speculators (68.2%) - Commercials and specs aligned
- Commercials + Open Interest (72.1%) - Commercials with OI confirmation
- Commercials + Speculators + OI (82.1%) - All factors aligned (strongest)
Trading Use: Higher accuracy values indicate signals with higher historical accuracy. When Best Setup shows "Commercials + Speculators + OI" with high accuracy, it indicates a combination with strong historical performance.
---
Trend
13-week cumulative trend direction based on net position changes.
Possible Values:
- Bullish - Net positions trending bullish over 13 weeks
- Bearish - Net positions trending bearish over 13 weeks
- Mixed - No clear directional trend
Trading Use: Align Entry signals with Trend for higher accuracy. When Entry = LONG and Trend = Bullish, signal is stronger. When Entry = LONG but Trend = Bearish, wait for price confirmation before entering. Counter-trend signals require more confirmation.
---
Full Mode - Historical Table
The Full historical mode shows:
All time periods: 1 Month, 3 Months, 6 Months, 1 Year, 3 Years, All Time
All COT groups: Commercial, Non-Commercial, Small Speculators, Open Interest
Complete header with asset type and lookback information
Best for: Comprehensive historical analysis, understanding long-term positioning
---
Compact Mode - Historical Table
The Compact historical mode shows:
Essential periods only: 1M, 3M, 6M, 1Y, All Time
Commercial % only (most important indicator)
Simplified header
Best for: Quick reference, mobile-friendly, focused analysis
---
🎯 How to Use Each Feature for Trading
Using Display Modes
COT Report Mode - Use for:
Understanding raw position sizes
Analyzing net position changes
Comparing absolute positions across groups
Detailed market structure analysis
COT Index Mode - Use for:
Quick sentiment assessment
Identifying extremes (Percentile can show >100% or <0%, LW Index shows 0-100%)
Comparing relative positioning
Signal generation
COT Proximity Index Mode - Use for:
When COT data is delayed
Real-time sentiment estimation
Price-action based analysis
---
Using Analysis Methods
Percentile Method - Use when:
You want to catch new extremes (>100% or <0%)
You need responsive signals
You're analyzing recent market regime changes
You want to use the professional approach (excludes current bar from range)
LW Index Method - Use when:
You want traditional Larry Williams analysis
You prefer stable, conservative signals
You're doing long-term analysis
You want always 0-100% range
---
Using Signal Generation
Enable Signal Arrows when:
You want visual alerts for high-quality setups
You're scanning multiple charts
You want to catch extreme positioning
Enable Background Colors when:
You want quick visual market state assessment
You're monitoring multiple timeframes
You want to see market conditions at a glance
Use Price Trend Weighting to:
Increase signal reliability
Align COT signals with price action
Filter counter-trend signals
---
Using Smoothing
No Smoothing - Best for:
Catching extremes quickly
Responsive signal generation
Active trading
With Smoothing - Best for:
Reducing noise
Trend identification
Swing trading
Remember: Smoothing affects visual display. Enable "Smooth COT Index Plots" if you want smoothed values in calculations.
---
Using Heavy Buyers/Sellers Levels
Default 74%/26% - Good starting point
Tighter levels (80%/20%) - More conservative, fewer signals
Wider levels (70%/30%) - More signals, less extreme
Trading Use: Adjust based on your risk tolerance and signal frequency preference.
---
Using Table Sections
Settings - Verify your configuration
Current Positions - Understand current market structure
Analysis - Identify extremes and market state
Trading Edge & Signals - Most important - Entry signals based on Commercial positioning
Trading Tips - Context-aware insights
Trend Analysis - Understand momentum and direction
Market Maker Activity - Assess market maker positioning
---
💡 Key Trading Concepts
Market State Interpretation
STRONG BULLISH - Multiple factors aligned bullish. Strong buy signal.
MODERATE BULLISH - Several bullish factors. Moderate buy signal.
LEANING BULLISH - Slight bullish bias. Watch for confirmation.
NEUTRAL - Mixed signals. Trade with existing trend.
LEANING BEARISH - Slight bearish bias. Watch for confirmation.
MODERATE BEARISH - Several bearish factors. Moderate sell signal.
STRONG BEARISH - Multiple factors aligned bearish. Strong sell signal.
---
Entry Level Signals
LONG - Commercials are heavy buyers (≥Heavy Buyers Level). Bullish signal.
SHORT - Commercials are heavy sellers (≤Heavy Sellers Level). Bearish signal.
Wait - Commercials neutral. No clear signal.
When Commercials are heavy buyers (high index), it indicates bullish sentiment. When they're heavy sellers (low index), it indicates bearish sentiment.
---
Best Setup Interpretation
The Best Setup shows the historically highest accuracy combination:
Commercials Alone - Commercial positioning is most reliable
Commercials + Speculators - Both groups aligned
Commercials + Open Interest - Commercials + OI confirmation
Commercials + Speculators + OI - All factors aligned (strongest)
Higher accuracy = More reliable signal. Use this to prioritize which signals to follow.
---
Open Interest Analysis
Critical Question: Who is driving Open Interest changes?
EXTREMELY BULLISH (Very Rare):
Commercials driving OI increase + Commercials raising positions + Uptrend = EXTREMELY BULLISH
This is very rare - pay close attention when this occurs
STRONG BULLISH:
Commercials driving OI increase + Commercials long = STRONG BULLISH
BEARISH (Market Topping):
Commercials exiting + OI increasing due to Small Specs + Non-Commercials = BEARISH (market topping)
Most likely scenario for bearish reversal - speculative excess
BEARISH (Speculative Excess):
Speculators driving OI increase + Speculators long = BEARISH (speculative excess)
TREND CONFIRMATION:
Rising OI = Confirms trend (new money entering)
Falling OI = Potential reversal (money leaving)
This is one of Larry Williams' most important insights. When Commercials drive OI increases while raising positions in an uptrend, it's extremely bullish and very rare - pay attention. When Commercials exit while Small Specs and Non-Commercials drive OI increases, the market is likely topping.
---
🚀 Practical Trading Workflow
Daily Analysis Routine
Check Market State - Overall assessment
Review Entry Level - Actionable signal
Check Best Setup - Signal reliability
Review Trading Tips - Context-aware insights
Analyze Trend Analysis - Momentum confirmation
Check Historical Comparison - Context over time
Verify Open Interest - Who's driving changes
---
Signal Confirmation Checklist
Before taking a trade based on COT signals:
✓ Market State shows clear bias (not Neutral)
✓ Entry Level matches Market State
✓ Best Setup shows high accuracy (>60%)
✓ Price trend aligns with signal (if using trend weighting)
✓ Open Interest confirms (rising for trend continuation, falling for reversal)
✓ Historical comparison shows extreme positioning
✓ Price action confirms (wait for price confirmation)
---
⚠️ Important Notes
COT data is weekly - Updates every Friday afternoon
Extremes can persist - Don't expect immediate reversals
Combine with price action - COT is one tool among many
Historical context matters - Consider market conditions
Meats markets are special - Small specs are accurate (like commercials)
Signals are rare - High-quality signals don't appear every week
---
This description covers all settings and features of the Larry Williams COT Analysis Enhanced indicator. Larry Williams recommends combining COT analysis with other indicators for setup signals: Williams Sentiment Index, Williams Valuation Index, Williams True Seasonal, Pinch and Paunch Signal, along with price action, technical analysis, and fundamental factors.
---
📖 Conclusion
The Larry Williams COT Analysis Enhanced indicator provides a sophisticated framework for understanding market sentiment through the lens of different participant groups. By combining mathematical analysis with behavioral insights, it displays COT positioning data, calculates index values, and generates signals based on extreme positioning.
Remember: This is a tool for analysis, not a crystal ball. Consider combining COT analysis with other Larry Williams indicators, price action, technical analysis, and fundamental factors.
Practice with the indicator, study historical signals, and develop your understanding of how different market participants behave. Signals with multiple factors aligned - Commercials at extremes, Open Interest changes driven by the right groups, and price action confirming the COT signals - have shown higher historical accuracy.
This description provides comprehensive documentation for the Larry Williams COT Analysis Enhanced indicator. For the most current data and analysis, always refer to the latest COT reports and market conditions.
---
Acknowledgment
This tool builds upon the foundational work of Larry Williams, who developed the Commitments of Traders (COT) analysis methodology and the principles for interpreting COT data. It also incorporates enhancements including statistical validation, combination analysis, adaptive signal generation, and comprehensive historical comparison features.
Note: Always practice proper risk management and thoroughly test the indicator to ensure it aligns with your trading strategy. Past performance is not indicative of future results.
Focusprofit. Trade ModelDescription (EN)
FocusProfit. Trade Model is a systematic tool for automated detection of market structure, key swing levels, and trend-shift events. The indicator integrates impulse and corrective structure analysis, CHOCH, BOS, and IDM logic, forming a complete price-behavior model in real time with no repainting.
The algorithm automatically identifies the main and corrective structure, tracks HL/LH and HH/LL formation, fixes IDM before a potential reversal, and determines the exact moment when the trend flips. After confirmation, a new structure is established, allowing you to clearly understand the current market phase and the zones where high-quality trading opportunities appear.
Designed for trend trading, reversal identification, liquidity analysis, and building systematic trading strategies. Works on all markets and timeframes.
Описание (RU)
FocusProfit. Trade Model — это системный инструмент для автоматического определения рыночной структуры, ключевых экстремумов и моментов смены тренда. Индикатор объединяет анализ импульса и коррекции, CHOCH, BOS и IDM, формируя полную модель поведения цены в реальном времени без перерисовки.
Алгоритм автоматически выделяет основную и коррекционную структуру, отслеживает формирование HL/LH и HH/LL, фиксирует IDM перед потенциальным разворотом и определяет точный момент смены направления. После подтверждения формируется новая структура, что позволяет ясно понимать текущую фазу рынка и появление зон с наибольшим потенциалом для работы.
Подходит для трендовой торговли, поиска разворотных зон, анализа ликвидности и построения системных торговых стратегий. Работает на всех инструментах и таймфреймах.
Opening Prices by RiseOpening Prices by Rise - Multi-Timeframe Key Level Tracker
This comprehensive indicator identifies and displays critical opening price levels across multiple timeframes and customizable time-based intervals, providing traders with essential reference points for intraday and swing trading strategies.
The indicator systematically tracks opening prices from various market sessions and timeframe candles, creating persistent horizontal reference levels that extend forward on the chart. These levels represent institutional positioning points and psychological price zones where significant market reactions frequently occur.
Following level establishment, the indicator provides extensive visualization tools including customizable line styles, colors, widths, and optional vertical session markers. Advanced configuration options allow traders to display historical levels from previous trading days, implement custom time-based levels, and track higher timeframe candle opens—all within a single, streamlined interface.
This powerful solution delivers unmatched functionality for traders seeking to identify and monitor key opening price levels across multiple dimensions. Unlike basic session markers that display only current day levels, this indicator combines three distinct tracking systems—pre-configured key times, dynamic higher timeframe candle opens, and fully customizable time-based levels—into one cohesive tool. With its robust customization engine, historical multi-day tracking, and industry-leading custom level creation system, it provides capabilities that dramatically surpass conventional opening price indicators by offering complete control over every visual and functional aspect.
What are Opening Price Levels?
Opening prices represent the first traded price at the beginning of a specific time period. These levels are critical reference points because they often act as support or resistance zones throughout the trading session. The indicator tracks three primary categories:
Key Time-Based Opens
Pre-configured opening prices at strategically important times:
Daily Open -> The first price when the trading day begins
Midnight Open (00:00) -> Session start in 24-hour markets
New York Open (09:30) -> Major market session beginning
Higher Timeframe Candle Opens
Opening prices from larger timeframe candles that provide multi-timeframe context:
Monthly Open -> Beginning of each monthly candle
Weekly Open -> Start of each weekly period
4-Hour Open -> Intraday structural reference points
Each timeframe level can display multiple historical opens, allowing traders to see how price interacts with previous period opening levels.
Custom Time Levels
This indicator features a revolutionary custom level system that allows users to define unlimited time-based opening prices with complete control over styling and display options. Unlike other indicators with rigid preset times, this text-area based system provides unparalleled flexibility—simply add new levels using an intuitive comma-separated format. Each custom level has independent control over display type, line style, color, and width, making this the most versatile opening price tracking system available.
Historical Display
The indicator provides optional historical tracking, displaying opening price levels from previous trading days. This feature is invaluable for identifying recurring support/resistance zones and understanding how current price action relates to prior session opens. Most competing indicators only show current day levels, limiting their analytical value.
What Makes This Indicator Different?
Unified Multi-System Approach -> Combines time-based, candle-based, and custom levels in one indicator instead of requiring multiple tools
Advanced Historical Tracking -> Display previous days of opening levels, unlike competitors limited to current day only
Intelligent Timeframe Detection -> Automatically prevents display issues on incompatible chart timeframes for clean visualization
Industry-Leading Custom System -> Text-area based custom level creation with full parameter control per level—unmatched flexibility
Dual Display Options -> Every level can show horizontal price lines, vertical time markers, or both simultaneously
Complete Style Control -> Individual color, style, width, and text formatting for each level type
Multi-Timeframe Candle Tracking -> Display multiple previous opens from any timeframe (show last 1-5 occurrences)
Professional Label System -> Customizable text display with font, size, format, and alignment options
Smart Extension Logic -> Configurable forward extension with automatic endpoint detection
Dual Display Mode
Each opening level can be displayed as:
Horizontal price line showing the opening level
Vertical time marker indicating when the open occurred
Both simultaneously for complete context
Input Settings:
This tool offers extensive customizable options, which could be overwhelming to some users. Below you will find an in-depth definition of every input's purpose to complement the tooltips that can be found directly in the indicator's settings.
Historical 📜
Number of previous trading days to display opening levels for (0-50). Setting this to 25 or higher displays all available historical data. When set to 0, only the current day's levels are shown.
Offset 📏
Amount of bars to extend horizontal price lines past the current bar (0-50). This creates forward-looking reference levels that extend beyond the most recent price action.
Key Levels 🔑
Pre-configured opening times with individual controls for each level:
Daily -> Trading day open (typically midnight or session start)
00:00 -> Midnight open for 24-hour markets
09:30 -> New York market open
For each key level:
Checkbox -> Enable/disable this level
Type -> Display as "Open Price" (horizontal line), "Vertical Line" (time marker), or "Both"
Color -> Custom color selection
Style -> Line style (Solid, Dashed, or Dotted)
Width -> Line thickness (1-3)
Candle Levels 🕯️
Higher timeframe candle opening prices with enhanced controls:
Checkbox -> Enable/disable this timeframe
Name -> Custom label text for the level
Timeframe -> Select any timeframe (1M, 1W, 240, etc.)
Show Last -> Number of previous timeframe opens to display (1-5)
Type -> Display mode (Open Price, Vertical Line, or Both)
Color -> Custom color selection
Style -> Line style (Solid, Dashed, or Dotted)
Width -> Line thickness (1-3)
Text ✏️
Label configuration for all displayed levels:
Label -> Display "Time" (HH:mm format), "Name" (custom text), or "None"
Size -> Text size (Tiny, Small, Normal, Large, or Huge)
Font -> Font style (Default or Monospace)
Format -> Text formatting (Default, Bold, or Italic)
Align -> Vertical positioning (Top, Middle, or Bottom) and horizontal alignment (Left, Center, or Right)
Custom Levels ⚙️
Advanced custom level creation system using comma-separated parameters:
Format:
HHmmss,Label Text,Type,Style,Color,Width
Parameters:
Time -> HHmmss format (e.g., 060000 for 6:00 AM)
Text -> Custom label for this level
Type -> "Open Price", "Vertical Line", or "Both"
Style -> "Solid", "Dotted", or "Dashed"
Color -> "Red", "Green", "Blue", "Yellow", "Orange", "Purple", "Pink", "White", or "Black"
Width -> Line thickness (1-3)
Example:
060000, ,Open Price,Dotted,Blue,1
083000, ,Both,Solid,Green,2
140000, ,Vertical Line,Dashed,Orange,1
Each custom level must be on a separate line. The text area accepts multiple custom levels for maximum flexibility.
Use Cases:
Identify key support and resistance levels from session opens
Track institutional positioning zones across multiple timeframes
Establish reference points for range-bound trading strategies
Monitor previous day opens for gap trading opportunities
Create custom session markers for specific trading strategies
Analyze price reactions at higher timeframe opening levels
Build systematic entry and exit strategies around opening prices
This indicator is for educational and informational purposes only. Past performance and historical patterns do not guarantee future results. Trading involves substantial risk of loss and is not suitable for all investors. Always conduct your own analysis and consider your financial situation before making any trading decisions. The identification of patterns does not constitute trading advice.
For any additional questions and/or feedback related to this indicator, users can comment below!
Manus Composite 12-Indicator HistogramOf course, here is a concise English description for the indicator:
---
This indicator measures market trend strength by creating a composite score from 12 technical indicators. It combines 5 Exponential Moving Averages (EMAs) and 7 MACD-style EMA crossovers, covering short, medium, and long-term periods.
Each of the 12 indicators contributes a weight of +8.33% for a bullish signal or -8.33% for a bearish signal. The total score, ranging from -100% (unanimously bearish) to +100% (unanimously bullish), is plotted as a histogram. This provides a comprehensive, at-a-glance view of the overall market sentiment.
Bitcoin 4 Year SMA Deviation / DCA HODL gauge Bitcoin 4‑Year SMA Deviation (Daily‑Locked) – Long‑Term Baseline & DCA Guide for HODLers. Bitcoin’s price swings wildly in the short term, but over several years it tends to settle around a smoother trend. A 4‑year simple moving average (SMA) captures that long‑term trajectory, filtering out daily noise, and giving a reliable “baseline” that reflects Bitcoin’s underlying growth path.
Historical consistency: Most of Bitcoin’s major cycles have respected the 4‑year SMA, making it a trustworthy yardstick for anyone who holds the asset for the long term.
What the indicator does
Calculates deviation – Shows the percentage distance between today’s price and the 4‑year SMA.
Displays a histogram – Visualizes the deviation in real‑time, colour‑coded to highlight how far the price sits above or below the baseline.
Daily‑locked logic – All calculations are performed on daily candles, so the signal looks the same whether you view the chart on a 1‑minute, 4‑hour, or weekly timeframe.
How it helps with DCA (Dollar‑Cost Averaging) for HODLers
Spot buying opportunities: When the histogram dips deep into the green zone , Bitcoin is trading at a relative discount to its long‑term trend—an ideal moment to increase your regular DCA contributions.
Guard against over‑buying: A strong positive deviation indicates a "red zone" , the market is stretched above its historic baseline, suggesting a smaller or paused DCA pace.
Quantify confidence: The exact percentage off the SMA gives you a concrete metric to size each DCA tranche, turning gut feeling into a data‑driven plan.
Bottom line for HODLers
Treat the 4‑year SMA as your long‑term compass for Bitcoin. This indicator tells you how far the current price has drifted from that compass, allowing you to decide how aggressively—or conservatively—to execute your DCA strategy. Use it alongside your personal risk tolerance and holding horizon to fine‑tune the cadence and size of your regular Bitcoin purchases. When in doubt, zoom out!
Inyerneck Sniper Engine v4.2 — FINAL WORKING 2025Aggressive momentum sniper for pennies. Fires on volume + EMA snaps. Use small size. Alerts ready.
Index Weighted Trend Indicator s-a-t-i-s-hThis indicator gives you an idea about which side the market is trending based on the weightage of the underlying stock. Good for Nifty 50, Bank Nifty. It can be used for any market.
Would like to thanks Gemini 3, Claude , Chatgpt for helping me to get my idea live.
So here you need to update the underlying stock and the weightage daily or weekly and you will get the trend direction easily.
Avoid using in very choppy market, Use it the high volatile time and you will definitely good result.
Play around with the best setting you see for your index.
Anchor SafeSwing Gold StrategyOverview:
The Anchor SafeSwing Gold Strategy is designed for users who prefer structured, rule-based swing trading on XAUUSD. It focuses on identifying high-quality trade setups rather than frequent entries.
This strategy analyzes the market using multiple technical indicators and methods—including trend analysis, multi-chart confirmation, and support/resistance evaluation—to identify potential swing points. It also incorporates a dynamic approach to risk management through adaptive stop-loss and take-profit logic.
How the Strategy Works
1. Multi-Chart & Trend Analysis:
The strategy evaluates trend direction using several indicators and multiple charts. This helps determine whether the trend favors long or short setups.
2. Buy/Sell Conditions:
a. Buy Conditions: When the broader trend is identified as bullish, the strategy waits for the formation of a strong support zone before considering a long position.
b. Sell Conditions: When the trend is bearish, it waits for a confirmed resistance zone before initiating short positions.
3. Dynamic Take-Profit Logic
The strategy uses adaptive take-profit behavior based on evolving market conditions. It monitors new support/resistance structures and various overbought/oversold signals to dynamically exit trades.
4. Dynamic and Configurable Stop-Loss:
A flexible stop-loss system adjusts according to volatility and market structure.
Users can modify the stop-loss threshold in the settings based on their own risk tolerance and account size.
Trading Frequency :
This strategy focuses on select, high-quality setups. As a result, trade frequency is relatively low and may vary depending on market conditions. Backtesting may show roughly several trades per month, but actual live performance can differ.
Important Notes
All trading involves risk, and users should evaluate the strategy and adjust settings according to their own risk management preferences.
Inyerneck Sniper Engine v4.2 — FINAL WORKING 2025yer momUltra-aggressive momentum sniper built for pennies & BTC.
Fires on every volume explosion + EMA snap. No mercy, no filters.
50+ trades per month. Use small size or die trying.
Private alpha —
Inyerneck Sniper Engine v4.2 — FINAL WORKING 2025Ultra-aggressive momentum sniper built for pennies & BTC.
Fires on every volume explosion + EMA snap. No mercy, no filters.
50+ trades per month. Use small size or die trying.
Private alpha — invite-only. do not change settings without first recording default settings, the default settings are great... usable on any time frame.. aaaaannd... yer mom!
Triple EMA/SMA + crossoverThis script combines three moving averages into one clean indicator.
You can choose the type of MA (EMA or SMA), the source (close, open, HL2, etc.), and the length of each line. All three MAs also change color depending on whether they’re rising, falling, or flat.
MA1 and MA2 crossovers are highlighted directly on the candles (white for bullish, purple for bearish), which makes it easy to spot momentum shifts without adding extra indicators.
Each MA has its own color settings for rising/falling/flat, so you can adjust the look to match your chart style.
Nothing fancy or over-engineered — just a simple and flexible way to monitor 3 MAs at once, read trend direction at a glance, and see crossovers immediately.
3-RSI Buy/Sell (s-a-t-i-s-h)This indicator will give u a strong idea about the movement based on the movement of 3 RSI level. Thanks to Claude and Chatgpt for helping to implement my idea.
Best setup is if you are in 15 minute time frame then set 3, 5 ,15 as RSI. So all is bullish or bearish will help u to identify a good trade.
You can play around as many useful features is been added for identifying strong movement.
Cheers.
s-a-t-i-s-h
AstraEdgeAstra Edge Tool
Astra Edge is built from the ground up, through years of real market experience, observation, and execution — not theory.
It reflects how I personally analyze price structure, volatility, and directional bias in live markets.
The indicator combines multiple layers of technical logic — multi-timeframe trend context, fixed daily structure levels, volatility bands, and range compression detection — into one stable, easy-to-read system.
It does not predict or guarantee direction; it reads what the market is doing right now and presents it visually in a structured way.
Every element of Astra Edge — the dashboard, zones, and compression highlights — is designed to help traders interpret market behavior, not chase it.
It aims to bring clarity and control to your intraday or swing decision-making by helping you focus on structure, momentum, and context instead of noise.
It’s not a shortcut or a holy grail.
It’s a refined tool that mirrors how experienced traders actually think — visually, contextually, and systematically.
⚙️ Features
🟢 Multi–Timeframe Dashboard
A clean grid showing five user-selected symbols across three timeframes — giving instant trend alignment and strength visibility.
LTP, % change, and SMA direction are colour-coded for quick interpretation.
🔵 Fixed Market Structure Levels
Automatic plotting of previous day and today’s high, low, open, and close —
the four most powerful reference points for intraday structure and reaction levels.
No repainting, no recalculation — just static, reliable structure.
🟣 Zone Bands
Calculates zones from the prior candles
Weekly or custom timeframe zones
Zones are highlighted dynamically and labeled clearly, helping you identify balance, breakout, and reversal regions visually.
🟠 Sideways Zone Detector
Built-in compression detector that identifies when the market is stuck in range.
Highlights consolidation zones and labels them with optional Zig Zag markers, helping traders avoid choppy conditions or plan breakout traps early.
🟡 Optional Bollinger Framework
Toggleable Bollinger structure that adds volatility context to the chart, helping spot expansions, squeezes, or range resets quickly.
⚙️ Customization
Dashboard and Sideways Zone ON/OFF switches
Adjustable zone thickness, label names, and colours
Works across stocks, indices, forex, and crypto
Optimized for dark and light chart themes
🧠 How to Use
Best for intraday and positional structure analysis
Works on any timeframe — but ideal visualization on 1m to 1h charts
Ideal timeframe 5mins
Focus on zone reactions and structure shifts, not standalone signals
Combine with your own entry confirmation or volume logic
Remember — Astra Edge shows structure, it doesn’t decide trades.
💎 Philosophy
“Every trader has tools. The elite have Astra Edge.”
Astra Edge was built for traders who prefer clarity over clutter and discipline over guesswork.
It combines multiple technical frameworks — not to replace your strategy, but to enhance your judgment.
⚠️ Disclaimer
I am not a SEBI-registered advisor.
This indicator is created purely for educational and informational purposes.
It does not guarantee profits, nor should it be considered investment advice or a trading signal system.
Trading and investing involve risk — use at your own discretion and consult a SEBI-registered financial advisor before making any financial decisions.
Astra Edge follows price action — price action does not follow Astra Edge.
Sometimes it will align perfectly with the trend, other times it won’t.
This is not a Holy Grail, it’s a structured lens to view the market more intelligently.
Strat Reversal MTF TableStrat Reversal MTF Table — Your Complete Multi-Timeframe Strat Command Center
Take your Strat trading to the next level with an indicator that shows every reversal, on every timeframe, in one powerful visual dashboard.
Designed for traders who demand speed, clarity, and full Strat alignment, the Strat Reversal MTF Table instantly identifies all major bullish and bearish reversal patterns:
Bullish Patterns
2-1-2
3-1-2
1-3-2
3-2-2
Bearish Patterns
2-1-2
3-1-2
1-3-2
3-2-2
Each signal is displayed with:
Clear pattern name (e.g., “2-1-2 Bull”)
Automatic trigger price
Timeframe label
Color-coded background (Bullish / Bearish / Neutral)
Whether you trade options, equities, futures, or crypto, this indicator makes it effortless to see what’s flipping — and where the strongest setups are emerging.
🔥 Key Features
📊 Multi-Timeframe Scanning (1 min → Daily)
Monitor 7 customizable timeframes at once.
From scalping to swing trading, you always know which timeframe is turning.
⚡ Real-Time OR Close-Confirmed Logic
Choose your style:
Realtime (Wick Mode) → Fast entries
Close-Confirmed → Stronger validation
Ideal for traders who want precision on any timeframe.
🎨 Clean & Customizable Dashboard
Move the table anywhere on the chart
Adjust text size
Choose your own colors
Lightweight and non-intrusive
A perfect blend of simplicity and power.
📩 Instant Alerts, Built In
Get notified instantly when:
Any timeframe reverses
A specific timeframe flips
Multiple reversals fire across the stack
The indicator works great with TradingView’s push notifications, email, and webhooks.
🎯 What This Helps You Do
✔ Catch Strat reversals as they happen
✔ Quickly spot full-timeframe alignment
✔ Improve your entries for options plays
✔ Avoid chop by reading higher-timeframe intent
✔ Trade more confidently with automated trigger levels
This indicator is built for Strat traders who want to trade smarter, faster, and cleaner.
✨ Perfect For
Strat Traders
Options Traders
Futures Scalpers
Intraday & Swing Traders
Quant/Algo-inspired traders
Anyone following Rob Smith’s methodology
Smart Money OB FVG
Smart Money OB FVG Strategy — Full Description
🔷 Advanced Order Block + Multi-TF FVG + Liquidity Sweep + Auto TP/SL
A Complete Smart Money Concept Trading System
This script combines multiple professional Smart Money tools into a single, optimized and non-repainting engine. Designed for scalpers, intraday traders, swing traders, and algorithmic strategy users.
🔥 Key Features
✔ Intelligent Order Block Engine (IOB)
Automatic bullish & bearish Order Block detection
ATR-based or Range-based volatility filter
Scalp / Normal / Balanced swing structure modes
Auto extending OB zones
Auto-removal of invalid OBs
OB touch alerts
✔ Buy/Sell Signals With Dynamic TP/SL
Non-repainting BUY/SELL structure shift detection
Auto-generated TP & SL levels
SL placement based on OB structure + liquidation buffer
Adjustable Risk-Reward (RR) multiplier
TP/SL labels update in real-time
Fully dynamic lines extending as new candles appear
✔ Liquidity Grab Detection (Wick Liquidity Sweeps)
Upper/lower wick manipulation detection
RSI-supported confirmation
Automatic "LiQ" labels
Strong reversal indication
Liquidity alert system included
✔ Multi-Timeframe FVG Engine (Fair Value Gaps)
Tracks and updates FVG zones from:
15M
1H
4H
1D
Features:
Auto FVG detection
Bullish/Bearish colored zones
Tested FVG repainting → color changes
Auto-cleaning invalid FVGs
Maximum box limits (reduces clutter)
FVG labels inside zones (15M / 1H / 4H / 1D)
One-click master switch for all FVGs
✔ Real-Time Info Panel (Top-Right Table)
Current symbol
Live price
Turkish local time (UTC+3)
Minimalistic, transparent overlay panel
✔ Smart Alerts
OB Buy/Sell signal
Liquidity grab
OB touch
Trend shift
Multi-timeframe FVG alert
Alert-saving mode (prevents alert spam)
💼 Perfect For
Smart Money Concepts traders
Liquidity hunters
OB + FVG traders
Scalpers
Swing & intraday traders
Algorithmic systems
High RR strategy traders
📌 Notes
This is an Invite-Only Script.
Access is given only to approved users.
WPR Dot PlotterWPR = williams percent range dot plotter.
I put my settings at tiny and yellow dot when WPR is between -20 and 0.
Red dot on top when WPR is -80 to -100
Entertainment purposes only.
Plot Multiple Stock Avg Buy , Stop Loss, Target(s-a-t-i-s-h)This indicator will be mostly helpful for individual, broker or consultant who deal with multiple stock purchase and would like to plot Buy Price, Stop Loss, Target, Just upload the stocks in the format given in the indicator and Voila we have all the plotting in the respective charts. Thanks to Claude for helping me to finalize my idea this indicator.
Now consultant / stock broker can give the list to there client with the respective levels and then can plot it easy with this one indicator.
Enjoy--
Astra EdgeAstra Edge Tool
Astra Edge is built from the ground up, through years of real market experience, observation, and execution — not theory.
It reflects how I personally analyze price structure, volatility, and directional bias in live markets.
The indicator combines multiple layers of technical logic — multi-timeframe trend context, fixed daily structure levels, volatility bands, and range compression detection — into one stable, easy-to-read system.
It does not predict or guarantee direction; it reads what the market is doing right now and presents it visually in a structured way.
Every element of Astra Edge — the dashboard, zones, and compression highlights — is designed to help traders interpret market behavior, not chase it.
It aims to bring clarity and control to your intraday or swing decision-making by helping you focus on structure, momentum, and context instead of noise.
It’s not a shortcut or a holy grail.
It’s a refined tool that mirrors how experienced traders actually think — visually, contextually, and systematically.
⚙️ Features
🟢 Multi–Timeframe Dashboard
A clean grid showing five user-selected symbols across three timeframes — giving instant trend alignment and strength visibility.
LTP, % change, and SMA direction are colour-coded for quick interpretation.
🔵 Fixed Market Structure Levels
Automatic plotting of previous day and today’s high, low, open, and close —
the four most powerful reference points for intraday structure and reaction levels.
No repainting, no recalculation — just static, reliable structure.
🟣 Zone Bands
Calculates zones from the prior candles
Weekly or custom timeframe zones
Zones are highlighted dynamically and labeled clearly, helping you identify balance, breakout, and reversal regions visually.
🟠 Sideways Zone Detector
Built-in compression detector that identifies when the market is stuck in range.
Highlights consolidation zones and labels them with optional Zig Zag markers, helping traders avoid choppy conditions or plan breakout traps early.
🟡 Optional Bollinger Framework
Toggleable Bollinger structure that adds volatility context to the chart, helping spot expansions, squeezes, or range resets quickly.
⚙️ Customization
Dashboard and Sideways Zone ON/OFF switches
Adjustable zone thickness, label names, and colours
Works across stocks, indices, forex, and crypto
Optimized for dark and light chart themes
🧠 How to Use
Best for intraday and positional structure analysis
Works on any timeframe — but ideal visualization on 1m to 1h charts
Ideal timeframe 5mins
Focus on zone reactions and structure shifts, not standalone signals
Combine with your own entry confirmation or volume logic
Remember — Astra Edge shows structure, it doesn’t decide trades.
💎 Philosophy
“Every trader has tools. The elite have Astra Edge.”
Astra Edge was built for traders who prefer clarity over clutter and discipline over guesswork.
It combines multiple technical frameworks — not to replace your strategy, but to enhance your judgment.
⚠️ Disclaimer
I am not a SEBI-registered advisor.
This indicator is created purely for educational and informational purposes.
It does not guarantee profits, nor should it be considered investment advice or a trading signal system.
Trading and investing involve risk — use at your own discretion and consult a SEBI-registered financial advisor before making any financial decisions.
Astra Edge follows price action — price action does not follow Astra Edge.
Sometimes it will align perfectly with the trend, other times it won’t.
This is not a Holy Grail, it’s a structured lens to view the market more intelligently.
💼 Access
“Access available to invite-only users.”
All existing users will receive lifetime updates and improvements without any additional charges.
Triple EMA/SMA + crossoverA powerful 3-in-1 Moving Average system — clean, customizable, and built for real-time clarity.
This indicator combines three fully customizable moving averages into a single tool, giving you a complete view of trend behavior, momentum strength, and market structure — all in one compact and intuitive display.
Whether you prefer EMA or SMA, this script lets you switch seamlessly and adapt instantly to any trading style.
⸻
✅ Key Features
🔹 Three Moving Averages, One Indicator
Instead of cluttering your chart with multiple separate MAs, this script intelligently groups:
• MA1
• MA2
• MA3
…into a single, elegant indicator with unified settings and consistent visuals.
Each MA has its own:
• Length
• Rising/Falling/Flat dynamic color system
• Customizable colors
• Trend-based logic
This makes your chart cleaner, faster to read, and much more powerful.
⸻
🔹 Select Your MA Type
Switch all three MAs at once:
• EMA
• SMA
Perfect for testing different interpretations of trend behavior.
⸻
🔹 Advanced Trend Coloring
Each MA automatically adapts its color based on whether it is:
• Rising (uptrend)
• Falling (downtrend)
• Flat (consolidation / low momentum)
You decide the colors for each state — and for each MA individually.
⸻
🔹 MA Crossover Bar Highlights
When MA1 crosses MA2, the script highlights the exact bar with:
• White for bullish crossovers
• Purple for bearish crossovers
This makes trend shifts and potential reversals instantly visible, directly on price bars.
⸻
🔹 Source Flexibility
All three MAs can use any source series:
• Close, Open, HL2, HLC3, OHLC4, etc.
• Or any other series available on your chart
This gives you much more flexibility than standard MA indicators.
⸻
🔹 Beautiful, Clean & Fully Customizable
Every color — rising, falling, flat, crossover — can be changed.
All plots are clearly named (MA1, MA2, MA3) for easier control in the Style panel.
This script brings together:
• clarity
• flexibility
• and clean design
…into a compact, professional-grade indicator.
⸻
🎯 Why this Indicator Helps
You get the full power of three trend tools at once — but without the chart clutter.
Use it to:
• Spot early trend reversals
• Track short/mid/long-term structure simultaneously
• Identify momentum shifts in real time
• Visualize crossovers instantly
• Keep your chart clean and readable
It’s ideal for scalpers, day traders, swing traders, and anyone who wants a powerful yet simple way to read market conditions.
⸻
⚠️ Disclaimer
This script is for educational purposes only and does not constitute financial advice. Always do your own research before trading.
⸻
Compact Fixed R:R ToolLookback Fixed R/R Tool
Helps me trail my Stop to maximize profit for each trade,
My Risk management:(depends on price speed)
1:2 = BE
1:3 = 1:2 Trailing Stop
1:4 = 1:3 Trailing Stop
1:5 = 1:4 Trailing Stop
1:6 = 1:5 Trailing Stop
If Price will run through my R/R levels I will just max my profit based on consistency rule/ try to chuck for max profits
S/R MTF// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © fluxchart
//@version=6
//S&R; V2.12
const bool DEBUG = false
const bool fixSRs = true
const bool fixRetests = false
indicator("crr S/R MTF", overlay = true, max_labels_count = 500, max_lines_count = 500, max_boxes_count = 500, dynamic_requests = true)
const int maxSRInfoListSize = 10
const int maxBarInfoListSize = 3000
const int maxDistanceToLastBar = 500
const int minSRSize = 5
const int retestLabelCooldown = 3
const float tooCloseATR = 1.0 / 8.0
const int labelOffsetBars = 20
const int atrLen = 20
atr = ta.atr(atrLen)
avgVolume = ta.sma(volume, atrLen)
var int curTFMS = timeframe.in_seconds(timeframe.period) * 1000
var map alerts = map.new()
alerts.put("Retest", false)
alerts.put("Break", false)
srPivotLength = input.int(15, "Pivot Length", minval = 3, maxval = 50, group = "General Configuration", display = display.none)
srStrength = input.int(1, "Strength", , group = "General Configuration", display = display.none)
srInvalidation = input.string("Close", "Invalidation", , group = "General Configuration", display = display.none)
expandZones = input.string("Only Valid", "Expand Lines & Zones", options = , group = "General Configuration", display = display.none)
showInvalidated = input.bool(true, "Show Invalidated", group = "General Configuration", display = display.none)
timeframe1Enabled = input.bool(true, title = "", group = "Timeframes", inline = "timeframe1", display = display.none)
timeframe1 = input.timeframe("", title = "", group = "Timeframes", inline = "timeframe1", display = display.none)
timeframe2Enabled = input.bool(false, title = "", group = "Timeframes", inline = "timeframe2", display = display.none)
timeframe2 = input.timeframe("D", title = "", group = "Timeframes", inline = "timeframe2", display = display.none)
timeframe3Enabled = input.bool(false, title = "", group = "Timeframes", inline = "timeframe3", display = display.none)
timeframe3 = input.timeframe("W", title = "", group = "Timeframes", inline = "timeframe3", display = display.none)
showBreaks = input.bool(true, "Show Breaks", group = "Breaks & Retests", inline = "ShowBR", display = display.none)
showRetests = input.bool(true, "Show Retests", group = "Breaks & Retests", inline = "ShowBR", display = display.none)
avoidFalseBreaks = input.bool(false, "Avoid False Breaks", group = "Breaks & Retests", display = display.none)
breakVolumeThreshold = input.float(0.3, "Break Volume Threshold", minval = 0.1, maxval = 2.0, step = 0.1, group = "Breaks & Retests", tooltip = "Only taken into account if Avoid False Breakouts is enabled. Higher values mean it's less likely to be a break.", display = display.none)
inverseBrokenLineColor = input.bool(false, "Inverse Color After Broken", group = "Breaks & Retests", display = display.none)
styleMode = input.string("Lines", "Style", , group = "Style", display = display.none)
lineStyle = input.string("____", "Line Style", , group = "Style", display = display.none)
lineWidth = input.int(2, "Line Width", minval = 1, group = "Style", display = display.none)
zoneSize = input.float(1.0, "Zone Width", minval = 0.1, maxval = 10, step = 0.1, group = "Style", display = display.none)
zoneSizeATR = zoneSize * 0.075
supportColor = input.color(#08998180, "Support Color", group = "Style", inline = "RScolors", display = display.none)
resistanceColor = input.color(#f2364580, "Resistance Color", group = "Style", inline = "RScolors", display = display.none)
breakColor = input.color(color.blue, "Break Color", group = "Style", inline = "RScolors2", display = display.none)
textColor = input.color(#ffffff80, "Text Color", group = "Style", inline = "RScolors2", display = display.none)
enableRetestAlerts = input.bool(true, "Enable Retest Alerts", tooltip = "Needs Show Retests option enabled.", group = "Alerts", display = display.none)
enableBreakAlerts = input.bool(true, "Enable Break Alerts", tooltip = "Needs Show Breaks option enabled.", group = "Alerts", display = display.none)
insideBounds = (bar_index > last_bar_index - maxDistanceToLastBar)
type srInfo
int startTime
float price
string srType
int strength
string timeframeStr
bool ephemeral = false
int breakTime
array retestTimes
type srObj
srInfo info
bool startFixed
bool breakFixed
bool rendered
string combinedTimeframeStr
line srLine
box srBox
label srLabel
label breakLabel
array retestLabels
type barInfo
int t
int tc
float c
float h
float l
var allSRList = array.new()
//#region Find Val RTN Time
findValRtnTime (barInfo biList, valToFind, toSearch, searchMode, minTime, maxTime, int defVal = na) =>
int rtnTime = defVal
float minDiff = na
if biList.size() > 0
for i = biList.size() - 1 to 0
curBI = biList.get(i)
if curBI.t >= minTime and curBI.t < maxTime
toLook = (toSearch == "Low" ? curBI.l : toSearch == "High" ? curBI.h : curBI.c)
if searchMode == "Nearest"
curDiff = math.abs(valToFind - toLook)
if na(minDiff)
rtnTime := curBI.t
minDiff := curDiff
else
if curDiff <= minDiff
minDiff := curDiff
rtnTime := curBI.t
if searchMode == "Higher"
if toLook >= valToFind
rtnTime := curBI.t
break
if searchMode == "Lower"
if toLook <= valToFind
rtnTime := curBI.t
break
rtnTime
//#endregion
formatTimeframeString (string formatTimeframe, bool short = false) =>
timeframeF = (formatTimeframe == "" ? timeframe.period : formatTimeframe)
if str.contains(timeframeF, "D") or str.contains(timeframeF, "W") or str.contains(timeframeF, "S") or str.contains(timeframeF, "M")
timeframe.from_seconds(timeframe.in_seconds(timeframeF))
else
seconds = timeframe.in_seconds(timeframeF)
if seconds >= 3600
hourCount = int(seconds / 3600)
if short
str.tostring(hourCount) + "h"
else
str.tostring(hourCount) + " Hour" + (hourCount > 1 ? "s" : "")
else
if short
timeframeF + "m"
else
timeframeF + " Min"
renderSRObj (srObj sr) =>
if na(sr.info.breakTime) or showInvalidated
sr.rendered := true
endTime = nz(sr.info.breakTime, time + curTFMS * labelOffsetBars)
extendType = extend.none
if na(sr.info.breakTime)
extendType := extend.right
if expandZones == "Only Valid" and na(sr.info.breakTime)
extendType := extend.both
else if expandZones == "All"
extendType := extend.both
endTime := time + curTFMS * labelOffsetBars
labelTitle = formatTimeframeString(sr.info.timeframeStr)
if not na(sr.combinedTimeframeStr)
labelTitle := sr.combinedTimeframeStr
labelTitle += " | " + str.tostring(sr.info.price, format.mintick) + ((sr.info.ephemeral and DEBUG) ? " " : "")
if styleMode == "Lines"
// Line
sr.srLine := line.new(sr.info.startTime, sr.info.price, endTime, sr.info.price, xloc = xloc.bar_time, color = sr.info.srType == "Resistance" ? resistanceColor : supportColor, width = lineWidth, style = lineStyle == "----" ? line.style_dashed : lineStyle == "...." ? line.style_dotted : line.style_solid, extend = extendType)
// Label
sr.srLabel := label.new(extendType == extend.none ? ((sr.info.startTime + endTime) / 2) : endTime, sr.info.price, xloc = xloc.bar_time, text = labelTitle, textcolor = textColor, style = label.style_none)
else
// Zone
sr.srBox := box.new(sr.info.startTime, sr.info.price + atr * zoneSizeATR, endTime, sr.info.price - atr * zoneSizeATR, xloc = xloc.bar_time, bgcolor = sr.info.srType == "Resistance" ? resistanceColor : supportColor, border_color = na, text = labelTitle, text_color = textColor, extend = extendType, text_size = size.normal, text_halign = (extendType != extend.none) ? text.align_right : text.align_center)
// Break Label
if showBreaks
if not na(sr.info.breakTime)
sr.breakLabel := label.new(sr.info.breakTime, sr.info.price, "B", yloc = sr.info.srType == "Resistance" ? yloc.belowbar : yloc.abovebar, style = sr.info.srType == "Resistance" ? label.style_label_up : label.style_label_down, color = breakColor, textcolor = color.new(textColor, 0), xloc = xloc.bar_time, size = size.small)
if (time - curTFMS <= sr.info.breakTime) and (time + curTFMS >= sr.info.breakTime)
alerts.put("Break", true)
// Retest Labels
if showRetests
if sr.info.retestTimes.size() > 0
for i = sr.info.retestTimes.size() - 1 to 0
curRetestTime = sr.info.retestTimes.get(i)
cooldownOK = true
if sr.retestLabels.size() > 0
lastLabel = sr.retestLabels.get(0)
if math.abs(lastLabel.get_x() - curRetestTime) < curTFMS * retestLabelCooldown
cooldownOK := false
if cooldownOK and (curRetestTime >= sr.info.startTime) and (na(sr.info.breakTime) or curRetestTime < sr.info.breakTime)
if time - curTFMS <= curRetestTime and time >= curRetestTime
alerts.put("Retest", true)
sr.retestLabels.unshift(label.new(curRetestTime, sr.info.price, "R" + (DEBUG ? (" " + str.tostring(sr.info.price)) : ""), yloc = sr.info.srType == "Resistance" ? yloc.abovebar : yloc.belowbar, style = sr.info.srType == "Resistance" ? label.style_label_down : label.style_label_up, color = sr.info.srType == "Resistance" ? resistanceColor : supportColor, textcolor = color.new(textColor, 0), xloc = xloc.bar_time, size = size.small))
safeDeleteSRObj (srObj sr) =>
if sr.rendered
line.delete(sr.srLine)
box.delete(sr.srBox)
label.delete(sr.srLabel)
label.delete(sr.breakLabel)
if sr.retestLabels.size() > 0
for i = 0 to sr.retestLabels.size() - 1
curRetestLabel = sr.retestLabels.get(i)
label.delete(curRetestLabel)
sr.rendered := false
var allSRInfoList = array.new()
var barInfoList = array.new()
pivotHigh = ta.pivothigh(srPivotLength, srPivotLength)
pivotLow = ta.pivotlow(srPivotLength, srPivotLength)
barInfoList.unshift(barInfo.new(time, time_close, close, high, low))
if barInfoList.size() > maxBarInfoListSize
barInfoList.pop()
if insideBounds and barstate.isconfirmed
// Find Supports
if not na(pivotLow)
validSR = true
if allSRInfoList.size() > 0
for i = 0 to allSRInfoList.size() - 1
curRSInfo = allSRInfoList.get(i)
if (math.abs(curRSInfo.price - pivotLow) < atr * tooCloseATR) and na(curRSInfo.breakTime)
validSR := false
break
if validSR
newSRInfo = srInfo.new(barInfoList.get(srPivotLength).t, pivotLow, "Support", 1, timeframe.period)
newSRInfo.retestTimes := array.new()
//for i = 1 to srPivotLength
//curBI = barInfoList.get(i)
//if (curBI.l <= newSRInfo.price and curBI.c >= newSRInfo.price)
//newSRInfo.strength += 1
//if curBI.t != newSRInfo.startTime
//newSRInfo.retestTimes.unshift(curBI.t)
allSRInfoList.unshift(newSRInfo)
while allSRInfoList.size() > maxSRInfoListSize
allSRInfoList.pop()
// Find Resistances
if not na(pivotHigh)
validSR = true
if allSRInfoList.size() > 0
for i = 0 to allSRInfoList.size() - 1
curRSInfo = allSRInfoList.get(i)
if (math.abs(curRSInfo.price - pivotLow) < atr * tooCloseATR) and na(curRSInfo.breakTime)
validSR := false
break
if validSR
newSRInfo = srInfo.new(barInfoList.get(srPivotLength).t, pivotHigh, "Resistance", 1, timeframe.period)
newSRInfo.retestTimes := array.new()
//for i = 1 to srPivotLength
//curBI = barInfoList.get(i)
//if (curBI.h >= newSRInfo.price and curBI.c <= newSRInfo.price)
//newSRInfo.strength += 1
//if curBI.t != newSRInfo.startTime
//newSRInfo.retestTimes.unshift(curBI.t)
allSRInfoList.unshift(newSRInfo)
if allSRInfoList.size() > maxSRInfoListSize
allSRInfoList.pop()
// Handle SR Infos
if insideBounds and (srInvalidation == "Wick" or barstate.isconfirmed)
if allSRInfoList.size() > 0
for i = 0 to allSRInfoList.size() - 1
srInfo curSRInfo = allSRInfoList.get(i)
// Breaks
invHigh = (srInvalidation == "Close" ? close : high)
invLow = (srInvalidation == "Close" ? close : low)
closeTime = time
if na(curSRInfo.breakTime)
if curSRInfo.srType == "Resistance" and invHigh > curSRInfo.price
if (not avoidFalseBreaks) or (volume > avgVolume * breakVolumeThreshold)
curSRInfo.breakTime := closeTime
if inverseBrokenLineColor and (not curSRInfo.ephemeral) and curSRInfo.strength >= srStrength
ephSR = srInfo.new(closeTime, curSRInfo.price, "Support", curSRInfo.strength, curSRInfo.timeframeStr, true)
ephSR.retestTimes := array.new()
allSRInfoList.unshift(ephSR)
else if curSRInfo.srType == "Support" and invLow < curSRInfo.price
if (not avoidFalseBreaks) or (volume > avgVolume * breakVolumeThreshold)
curSRInfo.breakTime := closeTime
if inverseBrokenLineColor and (not curSRInfo.ephemeral) and curSRInfo.strength >= srStrength
ephSR = srInfo.new(closeTime, curSRInfo.price, "Resistance", curSRInfo.strength, curSRInfo.timeframeStr, true)
ephSR.retestTimes := array.new()
allSRInfoList.unshift(ephSR)
// Strength & Retests
if na(curSRInfo.breakTime) and time > curSRInfo.startTime and barstate.isconfirmed
if curSRInfo.srType == "Resistance" and high >= curSRInfo.price and close <= curSRInfo.price
int lastRetestTime = 0
if curSRInfo.retestTimes.size() > 0
lastRetestTime := curSRInfo.retestTimes.get(0)
if lastRetestTime != time
if not curSRInfo.ephemeral
curSRInfo.strength += 1
curSRInfo.retestTimes.unshift(time)
else if curSRInfo.srType == "Support" and low <= curSRInfo.price and close >= curSRInfo.price
int lastRetestTime = 0
if curSRInfo.retestTimes.size() > 0
lastRetestTime := curSRInfo.retestTimes.get(0)
if lastRetestTime != time
if not curSRInfo.ephemeral
curSRInfo.strength += 1
curSRInfo.retestTimes.unshift(time)
fixSRToTimeframe (srObj sr) =>
srMS = math.max(timeframe.in_seconds(sr.info.timeframeStr), timeframe.in_seconds()) * 1000
if (not sr.startFixed)
if not sr.info.ephemeral
if sr.info.srType == "Resistance"
sr.info.startTime := findValRtnTime(barInfoList, sr.info.price, "High", "Nearest", sr.info.startTime - srMS, sr.info.startTime + srMS, sr.info.startTime)
else
sr.info.startTime := findValRtnTime(barInfoList, sr.info.price, "Low", "Nearest", sr.info.startTime - srMS, sr.info.startTime + srMS, sr.info.startTime)
sr.startFixed := true
else
if allSRList.size() > 0
for i = 0 to allSRList.size() - 1
curSR = allSRList.get(i)
if (not curSR.info.ephemeral) and (not na(curSR.info.breakTime)) and curSR.info.price == sr.info.price and ((sr.info.srType == "Resistance" and curSR.info.srType == "Support") or (sr.info.srType == "Support" and curSR.info.srType == "Resistance"))
if curSR.breakFixed
sr.info.startTime := curSR.info.breakTime
sr.startFixed := true
break
if not na(sr.info.breakTime)
if (not sr.breakFixed)
if sr.info.srType == "Resistance"
sr.info.breakTime := findValRtnTime(barInfoList, sr.info.price, srInvalidation == "Wick" ? "High" : "Close", "Higher", sr.info.breakTime - srMS, sr.info.breakTime + srMS, sr.info.breakTime)
else
sr.info.breakTime := findValRtnTime(barInfoList, sr.info.price, srInvalidation == "Wick" ? "Low" : "Close", "Lower", sr.info.breakTime - srMS, sr.info.breakTime + srMS, sr.info.breakTime)
sr.breakFixed := true
if sr.info.retestTimes.size() > 0 and fixRetests
for i = 0 to sr.info.retestTimes.size() - 1
curRetestTime = sr.info.retestTimes.get(i)
retestStartTime = curRetestTime - srMS
retestStartTime := math.max(retestStartTime, sr.info.startTime + 1)
retestEndTime = curRetestTime + srMS
if not na(sr.info.breakTime)
retestEndTime := math.min(retestEndTime, sr.info.breakTime - 1)
if sr.info.srType == "Resistance"
sr.info.retestTimes.set(i, findValRtnTime(barInfoList, sr.info.price, "High", "Higher", retestStartTime, retestEndTime, sr.info.retestTimes.get(i)))
else
sr.info.retestTimes.set(i, findValRtnTime(barInfoList, sr.info.price, "Low", "Lower", retestStartTime, retestEndTime, sr.info.retestTimes.get(i)))
getSR (srObj list, srPrice, eph, srType, timeframeStr) =>
srObj rtnSR = na
if list.size() > 0
for i = 0 to list.size() - 1
curSR = list.get(i)
if curSR.info.price == srPrice and curSR.info.ephemeral == eph and curSR.info.srType == srType and curSR.info.timeframeStr == timeframeStr
rtnSR := curSR
break
rtnSR
// Handle SR
handleTF (tfStr, tfEnabled) =>
if tfEnabled
tfSRInfoList = request.security(syminfo.tickerid, tfStr, allSRInfoList)
if not na(tfSRInfoList) and tfSRInfoList.size() > 0
for i = 0 to tfSRInfoList.size() - 1
srInfo curSRInfo = tfSRInfoList.get(i)
if fixSRs
currentSameSR = getSR(allSRList, curSRInfo.price, curSRInfo.ephemeral, curSRInfo.srType, curSRInfo.timeframeStr)
if not na(currentSameSR)
if currentSameSR.startFixed
curSRInfo.startTime := currentSameSR.info.startTime
if currentSameSR.breakFixed
curSRInfo.breakTime := currentSameSR.info.breakTime
curSRInfo.retestTimes := currentSameSR.info.retestTimes
// All other info should be replaced except fixed start, break and all retests.
currentSameSR.info := curSRInfo
if not currentSameSR.breakFixed
fixSRToTimeframe(currentSameSR)
else
srObj newSRObj = srObj.new(curSRInfo)
// We handle retests in current timeframe so no need to get them from upper.
newSRObj.info.retestTimes := array.new()
newSRObj.retestLabels := array.new()
fixSRToTimeframe(newSRObj)
allSRList.unshift(newSRObj)
else
srObj newSRObj = srObj.new(curSRInfo)
newSRObj.retestLabels := array.new()
allSRList.unshift(newSRObj)
true
if (bar_index > last_bar_index - maxDistanceToLastBar * 8) and barstate.isconfirmed
if not fixSRs
if allSRList.size() > 0
for i = 0 to allSRList.size() - 1
srObj curSRObj = allSRList.get(i)
safeDeleteSRObj(curSRObj)
allSRList.clear()
handleTF(timeframe1, timeframe1Enabled)
handleTF(timeframe2, timeframe2Enabled)
handleTF(timeframe3, timeframe3Enabled)
if allSRList.size() > 0
for i = 0 to allSRList.size() - 1
srObj curSRObj = allSRList.get(i)
safeDeleteSRObj(curSRObj)
tooClose = false
for j = 0 to allSRList.size() - 1
closeSR = allSRList.get(j)
if closeSR.rendered and math.abs(closeSR.info.price - curSRObj.info.price) <= tooCloseATR * atr and closeSR.info.srType == curSRObj.info.srType and closeSR.info.ephemeral == curSRObj.info.ephemeral
tooClose := true
if not str.contains((na(closeSR.combinedTimeframeStr) ? formatTimeframeString(closeSR.info.timeframeStr) : closeSR.combinedTimeframeStr), formatTimeframeString(curSRObj.info.timeframeStr))
if na(closeSR.combinedTimeframeStr)
closeSR.combinedTimeframeStr := formatTimeframeString(closeSR.info.timeframeStr) + " & " + formatTimeframeString(curSRObj.info.timeframeStr)
else
closeSR.combinedTimeframeStr += " & " + formatTimeframeString(curSRObj.info.timeframeStr)
break
if (curSRObj.info.strength >= srStrength) and (na(curSRObj.info.breakTime) or (curSRObj.info.breakTime - curSRObj.info.startTime) >= minSRSize * curTFMS) and (not tooClose)
renderSRObj(curSRObj)
// Current Timeframe Retests
if allSRList.size() > 0 and barstate.isconfirmed
for i = 0 to allSRList.size() - 1
srObj curSR = allSRList.get(i)
if na(curSR.info.breakTime) and time > curSR.info.startTime
if curSR.info.srType == "Resistance" and high >= curSR.info.price and close <= curSR.info.price
int lastRetestTime = 0
if curSR.info.retestTimes.size() > 0
lastRetestTime := curSR.info.retestTimes.get(0)
if lastRetestTime != time
curSR.info.retestTimes.unshift(time)
else if curSR.info.srType == "Support" and low <= curSR.info.price and close >= curSR.info.price
int lastRetestTime = 0
if curSR.info.retestTimes.size() > 0
lastRetestTime := curSR.info.retestTimes.get(0)
if lastRetestTime != time
curSR.info.retestTimes.unshift(time)
//plotchar(alerts.get("Break") ? high : na, "", "✅", size = size.normal)
//plotchar(alerts.get("Retest") ? high : na, "", "❤️", size = size.normal, location = location.belowbar)
alertcondition(alerts.get("Retest"), "New Retest", "")
alertcondition(alerts.get("Break"), "New Break", "")
if enableRetestAlerts and alerts.get("Retest")
alert("New Retests Occured.")
if enableBreakAlerts and alerts.get("Break")
alert("New Breaks Occured.")






















