Supertrend Opposite Band Line Onlywhen super trend changes Trend , its important to wait for crossing the Price line of opposite Band so i have written this script . this will help you Traders for sure
Indicatori e strategie
ES Key Levels (Adam Mancini)An automated way to draw key levels from Adam's newsletter without manually drawing it all out.
黄金专用LPPL特征检测(Log-Periodic Power Law Singularity)专门用于黄金走势的LPPL检测,在技术分析中,LPPL 奇点指的是对数周期幂律奇异性(Log-Periodic Power Law Singularity),它是对数周期幂律模型(LPPL)中的一个关键概念。以下是关于它的详细介绍:
提出者及背景:LPPL 模型是由研究市场泡沫的先驱者、物理学家迪迪埃・索尔内特(Didier Sornette)等人提出的。该模型结合了理性预期泡沫的经济理论、投资者的模仿和羊群行为的行为金融学以及分岔和相变的数学统计物理学,用于检测金融市场中的泡沫和预测市场转折点。
模型原理:LPPL 模型假设当市场出现泡沫时,资产价格会呈现出一种特殊的波动模式,这种模式由正反馈机制驱动。在泡沫形成过程中,投资者的模仿和跟风行为导致市场参与者的一致性和协同性急剧上升,价格出现 “快于指数” 的增长,同时伴随着加速的对数周期振荡。而 LPPL 奇点就是价格增长和振荡达到极限的那个有限时间点,在这个点之前,价格增长越来越快,振荡频率也越来越高,当到达奇点时,泡沫破裂,市场往往会出现急剧的反转和崩盘。
数学表达:LPPL 模型的数学公式较为复杂,其原始形式提出了一个由 3 个线性参数和 4 个非线性参数组成的函数。通过将这个函数与对数价格时间序列进行拟合,可以估计出模型的参数,进而确定奇点的时间位置等信息。
在金融市场中的应用:LPPL 模型及其中的奇点概念主要用于检测金融市场中的泡沫和预测市场的崩溃点。例如,在 2008 年石油价格泡沫和 2009 年上海股市泡沫等事件中,该模型都被用于分析和预测市场的转折点。不过,该模型也存在一定的局限性,比如对奇点具体点位的预测误差较大,而且市场情况复杂多变,可能会有强大的外力干扰等因素影响模型的准确性。
The LPPL model was proposed by physicist Didier Sornette, a pioneer in the study of market bubbles, and others. The model combines the economic theory of rational expectations bubbles, behavioral finance on investor imitation and herding behavior, and the mathematical statistical physics of bifurcations and phase transitions to detect bubbles in financial markets and predict market turning points.
Model Principle: The LPPL model posits that when a market bubble forms, asset prices exhibit a distinctive pattern of fluctuation driven by a positive feedback mechanism. During the bubble's formation, investors' imitation and bandwagon-following behavior lead to a sharp increase in consistency and coordination among market participants, resulting in "faster-than-exponential" price growth accompanied by accelerating logarithmic-periodic oscillations. The LPPL singularity is the finite point in time where price growth and oscillation reach their limits. Prior to this point, prices grow increasingly faster, and the frequency of oscillations increases. When the singularity is reached, the bubble bursts, and the market often experiences a sharp reversal and crash.
多周期Stoch RSI共振指标Multi-period Stoch RSI resonance indicator
This is a multi-period resonance indicator,4h、1h、30m、15m
Squeeze Momentum MACDSqueeze Momentum MACD
🧠 Description
Squeeze Momentum MACD combines the concept of market volatility compression (the “squeeze”) from Bollinger Bands (BB) and Keltner Channels (KC) with a MACD-style momentum oscillator to reveal potential breakout phases.
The indicator first calculates:
BB Width = Upper Band − Lower Band
KC Width = Upper Band − Lower Band
Then it computes their difference:
Δ = BB Width − KC Width
When Δ > 0 → BB width is greater than KC width → volatility is expanding → potential momentum breakout.
When Δ < 0 → BB is inside KC → volatility is compressing → potential squeeze phase before expansion.
This Δ value is then processed through a MACD-style calculation:
MACD Line = EMA(fast) − EMA(slow)
Signal Line = EMA(MACD, signal length)
Histogram = MACD − Signal
The result is a visual momentum oscillator that behaves like MACD but measures volatility expansion instead of price direction.
🔹 Features:
Dynamic 4-color MACD & Signal lines (positive/negative + rising/falling)
Optional display of raw BB & KC widths
Fully adjustable parameters for BB, KC, and MACD
Works on all timeframes and instruments
🔹 Ideal For:
Detecting market squeezes and breakout momentum
Timing entries before volatility expansion
Integrating volatility and momentum into a single framework
Smart Weekly Lines — Clean & Scroll-Proof (Pine v6)Because your chart deserves structure. Elegant weekly dividers that stay aligned, scroll smoothly, and project future weeks using your wished UTC offset.
Smart Weekly Lines draws precise, full-height vertical lines marking each new week — perfectly aligned to your local UTC offset. It stays clean, smooth, and consistent no matter how far you scroll.
Features
• Accurate weekly boundaries based on your local UTC offset (supports half-hour zones like India +5.5)
• Clean, full-height lines that never cut off with zoom or scroll
• Adjustable color, opacity, width, and style (solid, dashed, dotted)
• Future week projection for planning and alignment
• Optional visibility: show only on Daily and Intraday charts
Works with any market — stocks, crypto, forex, or futures.
Built for traders who value clarity, structure, and precision.
Developed collaboratively with the assistance of ChatGPT under my direction and testing.
MFT Supply/Demand — Top2 (Opacity by Strength, Minimal Labels)Script Overview — “MFT Supply/Demand — Top 2 (Opacity by Strength, Minimal Labels)”
This multi–timeframe (MTF) Pine Script indicator automatically detects and displays the strongest supply and demand zones across selected higher (HTF), mid (MTF), and lower (LTF) timeframes.
It dynamically identifies large-body, high-volume candles (and optional order-block breakouts) that signal institutional activity, then plots only the two strongest supply zones above the current price and two strongest demand zones below the current price — keeping the chart clean and focused.
Strong Engulfing Scalping qgm engulfing detector. If no time to find engulfing my strategy found engulfing alert u through notification
ADX Scanner with IndicatorsA screener that will allow you to enter up to 10 stocks. The goal is to see clearly in front of you what stocks are moving and the momentum leveraging the ADX and RSI. The return for the day shows the growth or loss of those moves.
First 30M Candle Rule Ref / 5M EntriesThis strategy highlights and reacts to two key 30-minute candles on the Romanian market schedule — at 10:30 AM and 15:30 or 16:30 (depending on daylight saving time).
It is designed to run on a 5-minute chart, using the 30-minute candles as reference points for potential entries.
When each 30-minute candle closes, the script:
Colors the background during that specific 30-minute period (green for the morning session, red for the afternoon session)
Sends an alert confirming the candle’s closure
Places a symbolic long trade after the 10:30 candle closes and a symbolic short trade after the afternoon candle closes (for backtesting purposes)
This setup allows traders to test or automate strategies that rely on market reactions following key time-based candles, without plotting any extra lines on the chart.
Asia Range Breakout Asia Range Breakout
Description:
Asia Range Breakout is a sophisticated, multi-filter trading tool designed to identify high-probability breakout opportunities during the core Asian trading session. By combining session-based range analysis with advanced confirmation filters like Heiken Ashi momentum, Ichimoku baseline trends, and EMA alignment, this indicator helps traders capture decisive moves while filtering out market noise.
Tired of false breakouts? This system provides a structured framework to trade the Sydney and Tokyo sessions with precision and confidence.
Key Features:
Multi-Session Range Tracking:
Monitors 6 distinct pre-defined Asian sessions (Sydney Box, Tokyo Pre-Open, Tokyo Launch, etc.).
Dynamically plots High and Low boundaries for each session (Teal for Highs, Red for Lows).
Individually toggleable sessions to focus on your preferred trading window.
Smart Alert & Signal System:
Generates alerts based on Heiken Ashi candle closings relative to session ranges.
Dual-Size Signals: Differentiates between "Large" breakouts (outside the range) and "Small" signals (within the range).
Configurable alert timeframe for confirmation candle closure.Built-in Sound Alerts for real-time notifications.
Advanced Confirmation Filters:
Heiken Ashi Momentum Filter: Ensures breakout candles have significant momentum, adjustable via a threshold multiplier.
EMA 200 Filter: Confirms the breakout's alignment with the broader trend.
Ichimoku Baseline (Kijun-sen) Filter: Uses a dynamic support/resistance level for additional confirmation.
Ichimoku Baseline Divergence Filter: A unique feature that requires the baseline's slope to match the breakout direction (Bullish for buys, Bearish for sells).
ATR Volatility Filter: (Optional) Ensures the breakout candle has sufficient range relative to recent market volatility.
Visual Enhancements:
Take-Profit Lines: Projects profit targets using ATR and connects consecutive alerts with a trendline.
Heiken Ashi Overlay: Displays smoothed Heiken Ashi candles directly on the main chart for cleaner trend visualization.
Divergence Trend Line: Visually plots the slope of the Ichimoku Baseline for quick trend assessment.
Session Background Highlighter: Shades the active sessions for easy time reference.
Comprehensive Debug Info Box: Provides real-time feedback on filter status, perfect for strategy validation and learning.
Usage Instructions & Tips:
1. Initial Setup:
Start simple! Apply the indicator to a 5-minute or 1-minute chart.
Recommended Instruments:
Forex: Major pairs like AUD/USD , USD/JPY or EUR/JPY.
Indices: `NAS100` (Nasdaq), `US30` (Dow Jones), `JP225` (Nikkei 225).
Commodities: `XAUUSD` (Gold).
Initially, enable only the Sydney Box (00:30 - 03:15 UTC) as it is the most robust session, then explore others.
2. Interpreting the Signals:
Large Green Arrow (Above Bar): A strong BUY signal. The Heiken Ashi candle closed above the session's High, and all enabled filters are confirmed.
Small Green Arrow (Above Bar): A moderate BUY signal. The candle closed bullishly but within the session range.
Large Red Arrow (Below Bar): A strong SELL signal. The Heiken Ashi candle closed below the session's Low, with filter confirmation.
Small Red Arrow (Below Bar): A moderate SELL signal. The candle closed bearishly but within the session range.
3. Optimizing Your Strategy:
Filter Tuning: The default filters are balanced. Adjust them based on your risk appetite:
Increase the Heiken Ashi Threshold (e.g., to 0.2) for fewer, but stronger signals.
Disable filters like ATR or Divergence if you find them too restrictive.
The Power of Divergence: The Ichimoku Divergence filter is a powerful trend-confirmation tool. Pay close attention to it for the highest-quality signals.
Use the Debug Box: Enable the "Show Debug Info Box" to see exactly why a signal did or did not trigger. This is invaluable for understanding the indicator's logic and avoiding bad trades.
4. Risk Management:
The TP Lines provide a logical profit target based on market volatility. Consider using them for setting take-profit orders.
Always use a stop-loss. A logical level is the opposite side of the session range (e.g., for a buy signal, place a stop below the session low).
You're very welcome! I'm glad I could help you create a professional tool. Wishing you great success with your Trading! 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
Custom MTF EMA CloudsVisualize market structure and trend alignment across multiple timeframes with six layered EMA clouds — from short-term momentum to macro trend anchors.
Each pair of EMAs forms a dynamic cloud that adapts to your selected timeframe.
Colors, lengths, and visibility are fully customizable, allowing you to tailor the setup for any trading style.
⚙️ Default Configuration
EMA Short Long Purpose
1 8 13 🔸 Intraday momentum cloud (scalping layer)
2 21 24 🟩 Short-term trend confirmation
3 50 55 🔵 Medium-term swing structure
4 120 144 🔴 Long-term support/resistance band
5 200 238 🟠 Institutional trend foundation
6 400 460 🟣 Macro directional anchor
🧩 Features
✅ Up to 6 independent EMA clouds
✅ Fully customizable short & long lengths
✅ Individual line and cloud colors
✅ Toggle each layer on/off
✅ Works with any timeframe via the Resolution input
✅ Automatic cloud transparency for better chart clarity
📈 How to Use
Use EMA 1–2 (8/13, 21/24) for momentum shifts and intraday entries.
Use EMA 3–4 (50/55, 120/144) for swing confirmation and trend continuation.
Use EMA 5–6 (200/238, 400/460) as long-term anchors to stay aligned with institutional flow.
Watch for crossovers or price breaking in/out of clouds — they often precede strong directional moves.
Gold and Bitcoin: The Evolution of Value!The Eternal Luster of Gold
In the dawn of time, when the earth was young and rivers whispered secrets to the stones, a wanderer named Elara found a gleam in the silt of a sun-kissed stream. It was pure gold, radiant like a captured star fallen from the heavens. She held it in her palm, feeling its warmth pulse like a heartbeat, and in that moment, humanity’s soul awakened to the allure of eternity.
As seasons turned to centuries, gold wove itself into the story of empires. In ancient Egypt, pharaohs crowned themselves with its glow, believing it to be the flesh of gods. It built pyramids that reached for the sky and tombs that guarded kings forever. Across the sands in Mesopotamia, merchants traded it for spices and silks, its weight a promise of power and trust.
Translation moment: Gold became the first universal symbol of value. People trusted it more than words or promises because it did not rust, fade, or vanish.
The Greeks saw in gold not only wealth but wisdom, the symbol of the sun’s eternal fire. Alexander the Great carried it across the continent, forging an empire of golden threads. Rome rose on its back, minting coins whose clink echoed through history.
Through the ages, gold endured the rush of California’s dreamers, the halls of Versailles, and the quiet vaults of modern fortunes. It has been both a curse and a blessing, the fuel of wars and the gift of love, whispering of beauty’s fragility and the human desire for something that lasts beyond the grave. In its shine, we see ourselves fragile yet forever chasing light.
The Digital Dawn of Bitcoin
Centuries later, under the glow of computer screens, a visionary named Satoshi dreamed of a new gold born not from the earth but from the ether of ideas. Bitcoin appeared in 2009 amid a world weary of banks and broken trust.
Like gold’s ancient gleam, Bitcoin was mined not with picks but with puzzles solved by machines. It promised freedom, a currency without kings, flowing from person to person, unbound by borders or empires.
Translation moment: Bitcoin works like digital gold. Instead of digging the ground, miners use computers to solve problems and unlock new coins. No one controls it, and that is what makes it powerful.
Through doubt and frenzy, it rose as a beacon for those seeking sovereignty in a digital world. Its volatility became its soul, a reminder that true value is built on belief. Bitcoin speaks to ingenuity and rebellion, a star of code guiding us toward a future where wealth is weightless yet profoundly honest.
Gold’s Cycles: Echoes of War and Crisis
In the early 20th century, gold was held under fixed prices until the Great Depression of 1929 shattered these illusions. The 1934 dollar devaluation lifted it from 20.67 to 35, restoring faith amid despair. When World War II erupted in 1939, gold’s role as a refuge was muted by controls, yet it quietly held its place as the world’s silent guardian.
The 1970s awakened its wild spirit. The Nixon Shock of 1971 freed gold from 35, sparking a bull run during the 1973 Oil Crisis. The 1979 Iranian Revolution led to a 1980 peak of 850, a leap of more than 2,000 percent, as investors sought safety from the chaos.
Translation moment: When fear rises, people rush to gold. Every major war or economic crisis has sent gold upward because it feels safe when paper money loses trust.
The 1987 stock crash caused brief dips, but the 1990 Gulf War reignited its glow. Around 2000, after the Dot-com Bust, gold found new life, climbing from $ 270 to over $1,900 during the 2008 Financial Crisis. It dipped to 1050 in 2015, then surged again past 2000 during the 2020 pandemic.
The 2022 Ukraine War added another chapter with prices climbing above 2700 by 2025. Across a century of crises, gold has risen whenever fear tested humanity’s resolve, teaching patience and fortitude through its quiet endurance.
Bitcoin’s Cycles: Echoes of Innovation and Crisis
Born from the ashes of the 2008 Financial Crisis, Bitcoin began its story at mere cents. It traded below $1 until 2011, when it reached $30 before crashing by 90 percent following the MTGOX collapse.
In 2013, it soared to 1242 only to fall again to 200 in 2015 as regulations tightened. The 2017 bull run lifted it to nearly 20000 before another long winter brought it to 3200 in 2018. Each fall taught resilience, each rise renewed belief.
During the 2020 pandemic, it fell below 5000 before rallying to 69000 in 2021. The Ukraine War and the FTX collapse of 2022 brought it down to 16000, but also proved its role in humanitarian aid. By 2024, the halving and ETF approvals helped it break 100000, marking Bitcoin’s rise as digital gold.
Translation moment: Bitcoin’s rhythm follows four-year halving cycles when mining rewards are cut in half. This keeps supply limited, which often triggers new bull runs as demand returns.
Every four years, it's halving cycles 2012, 2016, 2020, 2024, fueling new waves of adoption and correction. Bitcoin grows strongest in times of uncertainty, echoing humanity’s drive to evolve beyond limits.
The Harmony of Gold and Bitcoin Modern Parallels
In today’s markets, gold’s ancient glow meets Bitcoin’s electric pulse. As of October 17, 2025, their correlation stands near 0.85, close to its historic high of 0.9. Both rise as guardians against inflation and the erosion of trust in the dollar.
Gold trades near 4310 per ounce a record high while Bitcoin hovers around 104700 showing brief fractures in their unity. Gold offers the comfort of touch while Bitcoin provides the thrill of code. Together, they reflect fear and hope, the twin emotions that drive every market.
Translation moment: A correlation of 0.85 means they often move in the same direction. When fear or inflation rises, both gold and Bitcoin tend to rise in tandem.
Analysts warn of bubbles in stocks, gold, and crypto, yet optimism remains for Bitcoin’s growth through 2026, while gold holds its defensive strength.
Gold carries risks of storage cost and theft, but steadiness in chaos. Bitcoin carries volatility and regulatory challenges, but it also offers unmatched innovation and reach. One is the anchor, the other the dream, and both reward those who hold conviction through uncertainty.
Epilogue: The Timeless Balance
Gold and Bitcoin form a bridge between the ancient and the future. Gold, the earth’s eternal treasure, stands as a symbol of stability and truth. Bitcoin, the digital heir, shines with the spark of innovation and freedom.
Experts view gold as the ultimate inflation hedge, forged in fire and tested over centuries. They see Bitcoin as its digital counterpart, scarce by code and limitless in reach.
Gold’s weight grounds us in reality while Bitcoin’s light expands our imagination. In 2025, as gold surpasses $4,346 and Bitcoin hovers near $105,000, the wise investor sees not rivals but reflections.
Translation moment: Gold reminds us to protect what we have. Bitcoin reminds us to dream of what could be. Together, they balance caution and courage, the two forces every generation must master.
One whispers of legacy, the other of evolution, yet together they tell humanity’s oldest story, our unending quest to preserve value against time and to chase the light that never fades.
🙏 I ask (Allah) for guidance and success. 🤲
Ripster: DTR/ATR + SMA Div + RVOL🧭 Overview
The indicator combines three major analytical tools into one TradingView Pine v6 script — designed for clean, at-a-glance insight into range, divergence, and volume activity.
It shows:
DTR vs ATR Table – current Daily True Range compared to Average True Range.
SMA Price Divergence + EMA Signal – a histogram with color-coded momentum bands.
RVOL Table + Candle Coloring + Change Labels – relative-volume analysis with visual cues on the chart.
Short title: ripcombo
Runs on chart overlay (no separate pane).
📊 1. DTR vs ATR Table
Compares today’s price range (High-Low) to the average true range over a selectable length.
Supports multiple smoothing methods: EMA, RMA, SMA, WMA.
Table position and text size are configurable.
Color logic:
🟢 ≤ 70 % of ATR → low volatility
🟡 70–90 % → average
🔴 ≥ 90 % → expanded range
📈 2. SMA Divergence + EMA Signal
Computes fast (14 SMA) and slow (30 SMA) divergences of price.
Plots two histograms plus an EMA signal line of the slow divergence.
Visuals:
Columns shaded by transparency for clarity.
Rising EMA → lime line (up momentum).
Falling EMA → red line (down momentum).
Optional upper/lower bands and zero line provide quick overbought/oversold zones.
🔥 3. RVOL (Relative Volume)
Adds powerful volume-based context:
a. Table Display
Shows:
Candle Volume
RVOL (Now)
RVOL (Prev)
Δ RVOL (change Now − Prev)
Colors:
🔴 > 200 % (very high volume)
🟠 100–200 % (high volume)
🟡 < 100 % (normal/low volume)
Δ column is green ▲ for increase, red ▼ for decrease.
b. Candle Coloring (optional)
Colors price candles themselves by current RVOL threshold so high-volume candles visually stand out.
c. Last-Bar Label (optional)
Prints a compact label on the latest candle showing:
RVOL: ### % Δ: ▲/▼## %
so you can instantly see the current volume strength and how it changed from the previous bar.
⚙️ User Settings
All major elements are toggle-controlled:
Enable/disable ATR, Divergence, or RVOL sections.
Choose table positions (top/middle/bottom × left/center/right).
Select text sizes, smoothing types, color modes, and visual transparency.
Candle coloring + label visibility are optional.
🧠 At a Glance
Component Purpose Key Visuals
DTR vs ATR Measures volatility expansion One-cell colored table
SMA Divergence Detects price momentum shifts Columns + EMA line + bands
RVOL Analysis Highlights unusual trading volume Colored table + Δ column + candle colors + label
✅ Result
You get a single on-chart tool that:
Quantifies volatility, momentum, and volume context together.
Highlights strong activity days (ATR & RVOL) in color.
Shows whether current candle’s volume is rising or falling vs the previous.
Perfect for spotting breakouts, reversals, or exhaustion moves without switching indicators.
X 4H ORThis indicator plots the 30-second opening range (high/low) for six New-York–time anchors—2am, 6am, 10am, 2pm, 6pm, and 10pm—and extends each box to a fixed end time (e.g., 2am→9am, 6am→1pm, etc.). It samples true 30-second data regardless of the chart timeframe, so the captured highs/lows are precise.
What it does
Builds the first 30s OR for each selected anchor and draws a time-anchored box for that session.
Archives every day’s boxes (up to a cap) so you can study how price interacts with past ranges.
Adds per-anchor show toggles to display the latest box for that anchor.
Adds a global History toggle to show/hide all archived boxes without deleting them (clean view vs. context view).
Uses borderless, color-coded fills per anchor to avoid edge distortion while keeping levels easy to read.
Why it’s useful
Quickly spot session inflection zones where liquidity, breakouts, or reversals cluster.
Compare how current price trades relative to recent session ranges for bias and risk framing.
Perform lightweight post-session review/backtesting on OR breaks, retests, and range rotations.
Keep charts decluttered on demand (latest only), or flip on history for deeper context.
EMA Ribbon MozyMozy TRading
EMA Ribbons for short time frames on daily traders. Buy or sell during crosses
RSI// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © xdecow
//@version=5
indicator("RSI", overlay=true)
g_panel = 'Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// rsi bg colors
g_rsi = 'RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(14, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(14, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(14, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(14, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(14, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(14, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(14, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(14, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(14, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(14, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
demo = map.new()
map.put(demo, 'Overbought', i_threshold_ob)
map.put(demo, 'Uptrend', i_threshold_uptrend)
map.put(demo, 'No Trend', 50)
map.put(demo, 'Downtrend', i_threshold_downtrend)
map.put(demo, 'Oversold', i_threshold_os)
demoKeys = map.keys(demo)
for key in demoKeys
tf = key
rsi = map.get(demo, key)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
High Volume AlertThis Pine Script monitors trading volume in real time and alerts you whenever current volume is unusually high — specifically, when it’s greater than a chosen multiple (for example, 1.5×) of the average volume over a recent period (for example, 20 bars).
It’s a quick way to detect volume spikes, which often precede breakouts or reversals.
Previous Day High-LowIt will show Previous Day High-Low. This will create two horizontal lines automatically updated each day, marking yesterday’s high and low levels clearly on any intraday chart.
ADX Scanner with IndicatorsA screener that will allow you to enter up to 10 stocks. The goal is to see clearly in front of you what stocks are moving and the momentum leveraging the ADX and RSI. The return for the day shows the growth or loss of those moves.
Previous Candle 50% line The intention of this is to mark the 50% mark of the previous candle. My use is to set stops and to spot reversals coming from the STRAT to see in real time 2's going 3
Position Size calculatorOverview
This indicator automatically calculates the average candle body size (|open − close|) for the current trading day and derives a position size (quantity) based on your fixed risk per trade (default ₹1000).
For example:
If today’s average candle body = ₹3.50 and risk = ₹1000 → Quantity = 285
How It Works:
The indicator calculates the absolute difference between open and close (the candle’s body) for every bar of the current day.
It averages those body sizes to estimate the average daily volatility.
Then it divides your chosen risk per trade by the average body size to estimate an appropriate quantity.
It automatically resets at the start of each new day.
Why Use It
While risk size can be derived manually or using TradingView’s built-in Long/Short Position Tool, this indicator provides a faster, more practical alternative when you need to make quick trade decisions — especially in fast-moving intraday markets .
It keeps you focused on execution rather than calculation.
Tip
You can still verify or fine-tune the quantity using the Long/Short Position Tool or a manual calculator, but this indicator helps you react instantly when opportunities appear.
CMF, RSI, CCI, MACD, OBV, Fisher, Stoch RSI, ADX (+DI/-DI)Eight normalized indicators are used in conjunction with the CMF, CCI, MACD, and Stoch RSI indicators. You can track buy and sell decisions by tracking swings. The zero line is for reversal tracking at -20, +20, +50, and +80. You can use any of the nine indicators individually or in combination.