Enhanced Cycle IndicatorEnhanced Cycle Indicator Guide
DISCLAIMER
"This PineScript indicator evolved from a foundational algorithm designed to visualize cycle-based center average differentials. The original concept has been significantly enhanced and optimized through collaborative refinement with AI, resulting in improved functionality, performance, and visualization capabilities while maintaining the core mathematical principles of the original design"
Overview
The Enhanced Cycle Indicator is designed to identify market cycles with minimal lag while ensuring the cycle lows and highs correspond closely with actual price bottoms and tops. This indicator transforms price data into observable cycles that help you identify when a market is likely to change direction.
Core Principles
Cycle Detection: Identifies natural market rhythms using multiple timeframes
Dynamic Adaptation: Adjusts to changing market conditions for consistent performance
Precise Signals: Provides clear entry and exit points aligned with actual market turns
Reduced Lag: Uses advanced calculations to minimize delay in cycle identification
How To Use
1. Main Cycle Interpretation
Green Histogram Bars: Bullish cycle phase (upward momentum)
Red Histogram Bars: Bearish cycle phase (downward momentum)
Cycle Extremes: When the histogram reaches extreme values (+80/-80), the market is likely approaching a turning point
Zero Line: Crossovers often indicate a shift in the underlying market direction
2. Trading Signals
Green Triangle Up (bottom of chart): Strong bullish signal - ideal for entries or covering shorts
Red Triangle Down (top of chart): Strong bearish signal - ideal for exits or short entries
Diamond Shapes: Indicate divergence between price and cycle - early warning of potential reversals
Small Circles: Minor cycle turning points - useful for fine-tuning entries/exits
3. Optimal Signal Conditions
Bullish Signals Work Best When:
The cycle is deeply oversold (below -60)
RSI is below 40 or turning up
Price is near a significant low
Multiple confirmation bars have occurred
Bearish Signals Work Best When:
The cycle is heavily overbought (above +60)
RSI is above 60 or turning down
Price is near a significant high
Multiple confirmation bars have occurred
4. Parameter Adjustments
For Shorter Timeframes: Reduce cycle periods and smoothing factor for faster response
For Daily/Weekly Charts: Increase cycle periods and smoothing for smoother signals
For Volatile Markets: Reduce cycle responsiveness to filter noise
For Trending Markets: Increase signal confirmation requirement to avoid false signals
Recommended Settings
Default (All-Purpose)
Main Cycle: 50
Half Cycle: 25
Quarter Cycle: 12
Smoothing Factor: 0.5
RSI Filter: Enabled
Signal Confirmation: 2 bars
Faster Response (Day Trading)
Main Cycle: 30
Half Cycle: 15
Quarter Cycle: 8
Smoothing Factor: 0.3
Cycle Responsiveness: 1.2
Signal Confirmation: 1 bar
Smoother Signals (Swing Trading)
Main Cycle: 80
Half Cycle: 40
Quarter Cycle: 20
Smoothing Factor: 0.7
Cycle Responsiveness: 0.8
Signal Confirmation: 3 bars
Advanced Features
Adaptive Period
When enabled, the indicator automatically adjusts cycle periods based on recent price volatility. This is particularly useful in markets that alternate between trending and ranging behaviors.
Momentum Filter
Enhances cycle signals by incorporating price momentum, making signals more responsive during strong trends and less prone to whipsaws during consolidations.
RSI Filter
Adds an additional confirmation layer using RSI, helping to filter out lower-quality signals and improve overall accuracy.
Divergence Detection
Identifies situations where price makes a new high/low but the cycle doesn't confirm, often preceding significant market reversals.
Best Practices
Use the indicator in conjunction with support/resistance levels
Look for signal clusters across multiple timeframes
Reduce position size when signals appear far from cycle extremes
Pay special attention to signals that coincide with divergences
Customize cycle periods to match the natural rhythm of your traded instrument
Troubleshooting
Too Many Signals: Increase signal confirmation bars or reduce cycle responsiveness
Missing Major Turns: Decrease smoothing factor or increase cycle responsiveness
Signals Too Late: Decrease cycle periods and smoothing factor
False Signals: Enable RSI filter and increase signal confirmation requirement
Komut dosyalarını "Divergence" için ara
CVD Divergenz System – modular with Exchange + LabelsA smart volume-based strategy tool using CVD divergence, ATR-based risk management, and Open Interest filters — now with visual chart labels and exchange switching.
Designed for crypto traders who want precise entry signals, volume insight, and a clean UI.
🔍 Key Features:
✅ CVD Divergence Detection
Automatically detects bullish or bearish divergences between price and cumulative delta (CVD)
✅ Open Interest Logic (Simulated)
Signals are only valid when OI is rising – otherwise a warning is issued
✅ ATR-Based Entry, Stop & Target Zones
Auto-calculated based on your chosen R multiple (e.g., 1.5R), plotted in the chart
✅ Visual Dashboard Panel (table)
Compact panel with CVD, OI change, ATR, signal status, and selected exchange — always visible in top-right
✅ Exchange Selector + Fallback to Binance
Choose between Binance, Bybit, Bitget, or Coinbase — if data is unavailable, Binance is used automatically
✅ Modular Chart Labels
Optionally display 📈 LONG, 📉 SHORT or ⚠️ WARNING labels directly on the chart with a toggle
✅ Alerts Built-In
Get notified instantly when a setup triggers (long, short, or warning) — works with app, popup, or webhook
✅ Fully Modular Controls
Enable or disable the dashboard, trade zones, and labels via simple checkboxes
⚠️ Technical Notes:
CVD is calculated from delta volume (volume * sign(close - open)) — not true order flow
Open Interest is simulated using volume as a placeholder (due to Pine Script limitations)
Best suited for 5–30min timeframes on crypto futures pairs like BTCUSDT, ETHUSDT, etc.
💡 Pro Tips:
Use near key support/resistance zones or liquidity levels
Combine with price action and higher timeframe confluence
Alerts work best with "Once Per Bar Close" trigger setting
📈 Built to support faster decisions, cleaner setups, and institutional-level insights — all in one tool.
[blackcat] L3 Dark Horse OscillatorOVERVIEW
The L3 Dark Horse Oscillator is a sophisticated technical indicator meticulously crafted to offer traders deep insights into market momentum. By leveraging advanced calculations involving Relative Strength Value (RSV) and proprietary oscillatory techniques, this script provides clear and actionable signals for identifying potential buying and selling opportunities. Its distinctive feature—a vibrant gradient color scheme—enhances readability and makes it easier to visualize trends and reversals on the chart 📈↗️.
FEATURES
Advanced Calculation Methods: Utilizes complex algorithms to compute the Relative Strength Value (RSV) over specific periods, providing a nuanced view of price movements.
Default Period: 27 bars for initial RSV calculation.
Additional Period: 36 bars for extended RSV analysis.
Dual-Oscillator Components:
Component A: Derived using multiple layers of Simple Moving Averages (SMAs) applied to the RSV, offering a smoothed representation of short-term momentum.
Component B: Employs a unique averaging method tailored to capture medium-term trends effectively.
Dynamic Gradient Color Scheme: Enhances visualization through a spectrum of colors that change dynamically based on the calculated values, making trend identification intuitive and engaging 🌈.
Customizable Horizontal Reference Lines: Key levels are marked at 0, 10, 50, and 90 to serve as benchmarks for assessing the oscillator's readings, helping traders make informed decisions quickly.
Comprehensive Visual Representation: Combines the strengths of both components into a single, gradient-colored candlestick plot, providing a holistic view of market sentiment and momentum shifts 📊.
HOW TO USE
Adding the Indicator: Start by adding the L3 Dark Horse Oscillator to your TradingView chart via the indicators menu. This will overlay the necessary plots directly onto your price chart.
Interpreting the Components: Familiarize yourself with the two primary components represented by yellow and fuchsia lines. These lines indicate the underlying momentum derived from the RSV calculations.
Monitoring Momentum Shifts: Pay close attention to the gradient-colored candlesticks, which reflect the combined strength of both components. Notice how these candles transition through various shades, signaling changes in market dynamics.
Utilizing Reference Levels: Leverage the horizontal lines at 0, 10, 50, and 90 as critical thresholds. For instance, values above 50 might suggest bullish conditions, while those below could hint at bearish tendencies.
Combining with Other Tools: To enhance reliability, integrate this indicator with complementary technical analyses such as moving averages, volume profiles, or other oscillators like RSI or MACD.
LIMITATIONS
Market Volatility: In extremely volatile or sideways-trending markets, the indicator might produce false signals due to erratic price movements. Always cross-reference with broader market contexts.
Testing Required: Before deploying the indicator in real-time trading, conduct thorough backtesting across diverse assets and timeframes to understand its performance characteristics fully.
Asset-Specific Performance: The efficacy of the L3 Dark Horse Oscillator can differ significantly across various financial instruments and market conditions. Tailor your strategies accordingly.
NOTES
Historical Data: Ensure ample historical data availability to facilitate precise calculations and avoid inaccuracies stemming from insufficient data points.
Parameter Adjustments: Experiment with adjusting the default periods (27 and 36 bars) if you find them unsuitable for your specific trading style or market conditions.
Visual Customization: Modify the appearance settings, including line styles and gradient colors, to better suit personal preferences without compromising functionality.
Risk Management: While the indicator offers valuable insights, always adhere to robust risk management practices to safeguard against unexpected market fluctuations.
EXAMPLE STRATEGIES
Trend Following: Use the oscillator to confirm existing trends. When Component A crosses above Component B, consider entering long positions; conversely, look for short entries during downward crossovers.
Mean Reversion: Identify extreme readings near the upper (90) or lower (10) bands where prices might revert to mean levels, presenting potential reversal opportunities.
Divergence Analysis: Compare the oscillator's behavior with price action to spot divergences, which often precede trend reversals. Bullish divergence occurs when prices make lower lows but the oscillator shows higher lows, suggesting upward momentum.
RSI and CCICombined RSI and CCI Indicator for MetaTrader
The Combined RSI and CCI Indicator is a powerful hybrid momentum oscillator designed to merge the strengths of two popular indicators—the Relative Strength Index (RSI) and the Commodity Channel Index (CCI)—into a single, visually intuitive chart window. This tool enhances traders’ ability to identify overbought and oversold conditions, divergences, trend strength, and potential reversal zones with improved precision.
Purpose
By integrating RSI and CCI, this indicator helps filter out false signals that often occur when using each tool independently. It is especially useful for swing trading, trend confirmation, and spotting high-probability entry/exit zones. This dual-oscillator approach combines RSI’s relative momentum insights with CCI’s deviation-based analysis to produce a more reliable signal structure.
Key Features
Dual Oscillator Display: Plots both RSI and CCI on the same subwindow for easy comparison and correlation analysis.
Customizable Parameters:
RSI Period and Level (default: 14)
CCI Period and Typical Price Type (default: 20, TP)
Overbought/Oversold Levels for both indicators
Color-Coded Zones:
Background highlights when both RSI and CCI enter overbought/oversold territory, signaling high potential reversal zones.
Combined Signal Logic (Optional Feature):
Buy Signal: RSI < 30 and CCI < -100
Sell Signal: RSI > 70 and CCI > 100
These can be visualized as arrows or plotted as signal markers.
Trend Filter Overlay (Optional):
Can be combined with a moving average or price action filter to confirm trend direction before accepting signals.
Divergence Detection (Advanced Option):
Optional plotting of bullish or bearish divergence where both indicators diverge from price action.
Multi-Timeframe Compatibility:
Allows the use of higher timeframe RSI/CCI values to confirm signals on lower timeframes.
Benefits
Improved Signal Accuracy: Using both RSI and CCI together helps avoid false breakouts and whipsaws.
More Informed Decision-Making: Correlating momentum (RSI) with deviation (CCI) provides a well-rounded picture of market behavior.
Efficient Charting: Saves screen space and cognitive load by combining two indicators into one clean panel.
Scalable Strategy Integration: Can be used in discretionary trading or coded into automated strategies/alerts.
Use Case Example
In a ranging market, the indicator highlights zones where both RSI and CCI are oversold, alerting traders to potential bounce opportunities.
In trending markets, it confirms trend strength when RSI and CCI are both aligned with trend direction.
When RSI is diverging from price but CCI isn’t, it can be a clue of weakening momentum, helping traders scale out or avoid traps.
This combined indicator offers a versatile, high-performance toolset for traders looking to elevate their technical analysis by leveraging multiple momentum perspectives simultaneously.
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
Dynamic Volatility Differential Model (DVDM)The Dynamic Volatility Differential Model (DVDM) is a quantitative trading strategy designed to exploit the spread between implied volatility (IV) and historical (realized) volatility (HV). This strategy identifies trading opportunities by dynamically adjusting thresholds based on the standard deviation of the volatility spread. The DVDM is versatile and applicable across various markets, including equity indices, commodities, and derivatives such as the FDAX (DAX Futures).
Key Components of the DVDM:
1. Implied Volatility (IV):
The IV is derived from options markets and reflects the market’s expectation of future price volatility. For instance, the strategy uses volatility indices such as the VIX (S&P 500), VXN (Nasdaq 100), or RVX (Russell 2000), depending on the target market. These indices serve as proxies for market sentiment and risk perception (Whaley, 2000).
2. Historical Volatility (HV):
The HV is computed from the log returns of the underlying asset’s price. It represents the actual volatility observed in the market over a defined lookback period, adjusted to annualized levels using a multiplier of \sqrt{252} for daily data (Hull, 2012).
3. Volatility Spread:
The difference between IV and HV forms the volatility spread, which is a measure of divergence between market expectations and actual market behavior.
4. Dynamic Thresholds:
Unlike static thresholds, the DVDM employs dynamic thresholds derived from the standard deviation of the volatility spread. The thresholds are scaled by a user-defined multiplier, ensuring adaptability to market conditions and volatility regimes (Christoffersen & Jacobs, 2004).
Trading Logic:
1. Long Entry:
A long position is initiated when the volatility spread exceeds the upper dynamic threshold, signaling that implied volatility is significantly higher than realized volatility. This condition suggests potential mean reversion, as markets may correct inflated risk premiums.
2. Short Entry:
A short position is initiated when the volatility spread falls below the lower dynamic threshold, indicating that implied volatility is significantly undervalued relative to realized volatility. This signals the possibility of increased market uncertainty.
3. Exit Conditions:
Positions are closed when the volatility spread crosses the zero line, signifying a normalization of the divergence.
Advantages of the DVDM:
1. Adaptability:
Dynamic thresholds allow the strategy to adjust to changing market conditions, making it suitable for both low-volatility and high-volatility environments.
2. Quantitative Precision:
The use of standard deviation-based thresholds enhances statistical reliability and reduces subjectivity in decision-making.
3. Market Versatility:
The strategy’s reliance on volatility metrics makes it universally applicable across asset classes and markets, ensuring robust performance.
Scientific Relevance:
The strategy builds on empirical research into the predictive power of implied volatility over realized volatility (Poon & Granger, 2003). By leveraging the divergence between these measures, the DVDM aligns with findings that IV often overestimates future volatility, creating opportunities for mean-reversion trades. Furthermore, the inclusion of dynamic thresholds aligns with risk management best practices by adapting to volatility clustering, a well-documented phenomenon in financial markets (Engle, 1982).
References:
1. Christoffersen, P., & Jacobs, K. (2004). The importance of the volatility risk premium for volatility forecasting. Journal of Financial and Quantitative Analysis, 39(2), 375-397.
2. Engle, R. F. (1982). Autoregressive conditional heteroskedasticity with estimates of the variance of United Kingdom inflation. Econometrica, 50(4), 987-1007.
3. Hull, J. C. (2012). Options, Futures, and Other Derivatives. Pearson Education.
4. Poon, S. H., & Granger, C. W. J. (2003). Forecasting volatility in financial markets: A review. Journal of Economic Literature, 41(2), 478-539.
5. Whaley, R. E. (2000). The investor fear gauge. Journal of Portfolio Management, 26(3), 12-17.
This strategy leverages quantitative techniques and statistical rigor to provide a systematic approach to volatility trading, making it a valuable tool for professional traders and quantitative analysts.
Jackson Volume breaker Indication# Jackson Volume Breaker Beta
### Advanced Volume Analysis Indicator
## Description
The Jackson Volume Breaker Beta is a sophisticated volume analysis tool that helps traders identify buying and selling pressure by analyzing price action and volume distribution. This indicator separates and visualizes buying and selling volume based on where the price closes within each candle's range, providing clear insights into market participation and potential trend strength.
## Key Features
1. **Smart Volume Distribution**
- Automatically separates buying and selling volume
- Color-coded volume bars (Green for buying, Red for selling)
- Winning volume always displayed on top for quick visual reference
2. **Real-time Volume Analysis**
- Shows current candle's buy/sell ratio
- Displays total volume with smart number formatting (K, M, B)
- Percentage-based volume distribution
3. **Technical Overlays**
- 20-period Volume Moving Average
- Dynamic scaling relative to price action
- Clean, uncluttered visual design
## How to Use
### Installation
1. Add the indicator to your chart
2. Adjust the Volume Scale input based on your preference (default: 0.08)
3. Toggle the Moving Average display if desired
### Reading the Indicator
#### Volume Bars
- **Green Bars**: Represent buying volume
- **Red Bars**: Represent selling volume
- **Stacking**: The larger volume (winning side) is always displayed on top
- **Height**: Relative to the actual volume, scaled for chart visibility
#### Information Table
The top-right table shows three key pieces of information:
1. **Left Percentage**: Winning side's volume percentage
2. **Middle Percentage**: Losing side's volume percentage
3. **Right Number**: Total volume (abbreviated)
### Trading Applications
1. **Trend Confirmation**
- Strong buying volume in uptrends confirms bullish pressure
- High selling volume in downtrends confirms bearish pressure
- Volume divergence from price can signal potential reversals
2. **Support/Resistance Breaks**
- High volume on breakouts suggests stronger moves
- Low volume on breaks might indicate false breakouts
- Monitor volume distribution for break direction confirmation
3. **Reversal Identification**
- Volume shift from selling to buying can signal potential bottoms
- Shift from buying to selling can indicate potential tops
- Use with price action for better entry/exit points
## Input Parameters
1. **Volume Scale (0.01 to 1.0)**
- Controls the height of volume bars
- Default: 0.08
- Adjust based on your chart size and preference
2. **Show MA (True/False)**
- Toggles 20-period volume moving average
- Useful for identifying volume trends
- Default: True
3. **MA Length (1+)**
- Changes the moving average period
- Default: 20
- Higher values for longer-term volume trends
## Best Practices
1. **Multiple Timeframe Analysis**
- Compare volume patterns across different timeframes
- Look for volume convergence/divergence
- Use higher timeframes for major trend confirmation
2. **Combine with Other Indicators**
- Price action patterns
- Support/resistance levels
- Momentum indicators
- Trend indicators
3. **Volume Pattern Recognition**
- Monitor for unusual volume spikes
- Watch for volume climax patterns
- Identify volume dry-ups
## Tips for Optimization
1. Adjust the Volume Scale based on your chart size
2. Use smaller timeframes for detailed volume analysis
3. Compare current volume bars to historical patterns
4. Watch for volume/price divergences
5. Monitor volume distribution changes near key price levels
## Note
This indicator works best when combined with proper price action analysis and risk management strategies. It should not be used as a standalone trading system but rather as part of a comprehensive trading approach.
## Version History
- Beta Release: Initial public version
- Features buy/sell volume separation, moving average, and real-time analysis
- Optimized for both intraday and swing trading timeframes
## Credits
Developed by Jackson based on other script creators
Special thanks to the trading community for feedback and suggestions
Distance between EMA 50-100/100-150This script calculates and plots the percentage difference between the 50-period, 100-period, and 150-period Exponential Moving Averages (EMA) on a TradingView chart. The aim is to provide a clear visual representation of the market's momentum by analyzing the distance between key EMAs over time.
Key features of this script:
1. EMA Calculation : The script computes the EMA values for 50, 100, and 150 periods and calculates the percentage difference between EMA 50 and 100, and between EMA 100 and 150.
2. Custom Threshold : Users can adjust a threshold percentage to highlight significant divergences between the EMAs. A default threshold is set to 0.1%.
3. Visual Alerts : When the percentage difference exceeds the threshold, a visual marker appears on the chart:
Green Circles for bullish momentum (positive divergence),
Red Circles for bearish momentum (negative divergence),
Diamonds to indicate the first occurrence of new bullish or bearish signals, allowing users to catch fresh market trends.
4. Dynamic Plotting : The script plots two lines representing the percentage difference for each EMA pair, offering a quick and intuitive way to monitor trends.
Ideal for traders looking to gauge market direction using the relationship between multiple EMAs, this script simplifies analysis by focusing on key moving average interactions.
HTF Inversion Fair Value Gap | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Higher Timeframe Inversion Fair Value Gaps (IFVG) indicator! Inversion Fair Value Gaps occur when a Fair Value Gap becomes invalidated. They reverse the role of the original Fair Value Gap, making a bullish zone bearish and vice versa. This indicator finds the latest IFVG in a higher timeframe and renders it in the current chart with it's divergence. For more information about the process, read the "HOW DOES IT WORK" section of the description.
Features of the new Higher Timeframe IFVG Indicator :
Renders The Higher Timeframe IFVG
Invalidation Borders
Variety Of Zone Detection / Sensitivity / Filtering / Invalidation Settings
High Customizability
🚩 UNIQUENESS
This indicator lets you take a look at the bigger picture by rendering the latest IFVG in a higher timeframe. You can see the current IFVG divergence to see how is the price action acting around the IFVG. You also can customize the FVG Filtering method, FVG & IFVG Zone Invalidation, Detection Sensitivity etc. according to your needs to get the best performance from the indicator.
📌 HOW DOES IT WORK ?
A Fair Value Gap generally occur when there is an imbalance in the market. They can be detected by specific formations within the chart. An Inversion Fair Value Gap is when a FVG becomes invalidated, thus reversing the direction of the FVG.
This indicator then renders the IFVG in a higher timeframe in your chart like this :
The opaque dashed lines at the top and the bottom of the IFVG indicate the bars that formed the original FVG. The middle dashed line that is semi-transparent shows the candlestick that invalidated the original FVG, thus created the current IFVG. The vertical solid top & bottom wicks indicate the current divergence of the highest & lowest points to the current IFVG.
The IFVGs can act as strong support & resistance points, depending on their creation volume and invalidation volume. Traders can use them for confirmation signals to their positions.
⚙️ SETTINGS
1. General Configuration
Higher Timeframe -> The higher timeframe to detect latest IFVG from. Keep in mind that his setting must be higher than the current timeframe.
IFVG Zone Invalidation -> Select between Wick & Close price for IFVG Zone Invalidation.
2. Fair Value Gaps
FVG Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivities resulting in spotting bigger FVGs, and higher sensitivities resulting in spotting all sizes of FVGs.
3. Dasboard
You can enable / disable the mitigation dashboard and customize it here.
4. Customization
Offset -> The number of candlesticks the IFVG will be rendered to the right of the latest bar.
Width -> The width of the rendered IFVG in candlesticks.
Super RSI: Multi-Timeframe, Multi-RSI-MA, Multi Symbol [DucTri]█ Overview
RSI is a very popular indicator that almost every trader knows about. I created this indicator with the goal of helping you use RSI more conveniently and effectively.
█ Uses
Monitor the RSI of 10 currency pairs simultaneously.
The first column shows the RSI of the current currency pair.
RSI below 30 will have a Red background, and above 70 will have a Green background.
Display multiple RSI lines with different lengths (or timeframes).
Displays 3 RSI with 3 different lengths 7, 14 and 21
Displays two RSI lines with two different timeframes. The purple line shows RSI (14) for the 1H timeframe, and the blue line shows RSI (14) for the 4H timeframe.
Display MA and Bollinger Band lines for RSI.
Shows the RSI line along with two MA lines of the RSI: EMA (9) in blue and WMA (45) in red.
Identify RSI Divergence with custom settings
█ Input
- You can have up to three RSI lines, with customizable lengths and timeframes.
- You also have up to three RSI-MA lines, where you can customize the MA type and length.
- You can track RSI for up to 10 currency pairs at the same time.
- Additionally, you can change how the top (or bottom) is determined when identifying divergence.
█ Alerts
Send alerts when two RSI lines cross. For example, when the RSI 14 crosses above the RSI 21, or the RSI on the 1H timeframe crosses above the RSI on the 4H timeframe.*
Send alerts when RSI crosses above or below the RSI-MA line.
Send alerts when two RSI-MA lines cross. For example, when the RSI-EMA (9) crosses above the RSI-WMA (45).*
Send alerts when Divergence (Convergence) appears.
Send alerts when any currency pair in the monitored list shows an Overbought or Oversold signal.
[KVA] KMACDKMACD Indicator: Advanced Market Analysis Through Central Tendency Metrics
The KMACD (KAMVIA Moving Average Convergence Divergence) indicator is an advanced, multi-dimensional tool designed to provide traders and analysts with a deeper understanding of market dynamics. By integrating the classical MACD framework with statistical measures of central tendency, KMACD offers a sophisticated approach to identifying trends, reversals, and potential trading opportunities.
Key Features of the KMACD Indicator:
1. Enhanced MACD Calculation :
- The KMACD employs dual moving averages (fast and slow) of user-defined types (SMA, EMA, WMA) to calculate the MACD line, which represents the difference between these moving averages. This traditional approach is further enhanced by customizable signal smoothing, allowing users to fine-tune the sensitivity of the indicator.
2. Central Tendency Metrics :
- The indicator integrates additional statistical measures, such as Mean, Median, Mode, Standard Deviation, and Variance, calculated over a rolling window. These metrics provide insights into the central tendencies of the MACD values, helping traders understand the overall trend direction and the dispersion of price movements around the trend.
3. RSI-Like Oscillator :
- A unique RSI-like value derived from the MACD line is included to highlight overbought and oversold conditions. This offers a dual-layered perspective, combining the power of MACD and RSI methodologies, to signal potential market extremes with greater precision.
4. Customizable Visual Elements :
- KMACD allows users to toggle the visibility of the MACD line, Signal line, and Histogram, providing flexibility in how the data is presented. The histogram dynamically changes color—green when above zero, indicating bullish momentum, and red when below zero, indicating bearish momentum.
5. Horizontal Line Customization :
- The indicator includes customizable horizontal lines for the zero level, overbought, and oversold thresholds. These lines serve as visual cues to identify key price levels and market conditions.
6. Adaptive to Various Market Conditions :
- KMACD's comprehensive features make it adaptable to various market conditions, from trending markets to sideways consolidations. Whether you're looking to capture momentum shifts or identify potential reversal points, KMACD provides the analytical power needed to make informed trading decisions.
How to Use KMACD:
- Trend Identification : Use the MACD line in conjunction with central tendency measures (Mean, Median, Mode) to gauge the overall market trend and its strength. A rising MACD line, supported by higher mean and median values, typically indicates an uptrend.
- Momentum Analysis : The histogram and RSI-like value help in identifying the momentum behind price movements. Positive histogram bars suggest increasing bullish momentum, while negative bars suggest increasing bearish momentum.
- Overbought/Oversold Conditions : Monitor the RSI-like oscillator and the overbought/oversold levels to detect when the market may be poised for a reversal.
- Divergence Detection : Look for divergences between the MACD line and price action, supported by the central tendency measures, to spot potential reversal points.
Conclusion
The KMACD indicator is more than just a traditional MACD; it’s a comprehensive tool designed to cater to both novice and experienced traders. By incorporating central tendency metrics and customizable features, KMACD stands out as a versatile and powerful indicator that enhances market analysis and trading strategies. Whether you're navigating volatile markets or steady trends, KMACD offers the precision and depth needed to stay ahead.
RSI, STOCHASTIC RSI AND MFI COMBOCombining the Relative Strength Index (RSI), Stochastic RSI (StochRSI), and Money Flow Index (MFI) can provide traders with a comprehensive approach to analyze market momentum, overbought/oversold conditions, and money flow. Each indicator offers unique insights, and their combination can help confirm trading signals and filter out false signals. Let's delve into each indicator and then discuss how they can be used together:
Relative Strength Index (RSI) 14: DA BLUE LINE
The RSI is a momentum oscillator that measures the speed and change of price movements. It oscillates between 0 and 100 and is typically used to identify overbought (>70) and oversold (<30) conditions. A reading above 70 may indicate that an asset is overbought and could be due for a pullback, while a reading below 30 may suggest that an asset is oversold and could be due for a bounce.
Stochastic RSI (StochRSI) 14: DA RED LINE
The StochRSI is an oscillator that combines the features of both the Stochastic Oscillator and RSI. It measures the relative position of the RSI within its range over a specific period (e.g., 14 periods). Like the RSI, the StochRSI oscillates between 0 and 100 and is used to identify overbought and oversold conditions. Typically:
A StochRSI above 0.8 may suggest overbought conditions.
A StochRSI below 0.2 may indicate oversold conditions.
Money Flow Index (MFI) 14: DA PURPLE LINE
The MFI is a momentum oscillator that measures the inflow and outflow of money into an asset over a specific period (e.g., 14 periods). It oscillates between 0 and 100 and is used to identify overbought and oversold conditions based on both price and volume. Generally:
An MFI above 80 may indicate overbought conditions.
An MFI below 20 may suggest oversold conditions.
Combining RSI, StochRSI, and MFI:
When combining RSI, StochRSI, and MFI, traders can use the following approach to analyze the market:
Identify Overbought/Oversold Conditions:
Look for confluence between RSI, StochRSI, and MFI readings to identify overbought and oversold conditions.
For example, if RSI > 70, StochRSI > 0.8, and MFI > 80, it may suggest a strong overbought condition, potentially indicating a reversal or pullback.
Confirm Trend Strength:
Use the RSI, StochRSI, and MFI to confirm the strength of a trend.
A rising trend with RSI, StochRSI, and MFI above 50 may suggest strong bullish momentum, while a falling trend with readings below 50 may indicate strong bearish momentum.
Divergence Analysis:
Look for divergences between price and RSI, StochRSI, or MFI to identify potential trend reversals.
For example, if the price makes a higher high, but RSI, StochRSI, or MFI makes a lower high (bearish divergence), it may suggest weakening bullish momentum and potential downside.
Combining RSI, StochRSI, and MFI can offer traders a more holistic view of market momentum, overbought/oversold conditions, and money flow. Backtest it let me know your success.
Dynamic Price Oscillator (Zeiierman)█ Overview
The Dynamic Price Oscillator (DPO) by Zeiierman is designed to gauge the momentum and volatility of asset prices in trading markets. By integrating elements of traditional oscillators with volatility adjustments and Bollinger Bands, the DPO offers a unique approach to understanding market dynamics. This indicator is particularly useful for identifying overbought and oversold conditions, capturing price trends, and detecting potential reversal points.
█ How It Works
The DPO operates by calculating the difference between the current closing price and a moving average of the closing price, adjusted for volatility using the True Range method. This difference is then smoothed over a user-defined period to create the oscillator. Additionally, Bollinger Bands are applied to the oscillator itself, providing visual cues for volatility and potential breakout signals.
█ How to Use
⚪ Trend Confirmation
The DPO can serve as a confirmation tool for existing trends. Traders might look for the oscillator to maintain above or below its mean line to confirm bullish or bearish trends, respectively. A consistent direction in the oscillator's movement alongside price trend can provide additional confidence in the strength and sustainability of the trend.
⚪ Overbought/Oversold Conditions
With the application of Bollinger Bands directly on the oscillator, the DPO can highlight overbought or oversold conditions in a unique manner. When the oscillator moves outside the Bollinger Bands, it signifies an extreme condition.
⚪ Volatility Breakouts
The width of the Bollinger Bands on the oscillator reflects market volatility. Sudden expansions in the bands can indicate a breakout from a consolidation phase, which traders can use to enter trades in the direction of the breakout. Conversely, a contraction suggests a quieter market, which might be a signal for traders to wait or to look for range-bound strategies.
⚪ Momentum Trading
Momentum traders can use the DPO to spot moments when the market momentum is picking up. A sharp move of the oscillator towards either direction, especially when crossing the Bollinger Bands, can indicate the start of a strong price movement.
⚪ Mean Reversion
The DPO is also useful for mean reversion strategies, especially considering its volatility adjustment feature. When the oscillator touches or breaches the Bollinger Bands, it indicates a deviation from the normal price range. Traders might look for opportunities to enter trades anticipating a reversion to the mean.
⚪ Divergence Trading
Divergences between the oscillator and price action can be a powerful signal for reversals. For instance, if the price makes a new high but the oscillator fails to make a corresponding high, it may indicate weakening momentum and a potential reversal. Traders can use these divergence signals to initiate counter-trend moves.
█ Settings
Length: Determines the lookback period for the oscillator and Bollinger Bands calculation. Increasing this value smooths the oscillator and widens the Bollinger Bands, leading to fewer, more significant signals. Decreasing this value makes the oscillator more sensitive to recent price changes, offering more frequent signals but with increased noise.
Smoothing Factor: Adjusts the degree of smoothing applied to the oscillator's calculation. A higher smoothing factor reduces noise, offering clearer trend identification at the cost of signal timeliness. Conversely, a lower smoothing factor increases the oscillator's responsiveness to price movements, which may be useful for short-term trading but at the risk of false signals.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Inverted EMAThe concept of an inverted Exponential Moving Average (EMA) isn't commonly used in traditional technical analysis or trading strategies. Inverting the EMA essentially means taking the reciprocal of the EMA values. While it may not have widespread use or recognition, here are some potential considerations or interpretations for the inverted EMA:
1. **Inverse Trend Indicator:**
- Inverting the EMA might be considered as an alternative approach to trend analysis. When the inverted EMA is rising, it could suggest a potential bearish trend, and when it is falling, it might indicate a bullish trend. Traders might explore using this as a contrarian or unconventional trend indicator.
2. **Volatility Indicator:**
- The inverted EMA might be used as a measure of volatility. When the values are fluctuating rapidly, it could imply increased volatility in the underlying asset. This could be useful for traders who are interested in gauging market dynamics.
3. **Divergence Analysis:**
- Traders may explore divergences between price and the inverted EMA. For instance, if prices are making new highs, but the inverted EMA is not, it could signal potential weakness or divergence in the bullish trend.
4. **Inverse Moving Average Crossovers:**
- In the context of moving average crossovers, traders usually look for crossovers between shorter and longer EMAs as potential signals. Inverting this concept, crossovers between inverted short-term and long-term EMAs might be explored for unconventional trading signals.
5. **Systematic Exploration:**
- Traders and researchers sometimes experiment with unconventional indicators to discover new patterns or behaviors in the market. The inverted EMA could be part of systematic exploration to uncover unique insights that traditional indicators might not reveal.
It's important to note that the interpretation and use of the inverted EMA depend on the trader's strategy, risk tolerance, and specific market conditions. Traders should thoroughly backtest any strategy involving unconventional indicators and use them cautiously in live trading. Additionally, the effectiveness of the inverted EMA may vary across different financial instruments and timeframes.
True Range Moving Average Deviation🔶 Overview
The True Range Moving Average Deviation Indicator (TRMAD) is a technical analysis tool that combines elements of price deviation, volatility, and overbought/oversold conditions.
🔶 Key Components
Current price (Close) : most recent closing price of the asset.
Moving Average (MA) : represents a smoothed trendline of the asset's closing prices over a specified period. By default, TRMAD uses the Simple Moving Average (SMA) with a 20-period setting.
Average True Range (ATR) : reflects the average price range between the high and low over a given time frame. By default, TRMAD uses a 14-period ATR setting with a Simple Moving Average (SMA) calculation. ATR quantifies the historical price volatility of the asset, which is crucial for normalizing the price deviation.
🔶 Calculation
(Close - MA) / ATR
🔶 Interpretation
When TRMAD is above +3 ATR , it is often considered an indication that the asset may be overbought, suggesting a potential reversal or correction to the downside.
When TRMAD is below -3 ATR , it is often considered an indication that the asset may be oversold, suggesting a potential reversal or bounce to the upside.
TRMAD values around 0 ATR may indicate a balanced market condition.
🔶 Usage
🔹 Overbought and Oversold Conditions:
TRMAD can help identify overbought and oversold conditions. When TRMAD reaches or exceeds certain user-defined thresholds (e.g., +3 ATR or -3 ATR), it can signal that the asset is in an extreme condition.
Traders can use these extreme conditions to adjust their positions or look for potential reversal opportunities.
🔹 Divergence Analysis:
Traders often analyze divergences between the TRMAD indicator and price movements. For example, if the price is making higher highs while TRMAD is making lower highs (bearish divergence), it could indicate a potential trend reversal.
🔹 Trend Confirmation:
TRMAD can be used in conjunction with other technical indicators to confirm trends. For example, if TRMAD is consistently positive during an uptrend, it can provide confirmation of the trend's strength.
Positive TRMAD : When TRMAD is positive but hasn't reached the overbought threshold (e.g., +3 ATR), it suggests that there is some bullish momentum, but traders may exercise caution and look for other confirming signals before considering a long position.
Negative TRMAD : When TRMAD is negative but hasn't reached the oversold threshold (e.g., -3 ATR), it suggests some bearish sentiment, but traders may want to seek additional confirmation before considering a short position.
🔹 Risk Management:
Traders can use TRMAD as part of their risk management strategy. For instance, if TRMAD suggests that an asset is overbought, a trader might consider tightening their stop-loss orders to manage potential downside risk.
🔶 Credits
The idea about this indicator came from Fabio Figueiredo (Vlad)
Composite RSIOne issue with the famouse RSI indicator is that it is too sensitive in some cases and thus, might give false signals if we are eager to use those signals.
If we increase the length of the RSI, it might give too few signals which is not ideal as well.
This Composite RSI indicator was created to utilize the RSI strength, using 3 RSIs (with different length) in combination to give less signal than the original one.
You can use it like a normal RSI indicator:
- Try to find the entry when the RSI is in the overbought (RSI >= 70) and oversold (RSI <= 30) areas
- Use bullish divergence and bearish divergence on the RSI itself to signal your trade
In the example chart, I included a built-in RSI as well so you that you can compare the original one and the Composite RSI indicator.
Some extra features:
- Simple bullish and bearish divergences detection.
- Mark the RSI with green circle(s) when it is extremely overbought (over 80) and oversold (under 20)