Historical Volatility with Adaptive Filtering & Price TargetsUnderstanding the “Historical Volatility with Adaptive Filtering & Price Targets” Indicator in TradingView
This TradingView indicator helps beginners identify high volatility moments and potential price targets for trading stocks, forex, or crypto. It highlights significant price swings with clear signals and targets, making it easy to spot trade opportunities. Here’s a step-by-step guide to understanding it:
Add the Indicator: In TradingView, open a chart (e.g., BTC/USD, 1-hour). Click “Indicators,” search for “Historical Volatility with Adaptive Filtering & Price Targets,” and add it. Ensure “Show Labels” and “Show Price Targets” are enabled in settings.
Spot Volatility Signals: The indicator measures volatility using price changes over an adaptive period (default 20 bars). When volatility exceeds a threshold (default 1.5x average), it places labels:
Green labels below candles signal strong bullish (upward) momentum.
Red labels above candles indicate bearish (downward) pressure.
Labels alternate (green after red, red after green) to avoid clutter, with at least 2 bars between signals.
Understand Price Targets: Every label comes with a target:
Green dashed lines (bullish) appear above the price, showing where the price might rise (calculated as close + volatility × multiplier, default 1.0).
Red dashed lines (bearish) appear below, indicating potential price drops.
Target lines persist for 10 bars (adjustable via “Target Line Duration”) and are thicker for visibility. Target labels (e.g., “Bullish Target: 5000”) appear 3 bars after the signal (adjustable via “Target Label Delay”), giving you time to enter trades.
Customize Settings: Adjust inputs:
Lower “Threshold” (e.g., 0.5) for more signals.
Increase “Target Multiplier” (e.g., 2.0) for wider targets.
Change “Target Label Delay” (e.g., 5) for more time to act.
Trade with Caution: Use green labels to consider buying, aiming for the green target, or red labels for selling. Combine with other tools (e.g., support/resistance) and set stop-losses for risk management.
This indicator simplifies volatility-based trading with clear, delayed targets for actionable insights.
Indicatori e strategie
GCM Price Boost📌 GCM Price Boost (GCMPB) – by
📈 Overview:
The GCM Price Boost indicator combines Volume Rate of Change (VROC) with a modified RSI Histogram to detect early momentum surges and potential reversal zones — giving you a powerful dual-momentum edge in all markets.
This tool is built for traders who want to spot strong price bursts (boosts) backed by volume and momentum, with visual clarity.
🔍 What It Includes:
✅ VROC Histogram:
Tracks how quickly volume is increasing alongside price.
Helps spot "pump" scenarios — surges in buying or selling pressure.
Color-coded for trend:
🟢 Green when price is rising
🔴 Red when price is falling
⚪ Gray when neutral
Two thresholds:
Small Pump (default 0.5)
Big Pump (default 10.0)
✅ RSI Histogram:
Based on RSI deviations from 50 (mid-level), scaled by a user-defined multiplier.
Color-coded histogram fill for momentum strength:
🟢 Positive = bullish pressure
🔴 Negative = bearish pressure
Histogram line color:
Above zero: 🟢 #2dff00 (bullish)
Below zero: 🔴 #ff0000 (bearish)
✅ Customizable Settings:
Adjustable VROC lookback and thresholds.
Custom RSI period and multiplier.
Amplify VROC histogram height visually via scaling multiplier.
✅ Alerts Built-in:
🔔 GCM Small Pump Detected
🔔 GCM Big Pump Detected
🔔 RSI Buy Signal
🔔 RSI Sell Signal
⚙️ Best Used For:
Spotting volume-backed momentum shifts
Surfing strong price waves (breakouts, pumps)
Timing buy/sell zones using RSI momentum
Combining with other confirmation tools (trend filters, S/R zones, etc.)
🚀 How to Use:
Add this indicator to your chart.
Watch for:
VROC bars crossing pump levels
RSI Histogram entering buy/sell zones
Use alerts to stay notified of key shifts.
Combine with price action or trend filters for higher confidence.
🧠 Pro Tip:
For aggressive traders: Enter when RSI crosses buy/sell level with a matching VROC boost.
For swing traders: Use this as an early warning of upcoming strength or exhaustion.
💬 Feedback & Upgrades:
If you’d like:
Buy/sell arrows
A strategy version for backtesting
Multi-timeframe enhancements
Drop a comment or message — I’m actively maintaining and improving this tool 💪
EMA Trend Screener//@version=5
indicator("EMA Trend Screener", shorttitle="ETS", format=format.inherit)
// EMA Calculations
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)
// RSI Calculations
rsi_daily = ta.rsi(close, 14)
rsi_weekly = request.security(syminfo.tickerid, "1W", ta.rsi(close, 14))
// Core Conditions with 99% thresholds
price_above_10ema = close > (ema10 * 0.99)
ema10_above_20 = ema10 > (ema20 * 0.99)
ema20_above_50 = ema20 > (ema50 * 0.99)
ema50_above_100 = ema50 > (ema100 * 0.99)
ema100_above_200 = ema100 > (ema200 * 0.99)
// RSI Conditions
rsi_daily_bullish = rsi_daily > 50
rsi_weekly_bullish = rsi_weekly > 50
// EMA Spread Calculation
ema_max = math.max(ema10, math.max(ema20, math.max(ema50, math.max(ema100, ema200))))
ema_min = math.min(ema10, math.min(ema20, math.min(ema50, math.min(ema100, ema200))))
ema_spread_pct = (ema_max / ema_min - 1) * 100
// Price to 20 EMA Distance
price_to_20ema_pct = (close / ema20 - 1) * 100
// Additional Conditions
ema_spread_ok = ema_spread_pct < 10
price_to_20ema_ok = price_to_20ema_pct < 10
ema200_positive = ema200 > 0
// Final Signal Calculation
all_conditions_met = price_above_10ema and ema10_above_20 and ema20_above_50 and
ema50_above_100 and ema100_above_200 and rsi_daily_bullish and
rsi_weekly_bullish and ema_spread_ok and price_to_20ema_ok and ema200_positive
// SCREENER OUTPUT - This is the key for premium screener
// Return 1 for stocks meeting criteria, 0 for those that don't
screener_signal = all_conditions_met ? 1 : 0
// Plot the screener signal (this will be the column value)
plot(screener_signal, title="EMA Trend Signal", display=display.none)
// Additional screener columns you can add
plot(rsi_daily, title="RSI Daily", display=display.none)
plot(rsi_weekly, title="RSI Weekly", display=display.none)
plot(ema_spread_pct, title="EMA Spread %", display=display.none)
plot(price_to_20ema_pct, title="Price to 20EMA %", display=display.none)
// Screener-friendly outputs for individual conditions
plot(price_above_10ema ? 1 : 0, title="Price > 10EMA", display=display.none)
plot(ema10_above_20 ? 1 : 0, title="10EMA > 20EMA", display=display.none)
plot(ema20_above_50 ? 1 : 0, title="20EMA > 50EMA", display=display.none)
plot(ema50_above_100 ? 1 : 0, title="50EMA > 100EMA", display=display.none)
plot(ema100_above_200 ? 1 : 0, title="100EMA > 200EMA", display=display.none)
// Market cap condition (note: market cap data may not be available in all cases)
// You'll need to set this in the main screener interface
// Performance 3Y condition
// This also needs to be set in the main screener interface as it's fundamental data
Reversal Signal using 9 EMA & 20 EMA Rajdeep MThis is a reversal strategy.
This can be used in smaller timeframes like 3 or 5 or 15 min.
One should use 1:1 RR ratio.
Best entry in trade can be defined if the "Reversal" candle is doji, hammer, engulfing or harami candle.
TRADE AS PER YOUR RISK.
Deep M
Reversal Signal using 9 EMA & 20 EMA Rajdeep MThis is a reversal strategy.
This can be used in smaller timeframes like 3 or 5 or 15 min.
One should use 1:1 RR ratio.
Best entry in trade can be defined if the "Reversal" candle is doji, hammer, engulfing or harami candle.
TRADE AS PER YOUR RISK.
Deep M
RSI Combo: Buy + Sell + COMBOONLY FOR CRYPTO ASSETS!
This script generates RSI-based Buy and Sell signals for the current asset, with optional confirmation from the USDT Dominance index (USDT.D).
🔍 Logic Overview:
A Buy signal is triggered when:
RSI is below a defined threshold (default: 21)
Price is below the EMA (default: 100)
A Sell signal is triggered when:
RSI is above a defined threshold (default: 80)
Price is above the EMA
🔁 Combo Signals:
If a signal on the main asset is confirmed by an opposite signal on USDT.D (inverse logic), the script replaces the standard signal with a "combo" version:
combo buy = Buy signal on asset + Sell signal on USDT.D
combo sell = Sell signal on asset + Buy signal on USDT.D
This confirms a risk-off to risk-on (or vice versa) shift in the market.
✅ Features:
Works on any timeframe and any ticker
Inputs for custom RSI/EMA parameters
Alerts for all signal types:
Regular buy / sell
Enhanced combo buy / combo sell
Designed for overlay on the chart
USDT.D ticker can be customized
KDJ```
**KDJ Indicator - Enhanced Stochastic Oscillator**
The KDJ indicator is an advanced technical analysis tool that extends the traditional stochastic oscillator with an additional J line, providing enhanced momentum analysis for trading decisions.
**What is KDJ?**
KDJ consists of three lines:
- **K Line (Blue)**: Fast stochastic line showing short-term momentum
- **D Line (Orange)**: Smoothed version of K line, representing medium-term trend
- **J Line (White)**: Divergence line calculated as (3×K - 2×D), showing momentum acceleration
**Key Features:**
- Fully customizable parameters for optimal strategy adaptation
- Independent signal smoothing for K and D lines
- Visual background coloring for quick trend identification
- Standard overbought (80) and oversold (20) levels
- Clean, professional chart presentation
**Parameters:**
- **Period**: Lookback period for highest/lowest calculations (default: 42)
- **Signal K**: Smoothing factor for K line (default: 4)
- **Signal D**: Smoothing factor for D line (default: 4)
**Trading Signals:**
- **Bullish**: J line crosses above D line (green background)
- **Bearish**: J line crosses below D line (red background)
- **Overbought**: Values above 80 level
- **Oversold**: Values below 20 level
**Best Use:**
Ideal for identifying trend reversals, momentum shifts, and entry/exit points across all timeframes and markets. The J line provides early signals compared to traditional stochastic indicators.
Perfect for swing trading, scalping, and trend following strategies.
```
tp_sl_styling_libTP/SL Styling Library
A professional-grade library for creating highly customizable trade management visualizations with extensive styling options and multiple display versions. Perfect for indicators and strategies that require consistent, professional-looking trade level drawings.
Key Features - Extensive Styling Options
Multiple Visual Styles
Version 1 : Traditional multi-label style with left/center/right positioning
Version 2 : Modern streamlined style with single-side labels and tooltips
Version 3 : Advanced style with directional arrows (▲/▼) and bar-level indicators
Comprehensive Customization
Line Styles : Solid, Dashed, Dotted for all levels
Line Thickness : Individual thickness control for each level
Color Schemes : Separate colors for TP1, TP2, TP3, SL, Entry, Buy/Sell signals
Label Positioning : Flexible left/center/right positioning for all information
Information Display : Configurable display of prices, R:R ratios, percentages, and position sizes
Professional Features
Memory Management : Proper cleanup functions prevent memory leaks
Dynamic Line Adjustment : Automatic line length adjustment based on chart view
Tooltip Integration : Hover information for all trade levels
Bad R/R Detection : Special visualization for poor risk/reward scenarios
What Makes This Library Unique
Unlike basic drawing functions, this library provides:
3 Different Visual Styles to match any trading strategy aesthetic
Granular Control over every visual element (colors, styles, thickness, positioning)
Professional Consistency across all your indicators and strategies
Memory-Efficient design with proper cleanup methods
Future-Proof architecture with version-based feature progression
Usage Example
//@version=5
indicator("My Strategy")
import bilsebub/tp_sl_drawing_lib/1 as tpsl
// Choose your preferred visual style
var VERSION = input.int(3, "Drawing Style", minval=1, maxval=3, options= )
// Extensive styling options
var TP1_STYLE = input.string("Solid", "TP1 Line Style", options= )
var TP1_THICKNESS = input.int(2, "TP1 Thickness", minval=1, maxval=5)
var TP1_COLOR = input.color(color.green, "TP1 Color")
var LABEL_POS = input.string("Right", "Label Position", options= )
var SHOW_PRICES = input.bool(true, "Show Prices")
var SHOW_RR = input.bool(true, "Show Risk/Reward")
// Create professional trade drawings
var drawings = tpsl.tradeDrawingsUnion.new()
if entrySignal
tpsl.remove_trade_drawings(VERSION, drawings)
drawings := tpsl.draw_trade_tp_sl(
version=VERSION,
direction=1, // 1 for buy, -1 for sell
ep=entry_price,
tp1=take_profit1,
tp2=take_profit2,
tp3=take_profit3,
sl=stop_loss,
rrr=risk_reward_ratio,
show_tp1=true,
show_tp2=true,
show_tp3=false,
show_sl=true,
show_ep=true,
tp_sl_label_pos=LABEL_POS,
tp_sl_price_pos=SHOW_PRICES ? LABEL_POS : "None",
tp_sl_rrr_pos=SHOW_RR ? LABEL_POS : "None",
tp1_style=TP1_STYLE,
tp1_thickness=TP1_THICKNESS,
tp1_color=TP1_COLOR
// ... additional styling parameters
)
Main Functions
Core Drawing Functions
draw_trade_tp_sl() - Create complete trade visualization with all styling options
draw_bad_rrr() - Special visualization for poor risk/reward scenarios
remove_trade_drawings() - Clean up all drawings to prevent memory issues
remove_trade_drawings_labels() - Remove only labels while keeping lines
shrink_lines() - Dynamically adjust line lengths based on chart view
Data Types
tradeDrawingsV1 - Traditional multi-label style
tradeDrawingsV2 - Modern streamlined style
tradeDrawingsV3 - Advanced style with directional indicators
tradeDrawingsUnion - Unified interface for all versions
Perfect For
Professional Indicators requiring consistent trade visualization
Trading Strategies with multiple take profit levels
Educational Content with clear trade management displays
Algorithmic Trading systems needing reliable drawing functions
Custom Indicators requiring extensive styling flexibility
Pro Tips
Choose the Right Version : V1 for detailed info, V2 for clean look, V3 for modern style
Memory Management : Always call remove_trade_drawings() before creating new ones
Styling Consistency : Use the same color scheme across all your indicators
Performance : Use shrink_lines() for dynamic line adjustment on large charts
Version Comparison
Label Positions:
V1 (Traditional) : Left/Center/Right positioning available
V2 (Modern) : Right-side positioning only
V3 (Advanced) : Right-side + Bar-level positioning
Directional Indicators:
V1 (Traditional) : ❌ Not available
V2 (Modern) : ❌ Not available
V3 (Advanced) : ✅ Available (▲/▼ arrows)
Tooltips:
V1 (Traditional) : ❌ Not available
V2 (Modern) : ✅ Available
V3 (Advanced) : ✅ Available
Bar-Level Markers:
V1 (Traditional) : ❌ Not available
V2 (Modern) : ❌ Not available
V3 (Advanced) : ✅ Available
Memory Efficiency:
V1 (Traditional) : Good
V2 (Modern) : Better
V3 (Advanced) : Best
Note : This library is designed for professional use and provides extensive customization options. Choose the version that best fits your visual style and requirements.
Main Functions:
shrink_lines(version, start_idx, min_bars_label_length, drawings)
Parameters:
version (int)
start_idx (int)
min_bars_label_length (int)
drawings (tradeDrawingsUnion)
draw_bad_rrr(version, ep, rrr, min_bars_label_length, ep_thickness, ep_color)
Parameters:
version (int)
ep (float)
rrr (float)
min_bars_label_length (int)
ep_thickness (int)
ep_color (color)
remove_trade_drawings(version, drawings)
Parameters:
version (int)
drawings (tradeDrawingsUnion)
remove_trade_drawings_labels(version, drawings)
Parameters:
version (int)
drawings (tradeDrawingsUnion)
draw_trade_tp_sl(version, direction, ep, tp1, tp2, tp3, sl, rrr, tp1_perc, tp2_perc, tp3_perc, sizeInfo, patternStartBarIdx, tp_sl_line_length, show_tp1, show_tp2, show_tp3, show_sl, show_ep, show_size_info, tp_sl_label_pos, tp_sl_price_pos, tp_sl_rrr_pos, tp_sl_perc_pos, tp_sl_qty_pos, tp1_style, tp2_style, tp3_style, sl_style, ep_style, tp1_thickness, tp2_thickness, tp3_thickness, sl_thickness, ep_thickness, tp1_color, tp2_color, tp3_color, sl_color, ep_color, buy_color, sell_color)
Parameters:
version (int)
direction (int)
ep (float)
tp1 (float)
tp2 (float)
tp3 (float)
sl (float)
rrr (float)
tp1_perc (float)
tp2_perc (float)
tp3_perc (float)
sizeInfo (string)
patternStartBarIdx (int)
tp_sl_line_length (int)
show_tp1 (bool)
show_tp2 (bool)
show_tp3 (bool)
show_sl (bool)
show_ep (bool)
show_size_info (bool)
tp_sl_label_pos (string)
tp_sl_price_pos (string)
tp_sl_rrr_pos (string)
tp_sl_perc_pos (string)
tp_sl_qty_pos (string)
tp1_style (string)
tp2_style (string)
tp3_style (string)
sl_style (string)
ep_style (string)
tp1_thickness (int)
tp2_thickness (int)
tp3_thickness (int)
sl_thickness (int)
ep_thickness (int)
tp1_color (color)
tp2_color (color)
tp3_color (color)
sl_color (color)
ep_color (color)
buy_color (color)
sell_color (color)
Multi EMA ComboMuliti EMA Combo
You dont have a paid TradingView plan, and cant put 6 diffrent EMAS on the Chart?
No problem! With the Multi EMA Combo Indicator you got the most important EMAS in one Indicator ( 9, 20, 50, 100, 200, 800 ).
Made by Esc0.
Mark4ex vWapMark4ex VWAP is a precision session-anchored Volume Weighted Average Price (VWAP) indicator crafted for intraday traders who want clean, reliable VWAP levels that reset daily to match a specific market session.
Unlike the built-in continuous VWAP, this version anchors each day to your chosen session start and end time, most commonly aligned with the New York Stock Exchange Open (9:30 AM EST) through the market close (4:00 PM EST). This ensures your VWAP reflects only intraday price action within your active trading window — filtering out irrelevant overnight moves and providing clearer mean-reversion signals.
Key Features:
Fully configurable session start & end times — adapt it for NY session or any other market.
Anchored VWAP resets daily for true session-based levels.
Built for the New York Open Range Breakout strategy: see how price interacts with VWAP during the volatile first 30–60 minutes of the US market.
Plots a clean, dynamic line that updates tick-by-tick during the session and disappears outside trading hours.
Designed to help you spot real-time support/resistance, intraday fair value zones, and liquidity magnets used by institutional traders.
How to Use — NY Open Range Breakout:
During the first hour of the New York session, institutional traders often define an “Opening Range” — the high and low formed shortly after the bell. The VWAP in this zone acts as a dynamic pivot point:
When price is above the session VWAP, bulls are in control — the level acts as a support floor for pullbacks.
When price is below the session VWAP, bears dominate — the level acts as resistance against bounces.
Breakouts from the opening range often test the VWAP for confirmation or rejection.
Traders use this to time entries for breakouts, retests, or mean-reversion scalps with greater confidence.
⚙️ Recommended Settings:
Default: 9:30 AM to 4:00 PM New York time — standard US equities session.
Adjust hours/minutes to match your target market’s open and close.
👤 Who is it for?
Scalpers, day traders, prop traders, and anyone trading the NY Open, indices like the S&P 500, or highly liquid stocks during US cash hours.
🚀 Why use Mark4ex VWAP?
Because a properly anchored VWAP is a trader’s real-time institutional fair value, giving you better context than static moving averages. It adapts live to volume shifts and helps you follow smart money footprints.
This indicator will reconfigure every day, anchored to the New York Open, it will also leave historical NY Open VWAP for study purpose.
AQS Gold Strategy//@version=5
indicator("AQS Gold Strategy", overlay=true)
// === المؤشرات ===
// EMA 200 لتحديد الاتجاه
ema200 = ta.ema(close, 200)
plot(ema200, color=color.orange, title="EMA 200")
// MACD
= ta.macd(close, 12, 26, 9)
macd_cross_up = ta.crossover(macdLine, signalLine)
macd_cross_down = ta.crossunder(macdLine, signalLine)
// Stochastic RSI
k = ta.stoch(close, high, low, 14)
d = ta.sma(k, 3)
stoch_overbought = k > 80 and d > 80
stoch_oversold = k < 20 and d < 20
// Volume Filter
vol_condition = volume > ta.sma(volume, 20)
// === شروط الدخول والخروج ===
// دخول شراء: تقاطع MACD صاعد + تشبع شراء في Stoch RSI + السعر فوق EMA 200
long_condition = macd_cross_up and stoch_oversold and close > ema200 and vol_condition
// خروج شراء أو دخول بيع: تقاطع MACD هابط + تشبع بيع في Stoch RSI + السعر تحت EMA 200
short_condition = macd_cross_down and stoch_overbought and close < ema200 and vol_condition
// === رسم إشارات الدخول والخروج ===
plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === تنبيهات ===
alertcondition(long_condition, title="Buy Alert", message="إشارة شراء حسب استراتيجية AQS Gold")
alertcondition(short_condition, title="Sell Alert", message="إشارة بيع حسب استراتيجية AQS Gold")
EMA Crossover con VWAP y señales Buy/SellGenerates sell signals when EMA 12 crosses downwards below EMA 30.
lib_core_utilsLibrary "lib_core_utils"
Core utility functions for Pine Script strategies
Provides safe mathematical operations, array management, and basic helpers
Version: 1.0.0
Author: NQ Hybrid Strategy Team
Last Updated: 2025-06-18
===================================================================
safe_division(numerator, denominator)
safe_division
@description Performs division with safety checks for zero denominators and invalid values
Parameters:
numerator (float) : (float) The numerator value
denominator (float) : (float) The denominator value
Returns: (float) Result of division, or 0.0 if invalid
safe_division_detailed(numerator, denominator)
safe_division_detailed
@description Enhanced division with detailed result information
Parameters:
numerator (float) : (float) The numerator value
denominator (float) : (float) The denominator value
Returns: (SafeCalculationResult) Detailed calculation result
safe_multiply(a, b)
safe_multiply
@description Performs multiplication with safety checks for overflow and invalid values
Parameters:
a (float) : (float) First multiplier
b (float) : (float) Second multiplier
Returns: (float) Result of multiplication, or 0.0 if invalid
safe_add(a, b)
safe_add
@description Performs addition with safety checks
Parameters:
a (float) : (float) First addend
b (float) : (float) Second addend
Returns: (float) Result of addition, or 0.0 if invalid
safe_subtract(a, b)
safe_subtract
@description Performs subtraction with safety checks
Parameters:
a (float) : (float) Minuend
b (float) : (float) Subtrahend
Returns: (float) Result of subtraction, or 0.0 if invalid
safe_abs(value)
safe_abs
@description Safe absolute value calculation
Parameters:
value (float) : (float) Input value
Returns: (float) Absolute value, or 0.0 if invalid
safe_max(a, b)
safe_max
@description Safe maximum value calculation
Parameters:
a (float) : (float) First value
b (float) : (float) Second value
Returns: (float) Maximum value, handling NA cases
safe_min(a, b)
safe_min
@description Safe minimum value calculation
Parameters:
a (float) : (float) First value
b (float) : (float) Second value
Returns: (float) Minimum value, handling NA cases
safe_array_get(arr, index)
safe_array_get
@description Safely retrieves value from array with bounds checking
Parameters:
arr (array) : (array) The array to access
index (int) : (int) Index to retrieve
Returns: (float) Value at index, or na if invalid
safe_array_push(arr, value, max_size)
safe_array_push
@description Safely pushes value to array with size management
Parameters:
arr (array) : (array) The array to modify
value (float) : (float) Value to push
max_size (int) : (int) Maximum array size
Returns: (bool) True if push was successful
safe_array_unshift(arr, value, max_size)
safe_array_unshift
@description Safely adds value to beginning of array with size management
Parameters:
arr (array) : (array) The array to modify
value (float) : (float) Value to add at beginning
max_size (int) : (int) Maximum array size
Returns: (bool) True if unshift was successful
get_array_stats(arr, max_size)
get_array_stats
@description Gets statistics about an array
Parameters:
arr (array) : (array) The array to analyze
max_size (int) : (int) The maximum allowed size
Returns: (ArrayStats) Statistics about the array
cleanup_array(arr, target_size)
cleanup_array
@description Cleans up array by removing old elements if it's too large
Parameters:
arr (array) : (array) The array to cleanup
target_size (int) : (int) Target size after cleanup
Returns: (int) Number of elements removed
is_valid_price(price)
is_valid_price
@description Checks if a price value is valid for trading calculations
Parameters:
price (float) : (float) Price to validate
Returns: (bool) True if price is valid
is_valid_volume(vol)
is_valid_volume
@description Checks if a volume value is valid
Parameters:
vol (float) : (float) Volume to validate
Returns: (bool) True if volume is valid
sanitize_price(price, default_value)
sanitize_price
@description Sanitizes price value to ensure it's within valid range
Parameters:
price (float) : (float) Price to sanitize
default_value (float) : (float) Default value if price is invalid
Returns: (float) Sanitized price value
sanitize_percentage(pct)
sanitize_percentage
@description Sanitizes percentage value to 0-100 range
Parameters:
pct (float) : (float) Percentage to sanitize
Returns: (float) Sanitized percentage (0-100)
is_session_active(session_string, timezone)
Parameters:
session_string (string)
timezone (string)
get_session_progress(session_string, timezone)
Parameters:
session_string (string)
timezone (string)
format_price(price, decimals)
Parameters:
price (float)
decimals (int)
format_percentage(pct, decimals)
Parameters:
pct (float)
decimals (int)
bool_to_emoji(condition, true_emoji, false_emoji)
Parameters:
condition (bool)
true_emoji (string)
false_emoji (string)
log_debug(message, level)
Parameters:
message (string)
level (string)
benchmark_start()
benchmark_end(start_time)
Parameters:
start_time (int)
get_library_info()
get_library_version()
SafeCalculationResult
SafeCalculationResult
Fields:
value (series float) : (float) The calculated value
is_valid (series bool) : (bool) Whether the calculation was successful
error_message (series string) : (string) Error description if calculation failed
ArrayStats
ArrayStats
Fields:
size (series int) : (int) Current array size
max_size (series int) : (int) Maximum allowed size
is_full (series bool) : (bool) Whether array has reached max capacity
Data Monitoring TableThis is a visual data dashboard specifically designed for users engaged in quantitative trading and technical analysis. It is equipped with two data tables that can dynamically display key market technical indicators and cryptocurrency price fluctuation data, supporting customizable column configurations and trading mode filtering.
✅ Core Features:
Intuitive display of critical technical indicators, including the Relative Strength Index (RSI), K-line entity gain, upper/lower shadow ratio, trading volume level, and change rate.
Multi-timeframe tracking of price fluctuations for BTC/ETH/SOL/XRP/DOGE (1-day, 6-hour, 3-hour).
Selectable trading modes: "long-only", "short-only", or "both".
Customizable number of columns to adapt to analysis needs across different timeframes.
All data is visualized in tables with color-coded prompts for market conditions (overbought, oversold, high volatility, low volatility, etc.).
📈 Target Audience:
Investors seeking systematic access to technical data.
Quantitative strategy developers aiming to capture market structural changes.
Intermediate and beginner traders looking to enhance market intuition and decision-making.
New Feature:
We have added a trading volume monitoring grade setting feature. Users can set the monitoring grade by themselves. When the market trading volume reaches this grade, the system will trigger an alarm. The default setting is level 5. This setting is designed to filter out trades with small fluctuations, helping users to capture key trading signals more accurately and improve the efficiency of trading decisions.
中文介绍
这是一款专为量化交易和技术分析用户设计的可视化数据仪表盘。它配备两个数据表格,可动态展示关键市场技术指标与加密货币价格波动数据,支持自定义列配置和交易模式筛选。
✅ 核心功能:
直观展示相对强弱指标(RSI)、K 线实体涨幅、上下影线比例、成交量水平及变化率等关键技术指标。
多时间框架追踪 BTC/ETH/SOL/XRP/DOGE 价格波动(1 日、6 小时、3 小时)。
可选交易模式:“仅做多”“仅做空” 或 “多空双向”。
可自定义列数,适配不同时间框架的分析需求。
所有数据以表格可视化呈现,通过颜色标注提示市场状况(超买、超卖、高波动、低波动等)。
📈 目标用户:
寻求系统获取技术数据的投资者。
旨在捕捉市场结构变化的量化策略开发者。
希望提升市场洞察力和决策能力的初、中级交易者。
新增功能:
我们新增了成交量监控等级设置功能。用户可自行设定监控等级,当市场成交量达到该等级时,系统将触发警报。默认设置为 5 级,此设置旨在过滤掉小幅波动的交易,帮助用户更精准地捕捉关键交易信号,提升交易决策效率。
EMA x4📌 Indicator: EMA x4
Author:
Script Type: Overlay (draws on price chart)
Language: Pine Script™ v6
License: Mozilla Public License 2.0
📖 Overview
EMA x4 is a minimalist technical indicator designed to display four customizable Exponential Moving Averages (EMAs) directly on the chart. It offers a clear view of short-, medium-, long-, and extra-long-term trends to support trend-following and momentum-based trading strategies.
This tool is ideal for traders who rely on moving average crossovers, dynamic support/resistance, or need to confirm market bias with multiple time-frame alignment.
⚙️ Input Parameters
Users can modify each EMA's length to match their strategy preferences:
Short EMA: Fastest EMA for short-term by default its value is 35
Middle EMA: Medium-term EMA by default its value is 75
Large EMA: Long-term EMA by default its value is 100
XL - EMA: Extra-long-term trend filter by default its value is 200
📊 Visual Representation
The script plots each EMA using distinct colors and consistent line thickness:
EMA1: Color Blue Short-term EMA (35)
EMA2: Color Orange Mid-term EMA (75)
EMA3: Color Green Long-term EMA (100)
EMA4: Color Red Extra-long-term EMA (200)
All lines are rendered with a linewidth of 2 for enhanced visibility on any chart.
🧠 Typical Use Cases
Trend Identification: Watch for the EMAs stacking in order (e.g., EMA1 above EMA2, etc.) to confirm bullish or bearish trends.
Crossover Signals: Look for EMA crossovers to generate entry/exit signals.
Support & Resistance: EMAs often act as dynamic zones of support/resistance during trending markets.
Multi-timeframe Confirmation: Combine this overlay with higher timeframe charts to confirm trend alignment.
✅ Key Benefits
Fully customizable EMA lengths for all trading styles.
Clean design, ideal for visually-driven traders.
Lightweight code – no lag or performance impact.
Can be used in confluence with other indicators or strategies.
🚀 How to Use
Add the indicator to any TradingView chart.
Configure the EMA lengths based on your preference (swing, day trading, long-term).
Analyze price interactions with the EMAs and look for confluences or crossovers.
Average volume yearlyI noticed that there is no Average Volume for 7 days, 180 days, and 365 days, which is sometimes badly needed.
I have decided to add the Average volume for the week, 180 days, and a year.
RSI Distance+Here’s a Pine Script that highlights when the RSI line is significantly far from its moving average, just like in your marked image:
🔍 How It Works:
Calculates RSI and its SMA.
Measures absolute distance between the two.
If that distance exceeds your chosen threshold (e.g. 4.0), it:
Colors the background behind the RSI.
Marks it with a small red circle on the RSI line.
You can adjust the distanceThreshold input to fine-tune sensitivity based on your preference.
Multi EMA (up to 5) with Cross Alerts (BY HYPER)
📊 Multi EMA Indicator (Up to 5)
This indicator plots up to five Exponential Moving Averages (EMAs) on the chart. Each EMA can be customized in terms of length, color, and visibility. It is useful for traders looking to observe multiple trend levels simultaneously.
🔍 Key Features:
Up to 5 configurable EMAs
Individual settings for length, color, and style
Visibility toggle for each EMA
Suitable for trend analysis on all timeframes
🧠 How to Use:
Use this tool to help identify market trends and potential support/resistance zones. EMAs can also assist in confirming trend direction or possible momentum shifts. This script does not generate buy or sell signals and should not be considered financial advice.
-
Advanced Volume Profile Levels (Working)This indicator is a powerful tool for traders who use volume profile analysis to identify significant price levels. It automatically calculates and plots the three most critical levels derived from volume data—the Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL)—for three different timeframes simultaneously: the previous week, the previous day, and the current, live session.
The primary focus of this indicator is unmatched readability. It features dynamic, floating labels that stay clear of price action, combined with a high-contrast design to ensure you can see these crucial levels at a glance without any visual clutter.
Key Features
Multi-Session Analysis: Gain a complete market perspective by viewing levels from different timeframes on a single chart.
Weekly Levels: Identify the long-term areas of value and control from the prior week's trading activity.
Daily Levels: Pinpoint the most significant levels from the previous day's Regular Trading Hours (9:30 AM - 4:00 PM ET).
Current Session Levels: Track the developing value area and POC in real-time with a dynamic profile that updates with every bar.
Advanced Visuals for Clarity:
Floating Labels: The labels for the weekly and daily levels intelligently "float" on the right side of your chart, moving with the price to ensure they are never obscured by candles.
High-Contrast Design: Labels are designed for maximum readability with solid, opaque backgrounds and an automatic text color (black or white) that provides the best contrast against your chosen level color.
Trailing Current Levels: The labels for the current session neatly trail the most recent price action, providing an intuitive view of intra-day developments.
Comprehensive Customization: Tailor the indicator's appearance to your exact preferences.
Toggle each profile (Weekly, Daily, Current) on or off.
Individually set the color, line style (solid, dashed, dotted), and line width for each set of levels.
Adjust the text size, background transparency, and horizontal offset for all on-chart labels.
Information Hub:
On-Chart Price Labels: Each label clearly displays both the level name and its precise price (e.g., "D-POC: 22068.50").
Corner Table: An optional, clean table in the top-right corner provides a quick summary of all active weekly and daily level values.
Built-in Alerts:
Create alerts directly from the script to be notified whenever the price crosses above or below the weekly or daily Point of Control, helping you stay on top of key market movements.
How to Use
The levels provided by this indicator serve as powerful reference points for market activity:
Point of Control (POC): The price level with the highest traded volume. It acts as a magnet for price and represents the area of "fair value" for that session. Markets often test or revert to the POC.
Value Area High (VAH) & Value Area Low (VAL): These levels define the range where approximately 70% of the session's volume occurred. They are critical support and resistance zones.
Price acceptance above the VAH may signal a bullish breakout.
Price acceptance below the VAL may signal a bearish breakdown.
Rejection at the VAH or VAL often leads to price moving back across the value area towards the POC.
Custom Volume Profile with HVN/LVNBacktest reactions to HVN/LVN zones
Use LVNs for breakout trades
Use HVNs for fading reversals
Validate your order flow levels with price-based volume reality