OG Volume PowerDescription:
The OG Volume Power is an elite-level volume analysis suite built for identifying momentum surges, trend continuation, and buyer/seller imbalances at critical price levels. It combines real-time VWAP tracking, a dynamic Point of Control (POC), and volume delta clusters to give traders a complete picture of price and volume interaction.
🔍 Key Features:
Real-Time VWAP:
Tracks volume-weighted average price to identify mean reversion and intraday fair value zones. Ideal for institutional-level entries and exits.
Dynamic POC (Point of Control):
Automatically finds the price level with the highest volume over the last N candles (default 50), helping traders pinpoint where market participants are most committed.
Buyer/Seller Volume Delta Clusters:
Highlights imbalances between buying and selling pressure using bullish and bearish volume deltas that exceed the 20-bar volume average — excellent for momentum detection and early trend recognition.
⚙️ How It Works:
Green triangle: Buyer surge (bullish delta + above average volume)
Red triangle: Seller surge (bearish delta + above average volume)
Magenta line: Dynamic POC (highest volume price over recent candles)
Orange line: VWAP (acts as a magnetic force for price)
📈 Best For:
Intraday scalping or swing trading on SPY, QQQ, BTC, or Forex
Volume flow confirmation before breakout entries
Filtering false breakouts with delta strength signals
🧠 Pro Tip:
Use OG Volume Power alongside your trend indicators (like OG EMA Stack or OG Supertrend) to confirm that volume is backing the move. Look for surges near VWAP or POC zones for sniper-level entries.
Cari dalam skrip untuk "scalping"
MA SniperThis indicator automatically finds the most effective moving average to use in a price crossover strategy—so you can focus on trading, not testing. It continuously evaluates a wide range of moving average periods, ranks them based on real-time market performance, and selects the one delivering the highest quality signals. The result? A smarter, adaptive tool that shows you exactly when price crosses its optimal moving average—bullish signals in green, bearish in red.
What makes it unique is the way it thinks.
Under the hood, the script doesn’t just pick a random MA or let you choose one manually. Instead, it backtests a large panel of moving average lengths for the current asset and timeframe. It evaluates each one by calculating its **Profit Factor**—a key performance metric used by pros to measure the quality of a strategy. Then, it assigns each MA a score and ranks them in a clean, built-in table so you can see, at a glance, which ones are currently most effective.
From that list, it picks the top-performing MA and uses it to generate live crossover signals on your chart. That MA is plotted automatically, and the signals adapt in real-time. This isn’t a static setup—it’s a dynamic system that evolves as the market evolves.
Even better: the indicator detects the type of instrument you’re trading (forex, stocks, etc.) and adjusts its internal calculations accordingly, including how many bars per day to consider. That means it remains highly accurate whether you’re trading EURUSD, SPX500, or TSLA.
You also get a real-time dashboard (via the table) that acts as a transparent scorecard. Want to see how other MAs are doing? You can. Want to understand why a certain MA was selected? The data is right there.
This tool is for traders who love crossover strategies but want something smarter, faster, and more precise—without spending hours manually testing. Whether you're scalping or swing trading, it offers a data-driven edge that’s hard to ignore.
Give it a try—you’ll quickly see how powerful it can be when your MA does the thinking for you.
This tool is for informational and educational purposes only. Trading involves risk, and past performance does not guarantee future results. Use responsibly.
Volume Histogram with ThresholdsVolume Histogram with Thresholds
Description:
This indicator displays a histogram of volume bars with color coding based on customizable volume thresholds. It helps traders quickly identify potential breakouts and breakdowns by comparing current volume against a moving average of past volume.
Features:
Customizable Average Volume Period – Allows you to set a lookback period for calculating average volume.
Color-Coded Bars for Quick Visual Reference:
Gray: Below average volume (low activity)
Blue: Near average volume (normal activity)
Green: Above average volume (potential breakout/breakdown)
Red: Significantly above average volume (high-confidence move)
Plots an Orange Reference Line – Represents the average volume for easy comparison.
Usage:
Adjust "Average Volume Period" to set the moving average length for volume.
Modify "Above Average" and "High Volume" multipliers to fine-tune breakout/breakdown sensitivity.
Look for green and red bars to confirm strong moves in price action.
This indicator can help confirm the validity of breakouts and breakdowns by visually emphasizing volume surges. 🚀
Explanation of Presets in the Indicator
The indicator comes with three user-configurable settings that determine how volume is analyzed and displayed. Here’s what they do and why they matter:
1. Average Volume Period (Default: 50)
This setting controls the number of past bars used to calculate the Simple Moving Average (SMA) of volume.
A larger value (e.g., 100) smooths out fluctuations and gives a broader view of average volume trends.
A smaller value (e.g., 20) makes the average more responsive to recent volume changes.
2. Above Average Threshold (Multiplier, Default: 1.5)
This defines the first level of volume increase that is considered above average.
If the current volume is 1.5 times greater than the moving average volume, the histogram bar turns green.
You can lower this value (e.g., 1.2) to make the indicator more sensitive or increase it (e.g., 2.0) to filter out smaller spikes.
3. High Volume Threshold (Multiplier, Default: 2.5)
This determines the threshold for what is considered significantly above average volume.
If the current volume is 2.5 times greater than the moving average volume, the histogram bar turns red.
This setting helps highlight extremely strong volume surges, which are more likely to indicate high-confidence breakouts or breakdowns.
How to Adjust These Presets for Different Market Conditions
If you trade high-volatility assets, you might want to increase the multipliers (e.g., 2.0 and 3.5) to focus only on the strongest moves.
If you trade low-liquidity assets, you might need to lower the multipliers (e.g., 1.2 and 2.0) to capture smaller but meaningful volume shifts.
Short-term traders (scalping/day trading) may prefer a lower average volume period (e.g., 20) to get faster signals.
By tweaking these settings, you can adapt the indicator to your trading style and the asset you’re analyzing. 🚀
Beep BoopThe Beep Boop indicator is designed to simplify visual trading decisions by combining the concepts of MACD (Moving Average Convergence Divergence) and a customizable EMA trend filter. It provides clear visual cues to help traders quickly assess market momentum and the current trend direction.
### What Makes Beep Boop Unique?
This indicator uniquely modifies the standard MACD histogram to create a simplified binary visualization—highlighting either bullish or bearish momentum clearly. Rather than displaying traditional MACD bars of varying sizes, it assigns fixed positive or negative values to simplify interpretation:
- A positive histogram (fixed at 0.1) indicates bullish momentum.
- A negative histogram (fixed at 0.09) indicates bearish momentum.
Additionally, Beep Boop integrates a configurable EMA (Exponential Moving Average) to filter signals, allowing traders to identify stronger directional moves by comparing the current price action with the EMA trend line:
- Bullish bars (green) appear only when price action is above the EMA.
- Bearish bars (red) appear only when price action is below the EMA.
- Neutral bars (white) appear when price action is uncertain or mixed in relation to the EMA.
### How to Use Beep Boop?
1. Fast and Slow Lengths: Adjust these to configure the MACD calculation for different timeframes or market volatility.
2. EMA Trend: Change this parameter to fine-tune the sensitivity of the EMA filter based on your preferred trading style (short-term, swing, or long-term).
3. Simple or Exponential MA: Toggle between SMA (Simple Moving Average) or EMA calculations to personalize the responsiveness of the MACD and signal lines.
### Recommended Applications
- Trend-following strategies: Clearly identifies market direction for entries and exits.
- Momentum Trading: Provides simple momentum confirmation for scalping and short-term trading.
- Market Screening: Quickly filters assets based on bullish or bearish momentum strength.
This indicator offers traders a clean, straightforward method to gauge market conditions at a glance, simplifying the complexity inherent in traditional momentum and trend indicators.
Happy Trading!
Arbitrage Spot-Futures Don++Strategy: Spot-Futures Arbitrage Don++
This strategy has been designed to detect and exploit arbitrage opportunities between the Spot and Futures markets of the same trading pair (e.g. BTC/USDT). The aim is to take advantage of price differences (spreads) between the two markets, while minimizing risk through dynamic position management.
[Operating principle
The strategy is based on calculating the spread between Spot and Futures prices. When this spread exceeds a certain threshold (positive or negative), reverse positions are opened simultaneously on both markets:
- i] Long Spot + Short Futures when the spread is positive.
- i] Short Spot + Long Futures when the spread is negative.
Positions are closed when the spread returns to a value close to zero or after a user-defined maximum duration.
[Strategy strengths
1. Adaptive thresholds :
- Entry/exit thresholds can be dynamic (based on moving averages and standard deviations) or fixed, offering greater flexibility to adapt to market conditions.
2. Robust data management :
- The script checks the validity of data before executing calculations, thus avoiding errors linked to missing or invalid data.
3. Risk limitation :
- A position size based on a percentage of available capital (default 10%) limits exposure.
- A time filter limits the maximum duration of positions to avoid losses due to persistent spreads.
4. Clear visualization :
- Charts include horizontal lines for entry/exit thresholds, as well as visual indicators for spread and Spot/Futures prices.
5. Alerts and logs :
- Alerts are triggered on entries and exits to inform the user in real time.
[Points for improvement or completion
Although this strategy is functional and robust, it still has a few limitations that could be addressed in future versions:
1. [Limited historical data :
- TradingView does not retrieve real-time data for multiple symbols simultaneously. This can limit the accuracy of calculations, especially under conditions of high volatility.
2. [Lack of liquidity management :
- The script does not take into account the volumes available on the order books. In conditions of low liquidity, it may be difficult to execute orders at the desired prices.
3. [Non-dynamic transaction costs :
- Transaction costs (exchange fees, slippage) are set manually. A dynamic integration of these costs via an external API would be more realistic.
4. User-dependency for symbols :
- Users must manually specify Spot and Futures symbols. Automatic symbol validation would be useful to avoid configuration errors.
5. Lack of advanced backtesting :
- Backtesting is based solely on historical data available on TradingView. An implementation with third-party data (via an API) would enable the strategy to be tested under more realistic conditions.
6. [Parameter optimization :
- Certain parameters (such as analysis period or spread thresholds) could be optimized for each specific trading pair.
[How can I contribute?
If you'd like to help improve this strategy, here are a few ideas:
1. Add additional filters:
- For example, a filter based on volume or volatility to avoid false signals.
2. Integrate dynamic costs:
- Use an external API to retrieve actual costs and adjust thresholds accordingly.
3. Improve position management:
- Implement hedging or scalping mechanisms to maximize profits.
4. Test on other pairs:
- Evaluate the strategy's performance on other assets (ETH, SOL, etc.) and adjust parameters accordingly.
5. Publish backtesting results :
- Share detailed analyses of the strategy's performance under different market conditions.
[Conclusion
This Spot-Futures arbitrage strategy is a powerful tool for exploiting price differentials between markets. Although it is already functional, it can still be improved to meet more complex trading scenarios. Feel free to test, modify and share your ideas to make this strategy even more effective!
[Thank you for contributing to this open-source community!
If you have any questions or suggestions, please feel free to comment or contact me directly.
Adaptive KDJ (MTF)Hey guys,
this is an adaptive MTF KDJ oscillator.
Pick up to 3 different timeframes, choose a weighting if you want and enjoy the beautiful signals it will show you.
The length of every timeframe is adaptive and based of the timeframe's ATR.
The plot shows the smoothed average of the 3 KDJ values.
Large triangles show KDJ crossings.
Small triangles show anticipations of possible crossings.
I found out it works best with 1m, 5m, 15m and weighting=1 for forex scalping in 1m.
Use other indicators for confluence.
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
fuzzyTrendScore := (strength_SB * STRONG_BULL +
strength_WB * WEAK_BULL +
strength_N * NEUTRAL +
strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
HEMA Trend Levels [AlgoAlpha]OVERVIEW
This script plots two Hull-EMA (HEMA) curves to define a color-coded dynamic trend zone and generate context-aware breakout levels, allowing traders to easily visualize prevailing momentum and identify high-probability breakout retests. The script blends smoothed price tracking with conditional box plotting, delivering both trend-following and mean-reversion signals within one system. It is designed to be simple to read visually while offering nuanced trend shifts and test confirmations.
█ CONCEPTS
The Hull-EMA (HEMA) is a hybrid moving average combining the responsiveness of short EMAs with the smoothness of longer ones. It applies layered smoothing: first by subtracting a full EMA from a half-length EMA (doubling the short EMA's weight), and then by smoothing the result again with the square root of the original length. This process reduces lag while maintaining clarity in direction changes. In this script, two HEMAs—fast and slow—are used to define the trend structure and trigger events when they cross. These crossovers generate "trend shift boxes"—temporary support or resistance zones drawn immediately after trend transitions—to detect price retests in the new direction. When price cleanly retests these levels, the script marks them as confirmations with triangle symbols, helping traders isolate better continuation setups. Color-coded bars further enhance visual interpretation: bullish bars when price is above both HEMAs, bearish when below, and neutral (gray) when indecisive.
█ FEATURES
Bullish and bearish bar coloring based on price and HEMA alignment.
Box plotting at each crossover (bullish or bearish) to create short-term decision zones.
Real-time test detection: price must cleanly test and bounce from box levels to be considered valid.
Multiple alert conditions: crossover alerts, test alerts, and trend continuation alerts.
█ USAGE
Use this indicator on any time frame and asset. Adjust HEMA lengths to match your trading style—shorter lengths for scalping or intraday, longer for swing trading. The shaded area between HEMAs helps visually define the current trend. Watch for crossovers: a bullish crossover plots a green support box just below price, and a bearish one plots a red resistance box just above. These zones act as short-term decision points. When price returns to test a box and confirms with strong rejection (e.g., closes above for bullish or below for bearish), a triangle symbol is plotted. These tests can signal strong trend continuation. For traders looking for clean entries, combining the crossover with a successful retest improves reliability. Alerts can be enabled for all key signals: trend shift, test confirmations, and continuation conditions, making it suitable for automated setups or discretionary traders tracking multiple charts.
Forexsom MA Crossover SignalsA Trend-Following Trading Indicator for TradingView
Overview
This indicator plots two moving averages (MA) on your chart and generates visual signals when they cross, helping traders identify potential trend reversals. It is designed to be simple yet effective for both beginners and experienced traders.
Key Features
✅ Dual Moving Averages – Plots a Fast MA (default: 9-period) and a Slow MA (default: 21-period)
✅ Customizable MA Types – Choose between EMA (Exponential Moving Average) or SMA (Simple Moving Average)
✅ Clear Buy/Sell Signals – Displays "BUY" (green label) when the Fast MA crosses above the Slow MA and "SELL" (red label) when it crosses below
✅ Alerts – Get notified when new signals appear (compatible with TradingView alerts)
✅ Clean Visuals – Easy-to-read moving averages with adjustable colors
How It Works
Bullish Signal (BUY) → Fast MA crosses above Slow MA (suggests uptrend)
Bearish Signal (SELL) → Fast MA crosses below Slow MA (suggests downtrend)
Best Used For
✔ Trend-following strategies (swing trading, day trading)
✔ Confirming trend reversals
✔ Filtering trade entries in combination with other indicators
Customization Options
Adjust Fast & Slow MA lengths
Switch between EMA or SMA for smoother or more responsive signals
Why Use This Indicator?
Simple & Effective – No clutter, just clear signals
Works on All Timeframes – From scalping (1M, 5M) to long-term trading (4H, Daily)
Alerts for Real-Time Trading – Never miss a signal
Quantum Motion Oscillator-QMO (TechnoBlooms)Quantum Motion Oscillator (QMO) is a momentum indicator designed for traders who demand precision. Combining multi-timeframe weighted linear regression with EMA crossovers, QMO offers a dynamic view of market momentum, helping traders anticipate trend shifts with greater accuracy.
This oscillator is inspired by quantum mechanics and wave theory, where market movement is seen as a series of probabilistic waves rather than rigid structures.
The histogram is plotted in proportion to the price movement of the candlesticks.
KEY FEATURES
1. Multi-Timeframe Histogram - Integrates 1 to 5 weighted linear regression averages, reducing lag while maintaining accuracy.
2. EMA Crossover Signal - Uses a Short and Long EMA to confirm trend shifts with minimal noise.
3. Adaptive Trend Analysis - Self-adjusting mechanics make QMO effective in both ranging and trending markets.
4. Scalable for Different Trading Styles - Works seamlessly for scalping, intraday, swing and position trading.
ADVANCED PROFESSIONAL INSIGHTS
1. Wave Dynamics and Market Flow - Inspired by wave mechanics, QMO reflects the energy accumulation and dissipation in price movements.
Expanding histogram waves = Strong momentum surge
Contracting waves = Momentum weakening, potential reversal zone.
2. Liquidity and Order Flow Applications - QMO works well alongside liquidity concepts and smart money techniques:
Combine with Fair Value Gaps & Order Blocks -> Enter when QMO signals align with liquidity zones.
Avoid False Moves - If price sweeps liquidity, but QMO momentum diverges, it is a sign of potential smart money manipulation.
Highest High Line with Multi-Timeframe Supertrend and RSIOverview:
This powerful indicator combines three essential elements for traders:
Highest High Line – Tracks the highest price over a customizable lookback period across different timeframes.
Multi-Timeframe Supertrend – Displays Supertrend values and trend directions for multiple timeframes simultaneously.
Relative Strength Index (RSI) – Shows RSI values across different timeframes for momentum analysis.
Features:
✅ Customizable Highest High Line:
Selectable timeframes: Daily, Weekly, Monthly, Quarterly, Yearly
Adjustable lookback period
✅ Multi-Timeframe Supertrend:
Supports 1min, 5min, 10min, 15min, 30min, 1H, Daily, Weekly, Monthly, Quarterly, Yearly
ATR-based calculation with configurable ATR period and multiplier
Identifies bullish (green) & bearish (red) trends
✅ Multi-Timeframe RSI:
Calculates RSI for the same timeframes as Supertrend
Overbought (≥70) and Oversold (≤30) signals with color coding
✅ Comprehensive Table Display:
A clean, structured table in the bottom-right corner
Displays Supertrend direction, value, and RSI for all timeframes
Helps traders quickly assess trend and momentum alignment
How to Use:
Use the Highest High Line to identify key resistance zones.
Confirm trend direction with Multi-Timeframe Supertrend.
Check RSI values to avoid overbought/oversold conditions before entering trades.
Align multiple timeframes for stronger confirmation of trend shifts.
Ideal For:
✅ Scalpers (lower timeframes: 1m–30m)
✅ Swing Traders (higher timeframes: 1H–D)
✅ Position Traders (Weekly, Monthly, Quarterly)
💡 Tip: Look for Supertrend & RSI confluence across multiple timeframes for higher probability setups.
Dual Volume Divergence LineDual Volume Divergence Line (DVD/Line)
🔹 Overview
The Dual Volume Divergence Line (DVD/Line) is a custom Pine Script™ indicator designed to identify potential trend reversals and continuations by analyzing volume and price divergences. This script is inspired by the original concept of the Dual Volume Divergence Index (DVDI) by DonovanWall and has been modified and enhanced by keremertem. Special thanks to DonovanWall for the original concept. The indicator combines volume-based calculations with price action to generate signals for bullish and bearish divergences, both normal and hidden. Below is a detailed breakdown of its components and functionality.
🔹 Key Features of the DVD/Line Indicator
1. Dual Volume Divergence Calculation:
- The indicator calculates two primary volume-based indices: the Positive Volume Index (PVI) and the Negative Volume Index (NVI).
- PVI measures the impact of volume on price when the price increases, while NVI measures the impact when the price decreases.
- These indices are used to detect divergences between volume and price, which can signal potential reversals or continuations.
2. Customizable Inputs:
- DVD Sampling Period: Adjusts the sensitivity of the indicator by controlling the lookback period for calculating the volume-weighted moving averages (VWMA) of PVI and NVI.
- Band Width: Defines the range for calculating the upper and lower bands, which act as dynamic support and resistance levels.
- Source: Allows users to select the price source (e.g., `hlc3`, `close`, etc.) for calculations.
3. Volume-Weighted Moving Averages (VWMA):
- Instead of using traditional moving averages, the script employs VWMA to smooth the PVI and NVI signals. This ensures that the indicator is more responsive to changes in volume.
4. Upper and Lower Bands:
- The upper and lower bands are calculated using the Root Mean Square (RMS) of the highest and lowest values of the DVD line over a user-defined period. These bands help identify overbought and oversold conditions.
5. Divergence Detection:
- The script identifies four types of divergences:
- Normal Bullish Divergence: Occurs when price makes a lower low, but the DVD line makes a higher low.
- Hidden Bullish Divergence: Occurs when price makes a higher low, but the DVD line makes a lower low.
- Normal Bearish Divergence: Occurs when price makes a higher high, but the DVD line makes a lower high.
- Hidden Bearish Divergence: Occurs when price makes a lower high, but the DVD line makes a higher high.
- These divergences are visually highlighted on the chart using labels.
6. Customizable Divergence Selection:
- Users can choose between two types of divergence calculations:
- DVDI: Based on the raw divergence values.
- DVD Line: Based on the smoothed DVD line.
7. Visual Enhancements:
- The DVD line is plotted with a color-coded scheme: blue when the DVD line is above its signal line (bullish) and pink when it is below (bearish).
- The upper and lower bands are displayed as step lines, making it easier to identify key levels.
🔹 How the Indicator Works
1. Volume-Based Calculations:
- The script starts by calculating the PVI and NVI based on the selected price source and volume data.
- PVI increases when the price rises, while NVI decreases when the price falls. These indices are then smoothed using VWMA to generate signals.
2. DVD Line Calculation:
- The DVD line is derived by combining the divergences of PVI and NVI. It is further smoothed using a Weighted Moving Average (WMA) and a linear regression line for trend analysis.
3. Divergence Detection:
- The script identifies pivot points in the DVD line and compares them with price action to detect divergences.
- Normal divergences indicate potential reversals, while hidden divergences suggest trend continuations.
4. Dynamic Bands:
- The upper and lower bands are calculated using RMS, which provides a more accurate representation of volatility compared to standard deviation or fixed-width bands.
5. Labeling:
- Divergences are labeled directly on the chart with clear text and color coding:
🟢 Bullish Divergence: Green label with "Bull".
🟩 Bearish Divergence: Red label with "Bear".
🔴 Hidden Bullish Divergence: Lime label with "hid.".
🟧 Hidden Bearish Divergence: Orange label with "hid.".
🔹 Unique Aspects of This Script
1. Volume-Weighted Smoothing:
- Unlike traditional divergence indicators that rely on simple moving averages, this script uses VWMA and WMA to ensure that volume plays a significant role in signal generation.
2. Dynamic Bands with RMS:
- The use of RMS for calculating bands provides a more adaptive and accurate representation of market conditions, especially in volatile markets.
3. Flexible Divergence Selection:
- Users can choose between raw divergence values (DVDI) or smoothed values (DVD Line), allowing for greater customization based on trading style.
4. Comprehensive Divergence Detection:
- The script detects both normal and hidden divergences, providing a complete picture of potential trend reversals and continuations.
5. User-Friendly Visuals:
- The color-coded DVD line and cross-style bands make it easy to interpret the indicator at a glance.
🔹 How to Use the Indicator
1. Trend Identification:
- Use the Middle Band and its color to identify the current trend. A green line suggests bullish momentum, while a red line indicates bearish momentum. Additionally, a bullish momentum may be indicated when the DVD line crosses up, and a bearish momentum may be indicated when it crosses down the Middle Band.
2. Divergence Trading:
- Look for divergences between the DVD line and price action. Normal divergences can be used for counter-trend trades, while hidden divergences can confirm trend continuations.
3. Band Breakouts:
- Monitor the upper and lower bands for potential breakout or reversal signals. A break above the upper band may indicate overbought conditions, while a break below the lower band may suggest oversold conditions.
4. Customization:
- Adjust the sampling period and band width to suit different timeframes and trading strategies. Shorter periods are more sensitive, while longer periods provide smoother signals.
🔹 Conclusion
The Dual Volume Divergence Line (DVD/Line) is a powerful and versatile indicator that combines volume analysis with price action to generate actionable trading signals. Its unique use of volume-weighted smoothing, dynamic bands, and comprehensive divergence detection sets it apart from traditional divergence indicators. Whether you're a day trader or a long-term investor, this tool can help you identify high-probability trading opportunities with greater accuracy and confidence.
📌 Disclaimer: This script is for educational purposes only and does not constitute financial advice. Always conduct your own analysis before making trading decisions.
Session Profile AnalyzerWhat’s This Thing Do?
Hey there, trader! Meet the Session Profile Analyzer (SPA) your new go-to pal for breaking down market action within your favorite trading sessions. It’s an overlay indicator that mixes Rotation Factor (RF), Average Subperiod Range (ASPR), Volume Value Area Range (VOLVAR), and TPO Value Area Range (TPOVAR) into one tidy little toolkit. Think of it as your market vibe checker momentum, volatility, and key levels, all served up with a grin.
The Cool Stuff It Does:
Rotation Factor (RF) : Keeps tabs on whether the market’s feeling bullish, bearish, or just chilling. It’s like a mood ring for price action shows “UP ↑,” “DOWN ↓,” or “NONE ↔.”
ASPR : Averages out the range of your chosen blocks. Big swings? Tiny wiggles? This tells you the session’s energy level.
VOLVAR : Dives into volume to find where the action’s at, with a smart twist it adjusts price levels based on the session’s size and tiny timeframe moves (capped at 128 so your chart doesn’t cry).
TPOVAR : Grabs lower timeframe data to spot where price hung out the most, TPO-style. Value zones, anyone?
Dynamic Precision : No ugly decimal overload SPA matches your asset’s style (2 decimals for BTC, 5 for TRX, you get it).
How to Play With It:
Session Start/End : Pick your trading window (say, 0930-2200) and a timezone (America/New_York, or wherever you’re at).
Block Size : Set the chunk size for RF and ASPR like 30M if you’re into half-hour vibes.
Value Area Timeframe : Go micro with something like 1S for VOLVAR and TPOVAR precision.
Label : Size it (small to huge), color it (white, neon pink, whatever), and slap it where you want (start, mid, end).
How It All Works (No PhD Required):
RF : Imagine breaking your session into blocks (via Block Size). For each block, SPA checks if the high beats the last high (+1) or not (0), and if the low dips below the last low (-1) or not (0). Add those up, and boom positive RF means upward vibes, negative means downward, near zero is “meh.” Use it to catch trends or spot when the market’s napping.
ASPR : Takes those same blocks, measures high-to-low range each time, and averages them. It’s your volatility pulse big ASPR = wild ride, small ASPR = snooze fest. Great for sizing up session action.
VOLVAR : Here’s the fun part. It takes the session’s full range (high minus low), divides it by the average range of your tiny Value Area Timeframe bars (e.g., 1S), and picks a sensible number of price levels capped at 128 so it doesn’t overthink. Then it bins volume into those levels, finds the busiest price (POC), and grows a 70% value area around it. Perfect for spotting where the big players parked their cash.
TPOVAR : Grabs midpoints from those tiny timeframe bars, sorts them, and snips off the top and bottom 15% to find the 70% “value zone” where price chilled the most. Think of it as the market’s comfort zone great for support/resistance hunting.
Why You’ll Like It:
Whether you’re scalping crypto, swinging forex, or dissecting stocks, SPA’s got your back. Use RF to catch momentum shifts like jumping on an “UP ↑” trend or fading a “DOWN ↓” exhaustion. ASPR’s your secret weapon for sizing up trades: a big ASPR (say, 100 on BTC) means you can aim for juicy targets (like 1-2x ASPR) or set invalidations tight when it’s tiny (e.g., 0.001 on TRX) to dodge chop. VOLVAR and TPOVAR are your level-finders nail those key zones where price loves to bounce or break, perfect for entries, stops, or profit grabs. It’s like having a trading co-pilot who’s chill but knows their stuff.
Heads-Up:
Load enough history for those micro timeframes to shine (1S needs some bars to work with).
Keeps things light won’t bog down your chart even with decent-sized sessions.
Let’s Roll:
Slap SPA on your chart, tweak it to your style, and watch it spill the beans on your session. Happy trading, fam may your pips be plenty and your losses few!
Elastic Volume-Weighted Student-T TensionOverview
The Elastic Volume-Weighted Student-T Tension Bands indicator dynamically adapts to market conditions using an advanced statistical model based on the Student-T distribution. Unlike traditional Bollinger Bands or Keltner Channels, this indicator leverages elastic volume-weighted averaging to compute real-time dispersion and location parameters, making it highly responsive to volatility changes while maintaining robustness against price fluctuations.
This methodology is inspired by incremental calculation techniques for weighted mean and variance, as outlined in the paper by Tony Finch:
📄 "Incremental Calculation of Weighted Mean and Variance" .
Key Features
✅ Adaptive Volatility Estimation – Uses an exponentially weighted Student-T model to dynamically adjust band width.
✅ Volume-Weighted Mean & Dispersion – Incorporates real-time volume weighting, ensuring a more accurate representation of market sentiment.
✅ High-Timeframe Volume Normalization – Provides an option to smooth volume impact by referencing a higher timeframe’s cumulative volume, reducing noise from high-variability bars.
✅ Customizable Tension Parameters – Configurable standard deviation multipliers (σ) allow for fine-tuned volatility sensitivity.
✅ %B-Like Oscillator for Relative Price Positioning – The main indicator is in form of a dedicated oscillator pane that normalizes price position within the sigma ranges, helping identify overbought/oversold conditions and potential momentum shifts.
✅ Robust Statistical Foundation – Utilizes kurtosis-based degree-of-freedom estimation, enhancing responsiveness across different market conditions.
How It Works
Volume-Weighted Elastic Mean (eμ) – Computes a dynamic mean price using an elastic weighted moving average approach, influenced by trade volume, if not volume detected in series, study takes true range as replacement.
Dispersion (eσ) via Student-T Distribution – Instead of assuming a fixed normal distribution, the bands adapt to heavy-tailed distributions using kurtosis-driven degrees of freedom.
Incremental Calculation of Variance – The indicator applies Tony Finch’s incremental method for computing weighted variance instead of arithmetic sum's of fixed bar window or arrays, improving efficiency and numerical stability.
Tension Calculation – There are 2 dispersion custom "zones" that are computed based on the weighted mean and dynamically adjusted standard student-t deviation.
%B-Like Oscillator Calculation – The oscillator normalizes the price within the band structure, with values between 0 and 1:
* 0.00 → Price is at the lower band (-2σ).
* 0.50 → Price is at the volume-weighted mean (eμ).
* 1.00 → Price is at the upper band (+2σ).
* Readings above 1.00 or below 0.00 suggest extreme movements or possible breakouts.
Recommended Usage
For scalping in lower timeframes, it is recommended to use the fixed α Decay Factor, it is in raw format for better control, but you can easily make a like of transformation to N-bar size window like in EMA-1 bar dividing 2 / decayFactor or like an RMA dividing 1 / decayFactor.
The HTF selector catch quite well Higher Time Frame analysis, for example using a Daily chart and using as HTF the 200-day timeframe, weekly or monthly.
Suitable for trend confirmation, breakout detection, and mean reversion plays.
The %B-like oscillator helps gauge momentum strength and detect divergences in price action if user prefer a clean chart without bands, this thanks to pineScript v6 force overlay feature.
Ideal for markets with volume-driven momentum shifts (e.g., futures, forex, crypto).
Customization Parameters
Fixed α Decay Factor – Controls the rate of volume weighting influence for an approximation EWMA approach instead of using sum of series or arrays, making the code lightweight & computing fast O(1).
HTF Volume Smoothing – Instead of a fixed denominator for computing α , a volume sum of the last 2 higher timeframe closed candles are used as denominator for our α weight factor. This is useful to review mayor trends like in daily, weekly, monthly.
Tension Multipliers (±σ) – Adjusts sensitivity to dispersion sigma parameter (volatility).
Oscillator Zone Fills – Visual cues for price positioning within the cloud range.
Posible Interpretations
As market within indicators relay on each individual edge, this are just some key ideas to glimpse how the indicator could be interpreted by the user:
📌 Price inside bands – Market is considered somehow "stable"; price is like resting from tension or "charging batteries" for volume spike moves.
📌 Price breaking outer bands – Potential breakout or extreme movement; watch for reversals or continuation from strong moves. Market is already in tension or generating it.
📌 Narrowing Bands – Decreasing volatility; expect contraction before expansion.
📌 Widening Bands – Increased volatility; prepare for high probability pull-back moves, specially to the center location of the bands (the mean) or the other side of them.
📌 Oscillator is just the interpretation of the price normalized across the Student-T distribution fitting "curve" using the location parameter, our Elastic Volume weighted mean (eμ) fixed at 0.5 value.
Final Thoughts
The Elastic Volume-Weighted Student-T Tension indicator provides a powerful, volume-sensitive alternative to traditional volatility bands. By integrating real-time volume analysis with an adaptive statistical model, incremental variance computation, in a relative price oscillator that can be overlayed in the chart as bands, it offers traders an edge in identifying momentum shifts, trend strength, and breakout potential. Think of the distribution as a relative "tension" rubber band in which price never leave so far alone.
DISCLAIMER:
The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.
The following indicator was made for NON LUCRATIVE ACTIVITIES and must remain as is, following TradingView's regulations. Use of indicator and their code are published for work and knowledge sharing. All access granted over it, their use, copy or re-use should mention authorship(s) and origin(s).
WARNING NOTICE!
THE INCLUDED FUNCTION MUST BE CONSIDERED FOR TESTING. The models included in the indicator have been taken from open sources on the web and some of them has been modified by the author, problems could occur at diverse data sceneries, compiler version, or any other externality.
Support and Resistance LevelsSupport and Resistance Levels with Breaks – Amin & Taufik
The Support and Resistance Levels with Breaks indicator is designed to automatically detect support and resistance levels based on pivots (high and low points within a given period). It also highlights breakouts of these levels, confirmed by increased volume for additional validation.
Key Features:
✅ Automatic Support & Resistance Detection
Uses pivothigh and pivotlow to identify key support and resistance levels.
Red lines indicate resistance, while blue lines represent support.
✅ Breakout Confirmation with Volume
The indicator generates breakout signals when price breaks support or resistance with high volume.
A downside breakout is marked with a red "B" label above the candlestick.
An upside breakout is marked with a green "B" label below the candlestick.
✅ Bullish & Bearish Wick Detection (Rejections)
Additional signals for long wicks (candlestick shadows) indicating possible price reversals.
Bullish Wick (rejection at support) is marked with a green label.
Bearish Wick (rejection at resistance) is marked with a red label.
✅ Automatic Breakout Alerts
The indicator can send automatic notifications when support or resistance is broken with high volume.
How to Use:
1️⃣ Adjust the Left Bars and Right Bars parameters to fine-tune pivot sensitivity for detecting support & resistance.
2️⃣ Enable the Show Breaks option to see breakout confirmations with high volume.
3️⃣ Use this indicator alongside price action analysis and other indicators to confirm trade decisions.
🚀 Ideal for:
✔️ Scalping & Intraday Trading
✔️ Swing Trading & Trend Following
✔️ Breakout & Retest Confirmation
ℹ️ Note:
This indicator does not provide direct buy or sell signals. It is recommended to use it alongside other technical analysis tools, such as candlestick patterns, moving averages, and RSI, for more accurate decision-making.
📌 Developed by: Amin & Taufik
🔗 License: Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)
💬 If you find this indicator useful, don’t forget to like and comment on TradingView! 🚀
ADX + DMI (HMA Version)📝 Description (What This Indicator Does)
🚀 ADX + DMI (HMA Version) is a trend strength oscillator that enhances the traditional ADX by using the Hull Moving Average (HMA) instead of EMA.
✅ This results in a much faster and more responsive trend detection while filtering out choppy price action.
🎯 What This Indicator Does:
1️⃣ Measures Trend Strength – ADX shows when a trend is strong or weak.
2️⃣ Identifies Trend Direction – DI+ (Green) shows bullish momentum, DI- (Red) shows bearish momentum.
3️⃣ Uses Hull Moving Average (HMA) for Faster Signals – Removes lag and reacts faster to trend changes.
4️⃣ Reduces False Signals – Traditional ADX lags behind, but this version reacts quickly to reversals.
5️⃣ Good for Scalping & Day Trading – Especially for BTC 5-min and lower timeframes.
⚙ Indicator Inputs (Customization)
Input Name Example Value Purpose
ADX Length 14 Defines the smoothing for the ADX value.
DI Length 14 Defines how DI+ and DI- are calculated.
HMA Length 24 Hull Moving Average smoothing for ADX & DI+.
Trend Threshold 25 The level above which ADX confirms a strong trend.
📌 You can adjust these settings to optimize for different assets and timeframes.
🎯 Trading Rules & How to Use It
✅ How to Identify a Strong Trend:
When ADX (Blue Line) is above 25→ A strong trend is in play.
When ADX is below 25 → The market is choppy or ranging.
✅ How to Use DI+ and DI- for Trend Direction:
If DI+ (Green) is above DI- (Red), the market is in an uptrend.
If DI- (Red) is above DI+ (Green), the market is in a downtrend.
✅ How to Confirm Entries & Exits:
1️⃣ Enter Long when DI+ crosses above DI- while ADX is rising above 25.
2️⃣ Enter Short when DI- crosses above DI+ while ADX is rising above 25.
3️⃣ Avoid trading when ADX is below 25 – the market is in a choppy range.
This should not be used as a stand alone oscillator. Trading takes skill and is risky. Use at your own risk.
This is not advise on how to trade, these are just examples of how I use the oscillator. Trade at your own risk.
You can put this on your chart versus the tradingview adx and you can adjust the settings to see the difference. This was optimized for btc on the 5 min chart. You can adjust for your trading strategy.
Fair Value Gap Finder [Find Better Trades]Fair Value Gap Finder (FVG) – Spot Institutional Imbalances
📈 Identify Key Market Imbalances
The Fair Value Gap Finder automatically detects price inefficiencies where aggressive buying or selling has created an imbalance in liquidity. These gaps, often left by institutional traders, can serve as key areas for price to revisit before continuing its trend.
🔍 How It Works:
Highlights bullish Fair Value Gaps (FVGs) in green, signaling potential support zones.
Highlights bearish Fair Value Gaps (FVGs) in red, signaling potential resistance zones.
Uses ATR-based filtering to eliminate small, insignificant gaps, focusing only on high-probability setups.
Alerts included! Get notified when a valid Fair Value Gap is detected.
📊 How to Trade Using FVGs:
✅ For Buy Trades: Wait for price to return to a bullish FVG and confirm support before entering long.
✅ For Sell Trades: Wait for price to revisit a bearish FVG and confirm resistance before entering short.
✅ Use with candlestick patterns, trend analysis, or volume for additional confirmation.
⚙️ Customizable Settings:
Adjust the ATR Multiplier to control how large a gap must be before triggering a signal.
Enable alerts to stay informed in real time when new FVGs appear.
💡 Why Use This Indicator?
Fair Value Gaps are widely used by professional traders to spot areas of liquidity, making them valuable for scalping, swing trading, and institutional-style trading.
🚀 Add it to your TradingView chart and start trading with precision!
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
ROC + SMI Auto Adjust
This indicator combines the Rate of Change (ROC) and the Stochastic Momentum Index (SMI) with automatically adjusted parameters for different time frames (short, medium, long). It normalizes the ROC to match the SMI levels, displays the ROC as a histogram and the SMI as lines, highlights overbought/oversold zones and includes a settings table. Ideal for analyzing momentum on different time frames.
Key Features:
Automatic Parameter Adjustment:
The script detects the current chart time frame (e.g. 1-minute, 1-hour, daily) and adjusts the parameters for the ROC and SMI accordingly.
Parameters such as ROC length, SMI length and smoothing periods are optimized for short, medium and long term time frames.
Rate of Change (ROC):
ROC measures the percentage change in price over a specified period.
The script normalizes the ROC values to match the SMI range, making it easier to compare the two indicators on the same scale.
The ROC is displayed as a histogram, where positive values are colored green and negative values are colored red.
Stochastic Momentum Index (SMI):
SMI is a momentum oscillator that identifies overbought and oversold conditions.
The script calculates the SMI and its signal line, plotting them on the chart.
Overbought and oversold levels are displayed as dotted lines for convenience.
SMI and SMI Signal Crossover:
When the main SMI crosses the signal line from below upwards, it may be a buy signal (bullish signal).
When the SMI crosses the signal line from above downwards, it may be a sell signal (bearish signal).
Configurable Inputs:
Users can use the automatically adjusted settings or manually override the parameters (e.g. ROC length, SMI length, smoothing periods).
Overbought and oversold levels for SMI are also configurable.
Parameter Table:
A table is displayed on the chart showing the current parameters (e.g. timeframe, ROC length, SMI length) for transparency and debugging.
The position of the table is configurable (e.g. top left, bottom right).
How it works:
The script first detects the chart timeframe and classifies it as short-term (e.g. 1M, 5M), medium-term (e.g. 1H, 4H) or long-term (e.g. D1, W1).
Based on the timeframe, it sets default values for the ROC and SMI parameters.
ROC and SMI are calculated and normalized so that they can be compared on the same scale.
ROC is displayed as a histogram, while SMI and its signal line are displayed as lines.
Overbought and oversold levels are displayed as horizontal lines.
Use cases:
Trend identification: ROC helps to identify the strength of the trend, while SMI indicates overbought/oversold conditions.
Momentum analysis: The combination of ROC and SMI provides insight into both price momentum and potential reversals.
Time frame flexibility: The auto-adjustment feature makes the script suitable for scalping (short-term), swing trading (medium-term) and long-term investing.
Support & Resistance + EMA + Swing SL (3 Min)### **📌 Brief Description of the Script**
This **Pine Script indicator** for TradingView displays **Support & Resistance levels, EMAs (21 & 26), and Swing High/Low-based Stop-Loss (SL) points** on a **3-minute timeframe**.
---
### **🔹 Key Features & Functionality**
1️⃣ **🟥 Support & Resistance Calculation:**
- Finds the **highest & lowest price over the last 50 candles**
- Plots **Resistance (Red) & Support (Green) levels**
2️⃣ **📈 EMA (Exponential Moving Averages):**
- **21 EMA (Blue)** and **26 EMA (Orange)** for trend direction
- Helps in identifying bullish or bearish momentum
3️⃣ **📊 Swing High & Swing Low Detection:**
- Identifies **Swing Highs (Higher than last 5 candles) as SL for Short trades**
- Identifies **Swing Lows (Lower than last 5 candles) as SL for Long trades**
- Plots these levels as **Purple (Swing High SL) & Yellow (Swing Low SL) dotted lines**
4️⃣ **📌 Labels on Swing Points:**
- **"HH SL"** is placed on Swing Highs
- **"LL SL"** is placed on Swing Lows
5️⃣ **⚡ Breakout Detection:**
- Detects if **price crosses above Resistance** (Bullish Breakout)
- Detects if **price crosses below Support** (Bearish Breakout)
- Background color changes to **Green (Bullish)** or **Red (Bearish)**
6️⃣ **🚨 Alerts for Breakouts:**
- Sends alerts when **price breaks above Resistance or below Support**
---
### **🎯 How to Use This Indicator?**
- **Trade with Trend:** Follow **EMA crossovers** and Support/Resistance levels
- **Set Stop-Loss:** Use **Swing High as SL for Shorts** & **Swing Low as SL for Longs**
- **Look for Breakouts:** Enter trades when price **crosses Resistance or Support**
This script is **ideal for scalping & intraday trading** in a **3-minute timeframe** 🚀🔥
Let me know if you need **any modifications or improvements!** 📊💹
Enhanced HHLL Time Confirmation with EMAStrong recommendation , remove the green and red circle , or leave it how it is ;)
To be used on 1 minute chart MSTR , Stock
other time frames are good , ;)
How to Use
HHLL Signals: Look for green triangles (buy) below bars or red triangles (sell) above bars to identify confirmed HH/LL setups with trend alignment.
EMA Signals: Watch for lime circles (buy) below bars or maroon circles (sell) above bars when price crosses the EMA 400 in a trending market.
Trend Context: Use the EMA 400 as a dynamic support/resistance level and the SMA trend filter to gauge market direction.
Enable alerts to get notified of signals in real-time.
Best Practices
Adjust the Lookback Period and Confirmation Minutes to suit your timeframe (e.g., shorter for scalping, longer for swing trading).
Combine with other indicators (e.g., volume, RSI) for additional confirmation.
Test on your preferred market and timeframe to optimize settings.
Indicator Description: Enhanced HHLL Time Confirmation with EMA
Overview
The "Enhanced HHLL Time Confirmation with EMA" is a versatile trading indicator designed to identify key reversal and continuation signals based on Higher Highs (HH), Lower Lows (LL), and a 400-period Exponential Moving Average (EMA). It incorporates time-based confirmation and trend filters to reduce noise and improve signal reliability. This indicator is ideal for traders looking to spot trend shifts or confirm momentum with a combination of price structure and moving average crossovers.
Key Features
Higher High / Lower Low Detection:
Identifies HH and LL based on a customizable lookback period (default: 30 bars).
Signals are confirmed only after a user-defined time period (in minutes, default: 60) has passed since the last HH or LL, ensuring stability.
Trend Filter:
Uses a fast (10-period) and slow (30-period) Simple Moving Average (SMA) crossover to confirm bullish or bearish trends.
Buy signals require a bullish trend (Fast SMA > Slow SMA), and sell signals require a bearish trend (Fast SMA < Slow SMA).
EMA 400 Integration:
Plots a 400-period EMA (customizable) as a long-term trend reference.
Generates additional buy/sell signals when price crosses above (buy) or below (sell) the EMA 400, filtered by trend direction.
Visualizations:
Optional dashed lines for HH and LL levels (toggleable).
Debug markers (diamonds) to visualize HH/LL detection points.
Distinct signal shapes: triangles for HHLL signals (green/red) and circles for EMA signals (lime/maroon).
Alerts:
Built-in alert conditions for HHLL Buy/Sell and EMA Buy/Sell signals, making it easy to stay informed of key events.
Input Parameters
Lookback Period (default: 30): Number of bars to look back for HH/LL detection.
Confirmation Minutes (default: 60): Time (in minutes) required to confirm HH/LL signals.
High/Low Source: Select the price source for HH (default: high) and LL (default: low).
Show HH/LL Lines (default: true): Toggle visibility of HH/LL dashed lines.
Show Debug Markers (default: true): Toggle HH/LL detection markers.
EMA Period (default: 400): Adjust the EMA length.
Ultimate Trend Strength Meter Using TechnoBloom’s IndicatorsOverview
The Ultimate Trend Strength Meter Using TechnoBloom’s Indicators is a powerful trend analysis tool developed using TechnoBloom’s proprietary indicators. This indicator helps traders assess trend strength, momentum, and potential reversals by combining three essential market factors:
• Market Participation Ratio (MPR) – Measures trader engagement and volume strength.
• Volume Weighted Moving Average (VWMO) – Confirms momentum and trend direction.
• Fibonacci-Based Support & Resistance – Identifies key reversal zones and breakout points.
⸻
Key Features:
✅ Color-Coded Trend Strength Meter:
• 🟢 Green – Strong Trend (High Confidence): High participation, strong momentum, and no major resistance.
• 🟡 Yellow – Weak Trend (Caution): Moderate participation, possible resistance ahead, and trend uncertainty.
• 🔴 Red – Reversal Risk / No Trend: Low market engagement, momentum uncertainty, and proximity to major Fibonacci levels.
✅ Eliminates False Signals & Weak Trends:
• Prevents choppy market entries by ensuring high-volume confirmation.
• Ideal for filtering fake breakouts and exhaustion phases.
✅ Works for All Trading Styles & Markets:
• Scalping (1m-5m), Day Trading (15m-1H), and Swing Trading (4H-Daily).
• Suitable for Forex, Stocks, Crypto, Indices, and Commodities (XAUUSD, US30, BTCUSD, etc.).
✅ Customizable for Any Strategy:
• Adjustable MPR thresholds, VWMO smoothing, and Fibonacci sensitivity.
• Built-in alerts notify traders when trend conditions change.
⸻
How to Use It:
1️⃣ Enter trades when the meter turns Green (Strong Trend) and aligns with your strategy.
2️⃣ Avoid or exit trades when it turns Red (Reversal Risk) to prevent unnecessary losses.
3️⃣ Use Yellow as a caution zone – wait for confirmation before making a move.
4️⃣ Combine with breakout strategies or support/resistance setups for high-probability entries.
⸻
About TechnoBlooms
TechnoBlooms is committed to developing high-precision trading indicators that enhance decision-making for traders across all markets. This tool is a result of our in-depth market research and algorithmic advancements to provide traders with an edge.
🚀 Upgrade your trading with the Ultimate Trend Strength Meter – Developed by TechnoBlooms! 🚀
VSA Volume + Fibonacci (Volunacci)Overview
This indicator combines Volume Spread Analysis (VSA) with Fibonacci levels to identify key price zones based on volume behavior. It helps traders determine potential support and resistance levels influenced by volume strength.
How It Works
Volume Calculation
The indicator calculates volume levels based on the selected timeframe.
It identifies high volume spikes and low volume dips, which are critical for detecting supply and demand shifts.
It uses a simple moving average (SMA) of volume to smooth fluctuations.
Fibonacci Levels Integration
When a high-volume event is detected, the indicator records the highest high and lowest low of that candle.
It then plots Fibonacci retracement and extension levels to highlight potential price reaction zones.
Negative Fibonacci levels are included to identify possible deep retracements.
Visual Features
The indicator adapts to both light and dark themes for better visibility.
Fibonacci lines are color-coded based on key retracement and extension levels.
A table displaying key Fibonacci levels and their corresponding prices is provided for quick reference.
Why Is This Indicator Useful?
It helps traders spot accumulation and distribution phases by analyzing volume at key price points.
The combination of VSA and Fibonacci allows traders to confirm trend strength and identify potential reversal points.
Works well for trend-following strategies, scalping, and breakout trading.
How to Use This Indicator?
Use it to confirm breakouts or reversals at Fibonacci levels when volume supports the move.
Watch for high-volume spikes near key Fibonacci zones—these can signal strong trend continuation or reversal.
Use the displayed Fibonacci table to quickly assess price reaction levels.
Credits
This script was inspired by the Hidden Gap’s VSA Volume indicator by HPotter and has been enhanced by integrating Fibonacci-based analysis.