Anrazzi - EMAs/ATR - 1.0.0Description:
The Anrazzi - EMAs/ATR indicator is a versatile tool for technical traders looking to monitor multiple moving averages alongside the Average True Range (ATR) on any chart. Designed for simplicity and customization, it allows traders to visualize up to six moving averages with configurable type, color, and length, while keeping real-time volatility information via ATR directly on the chart.
This indicator is perfect for spotting trends, identifying support/resistance zones, and gauging market volatility for intraday or swing trading strategies.
Key Features:
Supports up to six independent moving averages (MA1 → MA6)
Each MA is fully customizable:
Enable/disable individually
Type: EMA or SMA
Length
Color
ATR Display:
Custom timeframe
Color and position configurable
Adjustable multiplier
Compact and organized settings for easy configuration
Lightweight and efficient code for smooth chart performance
Inputs / Settings:
MA Options: MA1 → MA6 (Enable/Disable, Type, Length, Color)
Additional Settings: ATR (Enable, Timeframe, Color, Multiplier)
How to Use:
Enable the moving averages you want to track
Configure type, length, and color for each MA
Enable ATR if needed and adjust settings
Watch MAs plotted dynamically and ATR in bottom-right corner
Recommended For:
Day traders and swing traders
Trend-following strategies
Volatility analysis and breakout detection
Traders needing a compact multi-MA dashboard
指標和策略
LINK/USDT - 9/15 EMA Crossover with SL & TP himanshuThis strategy is designed for the LINK/USDT pair using a simple yet effective Exponential Moving Average (EMA) crossover system.
🔹 How It Works
When the 9 EMA (fast) crosses above the 15 EMA (slow) → it signals bullish momentum → the strategy opens a Long trade.
When the 9 EMA crosses below the 15 EMA → it signals bearish momentum → the strategy opens a Short trade.
🔹 Risk Management
To keep trades disciplined and emotions out of decision-making, built-in exits are applied:
Stop Loss (SL): Automatically closes the trade if price moves 1% against the position.
Take Profit (TP): Locks in profits when price moves 2% in favor of the trade.
🔹 Why Use This Strategy?
✅ Simple and easy-to-follow EMA crossover logic
✅ Automated Stop Loss & Take Profit for risk control
✅ Trades both Long and Short to capture every trend
✅ Can be easily backtested on TradingView for performance validation
xTrader EMA 20/200 Cross Alerts (v6)This lightweight tool highlights one of the most trusted trend signals in trading: the 20 EMA crossing the 200 EMA.
✨ Features:
Plots the fast (20 EMA) and slow (200 EMA) directly on your chart.
Clear visual markers:
🟢 Triangle Up when EMA20 crosses above EMA200 (potential long bias).
🔴 Triangle Down when EMA20 crosses below EMA200 (potential short bias).
Background shading reinforces trend shifts for quick visual confirmation.
Alert conditions built in:
Static alerts for bullish/bearish crosses.
Dynamic alerts with ticker, timeframe, and price for full context.
Option to confirm signals only on bar close to reduce noise.
Simple toggle to show/hide EMAs if you prefer a cleaner chart.
⚡ How to use:
A bullish cross (20 > 200) often marks a shift to long-term uptrend momentum.
A bearish cross (20 < 200) suggests trend reversal or bearish continuation.
Works across all timeframes — shorter timeframes catch quicker rotations, higher timeframes highlight major structural shifts.
🚀 Stay ahead of momentum shifts with clean visuals and actionable alerts.
Join the xTrader Discord Community → discord.gg/NHjztdYv6U
SCALPERSAURUS HISTOThis indicator is a Histogram-based momentum tool that is designed to analyze price momentum in the market with the help of RSI (Relative Strength Index) readings. Unlike standard momentum indicators, this tool visually represents momentum strength and potential reversals using histogram bars and specific signals.
Histogram Analysis:
The histogram shows the strength and direction of momentum. Larger bars indicate stronger momentum in the corresponding direction, while shrinking bars can signal weakening momentum or a potential reversal.
RSI Integration:
The indicator incorporates RSI values to confirm momentum trends. By combining momentum and RSI, it filters out weaker signals and focuses on more reliable trend opportunities.
Pink Crosses (Sell Confirmation):
Whenever a pink cross appears on the chart, it signals a bearish momentum confirmation. This means that the indicator has detected enough downward momentum, supported by RSI readings, to suggest a potential sell opportunity. This sell signal remains valid until the conditions are invalidated, typically by a shift in momentum or a bullish crossover.
Green Crosses (Buy Confirmation):
Conversely, a green cross represents a bullish momentum confirmation. This indicates that upward momentum is strong enough to consider a buy, again confirmed with RSI values. The buy signal stays active until invalidated by a shift in momentum or a bearish crossover.
Purpose and Use:
Traders can use this indicator to time entries and exits more effectively, focusing on points where momentum aligns with RSI-based confirmations. The combination of histogram visualization and cross signals makes it easier to spot potential trend continuations or reversals without relying solely on price action.
IBOV ShadowEnglish
IBOV Shadow
This indicator is designed to provide a complementary analysis of the Brazilian market, offering an alternative perspective to the traditional IBOV index. It can be used BMFBOVESPA:IBOV , and it operates independently, seeking a correlation with the overall market by calculating based on commodities , global stocks , interest rates , the dollar , and other assets.
What the Indicator Does
The IBOV Shadow acts as a real-time fair price forecast for the Ibovespa . The line it plots represents the value the index should have at that moment, based on multiple market factors. The primary analysis comes from comparing the indicator's line with the actual Ibovespa price:
Underpricing (Upside Potential) : When the IBOV Shadow line is above the Ibovespa's price, it suggests that the market is underpricing the index. The "fair" value is higher than the current one, which may indicate potential for an upward move.
Overpricing (Downside Potential) : When the IBOV Shadow line is below the Ibovespa's price, it suggests that the market is overpricing the index. The "fair" value is lower than the current one, which may indicate that a downward correction could be on the way.
The indicator's line also changes color to signal its own trend: green when it's trending up (a strong market) and red when it's trending down (a weak market).
How to Use It
Capturing Divergences (The Main Point) : The most powerful use of the IBOV Shadow is in identifying divergences . A divergence occurs when the price movement of the Ibovespa and the movement of our indicator are out of sync.
Bullish Divergence : This happens when the Ibovespa's price makes a new low , but the Shadow indicator does not follow, instead making a higher low . This suggests that downward pressure is weakening.
Bearish Divergence : This occurs when the Ibovespa's price makes a new high , but the Shadow indicator fails to do the same, creating a lower high . This is a strong sign that the uptrend is weakening.
Trend Confirmation : Use the line's color as a confirmation tool. If you already have an uptrend in mind, a green line can reinforce your analysis. Likewise, a red line can confirm a downtrend.
Contextual Analysis : This indicator is most effective when used in conjunction with other tools and analyses. Do not use it as your sole decision-making source.
Final Considerations
Remember that this indicator is a supporting tool. The financial market is complex, and no single tool guarantees success. Practice and the use of multiple indicators and strategies are fundamental for a complete analysis.
Fixed Asset TurnoverFixed Asset Turnover (FAT) measures how efficiently a company uses its fixed assets (Property, Plant & Equipment – PPE) to generate revenue. It shows how many times the company “turns over” its fixed assets in a period relative to revenue.
High FAT: Assets are used efficiently; the company generates more revenue per unit of fixed assets.
Low FAT: Fixed assets are underutilized; the company may have invested too much in assets that don’t produce sufficient revenue.
Formula:
Fixed Asset Turnover=Total Revenue/Average Net Fixed Assets
What it tells you:
Indicates asset efficiency in generating sales.
Useful to compare companies within the same industry (because asset intensity varies by sector).
Helps identify whether a company is over-invested in fixed assets or underutilizing them.
How to use it:
Trend Analysis:
Track FAT over time for the same company to see if asset utilization is improving.
Benchmarking:
Compare FAT against competitors or industry averages.
Investment Decisions:
Higher FAT usually suggests more efficient operations, but context matters (e.g., heavy-capital industries naturally have lower FAT).
Delta -> PROFABIGHI_CAPITAL🌟 Overview
This Delta → PROFABIGHI_CAPITAL implements a comprehensive market delta analysis framework combining price delta calculations with volume-weighted delta analysis and cumulative volume delta tracking for advanced order flow assessment.
It provides Price Delta calculation measuring price movement over configurable periods for momentum analysis , Volume Delta approximation using volume weighted by price direction for buying/selling pressure identification , Cumulative Volume Delta (CVD) tracking with dynamic histogram visualization for long-term order flow trends , and Comprehensive display controls with debug options for flexible market microstructure analysis for professional order flow trading applications.
🔧 Advanced Delta Analysis Architecture
- Professional market microstructure analysis system integrating price movement with volume-weighted directional analysis
- Price Source Configuration enabling close, open, high, low, or composite price inputs for flexible delta calculation adaptation
- Delta Period Management with adjustable lookback periods for price delta calculation affecting both price and volume delta analysis
- Overlay Integration designed as separate pane indicator for dedicated delta analysis without interfering with price action
- Volume Format Display using volume-specific formatting for accurate large number representation
- Professional Timeframe Support enabling multi-timeframe delta analysis for different market perspectives
📊 Price Delta Implementation Framework
- Period-Based Price Calculation measuring price difference between current bar and specified periods ago for momentum assessment
- Configurable Source Selection supporting different price inputs for various delta calculation approaches
- Null Value Protection ensuring continuous calculation through proper handling of undefined historical values
- Visual Color Coding using teal for positive price delta and maroon for negative price delta with transparency
- Line Style Visualization displaying price delta as continuous line for trend identification
- Optional Display Control allowing users to show or hide price delta for focused analysis
📈 Volume Delta Calculation Engine
- Price Direction Analysis using mathematical sign function to determine positive or negative price movement
- Volume Weighting System multiplying volume by price direction sign for approximated buying/selling pressure
- Sign Variable Management maintaining price direction state for consistent volume delta calculation
- Null Value Handling ensuring continuous volume delta calculation through proper mathematical validation
- Histogram Visualization displaying volume delta as bars with green for buying pressure and red for selling pressure
- Dynamic Transparency using optimized transparency levels for clear visual distinction between positive and negative values
📉 Cumulative Volume Delta (CVD) Framework
- Running Sum Calculation maintaining cumulative total of all volume delta values for long-term trend analysis
- Dynamic Color System comparing current CVD with previous bar to determine rising or falling cumulative pressure
- Histogram Style Display presenting CVD as histogram bars for immediate visual impact assessment
- Trend Direction Visualization using green for rising CVD and red for falling CVD with transparency optimization
- Historical Comparison Logic implementing proper previous bar comparison with null value protection for first bar handling
- Cumulative State Tracking maintaining accurate running totals across all historical bars for reliable trend identification
🎨 Comprehensive Display Control System
- Modular Visibility Controls enabling independent show/hide options for price delta, volume delta, and CVD components
- Grouped Settings Organization separating calculation settings, display options, and debug features for streamlined configuration
- Tooltip Integration providing detailed explanations for each setting to guide proper indicator usage
- Professional Color Scheme using market-standard colors with appropriate transparency levels for clear visual hierarchy
- Null Line Reference displaying zero line with dashed gray styling for immediate positive/negative reference
- Optional Debug Visualization offering raw data plots for troubleshooting and analysis validation
⚙️ Advanced Debug System
- Raw Price Change Display showing unprocessed price movement for calculation verification
- Sign Function Visualization displaying mathematical sign output as histogram for direction confirmation
- Volume Data Verification presenting raw volume values as columns for data integrity checking
- Independent Debug Controls enabling selective activation of different debug components without affecting main plots
- Color-Coded Debug Plots using distinct colors (orange, purple, black) for easy identification of debug elements
- Performance Optimization displaying debug plots only when specifically enabled to maintain indicator performance
📋 Professional Configuration Framework
- Calculation Settings Group organizing core delta parameters including source selection and period configuration
- Display Options Group centralizing visibility controls for main indicator components with detailed tooltips
- Simple Plots Group providing debug options for advanced users and troubleshooting scenarios
- Input Validation ensuring minimum period values and proper source selection for reliable calculations
- Tooltip Documentation offering comprehensive explanations for each setting to guide proper indicator utilization
- Professional Naming Convention using clear, descriptive names for all settings and components
🔍 Mathematical Implementation Excellence
- Accurate Delta Calculations using proper arithmetic operations for price difference measurement over specified periods
- Sign Function Implementation correctly applying mathematical sign determination for price direction analysis
- Volume Multiplication Accuracy precisely weighting volume values by price direction for delta approximation
- Cumulative Sum Precision maintaining accurate running totals using Pine Script's cumulative function
- Null Value Management implementing comprehensive null value handling for reliable calculations across all scenarios
- Historical Data Access properly accessing previous bar data with appropriate indexing for comparison logic
🎯 Market Microstructure Applications
- Order Flow Analysis identifying buying versus selling pressure through volume-weighted price direction assessment
- Momentum Confirmation using price delta to validate price movement strength over configurable periods
- Trend Identification leveraging CVD trends to identify long-term accumulation or distribution patterns
- Volume Profile Integration combining volume data with price direction for comprehensive market structure analysis
- Support/Resistance Validation using delta analysis to confirm or challenge traditional technical analysis levels
- Divergence Detection comparing price movement with volume delta patterns for potential reversal identification
⚡ Performance Optimization Features
- Conditional Plotting Logic displaying only enabled components to optimize chart rendering performance
- Efficient Variable Management using appropriate variable scoping and initialization for minimal memory usage
- Optimized Color Assignment pre-calculating colors and applying transparency for smooth visual performance
- Streamlined Calculations organizing mathematical operations for minimal redundant computation
- Dynamic Display Updates providing real-time delta values with immediate visual feedback
- Resource-Conscious Debug Mode activating debug plots only when specifically requested to maintain indicator efficiency
🎨 Professional Visualization Framework
- Color-Coded Delta Analysis using green/red scheme for immediate positive/negative identification
- Transparency Optimization applying appropriate transparency levels for clear visual hierarchy without overwhelming chart
- Multiple Plot Styles implementing line plots for price delta, histogram for volume delta, and histogram for CVD
- Zero Line Reference providing dashed gray zero line for immediate positive/negative context
- Dynamic CVD Coloring comparing current versus previous CVD values for trend direction visualization
- Professional Chart Integration maintaining separate pane layout for dedicated delta analysis focus
🔧 Technical Implementation Framework
- Variable Declaration Organization properly declaring color variables and state management variables for clean code structure
- Calculation Sequence Optimization organizing price delta, volume delta, and CVD calculations in logical order
- Plot Management System coordinating multiple plot statements with appropriate conditional logic
- State Variable Management maintaining sign_price_change variable for consistent volume delta calculation
- Error Prevention Architecture incorporating null value checks and mathematical validation for reliable operation
- Modular Code Structure separating calculation, plotting, and debug sections for maintainable code organization
✅ Key Takeaways
- Advanced delta analysis framework combining price delta momentum with volume-weighted directional pressure for comprehensive order flow assessment
- Professional CVD implementation with dynamic histogram visualization showing cumulative buying/selling pressure trends over time
- Comprehensive display control system enabling selective visualization of price delta, volume delta, and CVD components with debug options
- Mathematical precision implementation using proper sign function analysis and cumulative sum calculations with null value protection
- Professional configuration framework with grouped settings, detailed tooltips, and modular visibility controls for customized analysis
- Performance-optimized visualization using conditional plotting and efficient color management for smooth real-time delta tracking
- Market microstructure applications supporting order flow analysis, momentum confirmation, and trend identification for institutional trading approaches
Aggregated OI by MalexThis indicator aggregates Open Interest data from multiple major exchanges (Binance, Bybit, OKX) to provide a comprehensive view of market positioning across platforms.
Original idea by Alex Nikulin.
FEATURES:
Multi-exchange OI aggregation with customizable exchange selection
Choose between Sum or Average aggregation methods
Individual exchange OI display (optional)
Clean mode - show only aggregated data
Real-time status monitoring for each exchange
Candlestick visualization matching standard OI indicators
Information panel showing current values and active exchanges
USAGE:
Enable/disable specific exchanges in settings
Choose aggregation method (Average recommended for balanced view)
Toggle individual exchange display or use clean mode
Monitor the info panel for data availability status
COMPATIBILITY:
Works with any symbol that has Open Interest data available on the selected exchanges.
Best used on perpetual futures contracts (e.g., BTCUSDT, ETHUSDT, etc.)
Nifty High Movement Day Detector (Fixed)//@version=5
indicator("Nifty High Movement Day Detector (Fixed)", overlay=true)
// Opening Range Time (9:15 - 9:30)
startTime = timestamp("Asia/Kolkata", year, month, dayofmonth, 9, 15)
endTime = timestamp("Asia/Kolkata", year, month, dayofmonth, 9, 30)
// Range values
var float orHigh = na
var float orLow = na
if (time >= startTime and time <= endTime)
orHigh := na(orHigh) ? high : math.max(orHigh, high)
orLow := na(orLow) ? low : math.min(orLow, low)
// Plotting Range
plot(orHigh, "Opening Range High", color=color.green, linewidth=2)
plot(orLow, "Opening Range Low", color=color.red, linewidth=2)
// Breakout Signals
longSignal = ta.crossover(close, orHigh)
shortSignal = ta.crossunder(close, orLow)
// Volume Confirmation
volCondition = volume > ta.sma(volume, 20)
// Labels for breakouts
if (longSignal and volCondition)
label.new(bar_index, high, "Trending Up 🔼", color=color.green, textcolor=color.white, style=label.style_label_up)
if (shortSignal and volCondition)
label.new(bar_index, low, "Trending Down 🔽", color=color.red, textcolor=color.white, style=label.style_label_down)
// --- Sideways Condition (Only One Time) ---
var bool sidewaysShown = false
if (time > timestamp("Asia/Kolkata", year, month, dayofmonth, 10, 30)) and not sidewaysShown
if close < orHigh and close > orLow
label.new(bar_index, close, "Sideways ⚠️", color=color.orange, textcolor=color.black, style=label.style_label_center)
sidewaysShown := true
OB-FVG ScalpingThis script serves as a tool to detect valid order blocks and provides real-time alerts whenever a market structure shift occurs.
parksung//@version=5
indicator("NWE Delayed Signals", "NWE Delayed Signals", overlay = true)
// Settings
h = input.float(8., 'Bandwidth', minval = 0)
mult = input.float(3., minval = 0)
src = input(close, 'Source')
// Signal Delay
min_bars = input.int(10, "Minimum Bars for Signal", minval=1)
// Force non-repainting mode
repaint = false
// Style
upCss = input.color(color.teal, 'Colors', inline = 'inline1', group = 'Style')
dnCss = input.color(color.red, '', inline = 'inline1', group = 'Style')
// Functions
gauss(x, h) => math.exp(-(math.pow(x, 2)/(h * h * 2)))
// End point method (Non-repainting logic)
var coefs = array.new_float(0)
var den = 0.
if barstate.isfirst and not repaint
for i = 0 to 499
w = gauss(i, h)
coefs.push(w)
den := coefs.sum()
out = 0.
if not repaint
for i = 0 to 499
out += src * coefs.get(i)
out /= den
mae = ta.sma(math.abs(src - out), 499) * mult
upper = out + mae
lower = out - mae
// Plotting the envelope
plot(upper, 'Upper', upCss)
plot(lower, 'Lower', dnCss)
// Generate trading signals with a bar delay
bool buySignal = ta.crossunder(src, lower)
bool sellSignal = ta.crossover(src, upper)
// Check if the current bar index is past the minimum bar threshold
isSignalAllowed = (bar_index >= min_bars)
// Plot shapes for signals only after the delay
plotshape(buySignal and isSignalAllowed ? low : na, "Buy Signal", shape.labelup, location.absolute, color(na), 0, text = 'Buy', textcolor = upCss, size = size.tiny)
plotshape(sellSignal and isSignalAllowed ? high : na, "Sell Signal", shape.labeldown, location.absolute, color(na), 0, text = 'Sell', textcolor = dnCss, size = size.tiny)
LÁ CHẮN ĐẦU TƯ - PSSWelcome to my custom technical analysis tool!
This script combines Breadth Indicators and Bands and Channels to provide a more comprehensive view of market trends and internal strength across asset groups. It is designed to help traders and investors with:
Identifying the overall market trend using band-based indicators.
Evaluating market breadth to assess internal momentum.
Supporting better entry and exit decisions.
🔧 The script works across all timeframes and can be applied to various asset classes such as stocks, crypto, and forex.
MAXX_v4.0_signalMAXX v4.0 Fusion is an "AI-based multi-strategic ensemble system" that does not rely on a single strategy. The core philosophy of this system is not to define the market as a single character, but to intelligently select the most suitable weapon (strategic) for different phases, such as bull markets, bear markets, and lateral guarantees, and even to improve (optimize) the weapon itself in real time.
투자날씨 풍향계(Market’s Weather Alarm Indicator)The Simplest Way to Read the Market’s Weather
Did you know that markets have their own weather?
☀️ When it’s sunny, you can go bold.
🌧️ When it’s cloudy or stormy, you need an umbrella (risk management).
I used to check dozens of indicators every single day…
But the problem is — it’s too complicated 🤯
So I created my own tool:
👉 The Market Weather Compass.
🌍 What this indicator does
✅ Instantly evaluates the “weather” for US stocks, Korean stocks, and crypto markets.
✅ Automatically tracks core data: VIX, Dollar Index, interest rates, FX rate, Bitcoin dominance.
✅ Instead of just numbers, it shows clear “weather” states: Sunny / Cloudy / Risk / Alt Season.
✅ Dashboard at the bottom + Weather Score line on the chart to see direction at a glance.
✅ Smart alerts notify you of “spikes, crashes, volatility shifts, FX changes” so you don’t miss key moves.
Note: Market data availability may vary depending on your TradingView plan.
🧭 How to use it
Load the indicator in TradingView.
In settings, toggle “Show Dashboard” and “Enable Alerts” (enabled by default).
Use the dashboard to check:
📊 Market Weather
📈 Index Change %
📉 VIX / DXY / Rates / FX / BTC Dominance
Follow the Weather Score Line on the chart to sense whether your position is safe or if caution is needed.
🌤️ For example
Weather = Sunny → “Strong sector, scale in entries”
Weather = Risk → “Raise cash, cut exposure”
Crypto = Alt Season → “Shift into altcoins”
Crypto = BTC Strength → “Focus on BTC, sideline alts”
💡 Why it’s special
No need to monitor dozens of charts manually.
Even beginners can read it as easily as a weather forecast.
Most importantly, it cuts your daily market check time in half.
✨ Wrap-up
Investing is always a tug of war between risk and opportunity.
The Market Weather Compass makes that tug of war feel as simple as a weather forecast.
📌 Next time you open a chart, skip the messy calculations — just check “today’s market weather.”
👉 Free up your time and energy for decisions, not endless analysis.
🔔 Full Alert Guide
This isn’t just a dashboard — it’s a smart alert system that tells you when the market shifts.
🇺🇸 US Market Alerts
🗓️ Weather Change Detection
→ Notifies when weather shifts (e.g. Neutral → Sunny, Sunny → Risk).
→ “The market has entered a new phase.”
⚠️ VIX Near Risk Level
→ Alerts when VIX approaches the danger zone (25).
→ “Volatility is heating up.”
🌤️ VIX Trend Down
→ VIX drops below 20MA.
→ “Lower volatility, risk assets may benefit.”
🌪️ VIX Trend Up
→ VIX rises above 20MA.
→ “Market stress rising, manage risk.”
🌈 Dollar Weakness Starts (DXY Breaks Down)
→ DXY falls below 200MA.
→ “Bullish for risk assets.”
⚠️ Dollar Strength Starts (DXY Breakout)
→ DXY rises above 200MA.
→ “Risk sentiment may weaken.”
🚨 US10Y Yield Risk Break
→ 10-year yield breaks the danger threshold (4.5%).
→ “Higher borrowing costs — pressure on equities.”
🇰🇷 Korean Market Alerts
🗓️ Weather Change Detection
→ Alerts whenever Korean market weather shifts.
🌈 KRW Strength (FX Stable)
→ USD/KRW falls below 200MA.
→ “Foreign inflows expected.”
🌧️ KRW Weakness (FX Risk)
→ USD/KRW rises above 200MA.
→ “Capital outflow risk.”
🌤️ VKOSPI Stabilization
→ VKOSPI volatility index falls below 20MA.
→ “Market stress easing.”
🚀 Index Surge
→ KOSPI/KOSDAQ rises beyond set threshold (+1% etc).
→ “Bullish impulse detected.”
💥 Index Drop
→ KOSPI/KOSDAQ falls below set threshold (–1% etc).
→ “Short-term risk alert.”
₿ Crypto Market Alerts
🗓️ Weather Change Detection
→ Switches between Alt Season / BTC Strength / Risk / Mixed.
→ “Leadership shift in crypto market.”
💎 Alt Season Begins
→ Market cap rising + BTC dominance falling.
→ “Time to rotate into alts.”
🔥 BTC Strength Begins
→ Market cap rising + BTC dominance rising.
→ “Focus on BTC, alts on hold.”
🚨 Risk Signal (BTC Absorbs Flow)
→ Market cap falling + BTC dominance rising.
→ “Money fleeing alts into BTC.”
📉 Decline / Mixed Trend
→ Market cap falling + BTC dominance falling.
→ “Unclear direction, short-term trading only.”
🚨 BTC Dominance Breakout
→ BTC dominance crosses above warning level (e.g. 55%).
→ “BTC takes over, alts at risk.”
🔄 ETH/BTC Trend Reversal
→ ETH/BTC crosses above/below 20MA.
→ “Momentum shift in altcoin leadership.”
✨ Final Note
These alerts act like your personal market radar.
Once enabled, you’ll never miss the moment when the weather changes.
👉 Whether you’re a beginner or a busy trader, the Market Weather Compass keeps you one step ahead.
SMC — Liquidity • Strong FVG • OB Levels • VWAP • POI Score📌 Indicator Overview
This script is an advanced market structure and liquidity mapping tool built for traders who want clarity on when momentum is shifting and where the most impactful trade opportunities may emerge. It combines institutional concepts of supply/demand with price efficiency and volume dynamics to highlight areas where smart money is most active.
🎯 What It Does
Identifies liquidity grabs and inducement moves that often precede reversals.
Maps high-impact price imbalance zones (fair value gaps) and automatically manages them once price interacts.
Marks institutional order blocks with optional precision levels and customizable visuals for clean charting.
Auto-anchors VWAP with deviation bands to fresh impulsive moves to capture mean reversion opportunities.
Provides a priority scoring system to weigh confluences and highlight the most actionable areas of interest.
Session heatmap overlays reveal Asia / London / New York influence on intraday direction.
⚡ Best Use Cases
Works across Forex, Indices, Commodities, and Crypto.
Especially effective on instruments with high liquidity and volatility such as XAUUSD (Gold), BTCUSD, ETHUSD, US30, and major FX pairs.
Performs best when aligned with HTF bias (daily / 4H) while executing on intraday timeframes (5m–15m).
Kill-zone filtering (Asia / London / New York sessions) helps refine entries for higher reward trades.
🔧 Key Features
Customizable visuals: change colors, opacity, and line sizes for order blocks and levels.
Mitigation handling: choose whether imbalances fade out or disappear once filled.
Strong zone filter: option to display only the most meaningful fair value gaps with proven impact.
Multi-factor scoring HUD: at a glance see where liquidity, imbalance, OB, VWAP, and session confluence align.
Alerts ready: receive notifications on liquidity sweeps, OB taps, or FVG entries that match your trading bias.
✅ Why Traders Use It
This tool acts as a market map, removing noise and drawing attention only to the most relevant price events and zones. Instead of chasing every break of structure, it helps traders wait for the smart money footprints that often precede large directional moves.
RTW Moving AveragesA clean and focused moving averages indicator displaying 5 pairs of EMAs and SMAs (10 total lines) with standard periods: 10, 20, 50, 100, and 200. All moving averages are enabled by default with a carefully designed color scheme and opacity levels for optimal chart readability.
Features:
5 EMAs and 5 SMAs with popular trading periods
Multi-timeframe support for each moving average
Color-coded with varying opacities (EMAs more prominent, SMAs subtler)
Clean interface with hidden settings for distraction-free trading
Overlay indicator compatible with all chart types
Default Colors:
10 Period: Light gray
20 Period: White (most prominent)
50 Period: Orange
100 Period: Dark orange
200 Period: Red
Perfect for trend analysis, support/resistance identification, and multi-timeframe confluence trading strategies.
Trend Swing(跟随趋势)Strategy Introduction – Trend Following Swing Strategy
The Trend Following Swing Strategy is designed to capture directional moves in the market by combining momentum, volatility, and strength filters. It uses a custom Relative Momentum Index (RMI) with MFI smoothing to detect bullish and bearish momentum shifts.
When bullish momentum is confirmed, the strategy tracks upward price swings; when bearish momentum is confirmed, it tracks downward moves. A Range-Weighted Moving Average (RWMA) with adaptive bands is applied to visualize trend direction and potential support/resistance zones.
To improve trade quality, two filters are applied:
Time Filter: Trades are only allowed within a user-defined session window (e.g., regular market hours).
ADX Filter: Ensures trades are only executed when trend strength (ADX) is above a configurable threshold, filtering out sideways and weak markets.
Key Features:
Momentum detection using RMI + MFI hybrid signal
Adaptive RWMA bands for visual confirmation of trend zones
Session-based time filter to avoid low-liquidity periods
ADX filter to ensure trades align with strong trends
Optional visual plots (candles, bands, fills) for better chart analysis
Automatic position closing at a user-defined time (default: 15:10) to avoid overnight risk
This strategy is most effective on trend-following markets such as indices, commodities, and cryptocurrencies, where sustained directional moves provide profitable swing opportunities.
策略介绍 —— 趋势跟随波段策略
趋势跟随波段策略是一套结合动能、趋势强度与交易时段控制的系统化交易模型,目标是抓取市场中持续性的方向性行情。它通过多重技术指标的配合,过滤掉震荡与弱趋势阶段,从而提高信号质量。
策略核心逻辑
动能检测(RMI + MFI 复合信号)
将相对动量指标(RMI)与资金流量指标(MFI)结合,平滑市场噪音。
当价格动能突破上限阈值时,识别为多头趋势信号;跌破下限阈值时,识别为空头趋势信号。
趋势通道(自适应 RWMA 区间)
使用基于波动率加权的移动平均线(Range-Weighted MA)构建通道。
通道带宽随市场波动自适应调整,可作为动态的支撑/阻力区。
时间过滤(Time Filter)
仅在用户设定的交易时段内允许进场(例如:美股常规开盘时段)。
避免在低流动性或不活跃的市场时段交易。
趋势强度过滤(ADX Filter)
使用 ADX 指标检测趋势强度。
仅当 ADX 高于设定阈值时才允许交易,避免震荡盘中的虚假信号。
自动平仓控制
支持在用户设定的时间点自动清空所有持仓(默认:15:10)。
有效规避隔夜风险,尤其适合日内波段交易者。
策略优势
趋势过滤清晰:动能与 ADX 双重确认,有效提升胜率。
交易时段可控:灵活设置交易窗口,避免无效波动。
风险管理稳健:固定时间自动平仓,减少尾盘风险。
直观可视化:通道、均线、颜色标识,帮助交易者快速识别趋势状态。
适用市场
股指期货(如纳斯达克、标普500)
大宗商品(如原油、黄金)
加密货币(如比特币、以太坊)
尤其适合在趋势明显的市场中使用,能帮助交易者抓住波段机会,减少在震荡市的无效交易。
High Low + BOS/Sweep aaa//@version=5
indicator("High Low + BOS/Sweep", overlay=true, max_lines_count=500, max_labels_count=500)
// Inputs (giữ nguyên các tuỳ chọn của bạn, chỉ bỏ input màu)
offTop = input.int(2, "Offset đỉnh", minval=0)
offBot = input.int(2, "Offset đáy", minval=0)
w = input.int(2, "Độ dày line", minval=1)
styleBosStr = input.string("Solid", "Kiểu line BOS", options= )
styleSweepStr = input.string("Dashed", "Kiểu line Sweep", options= )
showBosLabel = input.bool(true, "Hiện label BOS")
showSweepLabel = input.bool(true, "Hiện label Sweep")
bosLabelText = input.string("BOS", "Text BOS")
sweepLabelText = input.string("SWEEP", "Text Sweep")
labelSizeStr = input.string("tiny", "Kích thước label", options= )
// NEW: display toggles
showPivot = input.bool(true, "Hiện Pivot")
showBosSweep = input.bool(true, "Hiện BOS / Sweep")
// Convert styles / sizes
bosStyle = styleBosStr == "Dashed" ? line.style_dashed : styleBosStr == "Dotted" ? line.style_dotted : line.style_solid
sweepStyle = styleSweepStr == "Dashed" ? line.style_dashed : styleSweepStr == "Dotted" ? line.style_dotted : line.style_solid
lblSize = labelSizeStr == "small" ? size.small : labelSizeStr == "normal" ? size.normal : labelSizeStr == "large" ? size.large : size.tiny
// State vars
c = close
var int lastSignal = 0
var float sHigh = na
var int sHighBar = na
var float sLow = na
var int sLowBar = na
var float confHigh = na
var int confHighBar = na
var float confLow = na
var int confLowBar = na
var line highLine = na
var line lowLine = na
var label highLabel = na
var label lowLabel = na
// === Đánh dấu loại line: 0 = chưa có, 1 = Sweep, 2 = BOS ===
var int highLineType = 0
var int lowLineType = 0
// === Sweep tracking / pending ===
var bool pendingSweepUp = false
var bool pendingSweepDown = false
var int sweepDetectedBarUp = na
var float sweepTargetHighPrice = na
var int sweepTargetHighBar = na
var int sweepDetectedBarDown = na
var float sweepTargetLowPrice = na
var int sweepTargetLowBar = na
// === Track BOS pivots ===
var int lastBOSHighBar = na
var int lastBOSLowBar = na
// Track swing
if (lastSignal == -1) or (lastSignal == 0)
if na(sHigh) or high > sHigh
sHigh := high
sHighBar := bar_index
if (lastSignal == 1) or (lastSignal == 0)
if na(sLow) or low < sLow
sLow := low
sLowBar := bar_index
// Confirm pivot
condTop = c < low
condBot = c > high
isTop = condTop and (lastSignal != 1)
isBot = condBot and (lastSignal != -1)
// On pivot confirm
if isTop
confHigh := sHigh
confHighBar := sHighBar
highLine := na
highLabel := na
highLineType := 0
if showPivot
label.new(confHighBar, confHigh + syminfo.mintick * offTop, "●", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_none, textcolor=color.red, size=size.small)
lastSignal := 1
sHigh := na
sHighBar := na
sLow := low
sLowBar := bar_index
if isBot
confLow := sLow
confLowBar := sLowBar
lowLine := na
lowLabel := na
lowLineType := 0
if showPivot
label.new(confLowBar, confLow - syminfo.mintick * offBot, "●", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_none, textcolor=color.lime, size=size.small)
lastSignal := -1
sLow := na
sLowBar := na
sHigh := high
sHighBar := bar_index
// Raw sweep detection
rawSweepUp = not na(confHigh) and (na(lastBOSHighBar) or confHighBar != lastBOSHighBar) and high > confHigh and close <= confHigh
rawSweepDown = not na(confLow) and (na(lastBOSLowBar) or confLowBar != lastBOSLowBar) and low < confLow and close >= confLow
if rawSweepUp
pendingSweepUp := true
sweepDetectedBarUp := bar_index
sweepTargetHighPrice := confHigh
sweepTargetHighBar := confHighBar
if rawSweepDown
pendingSweepDown := true
sweepDetectedBarDown := bar_index
sweepTargetLowPrice := confLow
sweepTargetLowBar := confLowBar
// Check sweep validity
checkSweepValidUp() =>
isValid = true
if pendingSweepUp and not na(sweepDetectedBarUp)
maxOffset = bar_index - sweepDetectedBarUp
if maxOffset >= 0
for i = 0 to maxOffset
if close > sweepTargetHighPrice
isValid := false
isValid
checkSweepValidDown() =>
isValid = true
if pendingSweepDown and not na(sweepDetectedBarDown)
maxOffset = bar_index - sweepDetectedBarDown
if maxOffset >= 0
for i = 0 to maxOffset
if close < sweepTargetLowPrice
isValid := false
isValid
// BOS logic
bosUp = not na(confHigh) and c > confHigh
bosDown = not na(confLow) and c < confLow
if bosUp
pendingSweepUp := false
sweepDetectedBarUp := na
sweepTargetHighPrice := na
sweepTargetHighBar := na
lastBOSHighBar := confHighBar
if not na(highLine)
line.delete(highLine)
if not na(highLabel)
label.delete(highLabel)
highLineType := 2
if showBosSweep
highLine := line.new(confHighBar, confHigh, bar_index, confHigh, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=bosStyle)
if showBosLabel
midBar = math.floor((confHighBar + bar_index) / 2)
highLabel := label.new(midBar, confHigh, bosLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
if bosDown
pendingSweepDown := false
sweepDetectedBarDown := na
sweepTargetLowPrice := na
sweepTargetLowBar := na
lastBOSLowBar := confLowBar
if not na(lowLine)
line.delete(lowLine)
if not na(lowLabel)
label.delete(lowLabel)
lowLineType := 2
if showBosSweep
lowLine := line.new(confLowBar, confLow, bar_index, confLow, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=bosStyle)
if showBosLabel
midBar = math.floor((confLowBar + bar_index) / 2)
lowLabel := label.new(midBar, confLow, bosLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
// Sweep draw (pivot-in-between check)
sweepUpTriggered = false
sweepDownTriggered = false
if (isTop or isBot) and pendingSweepUp and not na(sweepTargetHighBar)
hasLowBetween = false
for i = sweepTargetHighBar to bar_index
if not na(confLowBar) and confLowBar == i
hasLowBetween := true
if checkSweepValidUp() and highLineType != 2 and hasLowBetween
if not na(highLine)
line.delete(highLine)
if not na(highLabel)
label.delete(highLabel)
highLineType := 1
if showBosSweep
highLine := line.new(sweepTargetHighBar, sweepTargetHighPrice, bar_index, sweepTargetHighPrice, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=sweepStyle)
if showSweepLabel
midBar = math.floor((sweepTargetHighBar + bar_index) / 2)
highLabel := label.new(midBar, sweepTargetHighPrice, sweepLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
pendingSweepUp := false
sweepDetectedBarUp := na
sweepTargetHighPrice := na
sweepTargetHighBar := na
sweepUpTriggered := true
if (isTop or isBot) and pendingSweepDown and not na(sweepTargetLowBar)
hasHighBetween = false
for i = sweepTargetLowBar to bar_index
if not na(confHighBar) and confHighBar == i
hasHighBetween := true
if checkSweepValidDown() and lowLineType != 2 and hasHighBetween
if not na(lowLine)
line.delete(lowLine)
if not na(lowLabel)
label.delete(lowLabel)
lowLineType := 1
if showBosSweep
lowLine := line.new(sweepTargetLowBar, sweepTargetLowPrice, bar_index, sweepTargetLowPrice, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=sweepStyle)
if showSweepLabel
midBar = math.floor((sweepTargetLowBar + bar_index) / 2)
lowLabel := label.new(midBar, sweepTargetLowPrice, sweepLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
pendingSweepDown := false
sweepDetectedBarDown := na
sweepTargetLowPrice := na
sweepTargetLowBar := na
sweepDownTriggered := true
// Alerts
alertcondition(isTop, "Top", "Top confirmed")
alertcondition(isBot, "Bot", "Bottom confirmed")
alertcondition(bosUp, "BOS Up", "Break of structure up")
alertcondition(bosDown, "BOS Down", "Break of structure down")
alertcondition(sweepUpTriggered, "Sweep Up", "Sweep đỉnh xuất hiện")
alertcondition(sweepDownTriggered, "Sweep Down", "Sweep đáy xuất hiện")
plot(na) // tránh lỗi
High Low + BOS/Sweep//@version=5
indicator("High Low + BOS/Sweep", overlay=true, max_lines_count=500, max_labels_count=500)
// Inputs (giữ nguyên các tuỳ chọn của bạn, chỉ bỏ input màu)
offTop = input.int(2, "Offset đỉnh", minval=0)
offBot = input.int(2, "Offset đáy", minval=0)
w = input.int(2, "Độ dày line", minval=1)
styleBosStr = input.string("Solid", "Kiểu line BOS", options= )
styleSweepStr = input.string("Dashed", "Kiểu line Sweep", options= )
showBosLabel = input.bool(true, "Hiện label BOS")
showSweepLabel = input.bool(true, "Hiện label Sweep")
bosLabelText = input.string("BOS", "Text BOS")
sweepLabelText = input.string("SWEEP", "Text Sweep")
labelSizeStr = input.string("tiny", "Kích thước label", options= )
// NEW: display toggles (giữ nguyên logic, bạn yêu cầu)
showPivot = input.bool(true, "Hiện Pivot")
showBosSweep = input.bool(true, "Hiện BOS / Sweep")
// Convert styles / sizes
bosStyle = styleBosStr == "Dashed" ? line.style_dashed : styleBosStr == "Dotted" ? line.style_dotted : line.style_solid
sweepStyle = styleSweepStr == "Dashed" ? line.style_dashed : styleSweepStr == "Dotted" ? line.style_dotted : line.style_solid
lblSize = labelSizeStr == "small" ? size.small : labelSizeStr == "normal" ? size.normal : labelSizeStr == "large" ? size.large : size.tiny
// State vars (khai báo riêng để tránh lỗi kiểu)
c = close
var int lastSignal = 0
var float sHigh = na
var int sHighBar = na
var float sLow = na
var int sLowBar = na
var float confHigh = na
var int confHighBar = na
var float confLow = na
var int confLowBar = na
var line highLine = na
var line lowLine = na
var label highLabel = na
var label lowLabel = na
// === Đánh dấu loại line: 0 = chưa có, 1 = Sweep, 2 = BOS ===
var int highLineType = 0
var int lowLineType = 0
// === Sweep tracking / pending ===
var bool pendingSweepUp = false
var bool pendingSweepDown = false
var int sweepDetectedBarUp = na
var float sweepTargetHighPrice = na
var int sweepTargetHighBar = na
var int sweepDetectedBarDown = na
var float sweepTargetLowPrice = na
var int sweepTargetLowBar = na
// === Track BOS pivots (pivot bar indexes that became BOS) ===
var int lastBOSHighBar = na
var int lastBOSLowBar = na
// Track swing while searching
if (lastSignal == -1) or (lastSignal == 0)
if na(sHigh) or high > sHigh
sHigh := high
sHighBar := bar_index
if (lastSignal == 1) or (lastSignal == 0)
if na(sLow) or low < sLow
sLow := low
sLowBar := bar_index
// Confirm pivot
condTop = c < low
condBot = c > high
isTop = condTop and (lastSignal != 1)
isBot = condBot and (lastSignal != -1)
// On pivot confirm (KHÔNG reset pendingSweep ở đây)
if isTop
confHigh := sHigh
confHighBar := sHighBar
highLine := na
highLabel := na
highLineType := 0
if showPivot
label.new(confHighBar, confHigh + syminfo.mintick * offTop, "●", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_none, textcolor=color.red, size=size.small)
lastSignal := 1
sHigh := na
sHighBar := na
sLow := low
sLowBar := bar_index
if isBot
confLow := sLow
confLowBar := sLowBar
lowLine := na
lowLabel := na
lowLineType := 0
if showPivot
label.new(confLowBar, confLow - syminfo.mintick * offBot, "●", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_none, textcolor=color.lime, size=size.small)
lastSignal := -1
sLow := na
sLowBar := na
sHigh := high
sHighBar := bar_index
// Raw sweep detection: nếu có râu quét pivot cũ (và đóng lại không vượt) -> đánh dấu pending và lưu pivot cũ
// loại trừ pivot đã từng là BOS (lastBOSHighBar / lastBOSLowBar)
rawSweepUp = not na(confHigh) and (na(lastBOSHighBar) or confHighBar != lastBOSHighBar) and high > confHigh and close <= confHigh
rawSweepDown = not na(confLow) and (na(lastBOSLowBar) or confLowBar != lastBOSLowBar) and low < confLow and close >= confLow
if rawSweepUp
pendingSweepUp := true
sweepDetectedBarUp := bar_index
sweepTargetHighPrice := confHigh
sweepTargetHighBar := confHighBar
if rawSweepDown
pendingSweepDown := true
sweepDetectedBarDown := bar_index
sweepTargetLowPrice := confLow
sweepTargetLowBar := confLowBar
// Functions: check sweep valid (no close crossing pivot from detection to now)
checkSweepValidUp() =>
isValid = true
if pendingSweepUp and not na(sweepDetectedBarUp) and not na(sweepTargetHighPrice)
maxOffset = bar_index - sweepDetectedBarUp
if maxOffset >= 0
for i = 0 to maxOffset
if close > sweepTargetHighPrice
isValid := false
isValid
checkSweepValidDown() =>
isValid = true
if pendingSweepDown and not na(sweepDetectedBarDown) and not na(sweepTargetLowPrice)
maxOffset = bar_index - sweepDetectedBarDown
if maxOffset >= 0
for i = 0 to maxOffset
if close < sweepTargetLowPrice
isValid := false
isValid
// BOS logic (như cũ) — nếu BOS xảy ra thì hủy pending sweep liên quan
bosUp = not na(confHigh) and c > confHigh
bosDown = not na(confLow) and c < confLow
if bosUp
// cancel pending sweep
pendingSweepUp := false
sweepDetectedBarUp := na
sweepTargetHighPrice := na
sweepTargetHighBar := na
// mark pivot as BOS (do not allow future sweep using same pivot)
lastBOSHighBar := confHighBar
// delete existing sweep display if present
if not na(highLine)
line.delete(highLine)
if not na(highLabel)
label.delete(highLabel)
// draw BOS (only if display enabled) — dùng màu mặc định: black
highLineType := 2
if showBosSweep
highLine := line.new(confHighBar, confHigh, bar_index, confHigh, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=bosStyle)
if showBosLabel
midBar = math.floor((confHighBar + bar_index) / 2)
highLabel := label.new(midBar, confHigh, bosLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
if bosDown
pendingSweepDown := false
sweepDetectedBarDown := na
sweepTargetLowPrice := na
sweepTargetLowBar := na
lastBOSLowBar := confLowBar
if not na(lowLine)
line.delete(lowLine)
if not na(lowLabel)
label.delete(lowLabel)
lowLineType := 2
if showBosSweep
lowLine := line.new(confLowBar, confLow, bar_index, confLow, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=bosStyle)
if showBosLabel
midBar = math.floor((confLowBar + bar_index) / 2)
lowLabel := label.new(midBar, confLow, bosLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
// === Sweep draw (with pivot-in-between check) ===
if (isTop or isBot) and pendingSweepUp and not na(sweepTargetHighBar)
hasLowBetween = false
// scan bars between sweepTargetHighBar and current bar to find ANY confirmed low pivot (confLowBar)
for i = sweepTargetHighBar to bar_index
if not na(confLowBar) and confLowBar == i
hasLowBetween := true
if checkSweepValidUp() and highLineType != 2 and hasLowBetween
// delete existing line if any
if not na(highLine)
line.delete(highLine)
if not na(highLabel)
label.delete(highLabel)
// mark as sweep
highLineType := 1
// draw sweep only if display enabled (màu mặc định: black)
if showBosSweep
highLine := line.new(sweepTargetHighBar, sweepTargetHighPrice, bar_index, sweepTargetHighPrice, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=sweepStyle)
if showSweepLabel
midBar = math.floor((sweepTargetHighBar + bar_index) / 2)
highLabel := label.new(midBar, sweepTargetHighPrice, sweepLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
// clear pending
pendingSweepUp := false
sweepDetectedBarUp := na
sweepTargetHighPrice := na
sweepTargetHighBar := na
if (isTop or isBot) and pendingSweepDown and not na(sweepTargetLowBar)
hasHighBetween = false
for i = sweepTargetLowBar to bar_index
if not na(confHighBar) and confHighBar == i
hasHighBetween := true
if checkSweepValidDown() and lowLineType != 2 and hasHighBetween
if not na(lowLine)
line.delete(lowLine)
if not na(lowLabel)
label.delete(lowLabel)
lowLineType := 1
if showBosSweep
lowLine := line.new(sweepTargetLowBar, sweepTargetLowPrice, bar_index, sweepTargetLowPrice, xloc=xloc.bar_index, extend=extend.none, color=color.black, width=w, style=sweepStyle)
if showSweepLabel
midBar = math.floor((sweepTargetLowBar + bar_index) / 2)
lowLabel := label.new(midBar, sweepTargetLowPrice, sweepLabelText, xloc=xloc.bar_index, yloc=yloc.price, textcolor=color.black, style=label.style_none, size=lblSize)
pendingSweepDown := false
sweepDetectedBarDown := na
sweepTargetLowPrice := na
sweepTargetLowBar := na
// Alerts
alertcondition(isTop, "Top", "Top confirmed")
alertcondition(isBot, "Bot", "Bottom confirmed")
alertcondition(bosUp, "BOS Up", "Break of structure up")
alertcondition(bosDown, "BOS Down", "Break of structure down")
plot(na) // tránh lỗi
Rolling VWAPRolling VWAP with aggregated option. Very precise. uaqdhuauadhuahuduhauhdhuauhduhauhduhahuduhauhdhuad
VB Bots Watchlist 2025 — RangesOf course. Here is a complete Pine Script v6 indicator for TradingView that displays the On-Balance Volume (OBV) for a selectable list of the top 50 Binance coins by market capitalization.
You can copy and paste this code directly into your Pine Editor in TradingView.
Key Features:
Pine Script Version 6: Written in the latest version of Pine Script.
Dropdown Menu: Easily select which of the top 50 coins you want to see the OBV for from the indicator's settings.
Independent Data: The OBV is calculated for the selected coin, regardless of the chart you are currently viewing.
Clear Plot: Displays the OBV in a separate pane for easy analysis.
Aggregated VWAP by Vibieaggregated vwap with lines and bands option. Autoslect option added. Very precise.