Crypto Breadth | AlphaNatt\ Crypto Breadth | AlphaNatt\
A dynamic, visually modern market breadth indicator designed to track the strength of the top 40 cryptocurrencies by measuring how many are trading above their respective 50-day moving averages. Built with precision, branding consistency, and UI enhancements for fast interpretation.
\ 📊 What This Script Does\
* Aggregates the performance of \ 40 major cryptocurrencies\ on Binance
* Calculates a \ breadth score (0.00–1.00)\ based on how many tokens are above their moving averages
* Smooths the breadth with optional averaging
* Displays the result as a \ dynamic, color-coded line\ with aesthetic glow and gradient fill
* Provides automatic \ background zones\ for extreme bullish/bearish conditions
* Includes \ alerts\ for key threshold crossovers
* Highlights current values in an \ information panel\
\ 🧠 How It Works\
* Pulls real-time `close` prices for 40 coins (e.g., XRP, BNB, SOL, DOGE, PEPE, RENDER, etc.)
* Compares each coin's price to its 50-day SMA (adjustable)
* Assigns a binary score:
• 1 if the coin is above its MA
• 0 if it’s below
* Aggregates all results and divides by 40 to produce a normalized \ breadth percentage\
\ 🎨 Visual Design Features\
* Smooth blue-to-pink \ color gradient\ matching the AlphaNatt brand
* Soft \ glow effects\ on the main line for enhanced legibility
* Beautiful \ multi-stop fill gradient\ with 16 transition zones
* Optional \ background shading\ when extreme sentiment is detected:
• Bullish zone if breadth > 80%
• Bearish zone if breadth < 20%
\ ⚙️ User Inputs\
* \ Moving Average Length\ – Number of periods to calculate each coin’s SMA
* \ Smoothing Length\ – Smooths the final breadth value
* \ Show Background Zones\ – Toggle extreme sentiment overlays
* \ Show Gradient Fill\ – Toggle the modern multicolor area fill
\ 🛠️ Utility Table (Top Right)\
* Displays live breadth percentage
* Shows how many coins (e.g., 27/40) are currently above their MA
\ 🔔 Alerts Included\
* \ Breadth crosses above 50%\ → Bullish signal
* \ Breadth crosses below 50%\ → Bearish signal
* \ Breadth > 80%\ → Strong bullish trend
* \ Breadth < 20%\ → Strong bearish trend
\ 📈 Best Used For\
* Gauging overall market strength or weakness
* Timing trend transitions in the crypto market
* Confirming trend-based strategies with broad market support
* Visual dashboard in macro dashboards or strategy overlays
\ ✅ Designed For\
* Swing traders
* Quantitative investors
* Market structure analysts
* Anyone seeking a macro view of crypto performance
Note: Not financial advise
Bantlar ve Kanallar
Normalized Fibonacci Retracement (MTF/LOG)A question: Instead of creating indicators that constantly plot Fibonacci Retracement levels in a visually overwhelming way, why don't we redefine them on a different scale? 🤨
Overview
The Normalized Fibonacci Retracement indicator converts price data to a 0-100 scale based on the selected timeframe's high-low range, displaying normalized candlesticks alongside standard Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, 78.6%). This normalization reveals patterns that may be hidden in absolute price charts and allows consistent analysis across different instruments.
Originality
By normalizing prices to percentages, this indicator enables pattern recognition independent of absolute price levels. The same formation at $10-$20 and $1000-$2000 appears identical on the normalized scale, helping traders identify recurring structures across various assets and timeframes.
Concepts
The indicator uses a simple formula to transform price data into percentages. This creates a bounded scale where patterns become comparable regardless of the underlying asset's price range. The normalized view often reveals symmetries and relationships not visible in traditional price charts.
Mechanics
The system tracks highs and lows within the selected timeframe as anchor points. When a new period begins, fresh boundaries are established and prices recalculated. Trend direction is determined by timing of extremes. Linear scaling uses direct percentage calculation, while logarithmic scaling applies exponential interpolation for assets with large percentage moves.
Functions
Timeframe Selection: Higher timeframe analysis on any chart resolution
Normalized Display: OHLC data converted to 0-100 percentage scale
Fibonacci Levels: Standard retracement levels plotted automatically
Scaling Options: Linear or logarithmic calculation methods
Pattern Recognition: Reveals formations hidden in absolute price charts
Moving Average: Optional 20-period SMA overlay
Notes
Ensure chart data covers the full selected timeframe for accurate calculations. Use logarithmic scaling for volatile assets with large percentage moves. The normalized scale is effective at revealing patterns and structures that remain consistent across different price ranges, making it particularly useful for comparative analysis and pattern-based trading strategies.
I hope it helps everyone. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
Fair Value Gap & Liquidity Zones [Combined]mixed FVG and buyside and sellside liquidity
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Enhanced Swing + Intraday Strategy + Entry/Exit LabelsPurpose
This TradingView Pine Script is designed for swing traders who hold trades for 3–5 days, but also occasionally do intraday trading. It combines momentum indicators, moving averages, and support/resistance tools to give a complete picture of trend direction, entries, and exits.
Features and Logic Breakdown
1. 20-Day Simple Moving Average (Daily Timeframe)
Fixed to the daily chart, regardless of your active chart timeframe.
Acts as a trend filter and price magnet, especially useful for mean reversion setups.
Helps assess whether the stock is overbought/oversold relative to its 1-month average.
2. VWAP (Volume-Weighted Average Price)
Useful for intraday trades.
Acts as an intraday "fair value" and gravity zone.
Helps identify entries near institutional support/resistance.
3. 9-EMA and 20-EMA (Current Timeframe)
Short-term trend signals.
When 9 EMA crosses above 20 EMA → bullish entry.
When 9 EMA crosses below 20 EMA → bearish exit.
4. Entry/Exit Labels
Plots "Enter" label (green) when 9 EMA crosses above 20 EMA.
Plots "Exit" label (red) when 9 EMA crosses below 20 EMA.
Helps visually track signals without guesswork.
5. Alerts
Built-in conditions to trigger alerts for:
Bullish cross (9 EMA above 20 EMA)
Bearish cross (9 EMA below 20 EMA)
6. Bollinger Bands (20-period, 2 Std Dev)
Shows volatility expansion/contraction around the 20-period SMA.
Can help identify overextended prices or squeeze setups.
Plotted as gray upper/lower bands with shading.
7. MACD (12/26/9) – Hidden
Measures momentum and trend strength.
Lines and histogram are hidden by default but can be toggled on in settings.
8. RSI (14) – Hidden
Measures overbought/oversold conditions.
Hidden by default but plotted between 0–100 with 30/70 lines.
How to Use
On Daily Charts:
Use the script for core swing entries. Enter long on 9 EMA > 20 EMA when price is near the 20-day SMA. Confirm with RSI/MACD if needed.
On Intraday Charts:
Use VWAP and EMAs to manage exits or find sharp intraday pullbacks.
The 20-day SMA still acts as an anchor.
Recommended Trade Flow
1. Identify price trend: Is it above or below the 20-day SMA?
2. Wait for EMA cross entry signal ("Enter" label).
3. Check if RSI is in neutral (not overbought) and MACD histogram is rising.
4. Manage trade using VWAP and 20-day SMA as guide.
5. Exit when "Exit" label triggers or price extends from VWAP.
Bull Momentum GaugeBull Momentum Gauge
The Bull Momentum Gauge is a powerful momentum oscillator designed to identify the underlying strength and sustainability of major market trends. Instead of trying to predict tops and bottoms, this indicator helps traders and investors ride long-term bull markets by signaling when momentum is building and when it is starting to fade.
What it Does
At its core, this tool measures how statistically "stretched" or "compressed" an asset's price is relative to its long-term (1-year) trend. It does this by:
Calculating the price's deviation from its 365-day moving average.
Normalizing this deviation into a Z-score to measure its statistical significance.
Comparing the inverted Z-score to its own 200-day moving average to gauge the momentum of the trend itself.
The result is a single, smooth line that oscillates around a zero value.
How to Use It
The signals are simple and based on the indicator's relationship to the zero line:
Green Line (Gauge below 0): This indicates that the price has been compressed relative to its long-term trend and is now showing signs of building upward momentum. A cross into the green zone can be interpreted as a potential entry signal for a new bull run.
Red Line (Gauge above 0): This suggests that the price has become over-extended or "stretched" and the upward momentum is beginning to weaken. A cross into the red zone can be used as a potential exit signal, indicating it may be time to take profits and wait for the next cycle.
This indicator is designed to work across multiple timeframes (Daily, Weekly, Monthly) and provides a clear, data-driven framework for navigating major market cycles.
Smart BB Reversal + Tick Volume Table [NR]This script combines:
Smart Bollinger Band Reversal Detection to identify high-probability reversal zones,
A real-time tick volume table showing Buy vs Sell strength over the last 10 trades (ticks),
Color-coded candles for trend clarity,
Buy/Sell signals based on volume pressure and support/resistance touches.
✅ Ideal for intraday and scalping traders.
✅ Works best on Nifty, BankNifty, and Gold.
✅ No repaint.
✅ Clear entry & exit with visual confirmations.
Use with Bollinger Band and MACD confirmation for best results.
Trend Impulse Channels (Zeiierman)█ Overview
Trend Impulse Channels (Zeiierman) is a precision-engineered trend-following system that visualizes discrete trend progression using volatility-scaled step logic. It replaces traditional slope-based tracking with clearly defined “trend steps,” capturing directional momentum only when price action decisively confirms a shift through an ATR-based trigger.
This tool is ideal for traders who prefer structured, stair-step progression over fluid curves, and value the clarity of momentum-based bands that reveal breakout conviction, pullback retests, and consolidation zones. The channel width adapts automatically to market volatility, while the step logic filters out noise and false flips.
⚪ The Structural Assumption
This indicator is built on a core market structure observation:
After each strong trend impulse, the market typically enters a “cooling-off” phase as profit-taking occurs and counter-trend participants enter. This often results in a shallow pullback or stall, creating a slight negative slope in an uptrend (or a positive slope in a downtrend).
These “cooling-off” phases don’t reverse the trend — they signal temporary pressure before the next leg continues. By tracking trend steps discretely and filtering for this behavior, Trend Impulse Channels helps traders align with the rhythm of impulse → pause → impulse.
⚪ Step-Based Trend Engine
At the heart of this tool is a dynamic step engine that progresses only when price crosses a predefined ATR-scaled trigger level:
Trigger Threshold (× ATR) – Defines how far price must break beyond the current trend state to register a new trend step.
Step Size (Volatility-Guided) – Each trend continuation moves the trend line in discrete units, scaling with ATR and trend persistence.
Trend Direction State – Maintains a +1/-1 internal bias to support directional filters and step tracking.
⚪ Volatility-Adaptive Channel
Each step is wrapped inside a dynamic envelope scaled to current volatility:
Upper and Lower Bands – Derived from ATR and band multipliers to expand/contract as volatility changes.
⚪ Retest Signal System
Optional signal markers show when price re-tests the upper or lower band:
Upper Retest → Pullback into resistance during a bearish trend.
Lower Retest → Pullback into support during a bullish trend.
⚪ Trend Step Signals
Circular markers can be shown to mark each time the trend steps forward, making it easy to identify structurally significant moments of continuation within a larger trend.
█ How to Use
⚪ Trend Alignment
Use the Trend Line and Step Markers to visually confirm the direction of momentum. If multiple trend steps occur in sequence without reversal, this typically signals strong conviction and trend persistence.
snapshot
⚪ Retest-Based Entries
Wait for pullbacks into the channel and monitor for triangle retest signals. When used in confluence with trend direction, these offer high-quality continuation setups.
snapshot
⚪ Breakouts
Look for breakouts beyond the upper or lower band after a longer period of pause. For higher likelihood of success, look for breakouts in the direction of the trend.
snapshot
█ Settings
Trigger Threshold (× ATR) - Defines how far price must move to register a new trend step. Controls sensitivity to trend flips.
Max Step Size (× ATR) - Caps how far each trend step can extend. Prevents runaway step expansion in high volatility.
Band Multiplier (× ATR) - Expands the upper and lower channels. Controls how much breathing room the bands allow.
Trend Hold (bars) - Minimum number of bars the trend must remain active before allowing a flip. Helps reduce noise.
Filter by Trend - Restrict retest signals to those aligned with the current trend direction.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Multi-Timeframe Bands (final, with labels)This is a simple Kelt style Band indicator draws colored horizontal bands representing the high (top) and low (bottom) for each of the following timeframes:
4h: Blue (bottom), Red (top)
1D: Gold (bottom/top)
1W: Purple (bottom/top)
1M: Orange (bottom/top)
Quarterly: Light purple (bottom/top)
The script works on any chart timeframe, and the bands will update dynamically.
Triangular Fib🔍 Features
- Dynamic Lookback & Projection: Automatically adjusts the range and projection horizon based on timeframe changes.
- Triangular Fibonacci Arms: Projects fib levels upward and downward from high/low extremes to highlight potential price inflections.
- Volatility-Shaded Equilibrium: Visual zone highlights areas of consolidation or energy buildup before breakouts.
- Breakout Alerts: Detects and signals bullish/bearish breakouts from triangular fib thresholds.
- Auto-Traced Triangle Wedge: Dotted wedge lines visually represent narrowing price action from range extremes to midpoint.
Ideal for traders who seek visual clarity, price symmetry, and alert-driven decision-making across multiple timeframes. Whether you're swing trading or intraday scouting, this script provides a richly layered roadmap of market potential.
Not financial advice.
جدول تقاطع المتوسطات وموقع المتوسط بالنسبة للسعر (دقيق)A moving average for the average and a varied and consolidated average in different formats, determining the direction of all moving and good averages.
Estilo Pako Mejorado - Tendencia, Liquidez y ConfirmaciónThis indicator is designed to replicate the entry logic used in high-accuracy institutional-style trading, specifically inspired by strategies used on XAU/USD (gold) in 15-minute timeframes.
It generates high-probability trade signals based on the following key conditions:
Clear market trend: Identified using the 20 EMA and 50 EMA crossover (trend confirmation).
Liquidity sweep detection: Triggers when price takes out recent highs/lows (20-bar lookback), suggesting stop-hunt behavior.
Candle confirmation: Requires a bullish or bearish engulfing candle as price reverts after the sweep.
Optional visual features include:
Order Blocks (OB): Displays the last opposite candle before a strong market move.
Liquidity zones: Marks recent swing highs/lows where liquidity likely sits.
The indicator only plots entry signals when all three conditions are aligned, aiming to reduce false positives and improve trade precision.
Best used on:
XAU/USD or major FX pairs
15-minute timeframe
In trending markets with clean structure
You can combine this indicator with alerts or automation tools to build a semi-automated or fully automated trading system.
PulsePoint SqueezePulsePoint Squeeze™ is a dynamic momentum compression and divergence detection system built to help traders identify high-pressure zones before breakout moves. Combining RSI-based thresholds, price compression zones, and divergence cues, it offers high-clarity insights with minimal noise — ideal for intraday precision and swing positioning.
Multiple of Net Asset Value (mNAV)This TradingView indicator calculates and displays the multiple of Net Asset Value (mNAV) for a selected symbol. It uses the asset symbol held, the quantity of assets held, and the number of outstanding shares to compute mNAV per share. The indicator compares the current price to mNAV, showing how many times the asset is trading above or below its mNAV. Users can configure up to four custom mNAV multiples for reference lines, helping to visualize overvaluation or undervaluation relative to mNAV. Ideal for analyzing ETFs, trusts, or crypto funds with transparent holdings.
Multi-Timeframe Bands (Horizontal Table, Robust, No get_cols)Mulit-timeframe /Kelt Bands with Table Price tracker
This is a simple Kelt style Band indicator draws colored horizontal bands representing the high (top) and low (bottom) for each of the following timeframes:
4h: Blue (bottom), Red (top)
1D: Gold (bottom/top)
1W: Purple (bottom/top)
1M: Orange (bottom/top)
Quarterly: Light purple (bottom/top)
The script works on any chart timeframe, and the bands will update dynamically.
I've added a horizontal box to show the corresponding prices at the top.
Alanna IndicatorThe Alanna Indicator is a sophisticated analysis tool designed to move beyond simple price action and uncover the fundamental drivers behind a stock's behavior. Instead of relying on a single lagging indicator, this script provides a multi-dimensional view of a stock's character by adapting the Nobel prize-winning Fama-French Five-Factor Model and combining it with the power of Momentum.
The core of this indicator is its ability to identify a stock's current "Factor Regime"—whether it is being perceived by the market primarily as a Value, Growth, Momentum, or other type of stock. By detecting shifts between these regimes and confirming them with price momentum, the Alanna Indicator generates high-conviction signals for potential entries and exits.
SessionsThis indicator displays 3 minimalistic session boxes.
You can change the time, timezone input, box colors.
This script also has a timeframe filter.
For example, if you wish that the indicator disables itself when you switch to a higher timeframe chart, it will do it automatically.
Silver Bull Flag Breakout AlertDescription:
This script detects a bullish breakout in Silver (XAGUSD) above $37.60, confirming a bull flag continuation pattern on the daily chart. It optionally plots a 21 EMA as a trailing stop and includes a customizable alert condition for trade execution or monitoring.
Features:
• Alerts on daily close above $37.60
• Optional trailing stop (21 EMA)
• Visual breakout marker
• Ideal for swing trades targeting $41–$45
SMA - ATR with Dual SMAs + Candle Body Inside SignalsSMA - ATR with Dual SMAs + Candle Body Inside Signals
Smart Volatility Squeeze + Trend Filter
Smart Volatility Squeeze + Trend Filter
This advanced indicator detects low-volatility squeeze conditions and plots breakout signals, helping you spot strong price moves before they happen.
How it works
This script combines Bollinger Bands (BB) and the Keltner Channel (KC) — two popular volatility tools — to identify squeeze setups:
A squeeze occurs when the Bollinger Bands contract and move completely inside the Keltner Channel. This means the market is quiet and volatility is low — often right before a significant breakout.
When the squeeze condition is active, the background highlights the chart area with a soft color that gradually intensifies the longer the squeeze lasts. This gives a clear visual cue that pressure is building.
A breakout signal triggers when price crosses above the upper Bollinger Band (bullish) or below the lower Bollinger Band (bearish) — confirming that the squeeze has ended and a new impulse is likely starting.
To reduce false breakouts, you can enable the built-in trend filter. By default, it uses a simple EMA: breakouts are confirmed only if the price action aligns with the overall trend direction.
Key features
🔹 Bollinger Bands + Keltner Channel squeeze detection
🔹 Automatic squeeze marker and background shading
🔹 Breakout arrows for up and down signals
🔹 Optional trend filter with adjustable EMA length
🔹 Works on any market: crypto, stocks, forex, indices
🔹 Fully adjustable inputs for BB, KC and trend filter
🔹 Built-in ready-to-use alerts for breakouts
How to use
Watch for areas where the squeeze condition appears — the background will highlight them.
Wait for a breakout arrow to appear outside the bands.
Use the trend filter to focus only on breakouts in the dominant trend direction.
Combine with your existing risk management and confirmation tools.
Inputs
BB Length & StdDev: Control the Bollinger Bands settings.
KC EMA Length & ATR Multiplier: Control the Keltner Channel width.
Trend Filter Length: Adjust how smooth or sensitive the trend filter is.
Use Trend Filter: Enable or disable confirmation by trend direction.
Disclaimer
⚠️ This script is for educational purposes only and does not constitute financial advice. Always test any strategy thoroughly and trade at your own risk.
6868//@version=5
indicator(title='6868', shorttitle='ICHI', overlay=true)
// Version 1.1
// Created by NgheTrader
TS_D1 = input.int(9, minval=1, title='Tenkan-sen')
KS_D1 = input.int(17, minval=1, title='Kijun-sen')
TS_D2 = input.int(65, minval=1, title='Tenkan-sen')
KS_D2 = input.int(129, minval=1, title='Kijun-sen')
Chikou_Displacement = input.int(25, minval=1, title='Chikou-span')
SB = input.int(26, minval=1, title='Senko Span B')
donchian(len) =>
math.avg(ta.lowest(len), ta.highest(len))
Tenkan = donchian(TS_D1)
Kijun = donchian(KS_D1)
KumoA = math.avg(Tenkan, Kijun)
KumoB = donchian(SB)
DG65 = donchian(TS_D2)
DG129 = donchian(KS_D2)
plot(Tenkan, color=color.new(#0fc7db, 10), title='Tenkan-sen', linewidth=2)
plot(Kijun, color=color.new(#f00f0f, 10), title='Kijun-sen', linewidth=2)
plot(DG65, color=color.new(#f8e804e6, 10), title='dg65', linewidth=2)
plot(DG129, color=color.new(#f99b04, 10), title='DG129', linewidth=2)
plot(close, offset=-Chikou_Displacement, color=color.new(#9c27b0, 10), title='Chikou-span', linewidth=2)
p1 = plot(KumoA, offset=Chikou_Displacement, color=color.new(#0cb71a, 0), linewidth=1, title='Span A')
p2 = plot(KumoB, offset=Chikou_Displacement, color=color.new(#afaaaac5,0), linewidth=1, title='Span B')
fill(p1, p2, color=KumoA > KumoB ? color.new(#106323,80) : color.new(#e4e1e1,0), title='Kumo Cloud')
// Plot Future Lines
Midpoint_future1(len) =>
math.avg(ta.highest(len - 1), ta.lowest(len - 1))
Midpoint_future2(len) =>
math.avg(ta.highest(len - 2), ta.lowest(len - 2))
Midpoint_future3(len) =>
math.avg(ta.highest(len - 3), ta.lowest(len - 3))
Midpoint_future4(len) =>
math.avg(ta.highest(len - 4), ta.lowest(len - 4))
Midpoint_future5(len) =>
math.avg(ta.highest(len - 5), ta.lowest(len - 5))
Midpoint_future6(len) =>
math.avg(ta.highest(len - 6), ta.lowest(len - 6))
Midpoint_future7(len) =>
math.avg(ta.highest(len - 7), ta.lowest(len - 7))
Midpoint_future8(len) =>
math.avg(ta.highest(len - 8), ta.lowest(len - 8))
Midpoint_future9(len) =>
math.avg(ta.highest(len - 9), ta.lowest(len - 9))
Midpoint_future10(len) =>
math.avg(ta.highest(len - 10), ta.lowest(len - 10))
Midpoint_future11(len) =>
math.avg(ta.highest(len - 11), ta.lowest(len - 11))
Midpoint_future12(len) =>
math.avg(ta.highest(len - 12), ta.lowest(len - 12))
Midpoint_future13(len) =>
math.avg(ta.highest(len - 13), ta.lowest(len - 13))
Midpoint_future14(len) =>
math.avg(ta.highest(len - 14), ta.lowest(len - 14))
// Plot Future Daily Kijun
KJ_Next_1 = Midpoint_future1(KS_D1)
KJ_Next_2 = Midpoint_future2(KS_D1)
KJ_Next_3 = Midpoint_future3(KS_D1)
KJ_Next_4 = Midpoint_future4(KS_D1)
KJ_Next_5 = Midpoint_future5(KS_D1)
KJ_Next_6 = Midpoint_future6(KS_D1)
KJ_Next_7 = Midpoint_future7(KS_D1)
KJ_Next_8 = Midpoint_future8(KS_D1)
KJ_Next_9 = Midpoint_future9(KS_D1)
KJ_Next_10 = Midpoint_future10(KS_D1)
plot(KJ_Next_1, color=color.new(#f00f0f, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(KJ_Next_2, color=color.new(#f00f0f, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(KJ_Next_3, color=color.new(#f00f0f, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(KJ_Next_4, color=color.new(#f00f0f, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(KJ_Next_5, color=color.new(#f00f0f, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(KJ_Next_6, color=color.new(#f00f0f, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(KJ_Next_7, color=color.new(#f00f0f, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(KJ_Next_8, color=color.new(#f00f0f, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(KJ_Next_9, color=color.new(#f00f0f, 10), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
plot(KJ_Next_10,color=color.new(#f00f0f, 10), linewidth=1, offset=10, show_last=1, style=plot.style_circles)
// Plot Future Daily Tenkan
TS_Next_1 = Midpoint_future1(TS_D1)
TS_Next_2 = Midpoint_future2(TS_D1)
TS_Next_3 = Midpoint_future3(TS_D1)
TS_Next_4 = Midpoint_future4(TS_D1)
TS_Next_5 = Midpoint_future5(TS_D1)
TS_Next_6 = Midpoint_future6(TS_D1)
TS_Next_7 = Midpoint_future7(TS_D1)
TS_Next_8 = Midpoint_future8(TS_D1)
plot(TS_Next_1, color=color.new(#0fc7db, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(TS_Next_2, color=color.new(#0fc7db, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(TS_Next_3, color=color.new(#0fc7db, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(TS_Next_4, color=color.new(#0fc7db, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(TS_Next_5, color=color.new(#0fc7db, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(TS_Next_6, color=color.new(#0fc7db, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(TS_Next_7, color=color.new(#0fc7db, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(TS_Next_8, color=color.new(#0fc7db, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
// Plot Future Kumo A
Next_KumoA_1 = Midpoint_future1(TS_D2)
Next_KumoA_2 = Midpoint_future2(TS_D2)
Next_KumoA_3 = Midpoint_future3(TS_D2)
Next_KumoA_4 = Midpoint_future4(TS_D2)
Next_KumoA_5 = Midpoint_future5(TS_D2)
Next_KumoA_6 = Midpoint_future6(TS_D2)
Next_KumoA_7 = Midpoint_future7(TS_D2)
Next_KumoA_8 = Midpoint_future8(TS_D2)
Next_KumoA_9 = Midpoint_future9(TS_D2)
plot(Next_KumoA_1, color=color.new(#f8e804e6, 10), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(Next_KumoA_2, color=color.new(#f8e804e6, 10), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(Next_KumoA_3, color=color.new(#f8e804e6, 10), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(Next_KumoA_4, color=color.new(#f8e804e6, 10), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(Next_KumoA_5, color=color.new(#f8e804e6, 10), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(Next_KumoA_6, color=color.new(#f8e804e6, 10), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(Next_KumoA_7, color=color.new(#f8e804e6, 10), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(Next_KumoA_8, color=color.new(#f8e804e6, 10), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(Next_KumoA_9, color=color.new(#f8e804e6, 10), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
// Plot Future Kumo B
KB_Next_1 = Midpoint_future1(KS_D2)
KB_Next_2 = Midpoint_future2(KS_D2)
KB_Next_3 = Midpoint_future3(KS_D2)
KB_Next_4 = Midpoint_future4(KS_D2)
KB_Next_5 = Midpoint_future5(KS_D2)
KB_Next_6 = Midpoint_future6(KS_D2)
KB_Next_7 = Midpoint_future7(KS_D2)
KB_Next_8 = Midpoint_future8(KS_D2)
KB_Next_9 = Midpoint_future9(KS_D2)
KB_Next_10 = Midpoint_future10(KS_D2)
KB_Next_11 = Midpoint_future11(KS_D2)
KB_Next_12 = Midpoint_future12(KS_D2)
KB_Next_13 = Midpoint_future13(KS_D2)
KB_Next_14 = Midpoint_future14(KS_D2)
plot(KB_Next_1, color=color.rgb(253, 173, 0), linewidth=1, offset=1, show_last=1, style=plot.style_circles)
plot(KB_Next_2, color=color.rgb(253, 173, 0), linewidth=1, offset=2, show_last=1, style=plot.style_circles)
plot(KB_Next_3, color=color.rgb(253, 173, 0), linewidth=1, offset=3, show_last=1, style=plot.style_circles)
plot(KB_Next_4, color=color.rgb(253, 173, 0), linewidth=1, offset=4, show_last=1, style=plot.style_circles)
plot(KB_Next_5, color=color.rgb(253, 173, 0), linewidth=1, offset=5, show_last=1, style=plot.style_circles)
plot(KB_Next_6, color=color.rgb(253, 173, 0), linewidth=1, offset=6, show_last=1, style=plot.style_circles)
plot(KB_Next_7, color=color.rgb(253, 173, 0), linewidth=1, offset=7, show_last=1, style=plot.style_circles)
plot(KB_Next_8, color=color.rgb(253, 173, 0), linewidth=1, offset=8, show_last=1, style=plot.style_circles)
plot(KB_Next_9, color=color.rgb(253, 173, 0), linewidth=1, offset=9, show_last=1, style=plot.style_circles)
plot(KB_Next_10, color=color.rgb(253, 173, 0), linewidth=1, offset=10, show_last=1, style=plot.style_circles)
plot(KB_Next_11, color=color.rgb(253, 173, 0), linewidth=1, offset=11, show_last=1, style=plot.style_circles)
plot(KB_Next_12, color=color.rgb(253, 173, 0), linewidth=1, offset=12, show_last=1, style=plot.style_circles)
plot(KB_Next_13, color=color.rgb(253, 173, 0), linewidth=1, offset=13, show_last=1, style=plot.style_circles)
plot(KB_Next_14, color=color.rgb(253, 173, 0), linewidth=1, offset=14, show_last=1, style=plot.style_circles)
var line greenLine = na
var line redLine = na
xGreen = bar_index - 8
xRed = bar_index - 16
// Dùng khoảng 100 nến gần nhất để lấy phạm vi giá hiện hành
lookback = 100
top = ta.highest(high, lookback)
bottom = ta.lowest(low, lookback)
if bar_index > 17
line.delete(greenLine)
line.delete(redLine)
greenLine := line.new( x1 = xGreen, y1 = top, x2 = xGreen, y2 = bottom, color=color.new(#0fc7db, 85), width = 4)
redLine := line.new( x1 = xRed, y1 = top, x2 = xRed, y2 = bottom,color =color.new(#f00f0f, 85), width = 4 )
CM SlingShot System (Customizable)//@version=5
indicator("CM SlingShot System (Customizable)", overlay=true, shorttitle="CM_SSS")
// ==== 📌 INPUT SETTINGS ====
group1 = "Entry Settings"
sae = input.bool(true, title="📍 Show Aggressive Entry (pullback)?", group=group1)
sce = input.bool(true, title="📍 Show Conservative Entry (confirmation)?", group=group1)
group2 = "Visual Settings"
st = input.bool(true, title="🔼 Show Trend Arrows (top/bottom)?", group=group2)
sl = input.bool(false, title="🅱🆂 Show 'B' & 'S' Letters Instead of Arrows", group=group2)
pa = input.bool(true, title="🡹🡻 Show Entry Arrows", group=group2)
group3 = "MA Settings"
fastLength = input.int(38, title="Fast EMA Period", group=group3)
slowLength = input.int(62, title="Slow EMA Period", group=group3)
timeframe = input.timeframe("D", title="Timeframe for EMAs", group=group3)
// ==== 📈 EMA CALCULATIONS ====
emaFast = request.security(syminfo.tickerid, timeframe, ta.ema(close, fastLength))
emaSlow = request.security(syminfo.tickerid, timeframe, ta.ema(close, slowLength))
col = emaFast > emaSlow ? color.lime : emaFast < emaSlow ? color.red : color.gray
// ==== ✅ SIGNAL CONDITIONS ====
pullbackUp = emaFast > emaSlow and close < emaFast
pullbackDn = emaFast < emaSlow and close > emaFast
entryUp = emaFast > emaSlow and close < emaFast and close > emaFast
entryDn = emaFast < emaSlow and close > emaFast and close < emaFast
// ==== 🌈 CHART PLOTS ====
plot(emaFast, title="Fast EMA", color=color.new(col, 0), linewidth=2)
plot(emaSlow, title="Slow EMA", color=color.new(col, 0), linewidth=4)
fill(plot(emaSlow, title="", color=color.new(col, 0)), plot(emaFast, title="", color=color.new(col, 0)), color=color.silver, transp=70)
// Highlight bars
barcolor(sae and (pullbackUp or pullbackDn) ? color.yellow : na)
barcolor(sce and (entryUp or entryDn) ? color.aqua : na)
// Trend arrows
upTrend = emaFast >= emaSlow
downTrend = emaFast < emaSlow
plotshape(st and upTrend, title="UpTrend", style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(st and downTrend, title="DownTrend", style=shape.triangledown, location=location.abovebar, color=color.red)
// Entry indicators
plotarrow(pa and entryUp ? 1 : na, colorup=color.green, offset=-1)
plotarrow(pa and entryDn ? -1 : na, colordown=color.red, offset=-1)
plotchar(sl and entryUp ? low - ta.tr : na, char="B", location=location.absolute, color=color.green)
plotchar(sl and entryDn ? high + ta.tr : na, char="S", location=location.absolute, color=color.red)
Supply & Demand Zones (Buyer/Seller Buildup)
This indicator automatically detects high-probability Supply and Demand Zones, highlighting key buyer and seller buildup areas based on price structure and volume behavior.
It helps traders identify potential reversal zones by:
Marking strong support (demand) and resistance (supply) levels
Tracking price rejections and consolidations
Visualizing where buyer/seller momentum accumulates
Filtering noise to focus only on the most relevant zones
GMMG BB50 and Signals with BTC Dominance & USD//@version=5
indicator("GMMG BB50 and Signals with BTC Dominance & USD", overlay=true)
// Define Bollinger Bands
length = 50
deviations = 0.2
basis = ta.sma(close, length)
dev = deviations * ta.stdev(close, length)
upperBand = basis + dev
lowerBand = basis - dev
// Plotting Bollinger Bands
plot(basis, color=color.blue, title="BB Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
// Fill between the bands
fill(p1, p2, color=color.rgb(173, 216, 230, 90), title="BB Fill")
// Determine Bullish or Bearish conditions
bullish = close > upperBand
bearish = close < lowerBand
// Calculate RSI
rsiLength = 30
rsiValue = ta.rsi(close, rsiLength)
rsiAbove50 = rsiValue > 50
// Volume calculation
lookback = input(20, "Lookback Period", tooltip="The number of previous candles to check for volume")
highestVolume = ta.highest(volume, lookback)
currentVolume = volume
bullishVolumeCond = (currentVolume >= highestVolume) and (close >= open)
bearishVolumeCond = (currentVolume >= highestVolume) and (close < open)
// Volume Status
var string volumeStatusText = "Neutral"
var color volumeBgColor = color.new(color.white, 90)
if bullishVolumeCond
volumeStatusText := "Bullish Volume"
volumeBgColor := color.new(color.green, 80)
else if bearishVolumeCond
volumeStatusText := "Bearish Volume"
volumeBgColor := color.new(color.red, 80)
else
volumeStatusText := "Neutral"
volumeBgColor := color.new(color.white, 90)
// MACD calculation
= ta.macd(close, 12, 26, 9)
macdCrossAbove = ta.crossover(macdLine, signalLine)
macdCrossBelow = ta.crossunder(macdLine, signalLine)
var string macdStatusText = "Neutral"
var color macdBgColor = color.new(color.white, 90)
var string macdCrossoverStatus = "No Crossover"
if macdCrossAbove
macdStatusText := "MACD Bullish"
macdBgColor := color.new(color.green, 80)
macdCrossoverStatus := "Bullish Cross"
else if macdCrossBelow
macdStatusText := "MACD Bearish"
macdBgColor := color.new(color.red, 80)
macdCrossoverStatus := "Bearish Cross"
// Daily and 4H candles
= request.security(syminfo.tickerid, "D", )
isDailyBullish = dayClose > dayOpen
dailyCandleColor = isDailyBullish ? "Green" : "Red"
= request.security(syminfo.tickerid, "240", )
isHourlyBullish = hourClose > hourOpen
hourlyCandleColor = isHourlyBullish ? "Green" : "Red"
// Bitcoin Dominance and USD Index
btcDom = request.security("CRYPTOCAP:BTC.D", "D", close)
dxy = request.security("TVCD:DXY", "D", close)
plot(btcDom, title="BTC Dominance", color=color.orange)
plot(dxy, title="USD Index (DXY)", color=color.purple)
// Combined table setup and update will go here... (you can continue merging the remaining table code as needed)