Multi Time Frame EMA & MA IndicatorThis indicator automatically applies prime-number EMAs and MAs based on the current chart timeframe, using faster cool-tone EMAs and slower warm-tone MAs to clearly distinguish momentum vs trend.
It adapts dynamically for 1m, 5m, 15m, 1H, 4H, and 1D charts, and uses a visual hierarchy where thinner lines represent faster averages and thicker lines represent slower ones, ensuring clarity in both light and dark themes.
An on-chart label displays which EMA and MA lengths are active for the selected timeframe.
อินดิเคเตอร์และกลยุทธ์
辰锋// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © chenfwng88888
//@version=6
indicator("辰锋", shorttitle="辰锋", overlay=true)
// 关键EMA均线组
plot(ta.ema(close, 12), title="13", color=color.rgb(230, 202, 58), linewidth=1) // 黄色
plot(ta.ema(close, 24), title="24", color=color.rgb(208, 35, 208), linewidth=1) // 粉色
plot(ta.ema(close, 36), title="38", color=color.rgb(129, 169, 238), linewidth=1) // 墨绿
plot(ta.ema(close, 52), title="52", color=color.rgb(39, 208, 226), linewidth=1) // 蓝绿色
plot(ta.ema(close, 104), title="104", color=color.rgb(222, 109, 57), linewidth=1) // 棕色
// Vegas Channel (added EMAs)
ema144 = ta.ema(close, 144)
ema169 = ta.ema(close, 169)
plot(ema144, title="EMA 144", color=color.new(#e3ebf7, 0), linewidth=1)
plot(ema169, title="EMA 169", color=color.new(#e7e7f5, 0), linewidth=1)
// Fill between EMA 144 and EMA 169 with light blue background
fill(plot1 = plot(ema144, display=display.none),
plot2 = plot(ema169, display=display.none),
color = color.new(#deeff4, 70), title = "144-169 Area")
// Colored candles based on volume and price movement
isUp = close > open
isDown = close < open
highVolume = volume > ta.sma(volume, 50) * 3 // 50-period average + 50% threshold
// Define colors
bullishColor = color.new(#a5f1a5, 0) // Light green
bearishColor = color.new(#f2b661, 0) // Orange
// Plot candles
barcolor(isUp and highVolume ? bullishColor : isDown and highVolume ? bearishColor : na)
辰锋// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © chenfwng88888
//@version=6
indicator("辰锋", shorttitle="辰锋", overlay=true)
// 关键EMA均线组
plot(ta.ema(close, 12), title="13", color=color.rgb(230, 202, 58), linewidth=1) // 黄色
plot(ta.ema(close, 24), title="24", color=color.rgb(208, 35, 208), linewidth=1) // 粉色
plot(ta.ema(close, 36), title="38", color=color.rgb(129, 169, 238), linewidth=1) // 墨绿
plot(ta.ema(close, 52), title="52", color=color.rgb(39, 208, 226), linewidth=1) // 蓝绿色
plot(ta.ema(close, 104), title="104", color=color.rgb(222, 109, 57), linewidth=1) // 棕色
// Vegas Channel (added EMAs)
ema144 = ta.ema(close, 144)
ema169 = ta.ema(close, 169)
plot(ema144, title="EMA 144", color=color.new(#e3ebf7, 0), linewidth=1)
plot(ema169, title="EMA 169", color=color.new(#e7e7f5, 0), linewidth=1)
// Fill between EMA 144 and EMA 169 with light blue background
fill(plot1 = plot(ema144, display=display.none),
plot2 = plot(ema169, display=display.none),
color = color.new(#deeff4, 70), title = "144-169 Area")
// Colored candles based on volume and price movement
isUp = close > open
isDown = close < open
highVolume = volume > ta.sma(volume, 50) * 3 // 50-period average + 50% threshold
// Define colors
bullishColor = color.new(#a5f1a5, 0) // Light green
bearishColor = color.new(#f2b661, 0) // Orange
// Plot candles
barcolor(isUp and highVolume ? bullishColor : isDown and highVolume ? bearishColor : na)
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)
EMA 5/10/20/34/55/60/120/255Overview
- Plots eight Exponential Moving Averages on the price chart: EMA(5/10/20/34/55/60/120/255) .
- Designed for light (white) theme with high-contrast colors and uniform linewidth=1 .
- Written in Pine Script v6 ( overlay=true ), no alerts or extra visuals.
Why These Lengths
- 5, 10 : Short-term momentum and intraday rhythm.
- 20, 34 : Swing trend and pullback structure (34 is Fibonacci-based).
- 55, 60 : Deeper swing/weekly alignment commonly used by trend traders.
- 120, 255 : Mid/long-term trend filters (~half-year and ~annual trading days).
How To Read
- Trend filter: Price above EMA(120/255) favors bullish context; below favors bearish.
- Alignment: Strong bull trend when 5 > 10 > 20 > 34 > 55 > 60 > 120 > 255 and slopes up; inverse for bear trends.
- Pullbacks: Shallow pullbacks often respect 5/10 ; standard pullbacks 20/34 ; deeper tests 55/60 .
- Slope matters: Up/flat/down slopes of the longer EMAs ( 120/255 ) reflect trend strength more reliably than single crossovers.
Typical Use Cases
- Trend following: Trade in the direction of 120/255 and the stacked EMA order.
- Pullback entries: Look for stabilizing price action around 20/34 within a trend.
- Breakout confirmation: Sustain above/below a key EMA, then retest and hold.
- Risk management: Place stops beyond nearby EMAs, optionally buffered by ATR.
Tips
- Use the Data Window to identify each EMA line by its title ( EMA(5) , EMA(10) , etc.).
- Combine with volatility/strength filters (e.g., ATR, ADX) to reduce range-bound noise.
- Multi-timeframe consistency (e.g., higher TF EMA(255) aligned with current TF EMA(55/60) ) improves selectivity.
Limitations
- All moving averages are lagging by design; expect delayed signals.
- In consolidations, frequent crossovers can create whipsaws; apply filters or focus on slope and structure.
Disclaimer
- For educational purposes only. Not financial advice. Always validate on your instruments and timeframes and manage risk accordingly.
Exchanges OpeningProvides an indicator 5 minutes before New York, London, Frankfurt, Tokyo, Hong Kong or Sydney Stock exchanges open with optional alerts if you create one for the script.
Delta Δ Coinbase / BinanceThe Delta Coinbase Binance indicator simply shows the price difference (spread) between Bitcoin on Coinbase (BTC/USD) and Binance (BTC/USDT). If positive (e.g., +$50), it means Coinbase price is higher, signaling strong buying from US investors (premium). If negative (e.g., -$100), Coinbase is cheaper, indicating selling pressure from the US side (discount). It's smoothed with SMMA(2) for clearer trends.
Relative Performance vs XAO (Histogram)RSC Relative Strength Comparison is used to compare performance of a Sector Index or Stock against a Benchmark (Index). The Benchmark used is the Australian All Ordinaries Index with a look back period of 63 days (3 months). Both the benchmark and look back period may be changed in the code to suit.
Smart Cloud by Ilker (Custom Matriks)A Proprietary Hybrid Trend System for All Major Financial Assets
This indicator, originally developed for the Matriks platform, is a highly effective hybrid trend identification system designed for day-to-day analysis across all major asset classes, including Stocks, Forex, Indices, and Cryptocurrencies. It combines the forward-looking principle of the Ichimoku Kinko Hyo Cloud with heavily smoothed Moving Averages (MAs) to create a clear, visually guided trading signal. (Daily Timeframe recommended for optimal results).
📊 Algorithmic Structure and Parameters
The "Smart Cloud" utilizes six primary user-adjustable parameters that govern its sensitivity and shape, moving away from standard Ichimoku settings to provide a robust, customized trend view:
P1, P2, P3 (60, 56, 248): These long-term settings define the core structure and width of the cloud, acting as the primary dynamic support and resistance zone. The significantly longer P3 (Lagging Period) ensures the cloud reflects strong, deep market cycles.
P4 (Displacement 26): Maintains the traditional Ichimoku principle of projecting the cloud 26 periods forward to provide a predictive view of future trend support/resistance.
P5 (MA50 - Blue) & P6 (MA10 - Purple): These are the two primary Moving Averages plotted inside the cloud. They serve as fast-response momentum lines:
P5 (MA50): Represents the middle-term trend average.
P6 (MA10): Represents the short-term market momentum.
📈 Core Trend and Signal Interpretation
The indicator provides powerful trend identification based on three key components:
The Cloud (Kumo):
Green Cloud (Bullish): Indicates the dominant trend is up, suggesting dynamic support for price action.
Red Cloud (Bearish): Indicates the dominant trend is down, suggesting dynamic resistance.
The thickness and slope of the cloud are key indicators of trend strength.
MA Crossover Signal (Blue/Purple):
Buy Signal: When the faster Purple MA (P6=10) crosses above the slower Blue MA (P5=50).
Sell Signal: When the faster Purple MA (P6=10) crosses below the slower Blue MA (P5=50).
Price Action & Confirmation:
The most powerful signals occur when a MA Crossover is confirmed by price breaking out of the cloud in the same direction.
Price above the cloud and MA crossover to the upside suggests a strong buy entry.
Disclaimer: This tool is intended for analysis and decision-making support. It is not financial advice. Always use stop-loss orders and manage your risk accordingly.
BTC BRD – Bullet-Proof Reversal DetectorThis indicator identifies true market reversals by analyzing raw price structure instead of traditional lagging indicators. It tracks how Bitcoin (and any crypto asset) naturally shifts direction by detecting confirmed swing points, followed by a structural break in the opposite direction. A bullish signal appears when price forms a higher low and then breaks above the previous structural high; a bearish signal forms when price creates a lower high followed by a break below the previous structural low.
Because it uses pure market structure, every signal reflects an actual change in trend direction, not a temporary pullback or indicator noise. This makes the tool highly reliable across all timeframes — from 1 minute scalping to multi-hour swing setups. The result is a clean, noise-free view of where the market truly reverses, giving traders clear confirmation points to plan entries, exits, or risk management.
Steff- OBX- DTA OBX – US Open 15-Minute Zone Indicator
This indicator highlights the first 15 minutes of the U.S. stock market opening, also known as the OBX (Opening Balance Extension).
It is designed specifically for Nasdaq and S&P 500, which open at 09:30 New York time — corresponding to 15:30 Danish time.
What this indicator does:
• Marks the price range from 09:30–09:45 (U.S. time) as a zone on your chart
• Automatically adjusts to your local timezone, so the zone always aligns with Danish time
• Extends the zone to the right so you can track how price interacts with OBX throughout the day
• Draws all historical OBX zones so you can analyze previous reactions
• Rebuilds zones automatically when switching timeframes
• Detects breakouts from the zone
• Tracks balancing time only after a real breakout occurs
• Can automatically remove a zone if price spends a continuous amount of time inside it after the breakout (you set the minutes yourself)
• Allows full customization of OBX start time, duration, and behavior
• Individual zones can be manually deleted without being redrawn by the indicator
Why the OBX matters:
The OBX represents one of the most influential time windows in intraday trading because it reflects:
• The first injection of liquidity after the U.S. market opens
• Institutional positioning and algorithmic adjustments
• Early volatility and directional bias
• Common zones for reversals, breakouts, or mean reversion
• Key high-probability reaction levels used by professional traders
This indicator gives you a clear visual representation of when the market reacts to the U.S. open and how price interacts with the opening range throughout the session.
Turtle System 2 (55/20) + N-Stop + MTF Table V7.2🐢 Description: Turtle System 2 (55/20) IndicatorThis indicator implements the trading signals of the Turtle Trading System 2 based on the classic Donchian Channels, supplemented by a historically correct, volatility-based Trailing Stop (N-Stop) and a Multi-Timeframe (MTF) status overview. The script was developed in Pine Script v6 and is optimized for performance and robustness.📊 Core Logic and ParametersThe indicator is based on the rule-based trend-following system developed by Richard Dennis and William Eckhardt, utilizing the more aggressive Entry/Exit parameters of System 2:FunctionParameterValueDescriptionEntry$\text{Donchian Breakout}$$\mathbf{55}$Buy/Sell upon breaking the 55-day High/Low.Exit (Turtle)$\text{Donchian Breakout}$$\mathbf{20}$Close the position upon breaking the 20-day Low/High.Volatility$\mathbf{N}$ (ATR Period)$\mathbf{20}$Calculation of market volatility using the Average True Range (ATR).Stop-LossMultiplier$\mathbf{2.0} BER:SETS the initial and Trailing Stop at $\mathbf{2N}$.🛠️ Technical Implementation1. Correct Trailing Stop (Section 4)In contrast to many flawed implementations, the Trailing Stop is implemented here according to the Original Turtle Logic. The stop price (current_stop_price) is not aggressively tied to the current low or high. Instead, at the close of each bar, it is only trailed in the direction of the trade (math.max for long positions) based on the formula:$$\text{New Trailing Stop} = \text{max}(\text{Previous Stop}, \text{Close} \pm (2 \times N))$$This ensures the stop is only adjusted upon sustained positive movement and is not prematurely triggered by short-term, deep price shadows.2. Reliable Multi-Timeframe (MTF) Logic (Section 6)The MTF section utilizes global var int variables (mtf_status_1h, mtf_status_D, etc.) in conjunction with the request.security() function.Purpose: Calculates and persistently stores the current Turtle System 2 status (LONG=1, SHORT=-1, FLAT=0) for the timeframes 1H, 4H, 8H, 1D, and 1W.Advantage: By persistently storing the status using the var variables, the critical error of single-update status is eliminated. The states shown in the table are reliable and accurately reflect the Turtle System's position status on the respective timeframes.3. Visual ComponentsDonchian Channels: The entry (55-period) and exit (20-period) channels are drawn with color highlighting.N-Stop Line: The dynamically calculated Trailing Stop ($\mathbf{2N}$) is displayed as a magenta line.Visual Signals: plotshape markers indicate Entry and Exit points.MTF Table: A compact status summary with color coding (Green/Red/Gray) for the higher timeframes is displayed in the upper right corner.
VM TRADERS 3 Moving Averages SimpleThis indicator displays three Simple Moving Averages (SMA) that can be toggled on/off individually. Perfect for traders who use multiple SMAs to identify trends, support/resistance levels, and potential entry/exit points.
Features:
- SMA 30 (White) - Short-term trend
- SMA 50 (Yellow) - Medium-term trend
- SMA 100 (Blue) - Long-term trend
- Toggle each SMA on/off independently
- Customizable periods and colors
- Clean and organized settings interface
Ideal for swing trading, trend following, and multi-timeframe analysis across Forex, Crypto, Stocks, and Synthetic indices.
Futures Custom Daily Close Line Plots closing price at 4:15pm ET for futures on an intraday chart.
Closing price can be adjusted to any time you want.
9:00-9:59 NY Range -> 10:00-11:00 Lines (v6)//@version=6
indicator("9:00-9:59 NY Range -> 10:00-11:00 Lines (v6)", overlay=true, max_lines_count=500)
// --- state vars ---
var float sessionHigh = na
var float sessionLow = na
var line hiLine = na
var line loLine = na
var line v10 = na
var line v11 = na
// --- New York time ---
t_ny = time("America/New_York")
hr = hour(t_ny)
mn = minute(t_ny)
// --- reset / clear at 16:00 (4 PM NY) ---
if hr == 16 and mn == 0
sessionHigh := na
sessionLow := na
if not na(hiLine)
line.delete(hiLine)
hiLine := na
if not na(loLine)
line.delete(loLine)
loLine := na
if not na(v10)
line.delete(v10)
v10 := na
if not na(v11)
line.delete(v11)
v11 := na
// --- accumulate 9:00 - 9:59 NY range ---
if hr == 9
if mn == 0
sessionHigh := high
sessionLow := low
else
sessionHigh := na(sessionHigh) ? high : math.max(sessionHigh, high)
sessionLow := na(sessionLow) ? low : math.min(sessionLow, low)
// --- at 10:00 NY: draw horizontal lines (start) and vertical dashed at 10:00 ---
if hr == 10 and mn == 0
// delete previous day's horizontal lines if any
if not na(hiLine)
line.delete(hiLine)
hiLine := na
if not na(loLine)
line.delete(loLine)
loLine := na
hiLine := line.new(bar_index, sessionHigh, bar_index, sessionHigh, color=color.red, width=1, extend=extend.none)
loLine := line.new(bar_index, sessionLow, bar_index, sessionLow, color=color.red, width=1, extend=extend.none)
if not na(v10)
line.delete(v10)
v10 := na
v10 := line.new(bar_index, low, bar_index, high, color=color.red, width=1, style=line.style_dashed)
// --- at 11:00 NY: draw vertical dashed at 11:00 ---
if hr == 11 and mn == 0
if not na(v11)
line.delete(v11)
v11 := na
v11 := line.new(bar_index, low, bar_index, high, color=color.red, width=1, style=line.style_dashed)
// --- extend the horizontal lines forward every bar, but only until 11:00 ---
if hr < 11
if not na(hiLine)
line.set_x2(hiLine, bar_index)
if not na(loLine)
line.set_x2(loLine, bar_index)
// --- required output so script compiles (hidden) ---
plot(na)
Title Watermark & Symbol InfoBased on the popular watermark script by @AGFXTRADING
I saw lots of comments requesting features like different date formats and multi-line sub/titles so I decided to give back to the community.
Added features:
Multi-line support for Title and Subtitle
MM/DD/YYYY, YYYY/MM/DD and DD/Month/YYYY date formats
Option to use lowercase "m" for minute intervals (instead of uppercase "M")
Option to use "H" for hour intervals (instead of 60M for 1H, 240M for 4H, etc.)
I am planning to update further if there are further requests. Enjoy :)
Vector CPR Bands## Overview
The Vector CPR Bands indicator enhances the classic Central Pivot Range (CPR) by incorporating "vector" detection—identifying periods with above-average or climactic volume. It projects CPR ranges from these high-volume periods forward as visual bands, which act as persistent support/resistance zones until invalidated by price action. Ideal for spotting key levels in trending or ranging markets, especially on higher timeframes like weekly or monthly.
## Key Features
- **CPR Calculation**: Plots previous, developing (non-repainting), and repainting CPR with mid-pivot, TC (top central), and BC (bottom central) lines, plus fills.
- **Vector Detection**: Scans for high-volume bars in the anchor timeframe (default weekly). Flags "above-average" (≥1.5x avg) or "large" (≥2x avg or max climax).
- **Band Projection**: Creates bands from vector-qualified CPR periods. Extends them rightward until touched/revisited (configurable: invalidate on wick/close, delete or freeze/gray out).
- **Customization**:
- Timeframe: Set CPR anchor (e.g., 'W' for weekly, 'M' for monthly).
- Display: Toggle CPR types, pivot guides.
- Volume Thresholds: Adjust lookback and ratios.
- De-clutter: Limit max bands, pin to period start, always extend.
- **Alerts & Signals**: Built-in alerts for developing pivot crossing previous pivot (bullish/bearish).
## How to Use
1. Add to chart and set anchor timeframe (e.g., 'M' for monthly vCPR on BTC, as shown in example charts).
2. Watch bands as S/R: Virgin (untested) bands often provide strong bounces; mitigated ones fade.
3. Combine with volume/price action: Bullish bands suggest upside bias, especially if price holds above.
4. Example: On BTC weekly, vector bands from high-volume weeks highlight multi-month zones—breaks signal shifts.
SWUltimate Sniper: SMT + AO + Money Flow
Overview This indicator is a comprehensive trading system designed to identify high-probability reversal points by combining three powerful concepts: Smart Money Techniques (SMT), Awesome Oscillator (AO) Momentum Divergences, and Macro Money Flow Analysis. It aims to filter out false signals by requiring confirmation from multiple technical factors before generating a signal.
Key Features & Logic
1. SMT Divergence (Smart Money Tool) The core of this indicator compares the current asset's price structure (Highs and Lows) against a benchmark symbol (Default: BTCUSDT).
Bullish SMT: When Bitcoin makes a Lower Low (LL), but the Altcoin makes a Higher Low (HL). This suggests underlying strength and accumulation in the Altcoin despite BTC's weakness.
Bearish SMT: When Bitcoin makes a Higher High (HH), but the Altcoin makes a Lower High (LH). This suggests weakness and distribution in the Altcoin despite BTC's strength.
2. Awesome Oscillator (AO) Confirmation To prevent premature entries based solely on price action, the indicator checks for momentum divergence on the Awesome Oscillator.
If the "AO Filter" option is enabled in settings, a signal (triangle) will only appear if both SMT Divergence and AO Divergence occur simultaneously (or within the same pivot window). This significantly increases the reliability of the setup.
3. Money Flow Dashboard A dashboard in the top-right corner provides real-time macro context to ensure you are trading with the trend.
USDT.D (Tether Dominance): Monitors whether capital is entering (Bullish) or leaving (Bearish) the crypto market.
BTC.D (Bitcoin Dominance): Monitors whether capital is flowing into Bitcoin or rotating into Altcoins (Altcoin Season).
How to Use
Buy Signal (Green Triangle): Look for a Green Triangle below the bar. Ideally, confirm this with the Dashboard showing "Money Flow: Entering" (Green) and "Trend: Flowing to Alts" (Green).
Sell Signal (Red Triangle): Look for a Red Triangle above the bar.
Dashboard: Use the dashboard as a trend filter. Do not long an Altcoin if USDT.D is spiking (Market Bearish).
Settings
Comparison Symbol: Select the benchmark asset (Default: BTCUSDT).
Pivot Period: Adjust the sensitivity of the divergence detection.
Use AO Filter: Toggle ON/OFF to require Awesome Oscillator confirmation for signals.
Dashboard: Toggle the visibility of the Money Flow panel.
Top-Down Analysis - Multi-Timeframe AlignmentThis indicator implements a Top-Down Multi-Timeframe Trading Analysis System. Here's what it does:
Core Functionality
1. Multi-Timeframe Bias Detection
Monitors three timeframes: Daily, 4-Hour, and 1-Hour
Determines if each timeframe is bullish, bearish, or neutral based on two EMAs (9 and 21 period by default)
A timeframe is bullish when: Fast EMA > Slow EMA AND price is above Fast EMA
A timeframe is bearish when: Fast EMA < Slow EMA AND price is below Fast EMA
2. Alignment Tier System
Tier 1 (Full Alignment): All three timeframes agree (Daily = 4H = 1H direction)
Tier 2 (Partial Alignment): Daily and 1H agree, but 4H differs
No Alignment: Timeframes disagree
3. Previous Day Support & Resistance Levels
Automatically plots key levels from the previous day:
Previous Day High (PDH) - resistance
Previous Day Low (PDL) - support
Previous Day Close (PDC)
Previous Day Midpoint (PDM)
4. Execution Zone (15-Minute Window)
Highlights the first 15 minutes after each new 4H candle opens
This is the optimal entry window when alignment conditions are met
5. Pattern Recognition
Detects trading setups:
Double tops/bottoms
Long wicks at support/resistance
Bullish/bearish closes aligned with bias
6. Trade Signals
Generates entry signals when:
There's Tier 1 or Tier 2 alignment
Price is in the 15-minute execution zone
A valid pattern forms (double top/bottom or wick rejection)
7. Visual Dashboard
Shows a real-time table with:
Each timeframe's current bias
Alignment status
Next 4H prediction
Whether price is at a key support/resistance level
Trading Strategy
The indicator helps traders follow the principle of "trade with the higher timeframe trend" by only taking trades when multiple timeframes agree, focusing entries during specific windows, and respecting previous day's key price levels as potential reaction zones.






















