Momentum Matrix (BTC-COIN)The Momentum Matrix (BTC-COIN) indicator analyzes the momentum relationship between Coinbase stock ( NASDAQ:COIN ) and Bitcoin ( CRYPTOCAP:BTC ). By combining RSI, correlation, and dominance metrics, it identifies bullish and bearish macro trends to align trades with market momentum.
How It Works
Price Inputs: Pulls weekly price data for CRYPTOCAP:BTC and NASDAQ:COIN for macro analysis.
Metrics Calculated:
• RSI Divergence: Measures momentum differences between CRYPTOCAP:BTC and $COIN.
• Price Ratio: Tracks the $COIN/ CRYPTOCAP:BTC relationship relative to its long-term average (SMA).
• Correlation: Analyzes price co-movement between CRYPTOCAP:BTC and $COIN.
• Dominance Impact: Incorporates CRYPTOCAP:BTC dominance for broader crypto trends.
Composite Momentum Score: Combines these metrics into a smoothed macro momentum value.
Thresholds for Trend Detection: Upper and lower thresholds dynamically adapt to market conditions.
Signals and Visualization:
• Buy Signal: Momentum exceeds the upper threshold, indicating bullish trends.
• Sell Signal: Momentum falls below the lower threshold, indicating bearish trends.
• Background Colors: Green (bullish), Red (bearish).
Strengths
Integrates multiple metrics for robust macro analysis.
Dynamic thresholds adapt to market conditions.
Effective for identifying macro momentum shifts.
Limitations
Lag in high volatility due to smoothing.
Less effective in choppy, sideways markets.
Assumes CRYPTOCAP:BTC dominance drives NASDAQ:COIN momentum, which may not always hold true.
Improvements
Multi-Timeframe Analysis: Add daily or monthly data for precision.
Volume Filters: Include volume thresholds for signal validation.
Additional Metrics: Consider MACD or Stochastics for further confirmation.
Complementary Tools
Volume Indicators: OBV or cumulative delta for confirmation.
Trend-Following Systems: Pair with moving averages for timing.
Market Breadth Metrics: Combine with CRYPTOCAP:BTC dominance trends for context.
Cerca negli script per "Divergence"
BTCUSD Price Overextension from Configurable SMAsBTCUSD Price Overextension Indicator with Configurable SMAs
This indicator helps identify potential correction points for BTCUSD by detecting overextended conditions based on customizable short-term and long-term SMAs, average price deviation, and divergence.
Key Features:
Customizable SMAs: Set your own lengths for short-term (default 20) and long-term (default 50) SMAs, allowing you to tailor the indicator to different market conditions.
Overextension Detection: Detects when the average price over a set period (default 10 bars) is overextended above the short-term SMA by a configurable adjustment factor.
Divergence Threshold: Highlights when the short-term and long-term SMAs diverge beyond a specified threshold, signaling potential trend continuation.
Conditional Highlight: Displays a red background only when all conditions are met, and the current candle closes at or above the previous candle. A label "Overextended" appears only on the first bar of each overextended sequence for clear identification.
How to Use:
Identify Correction Signals: Look for red background highlights, which indicate a potential overextension based on the configured SMA and divergence thresholds.
Adjust Parameters: Use the adjustment factor, divergence threshold, and SMA lengths to fine-tune the indicator for different market environments or trading strategies.
This tool is ideal for BTCUSD traders looking to spot potential pullback areas or continuation zones by analyzing trend strength and overextension relative to key moving averages.
5-9-20-100 Day EMAIndicator Name: "5-9-20-100 Day EMA"
Purpose: This indicator plots four key EMAs (5, 9, 20, and 100-day) on a daily chart, providing a clear visualization of both short-term and long-term trends. The EMAs serve as critical triggers for identifying potential entry and exit points based on price interactions with these moving averages.
Technical Details:
Version: Pine Script v5
EMAs Used:
5-Day EMA (Lime): Captures the most recent price trends, useful for identifying short-term momentum.
9-Day EMA (Yellow): Offers a slightly broader view, often used to confirm the short-term trend.
20-Day EMA (Orange): Represents a medium-term trend, commonly used as a signal for trend reversals.
100-Day EMA (Red): Indicates the long-term trend, often serving as strong support or resistance levels.
Trigger Points:
Crossovers: Price crossing above or below these EMAs can trigger potential buy or sell signals.
Convergence/Divergence: The interaction between the EMAs, such as a faster EMA crossing a slower one, can signal trend reversals or continuations.
Utility: This indicator is ideal for traders who rely on EMA crossovers and the relationship between different EMAs to make informed trading decisions.
ATR by Time [QuantVue]"ATR by Time" incorporates time-specific volatility patterns by calculating the Average True Range (ATR) over a customizable period and comparing it to historical ATR values
at specific times of the day.
The Average True Range (ATR) is a popular technical indicator that measures market volatility by decomposing the entire range of an asset price for that period.
By taking the ATR at certain times of the day and comparing it to the current bar's ATR, traders can gain several potential advantages:
Volatility Pattern Recognition: Different times of the trading day often exhibit different levels of volatility. For instance, markets might be more volatile at the open and close compared to midday. By tracking ATR at specific times, traders can recognize these patterns and better predict periods of high or low volatility.
Risk Management: Understanding volatility trends throughout the day helps in better risk management. During periods of high expected volatility (indicated by higher ATR compared to the historical average), traders can adjust their stop-loss levels and position sizes accordingly to protect their capital.
Trend Confirmation and Divergence: This indicator can help confirm trends or identify potential reversals. For example, if the current ATR consistently exceeds the average ATR at specific times, it may confirm a strong trend. Conversely, if the current ATR falls below the historical average, it could signal a potential slowdown or reversal.
This indicator will work on all markets on all time frames. User can customize ATR length as well as the lookback period.
This script utilizes TradingView's RelativeValue library and averageAtTime function, which is used to compare a current data point in a time interval to an average of data points with corresponding time offsets across historical periods. Its purpose is to assess the significance of a value by considering the historical context within past time intervals.
Give this indicator a BOOST and COMMENT your thoughts!
We hope you enjoy.
Cheers!
Market Internals & InfoThis script provides various information on Market Internals and other related info. It was a part of the Daily Levels script but that script was getting very large so I decided to separate this piece of it into its own indicator. I plan on adding some additional features in the near future so stay tuned for those!
The script provides customizability to show certain market internals, tickers, and even Market Profile TPO periods.
Here is a summary of each setting:
NASDAQ and NYSE Breadth Ratio
- Ratio between Up Volume and Down Volume for NASDAQ and NYSE markets. This can help inform about the type of volume flowing in and out of these exchanges.
Advance/Decline Line (ADL)
The ADL focuses specifically on the number of advancing and declining stocks within an index, without considering their trading volume.
Here's how the ADL works:
It tracks the daily difference between the number of stocks that are up in price (advancing) and the number of stocks that are down in price (declining) within a particular index.
The ADL is a cumulative measure, meaning each day's difference is added to the previous day's total.
If there are more advancing stocks, the ADL goes up.
If there are more declining stocks, the ADL goes down.
By analyzing the ADL, investors can get a sense of how many stocks are participating in a market move.
Here's what the ADL can tell you:
Confirmation of Trends: When the ADL moves in the same direction as the underlying index (e.g., ADL rising with a rising index), it suggests broad participation in the trend and potentially stronger momentum.
Divergence: If the ADL diverges from the index (e.g., ADL falling while the index is rising), it can be a warning sign. This suggests that fewer stocks are participating in the rally, which could indicate a weakening trend.
Keep in mind:
The ADL is a backward-looking indicator, reflecting past market activity.
It's often used in conjunction with other technical indicators for a more complete picture.
TRIN Arms Index
The TRIN index, also called the Arms Index or Short-Term Trading Index, is a technical analysis tool used in the stock market to gauge market breadth and sentiment. It essentially compares the number of advancing stocks (gaining in price) to declining stocks (losing price) along with their trading volume.
Here's how to interpret the TRIN:
High TRIN (above 1.0): This indicates a weak market where declining stocks and their volume are dominating the market. It can be a sign of a potential downward trend.
Low TRIN (below 1.0): This suggests a strong market where advancing stocks and their volume are in control. It can be a sign of a potential upward trend.
TRIN around 1.0: This represents a more balanced market, where it's difficult to say which direction the market might be headed.
Important points to remember about TRIN:
It's a short-term indicator, primarily used for intraday trading decisions.
It should be used in conjunction with other technical indicators for a more comprehensive market analysis. High or low TRIN readings don't guarantee future price movements.
VIX/VXN
VIX and VXN are both indexes created by the Chicago Board Options Exchange (CBOE) to measure market volatility. They differ based on the underlying index they track:
VIX (Cboe Volatility Index): This is the more well-known index and is considered the "fear gauge" of the stock market. It reflects the market's expectation of volatility in the S&P 500 index over the next 30 days.
VXN (Cboe Nasdaq Volatility Index): This is a counterpart to the VIX, but instead gauges volatility expectations for the Nasdaq 100 index over the coming 30 days. The tech-heavy Nasdaq can sometimes diverge from the broader market represented by the S&P 500, hence the need for a separate volatility measure.
Both VIX and VXN are calculated based on the implied volatilities of options contracts listed on their respective indexes. Here's a general interpretation:
High VIX/VXN: Indicates a high level of fear or uncertainty in the market, suggesting investors expect significant price fluctuations in the near future.
Low VIX/VXN: Suggests a more complacent market with lower expectations of volatility.
Important points to remember about VIX and VXN:
They are forward-looking indicators, reflecting market sentiment about future volatility, not necessarily current market conditions.
High VIX/VXN readings don't guarantee a market crash, and low readings don't guarantee smooth sailing.
These indexes are often used by investors to make decisions about portfolio allocation and hedging strategies.
Inside/Outside Day
This provides a quick indication of it we are still trading inside or outside of yesterdays range and will show "Inside Day" or "Outside Day" based upon todays range vs. yesterday's range.
Custom Ticker Choices
Ability to add up to 5 other tickers that can be tracked within the table
Show Market Profile TPO
This only shows on timeframes less than 30m. It will show both the current TPO period and the remaining time within that period.
Table Customization
Provided drop downs to change the text size and also the location of the table.
Fibonacci Muti-MA RibbonWelcome some, welcome small.... This is CryptoFilio, your dark knight in the crypto light - shining down my infinite wisdom upon this wasteland we call the "markets". It's me and you against the machine... so rage, rage, rage against the dying of the night!
DESCRIPTION
This indicator exemplifies the beauty of the sacred Fibonacci sequence.... used by flowers and seashells and the intrepid day trader. Each color in the ribbon represents an MA of a specific FIB lookback period. This naturally makes the ribbon front weighted, giving recent price action greater importance than older price action. The undulating curls of the ribbon allow a trader to see key convergences and divergences. The ribbon often narrows before a major price movement.
The background is lightly colored to indicate when one average of MA's crosses the other average (1+2+3+4+5) crosses (6+7+8+9+10). Like a standard MA cross, but a little more sophisticated.
The most visually pleasing is SMMA-RMA, but the more effective in anticipating the market is EMA and HMA.
USAGE
Visualizing convergence and divergence as the ribbon widens with sudden price movement and narrows during consolidation
Visualizing general trends as the flipping over of the ribbon represents a general trend change
Setting possible entry and exit points through the width and direction of the ribbon
VARIATIONS
You can select many types of MA's, such as SMA,EMA,HMA,VWMA... and a couple of others. The most effective seem to be EMA,HMA, and VWMA
SUGGESTIONS
Let me know if you'd like some other features added to this indicator, such as additional MA's or something else. I can also customize it for a specific application.
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.
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
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):
[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.