9:15 AM Bullish SetupBAsically it will tell if market open price is greater than 1 % of prev close and also above 20 and 200 SMA
Penunjuk dan strategi
SMC Structure Levels – BOS & CHoCH for XAUUSDThis is a custom-made TradingView indicator designed to visualize high-confidence market structure shifts based on Smart Money Concepts (SMC), focusing on Break of Structure (BOS) and Change of Character (CHoCH) points. The tool is optimized for XAUUSD but works across all major forex, crypto, and index markets.
It identifies key pivot points and filters them using both price distance and bar spacing, helping traders focus only on meaningful structural changes — not noisy signals. This makes it ideal for traders looking to track institutional-style price behavior with clarity.
🔑 Key Features:
Clean BOS & CHoCH Labels: The indicator plots “BOS” above candles when a structural break occurs in the trend direction, and “CHoCH” below candles when early signs of a reversal appear.
Spaced Signals: Only plots structure shifts that meet both time and price distance filters, preventing clutter and overplotting on the chart.
Swing-Based Logic: Built on pivot high/low analysis with adjustable sensitivity, ensuring flexible structure detection on any timeframe.
Fully Customizable: Modify:
Swing Sensitivity (number of bars before/after pivot)
Minimum bar spacing between BOS/CHoCH signals
Minimum price movement (in pips) between labels
Toggle BOS or CHoCH visibility individually
No Repainting: Once confirmed, signals remain fixed on the chart for historical review.
Zero Clutter: Unlike typical SMC tools that flood the chart, this indicator prioritizes clarity and signal quality.
🧠 What is BOS & CHoCH?
Break of Structure (BOS): Indicates continuation of the current market trend.
Change of Character (CHoCH): Suggests a potential early trend reversal or shift in momentum.
These tools are often used by Smart Money traders to mark significant turning points and trend confirmations.
⚙️ Use Cases:
Structural tracking in Smart Money Concepts (SMC)
Identifying trend continuation or early reversal
XAUUSD (Gold) swing and intraday analysis
Support for Order Blocks, Liquidity Grabs, and FVG confluence
Backtesting market structure break behavior
📌 Best Pairs:
XAUUSD (Gold)
Any asset where structure-based analysis is relevant
📎 Release Notes:
v1.0 – Initial release of BOS/CHoCH structure tool with spacing and pip-distance filtering for XAUUSD analysis.
⚠️ Disclaimer:
This indicator is built for educational and analytical purposes only. It does not constitute trading advice or guarantee profitable signals. Always use with a proper risk management strategy and confirm signals with additional confluence.
✅ This matches the exact quality and structure of the description you showed earlier.
Just copy this into your TradingView script page when publishing. If you'd like the next version with Order Blocks or FVG, say the word.
xGhozt Percentage Price ChangeDisplays two dynamic horizontal lines at ±X% from the current price, with customizable colors and labels. Useful for visualizing profit targets, stop loss zones, or expected volatility ranges. Labels show both the percentage and the corresponding price.
Smart MTF S/R Levels[BullByte]
Smart MTF S/R Levels
Introduction & Motivation
Support and Resistance (S/R) levels are the backbone of technical analysis. However, most traders face two major challenges:
Manual S/R Marking: Drawing S/R levels by hand is time-consuming, subjective, and often inconsistent.
Multi-Timeframe Blind Spots: Key S/R levels from higher or lower timeframes are often missed, leading to surprise reversals or missed opportunities.
Smart MTF S/R Levels was created to solve these problems. It is a fully automated, multi-timeframe, multi-method S/R detection and visualization tool, designed to give traders a complete, objective, and actionable view of the market’s most important price zones.
What Makes This Indicator Unique?
Multi-Timeframe Analysis: Simultaneously analyzes up to three user-selected timeframes, ensuring you never miss a critical S/R level from any timeframe.
Multi-Method Confluence: Integrates several respected S/R detection methods—Swings, Pivots, Fibonacci, Order Blocks, and Volume Profile—into a single, unified system.
Zone Clustering: Automatically merges nearby levels into “zones” to reduce clutter and highlight areas of true market consensus.
Confluence Scoring: Each zone is scored by the number of methods and timeframes in agreement, helping you instantly spot the most significant S/R areas.
Reaction Counting: Tracks how many times price has recently interacted with each zone, providing a real-world measure of its importance.
Customizable Dashboard: A real-time, on-chart table summarizes all key S/R zones, their origins, confluence, and proximity to price.
Smart Alerts: Get notified when price approaches high-confluence zones, so you never miss a critical trading opportunity.
Why Should a Trader Use This?
Objectivity: Removes subjectivity from S/R analysis by using algorithmic detection and clustering.
Efficiency: Saves hours of manual charting and reduces analysis fatigue.
Comprehensiveness: Ensures you are always aware of the most relevant S/R zones, regardless of your trading timeframe.
Actionability: The dashboard and alerts make it easy to act on the most important levels, improving trade timing and risk management.
Adaptability: Works for all asset classes (stocks, forex, crypto, futures) and all trading styles (scalping, swing, position).
The Gap This Indicator Fills
Most S/R indicators focus on a single method or timeframe, leading to incomplete analysis. Manual S/R marking is error-prone and inconsistent. This indicator fills the gap by:
Automating S/R detection across multiple timeframes and methods
Objectively scoring and ranking zones by confluence and reaction
Presenting all this information in a clear, actionable dashboard
How Does It Work? (Technical Logic)
1. Level Detection
For each selected timeframe, the script detects S/R levels using:
SW (Swing High/Low): Recent price pivots where reversals occurred.
Pivot: Classic floor trader pivots (P, S1, R1).
Fib (Fibonacci): Key retracement levels (0.236, 0.382, 0.5, 0.618, 0.786) over the last 50 bars.
Bull OB / Bear OB: Institutional price zones based on bullish/bearish engulfing patterns.
VWAP / POC: Volume Weighted Average Price and Point of Control over the last 50 bars.
2. Level Clustering
Levels within a user-defined % distance are merged into a single “zone.”
Each zone records which methods and timeframes contributed to it.
3. Confluence & Reaction Scoring
Confluence: The number of unique methods/timeframes in agreement for a zone.
Reactions: The number of times price has touched or reversed at the zone in the recent past (user-defined lookback).
4. Filtering & Sorting
Only zones within a user-defined % of the current price are shown (to focus on actionable areas).
Zones can be sorted by confluence, reaction count, or proximity to price.
5. Visualization
Zones: Shaded boxes on the chart (green for support, red for resistance, blue for mixed).
Lines: Mark the exact level of each zone.
Labels: Show level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Lists all nearby zones with full details.
6. Alerts
Optional alerts trigger when price approaches a zone with confluence above a user-set threshold.
Inputs & Customization (Explained for All Users)
Show Timeframe 1/2/3: Enable/disable analysis for each timeframe (e.g., 15m, 30m, 1h).
Show Swings/Pivots/Fibonacci/Order Blocks/Volume Profile: Select which S/R methods to include.
Show levels within X% of price: Only display zones near the current price (default: 3%).
How many swing highs/lows to show: Number of recent swings to include (default: 3).
Cluster levels within X%: Merge levels close together into a single zone (default: 0.25%).
Show Top N Zones: Limit the number of zones displayed (default: 8).
Bars to check for reactions: How far back to count price reactions (default: 100).
Sort Zones By: Choose how to rank zones in the dashboard (Confluence, Reactions, Distance).
Alert if Confluence >=: Set the minimum confluence score for alerts (default: 3).
Zone Box Width/Line Length/Label Offset: Control the appearance of zones and labels.
Dashboard Size/Location: Customize the dashboard table.
How to Read the Output
Shaded Boxes: Represent S/R zones. The color indicates type (green = support, red = resistance, blue = mixed).
Lines: Mark the precise level of each zone.
Labels: Show the level, methods by timeframe (e.g., 15m (3 SW), 30m (1 VWAP)), and (if applicable) Fibonacci ratios.
Dashboard Table: Columns include:
Level: Price of the zone
Methods (by TF): Which S/R methods and how many, per timeframe (see abbreviation key below)
Type: Support, Resistance, or Mixed
Confl.: Confluence score (higher = more significant)
React.: Number of recent price reactions
Dist %: Distance from current price (in %)
Abbreviations Used
SW = Swing High/Low (recent price pivots where reversals occurred)
Fib = Fibonacci Level (key retracement levels such as 0.236, 0.382, 0.5, 0.618, 0.786)
VWAP = Volume Weighted Average Price (price level weighted by volume)
POC = Point of Control (price level with the highest traded volume)
Bull OB = Bullish Order Block (institutional support zone from bullish price action)
Bear OB = Bearish Order Block (institutional resistance zone from bearish price action)
Pivot = Pivot Point (classic floor trader pivots: P, S1, R1)
These abbreviations appear in the dashboard and chart labels for clarity.
Example: How to Read the Dashboard and Labels (from the chart above)
Suppose you are trading BTCUSDT on a 15-minute chart. The dashboard at the top right shows several S/R zones, each with a breakdown of which timeframes and methods contributed to their detection:
Resistance zone at 119257.11:
The dashboard shows:
5m (1 SW), 15m (2 SW), 1h (3 SW)
This means the level 119257.11 was identified as a resistance zone by one swing high (SW) on the 5-minute timeframe, two swing highs on the 15-minute timeframe, and three swing highs on the 1-hour timeframe. The confluence score is 6 (total number of method/timeframe hits), and there has been 1 recent price reaction at this level. This suggests 119257.11 is a strong resistance zone, confirmed by multiple swing highs across all selected timeframes.
Mixed zone at 118767.97:
The dashboard shows:
5m (2 SW), 15m (2 SW)
This means the level 118767.97 was identified by two swing points on both the 5-minute and 15-minute timeframes. The confluence score is 4, and there have been 19 recent price reactions at this level, indicating it is a highly reactive zone.
Support zone at 117411.35:
The dashboard shows:
5m (2 SW), 1h (2 SW)
This means the level 117411.35 was identified as a support zone by two swing lows on the 5-minute timeframe and two swing lows on the 1-hour timeframe. The confluence score is 4, and there have been 2 recent price reactions at this level.
Mixed zone at 118291.45:
The dashboard shows:
15m (1 SW, 1 VWAP), 5m (1 VWAP), 1h (1 VWAP)
This means the level 118291.45 was identified by a swing and VWAP on the 15-minute timeframe, and by VWAP on both the 5-minute and 1-hour timeframes. The confluence score is 4, and there have been 12 recent price reactions at this level.
Support zone at 117103.10:
The dashboard shows:
15m (1 SW), 1h (1 SW)
This means the level 117103.10 was identified by a single swing low on both the 15-minute and 1-hour timeframes. The confluence score is 2, and there have been no recent price reactions at this level.
Resistance zone at 117899.33:
The dashboard shows:
5m (1 SW)
This means the level 117899.33 was identified by a single swing high on the 5-minute timeframe. The confluence score is 1, and there have been no recent price reactions at this level.
How to use this:
Zones with higher confluence (more methods and timeframes in agreement) and more recent reactions are generally more significant. For example, the resistance at 119257.11 is much stronger than the resistance at 117899.33, and the mixed zone at 118767.97 has shown the most recent price reactions, making it a key area to watch for potential reversals or breakouts.
Tip:
“SW” stands for Swing High/Low, and “VWAP” stands for Volume Weighted Average Price.
The format 15m (2 SW) means two swing points were detected on the 15-minute timeframe.
Best Practices & Recommendations
Use with Other Tools: This indicator is most powerful when combined with your own price action analysis and risk management.
Adjust Settings: Experiment with timeframes, clustering, and methods to suit your trading style and the asset’s volatility.
Watch for High Confluence: Zones with higher confluence and more reactions are generally more significant.
Limitations
No Future Prediction: The indicator does not predict future price movement; it highlights areas where price is statistically more likely to react.
Not a Standalone System: Should be used as part of a broader trading plan.
Historical Data: Reaction counts are based on historical price action and may not always repeat.
Disclaimer
This indicator is a technical analysis tool and does not constitute financial advice or a recommendation to buy or sell any asset. Trading involves risk, and past performance is not indicative of future results. Always use proper risk management and consult a financial advisor if needed.
Call and Put signals[vivekm8955]🔍 Strategy Overview
This adaptive strategy generates clear CALL (Buy) and PUT (Sell) signals by combining:
✅ Dual EMA structure
✅ Heikin Ashi trend confirmation
✅ Smoothed Stochastic Momentum Index (SMI)
✅ Take Profit (TP) signals via momentum reversal
✅ Dynamic support from average price action
The goal: Give retail traders institutional-grade signals with clarity, without lag.
📊 Trade Entry Logic
🔼 CALL Signal (Buy):
Fast EMA < Avg Price
Slow EMA < Avg Price
Slow EMA < Fast EMA
Confirmed by crossover
➡️ This implies price has dipped below value zones and is showing strength.
🔽 PUT Signal (Sell):
Fast EMA > Avg Price
Slow EMA > Avg Price
Slow EMA > Fast EMA
Confirmed by crossover
➡️ Indicates price is elevated and showing weakness.
🏁 Exit Logic (Take Profit)
✅ TP Buy Signal: SMI crosses below 0 → Weakening upside
✅ TP Sell Signal: SMI crosses above 0 → Weakening downside
These act as exit cues or partial booking areas.
📌 Visualization & Alerts
🔼 CALL Signal → Green label below candle
🔽 PUT Signal → Red label above candle
✅ TP Signal → Small label (TP) showing ideal exit points
🔔 Real-time alerts enabled (CALL, PUT, TP alerts)
Background color changes based on EMA crossovers for added confirmation.
🕯️ Additional Filters Used
Heikin Ashi Candles: For smoothing out noise and validating trends.
SMI (Double EMA): A momentum indicator better suited for trending markets.
📈 Dashboard Included
Displays current signal, SMI value, and TP status in real-time
Color-coded for easy interpretation
Auto-adaptive table (fixes out-of-bound issues)
📎 Ideal Timeframes
Timeframe Use Case
5m – 15m Intraday Scalping
1h – 4h Swing Trading
1D Positional Plays
🚦 Suggested Usage
Step Action
1️⃣ Confirm signal (CALL or PUT) on 1TF and 1 higher TF
2️⃣ Enter near signal candle close
3️⃣ Exit on TP label OR SMI reversal
4️⃣ Avoid entry during high volatility news events
⚠️ Disclaimer – Use with Caution!
⚠️ This script is for educational & analytical purposes only.
It does NOT guarantee profits, nor is it a financial advisory tool.
Always use risk management: Stop-losses, position sizing, capital preservation.
Do not trade blindly. Backtest it across market conditions.
Past performance is not indicative of future results.
Consult a SEBI-registered advisor for real trading decisions.
🔍 Candle Scanner (75m/D/W/M) + Volume + EMA + Trend//@version=5
indicator("🔍 Candle Scanner (75m/D/W/M) + Volume + EMA + Trend", overlay=true)
is75min = timeframe.period == "75"
// Time Slot Logic for 75-min only
startTime = timestamp("Asia/Kolkata", year, month, dayofmonth, 9, 15)
candle75 = math.floor((time - startTime) / (75 * 60 * 1000)) + 1
candleNo = is75min and candle75 >= 1 and candle75 <= 5 ? candle75 : na
getTimeSlot(n) =>
slot = ""
if n == 1
slot := "09:15–10:30"
else if n == 2
slot := "10:30–11:45"
else if n == 3
slot := "11:45–13:00"
else if n == 4
slot := "13:00–14:15"
else if n == 5
slot := "14:15–15:30"
slot
// EMA Filters
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
aboveEMA20 = close > ema20
aboveEMA50 = close > ema50
// Volume Strength
avgVol = ta.sma(volume, 20)
volStrength = volume > avgVol ? "High Volume" : "Low Volume"
// Candle Body Strength
bodySize = math.abs(close - open)
fullSize = high - low
bodyStrength = fullSize > 0 ? (bodySize / fullSize > 0.6 ? "Strong Body" : "Small Body") : "Small Body"
// Prior Trend
priorTrend = close < close and close < close ? "Downtrend" :
close > close and close > close ? "Uptrend" : "Sideways"
// Patterns
bullishEngulfing = close > open and close < open and close > open and open < close
bearishEngulfing = close < open and close > open and close < open and open > close
hammer = (high - low) > 3 * bodySize and (close - low) / (0.001 + high - low) > 0.6 and (open - low) / (0.001 + high - low) > 0.6
shootingStar = (high - low) > 3 * bodySize and (high - close) / (0.001 + high - low) > 0.6 and (high - open) / (0.001 + high - low) > 0.6
doji = bodySize <= fullSize * 0.1
morningStar = close < open and bodySize < (high - low ) * 0.3 and close > (open + close ) / 2
eveningStar = close > open and bodySize < (high - low ) * 0.3 and close < (open + close ) / 2
// Pattern Selection
pattern = ""
sentiment = ""
colorBox = color.gray
yOffset = 15
if bullishEngulfing
pattern := "Bull Engulfing"
sentiment := "Bullish"
colorBox := color.green
yOffset := -15
else if bearishEngulfing
pattern := "Bear Engulfing"
sentiment := "Bearish"
colorBox := color.red
yOffset := 15
else if hammer
pattern := "Hammer"
sentiment := "Bullish"
colorBox := color.green
yOffset := -15
else if shootingStar
pattern := "Shooting Star"
sentiment := "Bearish"
colorBox := color.red
yOffset := 15
else if doji
pattern := "Doji"
sentiment := "Neutral"
colorBox := color.gray
yOffset := 15
else if morningStar
pattern := "Morning Star"
sentiment := "Bullish"
colorBox := color.green
yOffset := -15
else if eveningStar
pattern := "Evening Star"
sentiment := "Bearish"
colorBox := color.red
yOffset := 15
timeSlot = is75min and not na(candleNo) ? getTimeSlot(candleNo) : ""
info = pattern != "" ? "🕒 " + (is75min ? timeSlot + " | " : "") + pattern + " (" + sentiment + ") | " + volStrength + " | " + bodyStrength + " | Trend: " + priorTrend + " | EMA20: " + (aboveEMA20 ? "Above" : "Below") + " | EMA50: " + (aboveEMA50 ? "Above" : "Below") : ""
// Label Draw
var label lb = na
if info != ""
lb := label.new(bar_index, high + yOffset, text=info, style=label.style_label_down, textcolor=color.white, size=size.small, color=colorBox)
label.delete(lb )
// Smart Alert
validAlert = pattern != "" and (volStrength == "High Volume") and bodyStrength == "Strong Body" and (aboveEMA20 or aboveEMA50)
alertcondition(validAlert, title="📢 Smart Candle Alert", message="Smart Alert: Candle with Volume + EMA + Trend + Pattern Filtered")
CM Donchian Channel Pro Mod V3// ==============================================================================
// CM Donchian Channel Pro Mod V3
//
// 🔹 Original Author: ChrisMoody
// 🔹 Modified By: Markking77
// 🔹 License: Mozilla Public License 2.0
// 🔹 License Link: mozilla.org
//
// ------------------------------------------------------------------------------
// Description:
// This is an enhanced version of the original Donchian Channel by ChrisMoody,
// modified under the MPL 2.0 license by Markking77.
//
// This indicator plots upper and lower Donchian Channels with added options
// for mid-line, breakout highlights, arrows, and channel fill.
// It helps traders identify breakout zones and trend reversals.
//
// ------------------------------------------------------------------------------
// ✨ Features:
// ✅ Adjustable Upper & Lower Channel Lengths
// ✅ Optional Mid-Line for trend confirmation
// ✅ Highlight breakout bars on channel breaks
// ✅ Optional breakout entry arrows
// ✅ Channel fill for better zone visibility
// ✅ Built-in alerts for breakout above/below
//
// ------------------------------------------------------------------------------
// Disclaimer:
// This Pine Script® code is for educational purposes only and does not provide
// financial advice. Use it at your own risk. Always manage your risk properly.
//
// ------------------------------------------------------------------------------
// Tip:
// You can adjust lengths, colors and display options to suit your trading style.
//
// ==============================================================================
Multi-Timeframe RSI Table# Multi-Timeframe RSI Table
## Overview
This indicator displays RSI (Relative Strength Index) values across multiple timeframes in a convenient table format, allowing traders to quickly assess momentum conditions across different time horizons without switching charts.
## Features
• *7 Timeframes*: 5m, 15m, 1h, 4h, Daily, Weekly, Monthly
• *Color-coded RSI Values*:
- 🔴 Red: Overbought (≥70)
- 🟢 Green: Oversold (≤30)
- 🟠 Orange: Bullish momentum (50-70)
- 🟡 Yellow: Bearish momentum (30-50)
• *Clean Table Display*: Positioned in top-right corner for easy viewing
• *Customizable Settings*: Adjustable RSI length and overbought/oversold levels
## How to Use
1. Add the indicator to your chart
2. The table automatically displays current RSI values for all timeframes
3. Use color coding to quickly identify:
- *Buying opportunities* when multiple timeframes show green (oversold)
- *Selling opportunities* when multiple timeframes show red (overbought)
- *Trend alignment* when higher timeframes match your trading direction
## Trading Applications
• *Multi-timeframe analysis*: Confirm signals across different time horizons
• *Entry timing*: Find optimal entry points when shorter timeframes align with longer trends
• *Risk management*: Avoid trades when higher timeframes show opposite momentum
• *Swing trading*: Identify when daily/weekly RSI supports your position direction
## Settings
• *RSI Length*: Default 14 periods (standard RSI calculation)
• *Overbought Level*: Default 70 (customizable)
• *Oversold Level*: Default 30 (customizable)
## Best Practices
• Look for alignment across multiple timeframes for stronger signals
• Use higher timeframe RSI to determine overall trend direction
• Combine with price action and support/resistance levels
• Avoid trading against strong momentum shown in higher timeframes
Perfect for day traders, swing traders, and anyone who needs quick multi-timeframe RSI analysis without constantly switching chart timeframes.
EMAs + VWAP + SMADaytrade Dream:
5 EMAs
1SMA
VWAP
This script is used to plot on the chart:
5 EMAS:
10,20,50,100 and 200
VWAP:
White Vwap line
1 SMA:
200 SMA
EMA Ribbon with TableThis indicator plots multiple EMAs (5, 8, 13, 21, 34, 55, 89, 144, 233, 377) based on Fibonacci levels. Each line has a distinct color, and a clean table displays their real-time values. Great for spotting trend direction, crossovers, and momentum at a glance.
RSI with Williams %R Coloringsimple fusion of RSI to seek divergence and williams % R coloring to see overbought/oversold price.
not my own work, just merely took two standard indicators and infused them.
(EMA/KAMA/Kijun)EMA/KAMA/Kijun with background is a versatile trend-detection indicator that allows users to choose between three types of moving averages:
EMA (Exponential Moving Average)
KAMA (Kaufman Adaptive Moving Average)
Kijun-sen (from the Ichimoku system)
The indicator automatically detects trend shifts based on candlestick interactions with the selected MA line, and visually reflects the current trend direction using dynamic background coloring. Its goal is to help traders quickly interpret trend strength and direction—without relying on multiple indicators.
How it works
The indicator follows this logic to detect bullish and bearish conditions:
Bullish signal (green trend):
When the candle closes above the selected MA and both the open and close are above the MA, a bullish trend is signaled and the chart background turns green.
Bearish signal (red trend):
When the candle closes below the MA and both the open and close are below it, a bearish trend is triggered and the background turns red.
The background color remains until an opposite signal appears, ensuring a consistent visual representation of the current trend phase.
What it does and why it’s useful
Unlike standard moving average indicators that only plot lines, KINSKI Flexi Trend MA provides:
Flexibility to switch between different MA types (EMA, KAMA, or Kijun), allowing users to adapt it to various market environments.
Visual context via background color that enhances clarity—even when scanning multiple charts or working across timeframes.
KAMA uses fixed internal parameters (fast=2, slow=30) to provide a responsive, noise-filtering MA line.
Kijun-sen is calculated as the midpoint between the highest high and lowest low over a user-defined period, similar to its role in Ichimoku.
This combination of visual clarity and analytical flexibility makes the indicator highly suitable for:
Trend-following strategies
Breakout confirmation
Scalping (on lower timeframes)
Swing trading
How to use it
Select the MA type from the dropdown:
EMA (standard exponential moving average)
KAMA (adaptive smoothing)
Kijun-sen (Ichimoku mid-line)
Adjust the MA length depending on your trading style or timeframe:
e.g., EMA 50 for medium-term trend, Kijun 9 for faster signals.
Observe the background color:
Green → bullish trend in progress.
Red → bearish trend in progress.
Background color change may serve as an entry or exit confirmation.
Volume Labels BABYBOTVolume labels babybot spwan for use with 1 min breakout volume candles OKLO NFLX ASML HIMS
High-Mid-Low 200 Day and Buy Levels and labels
Volume-Scaled PVR with Dynamic Buy Levels (ETF investing Visual Aid)
Description
This indicator is designed primarily for exchange-traded fund (ETF) traders and investors who seek a broad, visual tool to assist in identifying favorable buy and sell regions based on key price levels in relation to High and Lows of the ETF.
Key Features
Lookback Reference Levels:
Automatically identifies and plots key price levels within a user-defined lookback period:
Period High: Highest price in the lookback window.
Period Low: Lowest price in the lookback window.
Mid-Line: Midpoint between the period high and low.
Detailed Percentage Labels:
Displays percentage distances from the current price to the period high, period low, and their respective most recent occurrences, along with bar-counts for context, allowing quick assessment of price positioning relative to significant recent highs and lows.
Dynamic Buy-Level Lines for Multiple ETFs:
Supports a configurable list of ETF tickers with predefined buy price levels. When charting one of these ETFs, a horizontal line and label mark the specified buy price level, serving as a visual reminder or guide for entries.
Lightweight and Visual:
Designed to overlay directly on price charts with minimal clutter, providing clean and insightful visual references to inform buy-low and sell-high decisions.
How It Helps You
Offers broad, contextual cues to guide "buy low, sell high" strategies on ETFs by visualizing:
Where price currently stands within recent high/low ranges.
Specific buy price levels personalized for tracked ETFs as a check before committing.
Flexible lookback parameters allow tuning sensitivity to your preferred timeframes and trading style.
Usage Notes
Customize the list of ETFs and associated buy prices within the script via arrays to suit your watchlist. (Make a working copy to update Arrays, ensure pair matching).
Best applied on daily or higher timeframes for clearer trend dynamics.
This is a visual aid and should be combined with your own analysis and risk management techniques and other standard/established indicators.
Price discovery indicatorGives an ability to show places where price drops more than n percent in x candles. Use cases: see dips of btc, get a notification when a stablecoin goes crazy, validate that webhook integration works as expected using keep alive messages.
Features included:
- Price dip alerts. Create an alert that sends a notification every time price dips more than expected (yellow zone at the chart).
- Percentage drop threshold. Define how many percents price should drop to trigger an alert and to show a yellow zone.
- Candles length threshold. Define within how many candles this drop should happen. If price drops in 2% within 10 candles, but this option is 5 - the alert will not be triggered because price dropped not as fast as expected.
- Templates of messages on price dip and price recovery. Set your message that should be triggered with alert.
- Keep alive feature. Set to trigger keep alive alerts every period. Can be helpful if you don't check charts often - this feature will trigger alert every period with "hey, the integration is alive" message. I use it to validate on weekly basis that tradingview triggers my alerts (example: you created an alert with expiration date and forgot to recreate it), that webhook integration receives these alerts, that the integration sends these alerts to telegram. Example: I expect to see this message every monday's morning, otherwise something is broken and I have to check what is wrong with my alerting system.
EMA Strength V2This indicator plots a single Exponential Moving Average (EMA) line whose color changes based on a comparison with a second EMA. The user can customize both EMA lengths and choose separate price sources (like close, hlc3, etc.) for each EMA.
The line turns green when EMA 1 is greater than EMA 2, indicating bullish momentum, and red when EMA 1 is less than EMA 2, signaling potential bearishness. This dynamic coloring helps traders visually track trend strength and possible reversals.
Stock Table📊 Professional Stock Market Table - Pine Script v5
🎯 Overview
This is a comprehensive, real-time stock monitoring table designed for TradingView that transforms your chart into a professional trading dashboard. Built with Pine Script v5, it displays live market data for up to 10 customizable securities in an organized, color-coded table format.
________________________________________
🚀 Core Capabilities
📈 Real-Time Data Processing
• Live Price Feeds: Direct integration with TradingView's request.security() function
• Multi-Timeframe Support: Adapts to any chart timeframe automatically
• Instant Updates: Refreshes on every bar close with current market data
• Cross-Market Coverage: Supports stocks, forex, crypto, indices, commodities
• Data Accuracy: Uses lookahead=barmerge.lookahead_off for historical accuracy
🎨 Advanced Visual Customization
• 9 Strategic Positions: Place anywhere on chart (all corners, centers, middle positions)
• Dynamic Layout: 1-5 column configurations with auto-calculating rows
• 4 Size Options: Tiny, Small, Normal, Large text sizing
• Professional Color Scheme: Customizable background, headers, text colors
• Smart Color Coding: Green/red price change indicators with neutral states
📊 Intelligent Table Structure
• Auto-Responsive Design: Table dimensions adjust based on column count
• Professional Headers: Optional Symbol | Price | Change column headers
• Compact Data Display: Symbol name, current price, absolute & percentage change
• Clean Formatting: Precise decimal places, proper alignment, readable layout
• Error Handling: Handles null data, division by zero, invalid symbols gracefully
________________________________________
🔧 Technical Specifications
Data Architecture
- Stock Data Arrays: Dynamic string and float arrays for efficient data management
- Security Requests: Individual request.security() calls for each symbol
- Real-time Processing: Uses barstate.islast for optimal performance
- Memory Management: Efficient array operations with proper cleanup
Performance Optimizations
• Conditional Rendering: Only processes data on the latest bar
• Efficient Memory Usage: Clears and rebuilds table data on each update
• Minimal Resource Impact: Lightweight code structure with no unnecessary loops
• Fast Execution: Direct data access without complex calculations
Symbol Processing
• Exchange Extraction: Automatically removes exchange prefixes (NASDAQ:, NYSE:)
• Clean Display Names: Shows only ticker symbols (AAPL, GOOGL, etc.)
• Flexible Input: Accepts any TradingView-supported symbol format
• Error Resilience: Continues operation even if some symbols fail
________________________________________
🎛️ User Controls & Settings
Securities Configuration
• 10 Customizable Slots: Input any combination of stocks, ETFs, crypto, forex
• Global Market Support: Works with any TradingView-supported instrument
• Easy Symbol Changes: Simple dropdown interface for quick modifications
• Default Professional Portfolio: Pre-loaded with major tech and financial stocks
Layout Customization
Position Options:
├── Top: Left, Center, Right
├── Middle: Left, Center, Right
└── Bottom: Left, Center, Right
Column Configurations:
├── 1 Column: 10 rows (vertical list)
├── 2 Columns: 5 rows (balanced view)
├── 3 Columns: 4 rows (compact display)
├── 4 Columns: 3 rows (wide format)
└── 5 Columns: 2 rows (ultra-wide)
Visual Customization
• Background Control: Transparency settings (0-90%)
• Header Styling: Toggle headers with custom colors
• Text Appearance: Four size options with color controls
• Change Indicators: Separate colors for up/down movements
• Professional Theming: Dark theme optimized for trading environments
________________________________________
💼 Professional Trading Advantages
Market Monitoring
✅ Multi-Asset Oversight: Monitor diverse portfolios in one view
✅ Quick Performance Scan: Instant visual identification of winners/losers
✅ Real-Time Alerts: Color changes provide immediate market feedback
✅ Space Efficient: Minimal chart real estate usage
✅ Always Visible: Persistent display regardless of chart zooming
Decision Making Support
✅ Comparative Analysis: Side-by-side performance comparison
✅ Trend Recognition: Immediate color-coded trend identification
✅ Portfolio Balance: Quick assessment of position performance
✅ Market Correlation: Observe sector movements simultaneously
✅ Risk Management: Rapid identification of adverse movements
Workflow Integration
✅ Chart Integration: Seamlessly blends with existing chart analysis
✅ Non-Intrusive: Doesn't interfere with technical analysis
✅ Customizable Placement: Adapts to any chart layout preference
✅ Professional Appearance: Suitable for client presentations
✅ Multi-Monitor Setup: Works perfectly on secondary displays
________________________________________
🔬 Technical Implementation Details
Pine Script Architecture
Data Flow:
Input Symbols → Security Requests → Data Processing → Table Creation → Visual Rendering
Key Functions:
├── get_name(): Symbol parsing and cleaning
├── get_table_position(): Dynamic positioning system
├── get_table_size(): Responsive sizing control
├── Array Management: Efficient data storage and retrieval
└── Table Operations: Creation, clearing, and population
Security & Reliability
• Error Handling: Comprehensive null checks and data validation
• Fallback Systems: Graceful degradation for missing data
• Performance Monitoring: Optimized for minimal CPU usage
• Memory Safety: Proper array cleanup and resource management
• Version Compatibility: Built for Pine Script v5 standards
Advanced Features
• Dynamic Calculations: Real-time percentage and absolute change computation
• Conditional Formatting: Context-aware color application
• Responsive Design: Auto-adjusting layout based on configuration
• Professional Typography: Optimized text sizing and spacing
• Cross-Platform Compatibility: Works on all TradingView platforms
________________________________________
📱 Use Cases & Applications
Day Trading
• Monitor watchlist stocks during active trading sessions
• Quick identification of breakout opportunities
• Real-time portfolio performance tracking
• Sector rotation analysis
Portfolio Management
• Long-term investment monitoring
• Diversification balance assessment
• Performance comparison across holdings
• Risk exposure evaluation
Market Analysis
• Sector strength comparison
• Market correlation studies
• Index component analysis
• Cross-asset performance review
Professional Trading
• Client portfolio dashboards
• Trading room displays
• Educational presentations
• Research and analysis support
________________________________________
🎯 Competitive Advantages
Versus Standard Watchlists
✅ Visual Integration: Embedded directly in charts
✅ Customizable Layout: Flexible positioning and sizing
✅ Professional Appearance: Trading-room quality display
✅ Real-Time Updates: Immediate price and change updates
Versus External Tools
✅ No Additional Software: Built into TradingView platform
✅ Synchronized Data: Uses same data source as charts
✅ Customizable Symbols: Not limited to pre-defined lists
✅ Cost Effective: No additional subscription fees
Versus Basic Pine Scripts
✅ Professional Quality: Production-ready code standards
✅ Error Resilience: Comprehensive error handling
✅ User-Friendly: Intuitive settings and controls
✅ Performance Optimized: Minimal resource consumption
________________________________________
🔧 Installation & Setup
Quick Start
1. Copy Pine Script code to TradingView Pine Editor
2. Add to chart - table appears with default settings
3. Customize symbols through indicator settings
4. Adjust position and appearance as needed
Optimization Tips
• Position table to avoid interfering with chart analysis
• Use 2-3 columns for optimal readability
• Choose contrasting colors for better visibility
• Regular symbol updates for current market focus
________________________________________
This Professional Stock Market Table represents a complete solution for serious traders and investors who demand real-time, customizable, and visually integrated market monitoring directly within their chart analysis workflow. 📊🚀
EMA StrengthThis indicator plots a single Exponential Moving Average (EMA) line whose color changes based on a comparison with a second EMA. The user can customize both EMA lengths and choose separate price sources (like close, hlc3, etc.) for each EMA.
The line turns green when EMA 1 is greater than EMA 2, indicating bullish momentum, and red when EMA 1 is less than EMA 2, signaling potential bearishness. This dynamic coloring helps traders visually track trend strength and possible reversals.
Confirmed Entry Grid Pro//@version=5
indicator("Confirmed Entry Grid Pro", overlay=true)
// === المتوسطات ===
ma9 = ta.sma(close, 9)
ma21 = ta.sma(close, 21)
ma200 = ta.sma(close, 200)
// === الاتجاه ===
trendBull = close > ma200
trendBear = close < ma200
// === الزخم ===
rsi = ta.rsi(close, 14)
rsiBull = rsi > 50
rsiBear = rsi < 50
// === الحجم ===
volMA = ta.sma(volume, 20)
volHigh = volume > volMA
// === شموع ابتلاعية ===
bullEngulf = close > open and open < close and close > open
bearEngulf = close < open and open > close and close < open
// === بولنجر باند ===
basis = ta.sma(close, 20)
dev = ta.stdev(close, 20)
upper = basis + 2 * dev
lower = basis - 2 * dev
bbBreakUp = close > upper
bbBreakDown = close < lower
// === دعم / مقاومة ديناميكية ===
support = ta.lowest(low, 20)
resistance = ta.highest(high, 20)
nearSupport = math.abs(close - support) / close < 0.015
nearResistance = math.abs(close - resistance) / close < 0.015
// === تقاطع المتوسطات ===
crossUp = ta.crossover(ma9, ma21)
crossDown = ta.crossunder(ma9, ma21)
// === ATR ===
atr = ta.atr(14)
atrActive = atr > ta.sma(atr, 14)
// === SMC: BOS + CHOCH ===
bosUp = high > high and low > low
bosDown = low < low and high < high
chochUp = close > high and close < high
chochDown = close < low and close > low
smcBuy = bosUp and chochUp
smcSell = bosDown and chochDown
// === مناطق السيولة ===
liqHigh = ta.highest(high, 30)
liqLow = ta.lowest(low, 30)
liquidityBuyZone = close < liqLow
liquiditySellZone = close > liqHigh
// === حساب النقاط لكل صفقة ===
buyScore = (trendBull ? 1 : 0) + (rsiBull ? 1 : 0) + (volHigh ? 1 : 0) + (bullEngulf ? 1 : 0) + (smcBuy ? 1 : 0) + (bbBreakUp ? 1 : 0) + (nearSupport ? 1 : 0) + (crossUp ? 1 : 0) + (atrActive ? 1 : 0) + (liquidityBuyZone ? 1 : 0)
sellScore = (trendBear ? 1 : 0) + (rsiBear ? 1 : 0) + (volHigh ? 1 : 0) + (bearEngulf ? 1 : 0) + (smcSell ? 1 : 0) + (bbBreakDown ? 1 : 0) + (nearResistance ? 1 : 0) + (crossDown ? 1 : 0) + (atrActive ? 1 : 0) + (liquiditySellZone ? 1 : 0)
// === شروط الإشارات مع منع التكرار خلال آخر 5 شموع ===
var int lastBuyBar = na
var int lastSellBar = na
canBuy = buyScore >= 5 and (na(lastBuyBar) or bar_index - lastBuyBar > 5)
canSell = sellScore >= 5 and (na(lastSellBar) or bar_index - lastSellBar > 5)
if canBuy
lastBuyBar := bar_index
if canSell
lastSellBar := bar_index
showBuy = canBuy
showSell = canSell
// === طول الخطوط ===
var int lineLen = 5
// === رسم الإشارات ===
plotshape(showBuy, title="BUY", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(showSell, title="SELL", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)
// === خطوط الصفقة ===
var line buyLines = array.new_line(0)
var line sellLines = array.new_line(0)
if (showBuy)
entry = low
label.new(bar_index, entry, "Entry " + str.tostring(entry, format.mintick), style=label.style_label_left, textcolor=color.white, size=size.normal)
tpLevels = array.new_float(5)
array.set(tpLevels, 0, 0.618)
array.set(tpLevels, 1, 1.0)
array.set(tpLevels, 2, 1.272)
array.set(tpLevels, 3, 1.618)
array.set(tpLevels, 4, 2.0)
slLevel = -0.618
for i = 0 to 4
fibLabel = "TP" + str.tostring(i + 1) + " - Fib " + str.tostring(array.get(tpLevels, i))
tp = entry + array.get(tpLevels, i) * atr
line = line.new(bar_index, tp, bar_index + lineLen, tp, color=color.green)
label.new(bar_index + lineLen, tp, fibLabel + " (TP" + str.tostring(i + 1) + ") " + str.tostring(tp, format.mintick), style=label.style_label_right, textcolor=color.lime, size=size.normal)
array.push(buyLines, line)
sl = entry + slLevel * atr
slLine = line.new(bar_index, sl, bar_index + lineLen, sl, color=color.red)
label.new(bar_index + lineLen, sl, "SL " + str.tostring(sl, format.mintick), style=label.style_label_right, textcolor=color.red, size=size.normal)
array.push(buyLines, slLine)
if (showSell)
entry = high
label.new(bar_index, entry, "Entry " + str.tostring(entry, format.mintick), style=label.style_label_left, textcolor=color.white, size=size.normal)
tpLevels = array.new_float(5)
array.set(tpLevels, 0, -0.618)
array.set(tpLevels, 1, -1.0)
array.set(tpLevels, 2, -1.272)
array.set(tpLevels, 3, -1.618)
array.set(tpLevels, 4, -2.0)
slLevel = 0.618
for i = 0 to 4
fibLabel = "TP" + str.tostring(i + 1) + " - Fib " + str.tostring(math.abs(array.get(tpLevels, i)))
tp = entry + array.get(tpLevels, i) * atr
line = line.new(bar_index, tp, bar_index + lineLen, tp, color=color.green)
label.new(bar_index + lineLen, tp, fibLabel + " (TP" + str.tostring(i + 1) + ") " + str.tostring(tp, format.mintick), style=label.style_label_right, textcolor=color.green, size=size.normal)
array.push(sellLines, line)
sl = entry + slLevel * atr
slLine = line.new(bar_index, sl, bar_index + lineLen, sl, color=color.red)
label.new(bar_index + lineLen, sl, "SL " + str.tostring(sl, format.mintick), style=label.style_label_right, textcolor=color.red, size=size.normal)
array.push(sellLines, slLine)
// === متابعة نتائج الصفقة ===
// تحقق نجاح الصفقة (وصل أول TP)
buyHitTP = showBuy and high >= low + 0.618 * atr
sellHitTP = showSell and low <= high - 0.618 * atr
// تحقق فشل الصفقة (ضرب SL)
buyHitSL = showBuy and low <= low - 0.618 * atr
sellHitSL = showSell and high >= high + 0.618 * atr
// رسم الإشارة
plotshape(buyHitTP, title="Buy Success", style=shape.labelup, location=location.abovebar, color=color.green, size=size.small)
plotshape(sellHitTP, title="Sell Success", style=shape.labelup, location=location.abovebar, color=color.green, size=size.small)
plotshape(buyHitSL, title="Buy Failed", style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small)
plotshape(sellHitSL, title="Sell Failed", style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small)
Momentum Candle ProjectionThis indicator projects future price momentum by calculating a directional vector from recent price movements. It uses a custom implementation of the atan2 function to create a vector average of the last N candles and visualizes this projection as a synthetic future candle.
🔍 What It Does:
✅ Tracks recent momentum using geometric vectors from price change.
✅ Projects a synthetic "momentum candle" one bar ahead, showing anticipated direction and magnitude.
✅ Optionally plots a secondary "future candle" based on a smoothed estimate of projected price vs. real current close.
⚙️ Settings:
Vector Lookback (bars): Controls how many bars are used to calculate the momentum vector.
Projection Length Multiplier: Adjusts how far forward the vector is projected based on its strength.
🟢 How To Use:
Use the lime/red projection candle to anticipate short-term directional bias.
Use the orange/maroon future candle to compare projected continuation vs. current closing price.
Spot early reversals, continuation zones, and momentum decay in real-time.
Anomalías en Rendimientos LogarítmicosLogarithmic Returns Anomalies
This indicator detects unusual or extreme movements in the logarithmic returns of price data, helping to identify atypical market events.
It calculates the moving average and standard deviation of logarithmic returns over a configurable period, and visually highlights when the return deviates significantly from the average using thresholds based on multiples of the standard deviation.
Features:
Identifies high and low anomalies in logarithmic returns.
Clear visualization with lines for the mean and upper/lower thresholds.
Circle markers highlight anomalies in a separate pane.
Customizable parameters to adjust indicator sensitivity.
Ideal for quantitative traders and technical analysts looking to spot sharp changes or unusual behavior in financial assets.
Confirmed Entry Grid Pro//@version=5
indicator("Confirmed Entry Grid Pro", overlay=true)
// === المتوسطات ===
ma9 = ta.sma(close, 9)
ma21 = ta.sma(close, 21)
ma200 = ta.sma(close, 200)
// === الاتجاه ===
trendBull = close > ma200
trendBear = close < ma200
// === الزخم ===
rsi = ta.rsi(close, 14)
rsiBull = rsi > 50
rsiBear = rsi < 50
// === الحجم ===
volMA = ta.sma(volume, 20)
volHigh = volume > volMA
// === شموع ابتلاعية ===
bullEngulf = close > open and open < close and close > open
bearEngulf = close < open and open > close and close < open
// === بولنجر باند ===
basis = ta.sma(close, 20)
dev = ta.stdev(close, 20)
upper = basis + 2 * dev
lower = basis - 2 * dev
bbBreakUp = close > upper
bbBreakDown = close < lower
// === دعم / مقاومة ديناميكية ===
support = ta.lowest(low, 20)
resistance = ta.highest(high, 20)
nearSupport = math.abs(close - support) / close < 0.015
nearResistance = math.abs(close - resistance) / close < 0.015
// === تقاطع المتوسطات ===
crossUp = ta.crossover(ma9, ma21)
crossDown = ta.crossunder(ma9, ma21)
// === ATR ===
atr = ta.atr(14)
atrActive = atr > ta.sma(atr, 14)
// === SMC: BOS + CHOCH ===
bosUp = high > high and low > low
bosDown = low < low and high < high
chochUp = close > high and close < high
chochDown = close < low and close > low
smcBuy = bosUp and chochUp
smcSell = bosDown and chochDown
// === مناطق السيولة ===
liqHigh = ta.highest(high, 30)
liqLow = ta.lowest(low, 30)
liquidityBuyZone = close < liqLow
liquiditySellZone = close > liqHigh
// === حساب النقاط لكل صفقة ===
buyScore = (trendBull ? 1 : 0) + (rsiBull ? 1 : 0) + (volHigh ? 1 : 0) + (bullEngulf ? 1 : 0) + (smcBuy ? 1 : 0) + (bbBreakUp ? 1 : 0) + (nearSupport ? 1 : 0) + (crossUp ? 1 : 0) + (atrActive ? 1 : 0) + (liquidityBuyZone ? 1 : 0)
sellScore = (trendBear ? 1 : 0) + (rsiBear ? 1 : 0) + (volHigh ? 1 : 0) + (bearEngulf ? 1 : 0) + (smcSell ? 1 : 0) + (bbBreakDown ? 1 : 0) + (nearResistance ? 1 : 0) + (crossDown ? 1 : 0) + (atrActive ? 1 : 0) + (liquiditySellZone ? 1 : 0)
// === شروط الإشارات مع منع التكرار خلال آخر 5 شموع ===
var int lastBuyBar = na
var int lastSellBar = na
canBuy = buyScore >= 5 and (na(lastBuyBar) or bar_index - lastBuyBar > 5)
canSell = sellScore >= 5 and (na(lastSellBar) or bar_index - lastSellBar > 5)
if canBuy
lastBuyBar := bar_index
if canSell
lastSellBar := bar_index
showBuy = canBuy
showSell = canSell
// === طول الخطوط ===
var int lineLen = 5
// === رسم الإشارات ===
plotshape(showBuy, title="BUY", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(showSell, title="SELL", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)
// === خطوط الصفقة ===
var line buyLines = array.new_line(0)
var line sellLines = array.new_line(0)
if (showBuy)
entry = low
tpLevels = array.new_float(5)
array.set(tpLevels, 0, 0.618)
array.set(tpLevels, 1, 1.0)
array.set(tpLevels, 2, 1.272)
array.set(tpLevels, 3, 1.618)
array.set(tpLevels, 4, 2.0)
slLevel = -0.618
for i = 0 to 4
tp = entry + array.get(tpLevels, i) * atr
line = line.new(bar_index, tp, bar_index + lineLen, tp, color=color.green)
array.push(buyLines, line)
sl = entry + slLevel * atr
slLine = line.new(bar_index, sl, bar_index + lineLen, sl, color=color.red)
array.push(buyLines, slLine)
if (showSell)
entry = high
tpLevels = array.new_float(5)
array.set(tpLevels, 0, -0.618)
array.set(tpLevels, 1, -1.0)
array.set(tpLevels, 2, -1.272)
array.set(tpLevels, 3, -1.618)
array.set(tpLevels, 4, -2.0)
slLevel = 0.618
for i = 0 to 4
tp = entry + array.get(tpLevels, i) * atr
line = line.new(bar_index, tp, bar_index + lineLen, tp, color=color.green)
array.push(sellLines, line)
sl = entry + slLevel * atr
slLine = line.new(bar_index, sl, bar_index + lineLen, sl, color=color.red)
array.push(sellLines, slLine)
// === نسبة المخاطرة ===
label.new(bar_index, showBuy ? low : na, "Risk: 38.2%", style=label.style_label_left, textcolor=color.white, size=size.tiny, color=color.gray)
label.new(bar_index, showSell ? high : na, "Risk: 38.2%", style=label.style_label_left, textcolor=color.white, size=size.tiny, color=color.gray)
Gold vs DXYThe 30-day rolling correlation between Gold (XAU/USD) and the US Dollar Index (DXY) shows how closely the two move together — or more often, in opposite directions — over the last 30 trading days. In most market environments, the relationship is pretty straightforward: when the dollar goes up, gold tends to go down, and vice versa. That’s because gold is priced in dollars, so a stronger dollar makes it more expensive for international buyers, which usually softens demand.
But it’s not always that simple. There are times when this inverse correlation breaks down. For example, if real yields (like the US 10-year yield minus inflation expectations) are rising, that can pressure gold even if the dollar is falling — because higher real returns elsewhere make gold less attractive. Another case is when other currencies, like the euro or yen, rally strongly on their own central bank decisions. This can pull DXY lower without necessarily signaling weakness in the U.S. economy — meaning gold might not benefit much.
There are also “risk-on” moments where investors rotate into equities or crypto, selling off both gold and the dollar in favor of yield or momentum. And during periods of crisis or uncertainty, both gold and the dollar can rise together as safe-haven assets, breaking the usual pattern entirely.
That’s why tracking the rolling correlation is helpful. It shows whether the historical relationship between gold and the dollar is still holding — or if we’re entering a different market regime. It’s not about predicting exact price moves, but about understanding the current backdrop. When gold and DXY are moving out of sync as expected, it can support your trade thesis. But when the correlation flattens or flips, it’s often a sign to dig deeper — macro forces may be shifting.