Weekday HighlighterThis is a simple indicator that highlights specific weekdays on the chart.
You can choose which weekdays to highlight and optionally use different colors for each day. It is useful for visually separating sessions such as Mondays, Fridays, or any custom trading day you want to focus on.
ただ単に曜日を指定してハイライトするインジです。
在腳本中搜尋"Cycle"
Green13 - Watermark with Daily ATRWatermark with custom texts and with Daily ATR and the name of the week
Dashboard Principales sectores🔍 What This Dashboard Shows
Performance of the top 20 U.S. market sectors and ETFs (e.g., Technology, Energy, Financials, Biotechnology, Semiconductors, etc.).
Percentage change based on the selected chart timeframe:
Daily timeframe → daily change
Weekly timeframe → weekly change
Monthly timeframe → monthly change
Ticker symbol displayed next to each sector name.
Color-coded performance for quick interpretation:
🟩 Positive
🟥 Negative
🟨 Neutral
Sessions and High/LowCan be used to mark highs and lows of any sessions you desire can do 4 sessions
Weekday-to-Weekday % Change (selectable, Line + Axis)Weekday-to-Weekday % Change
Plots % change between the chosen weekday occurrences (week-over-week style) or intraday open→close if you select that comparison type.
Shows as a line in a separate pane (overlay=false).
Auto-scales the Y-axis in percent using invisible padded bounds so TradingView draws a readable axis and ticks.
Optional EMA smoothing and labels on the selected-day bars.
Super ORB v4 – 4 CONTRACTS – NUCLEAR FIXORB hands off printer, this is to gauge how few trades can happen off the ORB while not trading after hours either. Should be in the 5% a month range 4 contracts, no more than 5 trades a month.
Day Separators Description:
This script visually separates the trading chart by days of the week. Each day is highlighted with a distinct background color or vertical line, making it easier to analyze daily price patterns and trading activity. Useful for spotting trends, comparing daily performance, or planning strategies based on weekday behavior.
Features:
Divides the chart by weekdays (Monday to Sunday).
Optional background shading or vertical lines for each day.
Customizable colors and line styles for better visibility.
Works on any timeframe.
Use Cases:
Identify patterns or anomalies on specific weekdays.
Track performance trends across the week.
Simplify intraday and daily analysis for more informed trading decisions.
TenUp Bots S R - Fixed (ta.highest)//@version=5
indicator("TenUp Bots S R - Fixed (ta.highest)", overlay = true)
// Inputs
a = input.int(10, "Sensitivity (bars)", minval = 1, maxval = 9999)
d_pct = input.int(85, "Transparency (%)", minval = 0, maxval = 100)
// Convert 0-100% to 0-255 transparency (color.new uses 0..255)
transp = math.round(d_pct * 255 / 100)
// Colors with transparency applied
resColor = color.new(color.red, transp)
supColor = color.new(color.blue, transp)
// Helper (calculations only)
getRes(len) => ta.highest(high, len)
getSup(len) => ta.lowest(low, len)
// === PLOTS (all in global scope) ===
plot(getRes(a*1), title="Resistance 1", color=resColor, linewidth=2)
plot(getSup(a*1), title="Support 1", color=supColor, linewidth=2)
plot(getRes(a*2), title="Resistance 2", color=resColor, linewidth=2)
plot(getSup(a*2), title="Support 2", color=supColor, linewidth=2)
plot(getRes(a*3), title="Resistance 3", color=resColor, linewidth=2)
plot(getSup(a*3), title="Support 3", color=supColor, linewidth=2)
plot(getRes(a*4), title="Resistance 4", color=resColor, linewidth=2)
plot(getSup(a*4), title="Support 4", color=supColor, linewidth=2)
plot(getRes(a*5), title="Resistance 5", color=resColor, linewidth=2)
plot(getSup(a*5), title="Support 5", color=supColor, linewidth=2)
plot(getRes(a*6), title="Resistance 6", color=resColor, linewidth=2)
plot(getSup(a*6), title="Support 6", color=supColor, linewidth=2)
plot(getRes(a*7), title="Resistance 7", color=resColor, linewidth=2)
plot(getSup(a*7), title="Support 7", color=supColor, linewidth=2)
plot(getRes(a*8), title="Resistance 8", color=resColor, linewidth=2)
plot(getSup(a*8), title="Support 8", color=supColor, linewidth=2)
plot(getRes(a*9), title="Resistance 9", color=resColor, linewidth=2)
plot(getSup(a*9), title="Support 9", color=supColor, linewidth=2)
plot(getRes(a*10), title="Resistance 10", color=resColor, linewidth=2)
plot(getSup(a*10), title="Support 10", color=supColor, linewidth=2)
plot(getRes(a*15), title="Resistance 15", color=resColor, linewidth=2)
plot(getSup(a*15), title="Support 15", color=supColor, linewidth=2)
plot(getRes(a*20), title="Resistance 20", color=resColor, linewidth=2)
plot(getSup(a*20), title="Support 20", color=supColor, linewidth=2)
plot(getRes(a*25), title="Resistance 25", color=resColor, linewidth=2)
plot(getSup(a*25), title="Support 25", color=supColor, linewidth=2)
plot(getRes(a*30), title="Resistance 30", color=resColor, linewidth=2)
plot(getSup(a*30), title="Support 30", color=supColor, linewidth=2)
plot(getRes(a*35), title="Resistance 35", color=resColor, linewidth=2)
plot(getSup(a*35), title="Support 35", color=supColor, linewidth=2)
plot(getRes(a*40), title="Resistance 40", color=resColor, linewidth=2)
plot(getSup(a*40), title="Support 40", color=supColor, linewidth=2)
plot(getRes(a*45), title="Resistance 45", color=resColor, linewidth=2)
plot(getSup(a*45), title="Support 45", color=supColor, linewidth=2)
plot(getRes(a*50), title="Resistance 50", color=resColor, linewidth=2)
plot(getSup(a*50), title="Support 50", color=supColor, linewidth=2)
plot(getRes(a*75), title="Resistance 75", color=resColor, linewidth=2)
plot(getSup(a*75), title="Support 75", color=supColor, linewidth=2)
plot(getRes(a*100), title="Resistance 100", color=resColor, linewidth=2)
plot(getSup(a*100), title="Support 100", color=supColor, linewidth=2)
plot(getRes(a*150), title="Resistance 150", color=resColor, linewidth=2)
plot(getSup(a*150), title="Support 150", color=supColor, linewidth=2)
plot(getRes(a*200), title="Resistance 200", color=resColor, linewidth=2)
plot(getSup(a*200), title="Support 200", color=supColor, linewidth=2)
plot(getRes(a*250), title="Resistance 250", color=resColor, linewidth=2)
plot(getSup(a*250), title="Support 250", color=supColor, linewidth=2)
plot(getRes(a*300), title="Resistance 300", color=resColor, linewidth=2)
plot(getSup(a*300), title="Support 300", color=supColor, linewidth=2)
plot(getRes(a*350), title="Resistance 350", color=resColor, linewidth=2)
plot(getSup(a*350), title="Support 350", color=supColor, linewidth=2)
plot(getRes(a*400), title="Resistance 400", color=resColor, linewidth=2)
plot(getSup(a*400), title="Support 400", color=supColor, linewidth=2)
plot(getRes(a*450), title="Resistance 450", color=resColor, linewidth=2)
plot(getSup(a*450), title="Support 450", color=supColor, linewidth=2)
plot(getRes(a*500), title="Resistance 500", color=resColor, linewidth=2)
plot(getSup(a*500), title="Support 500", color=supColor, linewidth=2)
plot(getRes(a*750), title="Resistance 750", color=resColor, linewidth=2)
plot(getSup(a*750), title="Support 750", color=supColor, linewidth=2)
plot(getRes(a*1000), title="Resistance 1000", color=resColor, linewidth=2)
plot(getSup(a*1000), title="Support 1000", color=supColor, linewidth=2)
plot(getRes(a*1250), title="Resistance 1250", color=resColor, linewidth=2)
plot(getSup(a*1250), title="Support 1250", color=supColor, linewidth=2)
plot(getRes(a*1500), title="Resistance 1500", color=resColor, linewidth=2)
plot(getSup(a*1500), title="Support 1500", color=supColor, linewidth=2)
20W EMA – Macro Only (Perfectly Clean)Bitcoin 20 week moving average script showing buy / sell signals
Advanced Time Dividers & Killzones IndicatorOverview
A comprehensive Pine Script v6 indicator that displays customizable time period dividers and trading session killzones on your chart. Perfect for intraday traders who need clear visual separation of time periods and want to identify key trading sessions.
✨ Features
Time Period Dividers
Weekly Lines: Vertical lines marking the start of each week
Monthly Lines: Vertical lines marking the start of each month
Quarterly Lines: Vertical lines marking the start of each quarter (Q1, Q2, Q3, Q4)
Yearly Lines: Vertical lines marking the start of each year
Trading Session Killzones
London Session: 2:00-5:00 GMT (Blue shaded box)
New York Session: 7:00-10:00 GMT (Green shaded box)
London Close: 10:00-12:00 GMT (Orange shaded box)
Asia Session: 20:00-00:00 GMT (Pink shaded box)
🎨 Customization Options
Display Controls
Toggle each time divider type individually
Toggle each killzone individually
Adjust historical and future display range
Show/hide labels on dividers and killzones
Style Customization
Line Styles: Choose between Solid, Dashed, or Dotted lines
Line Width: Adjustable from 1 to 5 pixels
Colors: Fully customizable colors for each element with transparency control
Label Size: Choose from Tiny, Small, Normal, or Large
Period Settings
Control how many bars to display in the past (0-5000)
Control how many bars to display in the future (0-1000)
📋 Usage Instructions
Add to Chart: Add the indicator to any chart
Select Timeframe: Works best on intraday timeframes (1H, 15min, 5min) for killzones
Customize: Open settings to enable/disable features and customize colors
Trading: Use the dividers to identify time periods and killzones to spot high-liquidity sessions
💡 Trading Applications
Time Dividers
Weekly/Monthly Analysis: Identify major time period transitions
Market Structure: Analyze how price behaves at period boundaries
Event Correlation: Align with economic calendar events
Killzones
High Liquidity Periods: Trade during peak market activity
ICT Strategy: Follows Inner Circle Trader killzone concepts
Session-Based Trading: Focus on specific trading sessions
Volatility Windows: Identify when major moves typically occur
⚙️ Technical Details
Version: Pine Script v6
Type: Overlay indicator
Max Lines: 500 (optimized performance)
Max Boxes: 500 (for killzone visualization)
Timezone: GMT/UTC for killzones
Memory Efficient: Automatic cleanup of old objects
🎯 Best Practices
Combine with Price Action: Use dividers to frame your analysis
Focus on Killzones: Most significant price moves occur during these sessions
Adjust Transparency: Find the right balance between visibility and chart clarity
Use Labels Wisely: Toggle labels on/off based on your needs
Timeframe Selection: Use lower timeframes (≤1H) to see killzones clearly
📝 Notes
Killzone times are in GMT/UTC timezone
Works on all instruments (Forex, Crypto, Stocks, Futures)
Optimized for performance with automatic memory management
Fully compatible with other indicators
🔄 Updates & Support
This indicator is actively maintained. Feel free to suggest improvements or report issues in the comments.
Three-Year Pullback Indicator根據 VOO (Vanguard S&P 500 ETF) 和 0050 (元大台灣50) 的歷史數據,製作了一個 「回檔百分比」 指標,幫助大家在市場回調時,有更明確的底部加碼參考依據!
📌 指標特色與設計概念:
觀察過去走勢,像 VOO 和 0050 這種追蹤大盤的 ETF,自歷史高點回檔通常極少超過 30%。
分批加碼策略: 30% 以下的回檔區間,分為三個等份級距
30% 回檔 (紅色線): 第一筆加碼區
20% 回檔 (橘色線): 第二筆加碼區
10% 回檔 (綠色線): 第三筆加碼區
兩種回檔計算:
指標同時顯示兩種回檔百分比 (黑色/藍色線),讓您對價格所處位置一目瞭然:
黑色線表式從「歷史高點」 的回檔
藍色線表示從「自定義期間高點」 (預設 3 年/720 根 K 棒) 的回檔
請注意: 本指標僅供技術參考與研究交流。指標非投資建議! 投資人仍須根據自身的資金狀況、風險承受度及獨立判斷進行調整與決策。
Based on the historical data of VOO (Vanguard S&P 500 ETF) and 0050 (Yuanta Taiwan 50), I've created a practical "Drawdown Percentage" indicator. It aims to provide a clearer reference point for dollar-cost averaging (DCA) during market pullbacks!
📌 Indicator Features and Design Concept:
Historical Basis: Observing past trends, broad market tracking ETFs like VOO and 0050 have historically experienced very few drawdowns exceeding 30% from their all-time highs.Staged Accumulation Strategy: The drawdown range below 30% is divided into three equal tiers, serving as a reference for investors to deploy funds in stages:
30% Drawdown (Red Line): First Accumulation Zone
20% Drawdown (Orange Line): Second Accumulation Zone
10% Drawdown (Green Line): Third Accumulation Zone
🔍 Two Drawdown Calculations:
The indicator simultaneously displays two drawdown percentages (Black/Blue lines) for a clear view of the price's current position:
Black Line: Represents the drawdown from the "All-Time High".
Blue Line: Represents the drawdown from the "User-Defined Period High" (default is 3 years / 720 bars).
Please note: This indicator is provided for technical reference and educational purposes only. It is NOT investment advice! Investors must make adjustments and decisions based on their own financial condition, risk tolerance, and independent judgment.
Diodato 'All Stars Align' Signal (Trend Filtered)This indicator implements the Diodato "All Stars Align" strategy, a breadth-based system designed to identify high-probability reversal points by analyzing internal market strength rather than just price action. It works by monitoring Advancing versus Declining issues and volume across the exchange to detect moments of extreme market panic. When these internal breadth metrics hit specific oversold thresholds and align simultaneously with a standard Stochastic oscillator, the script signals a potential bottom.
I have modified this version to strictly enforce trend alignment. The signals are now filtered so that they will only appear if the 50 SMA is trading above the 200 SMA. This ensures that the indicator only highlights buying opportunities during established uptrends while completely filtering out signals during bearish market regimes.
You should use this tool to time entries during market pullbacks. A green cross indicates that one of the major breadth components has aligned with oversold Stochastics, while a purple cross indicates a stronger signal where both volume and issue-based breadth metrics have triggered together.
Buyers in Control █ OVERVIEW
The "Buyers in Control" indicator identifies periods when buying pressure dominates the market by combining three key technical factors:
✓ Price Momentum - Price trading above exponential moving average
✓ Volume Confirmation - Current volume exceeding average (strong participation)
✓ RSI Strength - Momentum indicator confirming bullish bias
When all three conditions align, the indicator signals that buyers are in control of the market.
█ HOW IT WORKS
The indicator evaluates three independent conditions:
1. PRICE POSITION: Close > EMA(21)
→ Confirms price is in an uptrend
2. VOLUME SURGE: Volume > SMA(20) × 1.2
→ Validates that the move has genuine buying interest
3. MOMENTUM: RSI(14) > 50
→ Ensures bullish momentum is present
Only when ALL three conditions are true does the indicator confirm buyer control.
█ KEY FEATURES
• Real-time Dashboard - Shows status of each condition (✓/✗)
• Visual Alerts - Green background + labels when buyers take control
• EMA Reference Line - Visual trend indicator
• Customizable Parameters - Adjust sensitivity for any market/timeframe
• Built-in Alerts - Notification when control shifts to buyers
• Clean Code - Well-documented Pine Script v6
█ SETTINGS
Price Momentum:
- EMA Length (default: 21) - Shorter = faster signals, Longer = more conservative
Volume Confirmation:
- Volume Multiple (default: 1.2) - Higher = requires stronger volume
- Volume SMA Length (default: 20) - Lookback period for average volume
RSI Momentum:
- RSI Length (default: 14) - Standard RSI calculation period
- RSI Threshold (default: 50) - Minimum RSI for buyer control
Display:
- Toggle background, labels, EMA line, and customize colors
█ USE CASES
• Trend Confirmation - Validate bullish moves before entering long positions
• Filter Weak Rallies - Avoid low-volume pumps that often reverse
• Multi-Timeframe Analysis - Check buyer control across multiple charts
• Alert System - Get notified when market regime shifts to buyers
█ BEST PRACTICES
✓ Works best in trending markets (avoid choppy/ranging conditions)
✓ Combine with support/resistance for optimal entries
✓ Test different EMA lengths for your specific asset/timeframe
✓ Use alongside risk management rules (stop losses, position sizing)
✓ Consider the dashboard to see which conditions are missing
█ TIMEFRAMES
Suitable for all timeframes:
• Intraday: 1m-15m (use EMA 9 for faster signals)
• Swing: 1h-4h (default settings work well)
• Position: Daily-Weekly (use EMA 50 for conservative signals)
█ TECHNICAL NOTES
• Pine Script v6 - Latest version for optimal performance
• No repainting - All calculations based on closed bar data
• Lightweight - Minimal CPU usage
• Open Source - Full code available for review and modification
█ ALERT CONDITIONS
1. "Buyers Take Control" - Fires when all three conditions become true
2. "Buyers Lose Control" - Fires when any condition breaks
█ LIMITATIONS
⚠ Not a standalone trading system - use as a confluence tool
⚠ May generate false signals in sideways/choppy markets
⚠ Volume data unavailable on some forex pairs (use tick volume)
⚠ Lagging by nature - confirmatory indicator, not predictive
█ CREDITS
Indicator combines classic technical analysis principles:
• EMA for trend direction
• Volume analysis for validation
• RSI for momentum confirmation
No proprietary algorithms - transparent, time-tested methods.
SNS 2TimeFrame 1-Candles Indicator contains 2 time frame candles. once higher candle green and lower candle smoothed then it will consider as bullish.
sima-Prev HTF & Sessions (Tehran)This indicator automatically plots the Opening, Closing, High, and Low levels of the major global trading sessions: London, New York, and Asia. It is designed to help traders visualize intraday liquidity zones, session-based volatility, and potential reaction levels where price commonly expands or reverses.
The script includes fully adjustable session times and highlights each session using clean visual markers so traders can easily identify market structure within different time windows. By displaying the Open, Close, High, and Low of each session, the indicator helps forecast areas of interest such as breakout levels, range boundaries, and session-based support/resistance.
This tool is especially useful for intraday traders, scalpers, and anyone who relies on session dynamics to analyze market behavior. It works on all timeframes and all markets, including Forex, indices, metals, and crypto. No repainting is used; all levels are plotted based on completed session data.
Weekly & Monthly Divider Lines — v6Instantly visualize the time structure on your charts with this simple and efficient indicator. It automatically plots vertical lines to mark the start of each new week and month, helping you segment price action and better understand the temporal context.
This is an essential tool for multi-timeframe analysis, identifying key period-open levels, or simply improving the visual clarity of your workspace.
✨ Key Features
Dual Display: Independently toggle weekly and monthly lines on or off.
Full Customization: Choose the color and width for each line type (weekly and monthly) to perfectly match your layout.
Time Range Control: Define how many years in the past and future you want the lines to be displayed. This keeps your chart clean by only loading relevant lines.
Optimized Performance (v6): This script uses Pine Script v6 and arrays for line management. It includes a function that automatically deletes the oldest lines when a maximum (configurable) count is reached, preventing the "Too many lines" error on charts with long historical data.
🛠️ Settings
Show Weekly/Monthly Lines: Check/uncheck to display the dividers.
Years to Display (Past/Future): Controls the time range for line plotting.
Color & Width: Customize the look of the lines.
Max Lines Kept Per Type: A technical parameter for memory management. The default value (250) is usually sufficient.
Positional Supertrend Strategy (1D Filter + 2H Entry)Positional Supertrend Strategy (1D Filter + 2H Entry)
ENTRY CONFIRMATION V2// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Zerocapitalmx
//@version=5
indicator(title="ENTRY CONFIRMATION V2", format=format.price, timeframe="", timeframe_gaps=true)
len = input.int(title="RSI Period", minval=1, defval=50)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=5)
lbL = input(title="Pivot Lookback Left", defval=5)
rangeUpper = input(title="Max of Lookback Range", defval=60)
rangeLower = input(title="Min of Lookback Range", defval=5)
plotBull = input(title="Plot Bullish", defval=true)
plotHiddenBull = input(title="Plot Hidden Bullish", defval=false)
plotBear = input(title="Plot Bearish", defval=true)
plotHiddenBear = input(title="Plot Hidden Bearish", defval=false)
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = ta.rsi(src, len)
rsiPeriod = input.int(50, minval = 1, title = "RSI Period")
bandLength = input.int(1, minval = 1, title = "Band Length")
lengthrsipl = input.int(1, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input.int(50, minval = 1, title = "Slow MA on RSI")
r = ta.rsi(src, rsiPeriod) // RSI of Close
ma = ta.sma(r, bandLength ) // Moving Average of RSI
offs = (1.6185 * ta.stdev(r, bandLength)) // Offset
fastMA = ta.sma(r, lengthrsipl) // Moving Average of RSI 2 bars back
slowMA = ta.sma(r, lengthtradesl) // Moving Average of RSI 7 bars back
plot(slowMA, "Slow MA", color=color.black, linewidth=1) // Plot Slow MA
plot(osc, title="RSI", linewidth=2, color=color.purple)
hline(50, title="Middle Line", color=#787B86, linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", color=#787B86, linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", color=#787B86, linestyle=hline.style_dotted)
plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(ta.pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
bars = ta.barssince(cond == true)
rangeLower <= bars and bars <= rangeUpper
//------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc > ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Lower Low
priceLL = low < ta.valuewhen(plFound, low , 1)
bullCond = plotBull and priceLL and oscHL and plFound
plot(
plFound ? osc : na,
offset=-lbR,
title="Regular Bullish",
linewidth=1,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
bullCond ? osc : na,
offset=-lbR,
title="Regular Bullish Label",
text=" EDM ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc < ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Higher Low
priceHL = low > ta.valuewhen(plFound, low , 1)
hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound
plot(
plFound ? osc : na,
offset=-lbR,
title="Hidden Bullish",
linewidth=1,
color=(hiddenBullCond ? hiddenBullColor : noneColor)
)
plotshape(
hiddenBullCond ? osc : na,
offset=-lbR,
title="Hidden Bullish Label",
text=" EDM ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc < ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Higher High
priceHH = high > ta.valuewhen(phFound, high , 1)
bearCond = plotBear and priceHH and oscLH and phFound
plot(
phFound ? osc : na,
offset=-lbR,
title="Regular Bearish",
linewidth=1,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
bearCond ? osc : na,
offset=-lbR,
title="Regular Bearish Label",
text=" EDM ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc > ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Lower High
priceLH = high < ta.valuewhen(phFound, high , 1)
hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound
plot(
phFound ? osc : na,
offset=-lbR,
title="Hidden Bearish",
linewidth=1,
color=(hiddenBearCond ? hiddenBearColor : noneColor)
)
plotshape(
hiddenBearCond ? osc : na,
offset=-lbR,
title="Hidden Bearish Label",
text=" EDM ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
Custom ATR TableThis indicator is intended to displays a simple, data-rich ATR table that summarizes volatility and directional bias based on the Average True Range (ATR). It helps you quickly see:
The current daily range relative to ATR
Potential call and put trigger levels
The trend bias based on EMAs
ATR measures the average daily volatility — how much price typically moves in one day. This helps identify if the market is moving more or less than usual and calculates how much of the ATR that range covers.






















