Improved Percent Price Oscillator w/ Colored Candles[C2Trends]The Percent Price Oscillator(PPO) is a momentum oscillator that measures the difference between two moving averages as a percentage of the larger moving average. Similar to the Moving Average Convergence/Divergence(MACD), the PPO is comprised of a signal line, a histogram and a centerline. Signals are generated with signal line crossovers, centerline crossovers, and divergences. Because these signals are no different than those associated with MACD, this indicator can be read exactly as the MACD is read. The main differences between the PPO and MACD are: 1) PPO readings are not subject to the price level of the security. 2) PPO readings for different securities can be compared, even when there are large differences in the price. MACD readings for different securities cannot be compared when there are large differences in price.
PPO Calculations:
Percentage Price Oscillator(PPO): {(12-day EMA - 26-day EMA )/26-day EMA} x 100
Signal Line: 9-day EMA of PPO
PPO Histogram: PPO - Signal Line
iPPO includes everything from standard PPO plus:
1)Plots for PPO/Signal line crosses.
2)Plots for PPO/0 level crosses.
3)PPO/Signal line gap color fill.
4)PPO/0 level gap color fill.
4)Background fill for PPO/Signal line crosses.
5)Background fill for PPO/0 level crosses.
6)Price candles colored based on PPO indicator readings.
7)All plots, lines and fill colors can be turned on/off individually from the 'Input' tab of the iPPO indicator settings menu.
Indicator Notes:
1) When the green PPO line is above the 0 level, intermediate to long-term price momentum can be considered bullish(begins w/yellow cross, green background).
2) When the green PPO line is below the 0 level, intermeidate to long-term price momentum can be considered bearish(begins w/red cross, purple background).
3) Green PPO line above purple Signal line + both lines rising + both lines above 0 level = bullish short-term price momentum(begins w/green dot above 0 level, green highlight).
4) Green PPO line below purple Signal line + both lines falling + both lines above 0 level = loss of short-term bullish price momentum(begins w/purple dot above 0 level, purple highlight).
5) Green PPO line below purple Signal line + both lines falling + both lines below 0 level = bearish short-term price momentum(begins w/purple dot below 0 level, purple highlight).
6) Green PPO line above purple Signal line + both lines rising + both lines below 0 level = loss of short-term bearish price momentum(begins w/green dot below 0 level, green highlight).
7) Price candles are colored lime when the PPO line is above the Signal line and both lines are above the 0 level.
8) Price candles are colored green when the PPO line is below the Signal line and both lines are above the 0 level.
9) Price candles are colored fuschia when the PPO line is below the Signal line and both lines are below the 0 level.
10) Price candles are colored purple when the PPO line is above the Signal line and both lines are below the 0 level.
11) Price candles are colored gray when the green PPO line is within a set % of the 0 level. This value can be set manually in the indicator settings. The default value is 0.25% to ensure
smooth candle color transition between timeframes, charts, sectors and markets. Adjust value up or down if gray candles are absent or too abundant. Gray candles should mostly only appear
during periods of price consolidation(flat/sideways price movement), or just before a significant move up or down in price.
Cerca negli script per "Divergence"
Pips Breakout CandlePips Breakout Candle measures price changes in pips. This indicator can be used to identify major price moves! The indicator comes with a sentiment line which is the sum of the Up versus Down price changes. It gives a good understanding of the current trend and identifies divergences.
Set alerts for major price moves!
Identify the trend!
Identify divergence!
LBR 3-10 OscillatorThis is a variation of MACD popularised by Linda Bradford Raschke. Instead of the regular MACD settings, the this indicator uses simple moving averages, not exponential moving averages, and a setting of 3 for the fast MA, 10 for the slow MA and 16 for the signal line.
The signal line (red) acts as a trend indicator, with crossings of the zero line indicating trend changes, while the MACD line (blue) acts as a short term momentum indicator.
Setups:
- First cross: This is basically selling or buying at the first pullback after a trend change. Buy or sell after the signal line has crossed the zero line and the MACD crosses the signal line for the first time after the trend change. Use price action to time the entry after the pullback — you don't need to wait for the MACD to cross the signal line again.
- Pullback in a trend: The MACD crosses the signal line in the opposite direction of the trend irregardless of when the trend change occurred. Use price action to time the entry.
- Divergence: The MACD line shows a pattern diverging form price (e.g. makes higher lows whereas price makes lower lows). This can be an indication of trend reversal or waning.
In the indicator's input panel there is an option for showing standard deviation bands (turned off by default). MACD line crossing the standard deviation bands can indicate oversold and overbought conditions.
The indicator comes with the following alerts:
- First cross downtrend
- First cross uptrend
- Pullback in downtrend
- Pullback in uptrend
- Trend change down
- Trend change up
Sources:
lindaraschke.net
www.netpicks.com
Cumulative Delta VolumeHello Traders,
This is Cumulative Delta Volume script. Delta refers to the difference between buying and selling volume at each price level. Cumulative Delta builds upon this concept by recording a cumulative tally of these differences in buying vs selling volume. The Cumulative Delta indicator plots as candlesticks or line. One of the main uses of Cumulative Delta is to confirm or deny market trends. you may need to search it for yourself ;)
You have option to see it as Candles or a Line. also there are options to show 2 SMAs and 2 EMAs with different Lengths, you can set the lengths as you wish.
By default it shows CDV as Heikin Ashi Candles, it can also show it as normal candles:
It can show CDV as a line:
Also you may need to check divergence:
Enjoy!
Stoch X, an Indicator of Indicators by DGTStochastic refers to a randomly determined process and financial markets use stochastic models to represent the seemingly random behaviour of assets and then used by quantitative analysts to value options on asset prices
The stochastic oscillator, developed by George Lane, presents the location of the closing price of a stock in relation to the high and low range of the price of a stock over a period of time. Lane has said that the stochastic oscillator does not follow price or volume or anything similar. He indicates that the oscillator follows the speed or momentum of price.
Traditionally, readings over 80 are considered in the overbought range, and readings under 20 are considered oversold. Please note that, very strong trends can maintain overbought or oversold conditions for an extended period and traders should look to changes in the stochastic oscillator for clues about future trend shifts. It is advised to check the higher timeframe of your trading timeframe and see where you are in the “big picture”
Signal crosses , intersection of stochastic and its signal line is considered to be a signal that a reversal may be in the works
Divergence between the stochastic oscillator and trending price action is also seen as an important reversal signal
Lane also reveals in interviews that, as a rule, the momentum or speed of the price of a stock changes before the price changes itself . In this way, the stochastic oscillator can be used to foreshadow reversals when the indicator reveals bullish or bearish divergences. This signal is the first, and arguably the most important, trading signal Lane identified.
What is Stochastic X ?
Stochastic X , is essentially an indicator of an indicator, providing stochastic calculation to some of well known indicators, such as RSI, MFI, OBV, etc. This means that it is a measure of selected specific indicator relative to its own high/low range over a user defined period of time.
Features of Stoch X
1- Displays Stoch of and indicator plus a companion indicator (companion display can be disabled from user dialog box)
Available options
Stoch Source plus PM A, where Source is close price and PMA refers to Price Distance to its Moving Average (for further details you may check my study of Price Distance to its MA by DGT, and different application of distance concept available with “MACD-X, More Than MACD" And “P-MACD”)
Stoch RSI plus RSI , Stoch RSI, developed by Tushar Chande and Stanley Kroll, is a build-in indicator available on Trading View, where Stoch X adds RSI as a companion indicator to Stoch RSI
Stoch MFI and MFI , where MFI is Money Flow Index, measures buying and selling pressure through analyzing both price and volume
Stoch OBV + VO , Where OBV is On Balance Volume, is a momentum indicator that measures positive and negative volume flow. VO stands for Volume Oscillator which aims to confirm a market turnaround or trend reversal
Stoch EWO + EWO , EWO stands for Elliott Wave Oscillator
By default the threshold levels are indicated and are displayed differently for the regular Stoch or Stoch RSI. Overbought band (70-80), oversold band (20-30) and middle line (0) are emphasized
Warning : Centered Oscillators base line is moved from 0 to 50 to better suit with Stoch X, which is applied to PMA, VO and EWO
2- Can be plotted along with Stoch in the same window using the same scaling
To avoid misinterpreting the area between Stoch X and its Signal Line is highlighted automatically in case Stoch is selected to be plotted
3- Squeeze Indicator added as Add-on in the bottom of the Stoch X
During volatile market conditions the stochastic oscillator has been known to produce false signals. One way to help with this is to take the price trend as a filter, or basic chart pattern analysis can help to identify major, underlying trends and increase the Stoch X's accuracy.
This study implements Squeeze Indicator to help and add additional insight for filtering false signals. Blue diamond shapes indicates the squeeze release, that is volatility increased and according to momentum direction the buy/sell possibility can be considered. Orange ones displays consolidation periods, that is low volatility and the market is assumed to be in squeeze and no trade is recommended. in this phase.
Disclaimer: Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
Baseline-C [ID: AC-P]The "AC-P" version of jiehonglim's NNFX Baseline script is my personal customized version of the NNFX Baseline concept as part of the NNFX Algorithm stack/structure for 1D Trend Trading for Forex. Everget's JMA implementation is used for the baseline smoothing method, with optional ATR bands at 1.0x and 1.5x from the baseline.
NNFX = No Nonsense Forex
Baseline = Component of the NNFX Algorithm that consists of a single moving average
Baseline ---> Meant to be used in conjunction with ATR/C1/C2/Vol Indicator/Exit Indicator as per NNFX Algorithm setup/structure. C1 is 1st Confirmation Indicator, C2 is 2nd Confirmation Indicator.
JMA (Jurik Moving Average) is used for the baseline and slow baseline.
A slow baseline option is included, but disabled by default.
The faint orange/purple lines are 1.0x/1.5x ATR from the Baseline, and are what I use as potential TP/SL targets or to evaluate when to stay out of a trade (chop/missed entry/exit/other/ATR breach), depending on the trade setup (in conjunction with C1/C2/Vol Indicator/Exit Indicator)
This script is heavily based upon jiehonglim's NNFX Baseline script for signaling, barcoloring, and ATR.
SSL Channel option included but disabled by default (Erwinbeckers SSL component)
POC (Point of Control) from Volume Profile is included/enabled by default for both the current timeframe and 12HR timeframe
03.freeman's InfoPanel Divergence Indicator was used a reference to replace the current/previous ATR information infopanel/info draw from jiehonglim's script. I'm not sure whether I like the previous way ATR info was displayed vs how I have it currently, but it's something that is completely optional:
Specifically: I am tuning this baseline/indicator for 1D trading as part of the NNFX system, for Forex.
DO NOT USE THIS INDICATOR WITHOUT PROPER TUNING/ADJUSTMENT for your timeframe and asset class.
Note about lack of alerts:
Alerts for baseline crosses (and other crosses) have been purposefully omitted for this version upon initial publication. While getting alerts for baseline crosses under certain conditions/filtered conditions that eliminate low-importance signals and crossover whipsaw would be great, it's something I'm still looking into.
SPECIFICALLY: There are entry, exit, take profit, and continuation signal components in relation to the Baseline to the rest of the NNFX Algorithm stack (ATR/C1/C2/Vol Indicator/Exit Indicator), including but limited to the "1 candle rule" and the "7 candle rule" as per NNFX.
Implementing alerts that are significant that also factor in these rules while reducing alert spam/false signals would be ideal, but it's also the HTF/Daily chart - visually, entry/exit/continuation signal alignment is easy to spot when trading 1D - alerts may be redundant/a pursuit in diminishing returns (for now).
//-------------------------------------------------------------------
// Acknowledgements/Reference:
// jiehonglim, NNFX Baseline Script - Moving Averages
//
// Fractured, Many Moving Averages
//
// everget, Jurik Moving Average/JMA
//
// 03.freeman, InfoPanel Divergence Indicator
//
// Ggqmna Volume stops
//
// Libertus RSI Divs
//
// ChrisMoody, CM_Price-Action-Bars-Price Patterns That Work
//
// Erwinbeckers SSL Channel
//
TA-Money Flow-Version4Updated for TV-Pine V4
This is the MACD of a stochastic OBV movement indicator and now the MACD of the Squeeze Momentum Indicator. It is good (right) to work with both price and volume...it is also good to utilize the most popular indicator ever in TV (Lazybear).
I've included highlighting based on price divergence, yellow is divergence of either OBV or SQZ, red is both divergence, and then I've also built in the "squeeze on - blue" highlighting to show follow through of divergence. It works great on any time frame, but you need to have volume data. Not sure where I originally got this (stoch-OBV, somewhere off Tradingview several years ago, thanks to the person who shared), Squeeze is Lazybear, links below.
Enjoy.
Version 4:
Updated OBV equation because TV-Pine V3 broke in V4
Included MACD of Squeeze for histogram
Included "squeeze on" highlighting
TA-Money-Flow-Version3
TA-Money-Flow-Version2
Squeeze-Momentum-Indicator-LazyBear
Percentage Price OscillatorThe Percentage Price Oscillator (PPO) is a momentum oscillator that measures the difference between two moving averages as a percentage of the larger moving average. As with its cousin, MACD, the Percentage Price Oscillator is shown with a signal line, a histogram and a center line. Signals are generated with signal line crossovers, center line crossovers, and divergences. More info here and here .
The indicator allows you to change the type of all moving averages (Simple, Exponential, Weighted, Volume-weighted, Triple EMA or a moving average that uses RSI ). The indicator also allows you to volume weight it(turned on by default), which will turn it into an indicator very similar to the Volume-Weighted Moving Average Convergence Divergence (VW-MACD) first used by Buff Pelz Dormeier in 2002 and described in detail in his book "Investing with Volume Analysis: Identify, Follow, and Profit from Trends". If you want to weight the oscillator against the true range instead of volume this is also possible. By default, this will be done automatically for assets that do not support volume. By checking the box "MACD" you can also turn this indicator into a standard MACD indicator.
Percentage Price Oscillator (PPO)The Percentage Price Oscillator (PPO) is a momentum oscillator that measures the difference between two moving averages as a percentage of the larger moving average. As with its cousin, MACD, the Percentage Price Oscillator is shown with a signal line, a histogram and a centerline. Signals are generated with signal line crossovers, centerline crossovers, and divergences. First, PPO readings are not subject to the price level of the security. Second, PPO readings for different securities can be compared, even when there are large differences in the price.
Calculations
PPO: {(12-day EMA - 26-day EMA)/26-day EMA} x 100
Signal Line: 9-day EMA of PPO
PPO Histogram: PPO - Signal Line
While MACD measures the absolute difference between two moving averages, PPO makes this a relative value by dividing the difference by the slower moving average (26-day EMA). PPO is simply the MACD value divided by the longer moving average. The result is multiplied by 100 to move the decimal place two spots.
Interpretation
As with MACD, the PPO reflects the convergence and divergence of two moving averages. PPO is positive when the shorter moving average is above the longer moving average. The indicator moves further into positive territory as the shorter moving average distances itself from the longer moving average. This reflects strong upside momentum. The PPO is negative when the shorter moving average is below the longer moving average. Negative readings grow when the shorter moving average distances itself from the longer moving average (goes further negative). This reflects strong downside momentum. The histogram represents the difference between PPO and its 9-day EMA, the signal line. The histogram is positive when PPO is above its 9-day EMA and negative when PPO is below its 9-day EMA. The PPO-Histogram can be used to anticipate signal line crossovers in the PPO.
MACD, PPO and Price
MACD levels are affected by the price of a security. A high-priced security will have higher or lower MACD values than a low-priced security, even if volatility is basically equal. This is because MACD is based on the absolute difference in the two moving averages. Because MACD is based on absolute levels, large price changes can affect MACD levels over an extended period of time. If a stock advances from 20 to 100, its MACD levels will be considerably smaller around 20 than around 100. The PPO solves this problem by showing MACD values in percentage terms.
Conclusions
The Percentage Price Oscillator (PPO) generates the same signals as the MACD, but provides an added dimension as a percentage version of MACD. The PPO levels of the Dow Industrials (price > 20K) can be compared against the PPO levels of IBM (price < 200) because the PPO “levels” the playing field. In addition, PPO levels in one security can be compared over extended periods of time, even if the price has doubled or tripled. This is not the case for the MACD.
Limitations
Despite its advantages, the PPO is still not the best oscillator to identify overbought or oversold conditions because movements are unlimited (in theory). Levels for RSI and the Stochastic Oscillator are limited and this makes them better suited to identify overbought and oversold levels.
Source: Stockcharts
Mirrored MACD [LazyBear]This is a famous indicator I have seen used by many Forex traders in MT4 platform. This indicator uses the difference between EMA of "close" and EMA of "open" to form the oscillator lines (not just a convergence/divergence calculation between EMA of "close")
Current market state is determined by which histogram is above zero line. For more confirmation, wait for it to cross above Signal line too. Crossing down the signal or zeroline should be the exit condition. Also, look for divergences.
Use plot labels BullHisto/BearHisto/BearLine/BullLine/ZeroLine/Signal for setting up alerts.
Complete list of my indicators:
-----------------------------
docs.google.com
Indicator: Vervoort Smoothed Oscillator [LazyBear]This is Mr. Sylvian Vervoort's take on improving some well-known indicators (%B and Stoch) using smoothing techniques. A combination of TEMA and WMA does a nice job smoothing out %B, derived from zero-lag “Rainbow” data series. The same Rainbow series, averaged with the typical price, smooth the Stochastic K oscillator to produce slowStoch.
Vervroot's strategy for this oscillator (detailed explanation in the reference material below):
- It must be bullish for a buy signal and bearish for a sell signal. This means that both the oscillators must be moving up or down.
- Use the oscillators for detecting divergences. Divergence even in one is still valid.
- Stoch crossing 50 is a good confirmation signal. Momentum usually is an excellent leading indicator, so keep an eye on Stoch.
More info:
www.traders.com
www.scribd.com
Complete list of my indicators (Check the comments, I keep the list updated there):
PCA Regime-Adjusted MomentumSummary
The PCA Regime-Adjusted Momentum (PCA-RAM) is an advanced market analysis tool designed to provide nuanced insights into market momentum and structural stability. It moves beyond traditional indicators by using Principal Component Analysis (PCA) to deconstruct market data into its most essential patterns.
The indicator provides two key pieces of information:
A smoothed momentum signal based on the market's dominant underlying trend.
A dynamic regime filter that gauges the stability and clarity of the market's structure, advising you when to trust or fade the momentum signals.
This allows traders to not only identify potential shifts in momentum but also to understand the context and confidence behind those signals.
Core Concepts & Methodology
The strength of this indicator lies in its sound, data-driven methodology.
1. Principal Component Analysis (PCA)
At its core, the indicator analyzes a rolling window (default 50 periods) of standardized market data (Open, High, Low, Close, and Volume). PCA is a powerful statistical technique that distills this complex, 5-dimensional data into its fundamental, uncorrelated components of variance. We focus on the First Principal Component (PC1), which represents the single most dominant pattern or "theme" driving the market's behavior in the lookback window.
2. The Momentum Signal
Instead of just looking at price, we project the current market data onto this dominant underlying pattern (PC1). This gives us a raw "projection score" that measures how strongly the current bar aligns with the historically dominant market structure. This raw score is then smoothed using two an exponential moving averages (a fast and a slow line) to create a clear, actionable momentum signal, similar in concept to a MACD.
3. The Dynamic Regime Filter
This is arguably the indicator's most powerful feature. It answers the question: "How clear is the current market picture?"
It calculates the Market Concentration Ratio, which is the percentage of total market variance explained by PC1 alone.
A high ratio indicates that the market is moving in a simple, one-dimensional way (e.g., a clear, strong trend).
A low ratio indicates the market is complex, multi-dimensional, and choppy, with no single dominant theme.
Crucially, this filter is dynamic. It compares the current concentration ratio to its own recent average, allowing it to adapt to any asset or timeframe. It automatically learns what "normal" and "choppy" look like for the specific chart you are viewing.
How to Interpret the Indicator
The indicator is displayed in a separate pane with two key visual elements:
The Momentum Lines (White & Gold)
White Line: The "Fast Line," representing the current momentum.
Gold Line: The "Slow Line," acting as the trend confirmation.
Bullish Signal: A crossover of the White Line above the Gold Line suggests a shift to positive momentum.
Bearish Signal: A crossover of the White Line below the Gold Line suggests a shift to negative momentum.
The Regime Filter (Purple & Dark Red Background)
This is your confidence gauge.
Navy Blue Background (High Concentration): The market structure is stable, simple, and trending. Momentum signals are more reliable and should be given higher priority.
Dark Red Background (Low Concentration): The market structure is complex, choppy, or directionless. Momentum signals are unreliable and prone to failure or "whipsaws." This is a signal to be cautious, tighten stops, or potentially stay out of the market.
Potential Trading Strategies
This tool is versatile and can be used in several ways:
1. Primary Signal Strategy
Condition: Wait for the background to turn Purple, confirming a stable, high-confidence regime.
Entry: Take the next crossover signal from the momentum lines (White over Gold for long, White under Gold for short).
Exit/Filter: Consider exiting positions or ignoring new signals when the background turns Navy.
2. As a Confirmation or Filter for Your Existing Strategy
Do you have a trend-following system? Only enable its long and short signals when the PCA-RAM background is Purple.
Do you have a range-trading or mean-reversion system? It might be most effective when the PCA-RAM background is Navy, indicating a lack of a clear trend.
3. Advanced Divergence Analysis
Look for classic divergences between price and the momentum lines. For example, if the price is making a new high, but the Gold Line is making a lower high, it may indicate underlying weakness in the trend, even on a Purple background. This divergence signal is more powerful because it shows that the new price high is not being confirmed by the market's dominant underlying pattern.
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
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.