German Market Opening UTC+1Description:
This script highlights the opening time of the German stock market (08:00 UTC+1) on a TradingView chart. It is designed to help traders quickly identify market openings and analyze price movements during this key trading period.
Key Features:
Market Opening Identification:
Automatically detects the exact moment the German stock market opens each day (08:00 UTC+1).
Marks the opening with a vertical line spanning the entire chart and a label for visual clarity.
Custom Indicators:
A blue line is drawn from the lowest to the highest price of the opening candle, extending across the chart to visually indicate the start of the trading day.
A labeled marker reading "DE-Opening" is placed at the top of the opening candle for additional clarity.
Ease of Use:
Simple overlay indicator that works seamlessly on any timeframe chart.
Helps traders focus on key opening price action.
Use Case:
This script is particularly useful for day traders and scalpers who want to identify and analyze the price behavior around the opening of the German stock market. It provides a visual cue to help traders develop strategies or make informed decisions during this active trading period.
Note:
Ensure your chart’s timezone is set to match UTC+1 or appropriately adjust for your location to ensure accurate time alignment.
If you have questions or suggestions, feel free to provide feedback!
Ciclos
EMA Squeeze RythmHere's a description of this indicator and its purpose:
This indicator is based on the concept of price consolidation and volatility contraction using multiple Exponential Moving Averages (EMAs). It primarily looks for "squeeze" conditions where the EMAs converge, indicating potential market consolidation and subsequent breakout opportunities.
Key Features:
1. Uses 8 EMAs (20-55 period) to measure price compression
2. Measures the distance between fastest (20) and slowest (55) EMAs in ATR units
3. Identifies four distinct states:
- PRE-SQZE: Initial convergence of EMAs
- SQZE: Tighter convergence
- EXT-SQZE: Extreme convergence (highest probability of breakout)
- RELEASE: EMAs begin to expand (potential breakout in progress)
Best Used For:
- Identifying potential breakout setups
- Finding periods of low volatility before explosive moves
- Confirming trend strength using higher timeframe analysis
- Trading mean reversion strategies during squeeze states
- Catching momentum moves during release states
The indicator works well on any timeframe but is particularly effective on 15M to 4H charts for most liquid markets. It includes higher timeframe analysis to help confirm the broader market context.
Continuous Multi-Factor Trend Oscillator with Rolling Liquidity
// **Overview**
This script generates a *Continuous Multi-Factor Trend Oscillator* that integrates multiple market dynamics, including **long-term trends**, **short-term trends**, **volume adjustments**, **volatility factors**, **ADX trend strength**, and **rolling liquidity**. The result is a smooth, dynamic oscillator that reflects comprehensive market conditions.
### **Key Features**
1. **Long-Term Trend Score (LT Score)**: Measures the deviation of price from its EMA, normalized by standard deviation. Captures broad trend direction.
2. **Short-Term Trend Score (ST Score)**: Evaluates the slope of a short-period EMA, normalized by ATR, to reflect shorter-term momentum.
3. **Volume Adjustment**: Adjusts trend scores based on the relative volume compared to its moving average.
4. **Volatility Adjustment**: Incorporates ATR into the scoring system, penalizing or boosting scores based on current volatility compared to historical norms.
5. **ADX Trend Strength**: Uses ADX to identify trend strength, scaling scores positively or negatively depending on whether the market is trending or ranging.
6. **Rolling Liquidity**: Analyzes persistent buying or selling pressure by aggregating net buy/sell liquidity over a rolling lookback period.
### **Calculation Workflow**
- **Inputs**: Configurable parameters like long/short periods, ATR period, ADX smoothing, and volume lookback.
- **Trend Scores**: LT and ST scores are computed separately to capture trend dynamics across different timeframes.
- **Adjustments**: Volume, volatility, ADX, and rolling liquidity adjustments are calculated and scaled appropriately.
- **Final Oscillator**: Combines all scores into a single value and applies smoothing for clarity.
### **How It Works**
1. *Long-Term and Short-Term Trends*: Trend scores are calculated based on EMAs and normalized using standard deviation or ATR.
2. *Volume and Liquidity Factors*: Incorporates net up/down volume and liquidity to reflect market participation levels.
3. *ADX Strength*: Distinguishes trending vs. ranging markets, influencing the oscillator direction accordingly.
4. *Final Output*: All factors are combined into a single oscillator, smoothed using an EMA.
### **Visualization**
- The oscillator is plotted as a continuous line with dynamic scaling:
- **Above 75**: *Very Bullish*
- **Below -75**: *Very Bearish*
- **Threshold Levels (50/-50, 10/-10)**: Provide additional interpretative guidance.
- **Labels**: Displays sentiment at the last bar for quick reference (e.g., *Strongly Bullish*, *Neutral*).
### **Use Cases**
- Ideal for identifying market conditions (bullish, bearish, neutral) based on multiple factors.
- Can serve as a confirmation tool alongside price action or other indicators.
### **Customizable Parameters**
- All periods (e.g., long-term, short-term, ATR, ADX) and lookbacks are adjustable, allowing fine-tuning based on market behavior and trading preferences.
How to use:
G. Santostasi Power Law Cycle Comparison
G. Santostasi Power Law Cycle Comparison Indicator
The "G. Santostasi Power Law Cycle Comparison" indicator is a revolutionary tool designed to provide deep insights into Bitcoin's historical price behavior, based on the renowned G. Santostasi power law model. This indicator goes beyond simple trend analysis, leveraging the power law model to analyze Bitcoin's cyclical patterns by shifting and superimposing past cycles onto the current price action.
Key Features and Insights:
Cycle-Based Comparison:
The indicator divides each Bitcoin cycle into three distinct phases:
Exponential Growth Phase (Year 1): A year of near-exponential price appreciation, often associated with the post-halving effect and the inflow of new market participants.
Exponential Correction Phase (Year 2): A sharp, quasi-exponential price decline as the market corrects from speculative highs.
Power Law Growth Phase (Years 3 and 4): A steady and predictable price increase along the power law support line, representing Bitcoin’s intrinsic long-term value trajectory.
Visual Clarity:
By overlaying past cycles onto the current cycle, the indicator highlights recurring patterns, making it easy for investors to identify similarities and deviations in price behavior. This visual comparison helps pinpoint where we are within the current cycle.
Orientation Tool for Investors:
Provides a "map" of Bitcoin's price action across cycles, enabling investors to orient themselves and make more informed decisions.
Helps distinguish between short-term noise and long-term trends, offering a broader perspective on Bitcoin’s price trajectory.
Consistency and Coherence:
The indicator’s ability to show how Bitcoin cycles adhere to a consistent framework underscores its robustness and reliability. The distinct phases of growth, correction, and stabilization align perfectly with the power law model, offering a coherent narrative of Bitcoin’s market dynamics.
Utility for Risk Management and Strategy:
Investors can use this indicator to anticipate major price movements, identify overbought or oversold conditions within the context of the cycle, and plan entry or exit points based on historical patterns.
Uniqueness of the Indicator:
Unlike traditional indicators that focus solely on momentum or trend, the G. Santostasi Power Law Cycle Comparison is rooted in a scientific approach. By applying the power law model to Bitcoin's cyclical behavior, this tool offers unparalleled insights into the underlying mechanics of price action. The ability to compare current price dynamics with past cycles provides a unique perspective, revealing patterns that are often missed by conventional technical analysis.
Who Should Use This Indicator?
Long-Term Investors: Gain confidence in understanding Bitcoin’s price action over its multi-year cycles.
Active Traders: Identify key phases within the cycle to time market entries and exits.
Analysts and Researchers: Explore the fundamental consistency of Bitcoin’s power law behavior across cycles.
The "G. Santostasi Power Law Cycle Comparison" indicator is not just a tool; it’s a lens through which Bitcoin’s intricate market cycles can be viewed, understood, and navigated. By aligning historical context with current price action, this indicator empowers investors with clarity, foresight, and actionable insights.
Drawdown from All-Time High (Line)This Pine Script is a **Drawdown Indicator from All-Time High** for TradingView. It calculates and plots the percentage drawdown from the highest price the asset has ever reached (the all-time high). Here's a breakdown of what this script does:
### Description:
- **Drawdown Calculation**:
- The drawdown is calculated as the difference between the current price (`close`) and the all-time high, divided by the all-time high, and multiplied by 100 to express it as a percentage.
- If the current price is higher than the previous all-time high, the all-time high is updated to the current price.
- **All-Time High Tracking**:
- The script tracks the highest price (`allTimeHigh`) that the asset has ever reached. Each time a new high is reached, the `allTimeHigh` value is updated.
- **Line Plot**:
- The drawdown percentage is then plotted as a line on the chart, with a color of **blue** for easy visualization.
- The line shows how much the price has dropped relative to its all-time high.
- **Zero Line**:
- A horizontal line is added at the **0%** level to act as a reference point, which is helpful to identify when the asset has fully recovered to its all-time high.
### Key Features:
- **Track Drawdown**: The indicator helps visualize how far the current price has fallen from its highest point, which is useful for understanding the depth of losses (drawdowns) during a period.
- **Update All-Time High**: The indicator automatically updates the all-time high whenever a new high is detected.
- **Visual Reference**: The 0% horizontal line provides a clear indication of when the asset is at its all-time high, and the drawdown is at 0%.
### How it Works:
- If the current price surpasses the all-time high, the script will reset the all-time high to the new price.
- The drawdown percentage is calculated from the current price relative to this all-time high, and it is displayed as a line on the chart.
### Visuals:
- **Drawdown Line**: Plots the percentage of the drawdown, which is the drop from the all-time high.
- **Zero Line**: A dotted horizontal line at 0% marks the level of the all-time high.
This indicator is valuable for understanding the extent of price corrections and potential recoveries relative to the historical peak of the asset. It is especially useful for traders and investors who want to assess the risk of drawdowns in relation to the highest price achieved by the asset.
Asset Indexed by Future Interest
Este script em Pine Script calcula e exibe o índice de um ativo em relação à taxa de juros futuros (DI1) em um painel inferior. Ele obtém o preço de fechamento do ativo e a taxa de juros futuros DI1!, e em seguida, calcula o índice do ativo dividindo o preço do ativo pela taxa de juros futuros. Para evitar a divisão por zero, o script realiza uma validação para garantir que o valor da taxa de juros não seja nulo ou zero. O índice calculado é então plotado no painel inferior, em uma linha verde, permitindo que os usuários visualizem a relação entre o preço do ativo e os juros futuros de curto prazo. Esse índice pode ser útil para analisar como a taxa de juros influencia o comportamento do ativo.
This script in Pine Script calculates and displays the ratio of an asset to the future interest rate (DI1) in a lower panel. It obtains the asset's closing price and the future interest rate DI1!, and then calculates the asset index by dividing the asset price by the future interest rate. To avoid division by zero, the script performs validation to ensure that the interest rate value is not null or zero. The calculated index is then plotted in the bottom panel, in a green line, allowing users to visualize the relationship between the asset's price and short-term future interest. This index can be useful for analyzing how the interest rate influences the asset's behavior.
Adjust Asset for Future Interest (Brazil)Este script foi criado para ajustar o preço de um ativo com base na taxa de juros DI11!, que reflete a expectativa do mercado para os juros futuros. O objetivo é mostrar como o valor do ativo seria influenciado se fosse diretamente ajustado pela variação dessa taxa de juros.
Como funciona?
Preço do Ativo
O script começa capturando o preço de fechamento do ativo que está sendo visualizado no gráfico. Esse é o ponto de partida para o cálculo.
Taxa de Juros DI11!
Em seguida, ele busca os valores diários da taxa DI11! no mercado. Esta taxa é uma referência de juros de curto prazo, usada para ajustes financeiros e projeções econômicas.
Fator de Ajuste
Com a taxa de juros DI11!, o script calcula um fator de ajuste simples:
Fator de Ajuste
=
1
+
DI11
100
Fator de Ajuste=1+
100
DI11
Esse fator traduz a taxa percentual em um multiplicador aplicado ao preço do ativo.
Cálculo do Ativo Ajustado
Multiplica o preço do ativo pelo fator de ajuste para obter o valor ajustado do ativo. Este cálculo mostra como o preço seria se fosse diretamente influenciado pela variação da taxa DI11!.
Exibição no Gráfico
O script plota o preço ajustado do ativo como uma linha azul no gráfico, com maior espessura para facilitar a visualização. O resultado é uma curva que reflete o impacto teórico da taxa de juros DI11! sobre o ativo.
Utilidade
Este indicador é útil para entender como as taxas de juros podem influenciar ativos financeiros de forma hipotética. Ele é especialmente interessante para analistas que desejam avaliar a relação entre o mercado de renda variável e as condições de juros no curto prazo.
This script was created to adjust the price of an asset based on the DI11! interest rate, which reflects the market's expectation for future interest rates. The goal is to show how the asset's value would be influenced if it were directly adjusted by the variation of this interest rate.
How does it work?
Asset Price
The script starts by capturing the closing price of the asset that is being viewed on the chart. This is the starting point for the calculation.
DI11! Interest Rate
The script then searches for the daily values of the DI11! rate in the market. This rate is a short-term interest reference, used for financial adjustments and economic projections.
Adjustment Factor
With the DI11! interest rate, the script calculates a simple adjustment factor:
Adjustment Factor
=
1
+
DI11
100
Adjustment Factor=1+
100
DI11
This factor translates the percentage rate into a multiplier applied to the asset's price.
Adjusted Asset Calculation
Multiplies the asset price by the adjustment factor to obtain the adjusted asset value. This calculation shows how the price would be if it were directly influenced by the variation of the DI11! rate.
Display on the Chart
The script plots the adjusted asset price as a blue line on the chart, with greater thickness for easier visualization. The result is a curve that reflects the theoretical impact of the DI11! interest rate on the asset.
Usefulness
This indicator is useful for understanding how interest rates can hypothetically influence financial assets. It is especially interesting for analysts who want to assess the relationship between the equity market and short-term interest rate conditions.
PROWIN STUDY ALTCOIN INDEXPROWIN STUDY ALTCOIN INDEX
This indicator tracks the performance of key altcoin dominance indices (BTC.D, ETH.D, USDT.D, USDC.D, and DAI.D) by analyzing their closing prices. It calculates an Exponential Moving Average (EMA) to highlight the overall trend of the altcoin market. Key horizontal levels representing support (limit up), resistance (limit down), and a central line are drawn to help identify potential price action zones. This indicator is designed for analysis on the others.d asset in a daily timeframe, providing insights into market movements and altcoin dominance shifts.
Percent Movement HighlighterThe Percent Movement Highlighter is a custom TradingView indicator that visually highlights candles based on their percentage movement relative to the previous day's close. The indicator uses two user-defined thresholds:
Positive Threshold: Marks candles that move up by a specified percentage or more.
Negative Threshold: Marks candles that move down by a specified percentage or more.
Features:
Visual Highlights:
Green candles for upward moves exceeding the positive threshold.
Red candles for downward moves exceeding the negative threshold.
Dynamic Counters:
Displays a summary label that counts the number of positive, negative, and neutral candles dynamically as the chart progresses.
User Inputs:
Customizable positive and negative percentage thresholds to suit different trading strategies.
This tool is useful for traders seeking to identify significant price movements and analyze market volatility efficiently.
Pivot Highs/Lows with Bar CountsWhat does the indicator do?
This indicator adds labels to a chart at swing (a.k.a., "pivot") highs and lows. Each label may contain a date, the closing price at the swing, the number of bars since the last swing in the same direction, and the number of bars from the last swing in the opposite direction. A table is also added to the chart that shows the average, min, and max number of bars between swings.
OK, but how do I use it?
Many markets -- especially sideways-moving ones -- commonly cycle between swing highs and lows at regular time intervals. By measuring the number of bars between highs and lows -- both same-sided swings (i.e., H-H and L-L) and opposite-sided swings (i.e., H-L and L-H) -- you can then project the averages of those bar counts from the last high or low swing to make predictions about where the next swing high or low should occur. Note that this indicator does not make the projection for you. You have to determine which swing you want to project from and then use the bar counts from the indicator to draw a line, place a label, etc.
Example: Chart of BTC/USD
The indicator shows pivot highs and lows with bar counts, and it displays a table of stats on those pivots.
If you focus on the center section of the chart, you can see that prices were moving in a sideways channel with very regular highs and lows. This indicator counts the bars between these pivots, and you could have used those counts to predict when the next high or low may have occurred.
The bar counts do not work as well on the more recent section of the chart because there are no regularly time swings.
TASC 2025.01 Linear Predictive Filters█ OVERVIEW
This script implements a suite of tools for identifying and utilizing dominant cycles in time series data, as introduced by John Ehlers in the "Linear Predictive Filters And Instantaneous Frequency" article featured in the January 2025 edition of TASC's Traders' Tips . Dominant cycle information can help traders adapt their indicators and strategies to changing market conditions.
█ CONCEPTS
Conventional technical indicators and strategies often rely on static, unchanging parameters, which may fail to account for the dynamic nature of market data. In his article, John Ehlers applies digital signal processing principles to address this issue, introducing linear predictive filters to identify cyclic information for adapting indicators and strategies to evolving market conditions.
This approach treats market data as a complex series in the time domain. Analyzing the series in the frequency domain reveals information about its cyclic components. To reduce the impact of frequencies outside a range of interest and focus on a specific range of cycles, Ehlers applies second-order highpass and lowpass filters to the price data, which attenuate or remove wavelengths outside the desired range. This band-limited analysis isolates specific parts of the frequency spectrum for various trading styles, e.g., longer wavelengths for position trading or shorter wavelengths for swing trading.
After filtering the series to produce band-limited data, Ehlers applies a linear predictive filter to predict future values a few bars ahead. The filter, calculated based on the techniques proposed by Lloyd Griffiths, adaptively minimizes the error between the latest data point and prediction, successively adjusting its coefficients to align with the band-limited series. The filter's coefficients can then be applied to generate an adaptive estimate of the band-limited data's structure in the frequency domain and identify the dominant cycle.
█ USAGE
This script implements the following tools presented in the article:
Griffiths Predictor
This tool calculates a linear predictive filter to forecast future data points in band-limited price data. The crosses between the prediction and signal lines can provide potential trade signals.
Griffiths Spectrum
This tool calculates a partial frequency spectrum of the band-limited price data derived from the linear predictive filter's coefficients, displaying a color-coded representation of the frequency information in the pane. This mode's display represents the data as a periodogram . The bottom of each plotted bar corresponds to a specific analyzed period (inverse of frequency), and the bar's color represents the presence of that periodic cycle in the time series relative to the one with the highest presence (i.e., the dominant cycle). Warmer, brighter colors indicate a higher presence of the cycle in the series, whereas darker colors indicate a lower presence.
Griffiths Dominant Cycle
This tool compares the cyclic components within the partial spectrum and identifies the frequency with the highest power, i.e., the dominant cycle . Traders can use this dominant cycle information to tune other indicators and strategies, which may help promote better alignment with dynamic market conditions.
Notes on parameters
Bandpass boundaries:
In the article, Ehlers recommends an upper bound of 125 bars or higher to capture longer-term cycles for position trading. He recommends an upper bound of 40 bars and a lower bound of 18 bars for swing trading. If traders use smaller lower bounds, Ehlers advises a minimum of eight bars to minimize the potential effects of aliasing.
Data length:
The Griffiths predictor can use a relatively small data length, as autocorrelation diminishes rapidly with lag. However, for optimal spectrum and dominant cycle calculations, the length must match or exceed the upper bound of the bandpass filter. Ehlers recommends avoiding excessively long lengths to maintain responsiveness to shorter-term cycles.
Adjustable Entry Price Levels by Sobhi v6Adjustable Entry Price Levels", is designed to display customizable price levels on a chart, allowing traders to visualize key price zones relative to a chosen entry price. Here's a detailed breakdown of its functionality:
Purpose
The indicator helps traders create and manage equidistant price levels (both above and below a selected entry price). These levels can assist in planning trades, setting stop-loss and take-profit levels, or identifying key market zones for decision-making.
Features
Entry Price Input:
Users can specify a starting price (Entry Price) to base the levels on.
Adjustable Distance Between Levels:
Levels are spaced at a user-defined interval (Distance), creating equidistant horizontal lines.
Number of Levels:
Users can select how many levels to display above and below the entry price (Number of Levels).
Line Customization:
Style: Choose between Solid, Dotted, or Dashed lines.
Color: Customize the color for upward and downward levels (Line Color Up and Line Color Down).
Thickness: Adjust line thickness (Line Width).
Label Customization:
Visibility: Option to show or hide labels on each level (Show Labels).
Font Size: Set the size of the text for level labels (Label Font Size).
Colors: Separate customization for labels above (Label Color Up) and below (Label Color Down) the entry price.
Extended Line Display:
The lines extend backward (Extend Bars Back) and forward (Extend Bars Forward) to ensure visibility over a larger section of the chart.
Visualization
Upward Levels:
Represented by blue (default) horizontal lines above the entry price.
Labels display the price value of each level in the same color.
Downward Levels:
Represented by red (default) horizontal lines below the entry price.
Labels display the price value of each level in the same color.
Example Use Case
Scenario 1: Support and Resistance Planning
A trader can define a key level (Entry Price) and observe nearby support and resistance zones using the calculated price levels.
Scenario 2: Risk Management
The indicator helps in visualizing stop-loss and take-profit areas equidistant from the entry price.
Scenario 3: Breakout Targets
Traders can use the levels to anticipate potential breakout or breakdown targets.
Customization Options
This indicator is highly customizable, making it versatile for different trading strategies. Traders can tweak:
The visual appearance of the levels (style, color, width).
The number of levels and their spacing.
Whether labels are displayed and their style.
Raiks 3am Model & NQ MacrosThis indicator marks the 2 am candle (which is where we start our trading session and look for entries), and the 3 am candle with a dynamic background color feature. If the 3 am candle is bullish the background will be green. If the 3 am candle is bearish, the background will be red.
The 2 am candle Is there to make it easier to backtest and forward test when the trading session begins for this 3 am model. E.g. if at 2:10 you see a big bearish imbalance, you can enter off the retest/fill of the imbalance and target the nearest lows/highs imbalances or key levels on the left of the chart before 2 am aka the asian session range.
The significance of the 3 a.m. candle is a key part of my 3 a.m. model. Looking at the 5-minute chart only, If the 3 a.m. candle is bullish, then our market bias for the rest of the day is also bullish, and starting from the 3 am candle (once it has closed), we should look for bullish entry setups—and vice versa.
For Nasdaq or S&P500 only: If no setups can be found between 3 am and 9 am New York time (UTC-5), then look for entry setups within the ICT NY Macro timezones using the ICT market maker sell model (if we are bearish and looking for sells) or the market maker buy model (if we are bullish and looking for buys).
PS: This Strategy only requires you to use the 5-minute chart, starting from the 2 am candle up to the end of the trading day for entries and exits. Optionally, you can scale down to a 1-minute chart to refine your entries even better.
Backtest this model and you'll be surprised at how powerful the 3 am candle Is at determining daily bias!
Have Fun using this indicator :)
Made with love by Raik aka Don Raul aka Neon
3D MA Whale HeatMap"Whale Balance" Heatmap Indicator
This indicator visualizes market trends by analyzing "whale balance" behavior on a daily and weekly basis. It compares the current "whale balance" (daily close) with the 7-day average balance to calculate the percentage change and plots a heatmap based on the results.
Key Features
Heatmap Representation:
- Red (Extra High): Indicates a very overheated market (> 54%).
- Orange (High): Represents a heated increase in "whale balance" (> 20%).
- Yellow (Medium): Shows a warm growth in "whale balance" (> 10%).
- Blue (Normal): Reflects a neutral "whale balance" (-20% to 10%).
- Cyan (Low): Marks a cool decline in "whale balance" (-20% to -54%).
Simple Moving Average (SMA):
- A 3-period SMA smooths the percentage change in "whale balance" to reduce noise and improve clarity.
- Users can adjust the moving average length via the MA Length input.
Usability:
- Aimed at traders seeking to monitor longer-term "whale activity" trends .
- Helps identify potential reversals or continuation patterns in market behavior.
How It Works
- The script calculates the percentage difference between the current daily "whale balance" and the "whale balance" from 7 days ago.
- This difference is smoothed using an SMA and color-coded into a heatmap for easy visualization.
- The heatmap is plotted directly on the chart, providing a quick glance at the strength and direction of "whale activity."
How to Use
- Apply the indicator to any chart to assess the trend in "whale behavior."
- Use the color-coded heatmap to spot major inflows ( red/orange ) or outflows ( cyan/blue ) of "whale activity."
- The gray horizontal line at 0.3 highlights a threshold where the positive "whale balance" trend begins to strengthen significantly.
Example Use Cases
- Trend Confirmation: Combine with other trend indicators to confirm market strength or weakness.
- Entry/Exit Timing: Look for transitions between heatmap colors to time entries or exits.
Disclaimer
- This indicator is not tracking actual "whales" or their balances. The term "whale balance" here refers to a calculated metric designed to provide a longer-term view of market trends. It does not represent real data from actual market participants or "whales."
- This indicator does not guarantee future performance but provides an insightful tool for analyzing "whale balance" trends.
Volume-MACD-RSI Integrated StrategyDescription:
This script integrates three well-known technical analysis tools—Volume, MACD, and RSI—into a single signal meant to help traders identify potential turning points under strong market conditions.
Concept Overview:
Volume Filter: We compare the current bar’s volume to a 20-period volume average and require it to exceed a specified multiplier. This ensures that signals occur only during periods of heightened market participation. The logic is that moves on low volume are less reliable, so we wait for increased activity to confirm potential trend changes.
MACD Momentum Shift:
We incorporate MACD crossovers to determine when momentum is changing direction. MACD is a popular momentum indicator that identifies shifts in trend by comparing short-term and long-term EMAs. A bullish crossover (MACD line crossing above the signal line) may suggest upward momentum is building, while a bearish crossunder can indicate momentum turning downward.
RSI Market Condition Check:
RSI helps us identify overbought or oversold conditions. By requiring that RSI be oversold on buy signals and overbought on sell signals, we attempt to pinpoint entries where price could be at an extreme. The idea is to position entries or exits at junctures where price may be due for a reversal.
How the Script Works Together:
Volume Confirmation: No signals fire unless there’s strong volume. This reduces false positives.
MACD Momentum Check: Once volume confirms market interest, MACD crossover events serve as a trigger to initiate consideration of a trade signal.
RSI Condition: Finally, RSI determines whether the market is at an extreme. This final layer helps ensure we only act on signals that have both momentum shift and a price at an extreme level, potentially increasing the reliability of signals.
Intended Use:
This script can help highlight potential reversal points or trend shifts during active market periods.
Traders can use these signals as a starting point for deeper analysis. For instance, a “BUY” arrow may prompt a trader to investigate the market context, confirm with other methods, or look for patterns that further support a long entry.
The script is best used on markets with reliable volume data, such as stocks or futures, and can be experimented with across different timeframes. Adjusting the RSI thresholds, MACD parameters, and volume multiplier can help tailor it to specific instruments or trading styles.
Chart Setup:
When adding this script to your chart, it should be the only indicator present, so you can clearly see the red “BUY” arrows and green “SELL” arrows at the candle closes where signals occur.
The chart should be kept clean and uncluttered for clarity. No other indicators are necessary since the logic is already integrated into this single script.
4-Year Cycles [jpkxyz]Overview of the Script
I wanted to write a script that encompasses the wide-spread macro fund manager investment thesis: "Crypto is simply and expression of macro." A thesis pioneered by the likes of Raoul Pal (EXPAAM) , Andreesen Horowitz (A16Z) , Joe McCann (ASYMETRIC) , Bob Loukas and many more.
Cycle Theory Background:
The 2007-2008 financial crisis transformed central bank monetary policy by introducing:
- Quantitative Easing (QE): Creating money to buy assets and inject liquidity
- Coordinated global monetary interventions
Proactive 4-year economic cycles characterised by:
- Expansionary periods (low rates, money creation)
- Followed by contraction/normalisation
Central banks now deliberately manipulate liquidity, interest rates, and asset prices to control economic cycles, using monetary policy as a precision tool rather than a blunt instrument.
Cycle Characteristics (based on historical cycles):
- A cycle has 4 seasons (Spring, Summer, Fall, Winter)
- Each season with a cycle lasts 365 days
- The Cycle Low happens towards the beginning of the Spring Season of each new cycle
- This is followed by a run up throughout the Spring and Summer Season
- The Cycle High happens towards the end of the Fall Season
- The Winter season is characterised by price corrections until establishing a new floor in the Spring of the next cycle
Key Functionalities
1. Cycle Tracking
- Divides market history into 4-year cycles (Spring, Summer, Fall, Winter)
- Starts tracking cycles from 2011 (first cycle after the 2007 crisis cycle)
- Identifies and marks cycle boundaries
2. Visualization
- Colors background based on current cycle season
- Draws lines connecting:
- Cycle highs and lows
- Inter-cycle price movements
- Adds labels showing:
- Percentage gains/losses between cycles
- Number of days between significant points
3. Customization Options
- Allows users to customize:
- Colors for each season
- Line and label colors
- Label size
- Background opacity
Detailed Mechanism
Cycle Identification
- Uses a modulo calculation to determine the current season in the 4-year cycle
- Preset boundary years include 2015, 2019, 2023, 2027
- Automatically tracks and marks cycle transitions
Price Analysis
- Tracks highest and lowest prices within each cycle
- Calculates percentage changes:
- Intra-cycle (low to high)
- Inter-cycle (previous high to current high/low)
Visualization Techniques
- Background color changes based on current cycle season
- Dashed and solid lines connect significant price points
- Labels provide quantitative insights about price movements
Unique Aspects
1. Predictive Cycle Framework: Provides a structured way to view market movements beyond traditional technical analysis
2. Seasonal Color Coding: Intuitive visual representation of market cycle stages
3. Comprehensive Price Tracking: Captures both intra-cycle and inter-cycle price dynamics
4. Highly Customizable: Users can adjust visual parameters to suit their preferences
Potential Use Cases
- Technical analysis for long-term investors
- Identifying market cycle patterns
- Understanding historical price movement rhythms
- Educational tool for market cycle theory
Limitations/Considerations
- Based on a predefined 4-year cycle model (Liquidity Cycles)
- Historic Cycle Structures are not an indication for future performance
- May not perfectly represent all market behavior
- Requires visual interpretation
This script is particularly interesting for investors who believe in cyclical market theories and want a visual, data-driven representation of market stages.
Weekly Covered Calls Strategy with IV & Delta LogicWhat Does the Indicator Do?
this is interactive you must use it with your options chain to input data based on the contract you want to trade.
Visualize three strike price levels for covered calls based on:
Aggressive (closest to price, riskier).
Moderate (mid-range, balanced).
Low Delta (farthest, safer).
Incorporate Implied Volatility (IV) from the options chain to make strike predictions more realistic and aligned with market sentiment. Adjust the risk tolerance by modifying Delta inputs and IV values. Risk is defined for example .30 delta means 30% chance of your shares being assigned. If you want to generate steady income with your shares you might want to lower the risk of them being assigned to .05 or 5% etc.
How to Use the Indicator with the Options Chain
Start with the Options Chain:
Look for the following data points from your options chain:
Implied Volatility (IV Mid): Average IV for a particular strike price.
Delta:
~0.30 Delta: Closest strike (Aggressive).
~0.15–0.20 Delta: Mid-range strike (Moderate).
~0.05–0.10 Delta: Far OTM, safer (Low Delta).
Strike Price: Identify strike prices for the desired Deltas.
Open Interest: Check liquidity; higher OI ensures tighter spreads.
Input IV into the Indicator:
Enter the IV Mid value (e.g., 0.70 for 70%) from the options chain into the Implied Volatility field of the indicator.
Adjust Delta Inputs Based on Risk Tolerance:
Aggressive Delta: Increase if you want strikes closer to the current price (riskier, higher premium).
Default: 0.2 (20% chance of shares being assigned).
Moderate Delta: Balanced risk/reward.
Default: 0.12 (12%)
Low Delta: Decrease for safer, farther OTM strikes.
Default: 0.05 (5%)
Visualize the Chart:
Once inputs are updated:
Red Line: Aggressive Strike (closest, riskiest, higher premium).
Blue Line: Moderate Strike (mid-range).
Green Line: Low Delta Strike (farthest, safer).
Step-by-Step Workflow Example
Open the options chain and note:
Implied Volatility (IV Mid): Example 71.5% → input as 0.715.
Delta for desired strikes:
Aggressive: 0.30 Delta → Closest strike ~ $455.
Moderate: 0.15 Delta → Mid-range strike ~ $470.
Low Delta: 0.05 Delta → Farther strike ~ $505.
Open the indicator and adjust:
IV Mid: Enter 0.715.
Aggressive Delta: Leave at 0.12 (or adjust to bring strikes closer).
Moderate Delta: Leave at 0.18.
Low Delta: Adjust to 0.25 for safer, farther strikes.
View the chart:
Compare the indicator's strikes (red, blue, green) with actual options chain strikes.
Use the visualization to: Validate the risk/reward for each strike.
Align strikes with technical trends, support/resistance.
Adjusting Inputs Based on Risk Tolerance
Higher Risk: Increase Aggressive Delta (e.g., 0.15) for closer strikes.
Use higher IV values for volatile stocks.
Moderate Risk: Use default values (0.12–0.18 Delta).
Balance premiums and probability.
Lower Risk: Increase Low Delta (e.g., 0.30) for farther, safer strikes.
Focus on higher IV stocks with good open interest.
Key Benefits
Simplifies Strike Selection: Visualizes the three risk levels directly on the chart.
Aligns with Market Sentiment: Incorporates IV for realistic forecasts.
Customizable for Risk: Adjust inputs to match personal risk tolerance.
By combining the options chain (IV, Delta, and liquidity) with the technical chart, you get a powerful, visually intuitive tool for covered call strategies.
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.
Weekly Covered Calls StrategyWhat Does This Indicator Do?
This indicator is a tool to help you pick strike prices for your weekly covered call options strategy. It does two things:
Plots two suggested strike prices on your chart:
Aggressive Strike (red label): A strike price closer to the current price, offering higher premiums but with a higher chance of assignment.
Moderate Strike (blue label): A strike price further from the current price, offering lower premiums but with a lower chance of assignment.
Uses technical analysis (volatility) to calculate these strike prices dynamically. It adjusts them based on the market's volatility and your chosen risk settings.
How It Works:
The indicator uses the following inputs to determine the strike prices:
ATR (Average True Range):
This measures the stock's volatility (how much the stock moves up or down over a given period).
A higher ATR = more volatile stock = wider range for strike prices.
Delta Adjustments:
The default settings use Delta values of 0.12 (Aggressive) and 0.18 (Moderate).
Delta is a concept in options trading that estimates the likelihood of the option being "in the money" (ITM) by expiration.
A 0.12 Delta = 12% chance of assignment (Aggressive)
A 0.18 Delta = 18% chance of assignment (Moderate)
Volatility Factor:
This multiplies the ATR by a factor (default is 1.5) to estimate the expected price move and adjust strike prices accordingly.
How to Use the Indicator:
Step 1: Understand the Labels
Red Label (Aggressive Strike):
Closer to the current stock price.
You’ll collect higher premiums because the strike price is riskier (closer to being ITM).
Best for traders comfortable with a higher risk of assignment.
Blue Label (Moderate Strike):
Further from the current stock price.
You’ll collect lower premiums because the strike price is safer (further from being ITM).
Best for traders looking to avoid assignment and collect safer weekly income.
Step 2: Match It to the Options Chain
Open your options chain (like the one you see in Fidelity, TOS, or TradingView).
Look for the strike prices closest to the red (aggressive) and blue (moderate) labels plotted by the indicator.
Compare the premiums (the amount you collect for selling the call) and decide:
If you want higher income: Go with the Aggressive Strike.
If you want safety: Go with the Moderate Strike.
Step 3: Manage Your Risk and Income
Avoid Assignment:
If you do not want your shares to be called away, choose strike prices further from the current price (e.g., moderate strike).
Maximize Premiums:
If you’re okay with a chance of your shares being called away, choose the closer aggressive strike for higher premium income.
Weekly Income Goal:
Use this strategy consistently each week to collect premium income while holding your shares.
Step 4: Adjust for Your Risk Tolerance
You can adjust the Delta values (0.12 for Aggressive and 0.18 for Moderate) to suit your risk tolerance:
Lower Delta (e.g., 0.08–0.10): Safer, fewer chances of assignment, lower premiums.
Higher Delta (e.g., 0.20–0.25): Riskier, higher chances of assignment, higher premiums.
Technical Analysis Summary (What the Indicator Uses):
The indicator uses ATR (Average True Range) to measure volatility and estimate how far the price might move.
It then multiplies ATR by a Volatility Factor to calculate the strike prices.
Using the Delta Adjustment settings, it adjusts these strike prices to give you a balance between risk and reward.
Putting It All Together:
Look at the Chart: The indicator will show two lines and labels for strike prices.
Check the Options Chain: Find the closest strike prices and compare premiums.
Decide Your Strategy:
Want higher premium income? Choose the Aggressive Strike (red label).
Want lower risk of assignment? Choose the Moderate Strike (blue label).
Collect Weekly Income: Sell the call option and repeat this process weekly to generate consistent income.
Happy trading, and may your premiums roll in while your shares stay safe! 🎯📊
AHR999X IndexAHR999X Index - A Tool to Watch BITSTAMP:BTCUSD Bitcoin Tops
The AHR999X Index is designed as an extension of the well-known AHR999 Index, specifically to help identify Bitcoin's market tops. This index combines two critical components:
200-Day Fixed Investment Cost:
The average cost if you invested a fixed amount into Bitcoin every day over the last 200 days (using a geometric mean).
Growth Estimate:
A price estimate derived from a logarithmic regression model based on Bitcoin's age.
The formula for AHR999X is:
AHR999X = (Bitcoin Price ÷ 200-Day Fixed Investment Cost) × (Bitcoin Price ÷ Growth Estimate) × 3
How to Interpret AHR999X
Above 8: Accumulation Zone – Bitcoin is historically undervalued.
Between 0.45 and 8: Neutral Zone – Bitcoin is within a reasonable price range.
Below 0.45: Exit Zone – Historically signals market tops and high-risk areas.
A Cycle Observation
One important point to note:
The bottom value of AHR999X increases with every Bitcoin market cycle.
This reflects Bitcoin's long-term price appreciation and diminishing volatility over time.
20/50 SMA Cross 200 SMAThis Pine Script code is designed to identify and visualize crossovers of two shorter-term Simple Moving Averages (SMAs), a 20-period SMA and a 50-period SMA, with a longer-term 200-period SMA on a price chart. It also includes alerts for these crossover events. Here's a breakdown:
**Purpose:**
The core idea behind this script is to detect potential trend changes. Crossovers of shorter-term moving averages over a longer-term moving average are often interpreted as bullish signals, while crossovers below are considered bearish.
**Key Components:**
1. **Moving Average Calculation:**
* `sma20 = ta.sma(close, 20)`: Calculates the 20-period SMA of the closing price.
* `sma50 = ta.sma(close, 50)`: Calculates the 50-period SMA of the closing price.
* `sma200 = ta.sma(close, 200)`: Calculates the 200-period SMA of the closing price.
2. **Crossover Detection:**
* `crossUp20 = ta.crossover(sma20, sma200)`: Returns `true` when the 20-period SMA crosses above the 200-period SMA.
* `crossDown20 = ta.crossunder(sma20, sma200)`: Returns `true` when the 20-period SMA crosses below the 200-period SMA.
* Similar logic applies for `crossUp50` and `crossDown50` with the 50-period SMA.
3. **Recent Crossover Tracking (Crucial Improvement):**
* `lookback = 7`: Defines a lookback period of 7 bars.
* `var bool hasCrossedUp20 = false`, etc.: Declares `var` (persistent) boolean variables to track if a crossover has occurred *within* the last 7 bars. This is the most important correction from previous versions.
* The logic using `ta.barssince()` is the key:
* If a crossover happens (`crossUp20` is true), the corresponding `hasCrossedUp20` is set to `true`.
* If no crossover happens on the current bar, it checks if a crossover happened within the last 7 bars using `ta.barssince(crossUp20) <= lookback`. If so, it keeps `hasCrossedUp20` as `true`. After 7 bars, it becomes `false`.
4. **Plotting Crossovers:**
* `plotshape(...)`: Plots circles on the chart to visually mark the crossovers.
* Green circles below the bars for bullish crossovers (20 and 50).
* Red circles above the bars for bearish crossovers (20 and 50).
* Different shades of green/red (green/lime, red/maroon) distinguish between 20 and 50 SMA crossovers.
5. **Plotting Moving Averages (Optional but Helpful):**
* `plot(sma20, color=color.blue, linewidth=1)`: Plots the 20-period SMA in blue.
* Similar logic for the 50-period SMA (orange) and 200-period SMA (gray).
6. **Alerts:**
* `alertcondition(...)`: Triggers alerts when crossovers occur. This is essential for real-time trading signals.
**How it Works (in Simple Terms):**
The script continuously calculates the 20, 50, and 200 SMAs. It then monitors for instances where the 20 or 50 SMA crosses the 200 SMA. When such a crossover happens, a colored circle is plotted on the chart, and an alert is triggered. The key improvement is that it remembers if a crossover occurred in the last 7 bars and continues to display the circle during that period.
**Use Case:**
Traders use this type of indicator to identify potential entry and exit points in the market. A bullish crossover (shorter SMA crossing above the longer SMA) might be a signal to buy, while a bearish crossover might be a signal to sell.
**Key Improvements over Previous Versions:**
* **Correct Lookback Implementation:** The use of `ta.barssince()` and `var` variables is the correct and efficient way to check for crossovers within a lookback period. This fixes the major flaw in earlier versions.
* **Clear Visualizations:** The use of `plotshape` with distinct colors makes it easy to distinguish between 20 and 50 SMA crossovers.
* **Alerts:** The inclusion of alerts makes the script much more practical for real-time trading.
This improved version provides a robust and useful tool for identifying and tracking SMA crossovers.
Hossa Indicator PureThe Hossa Indicator Pure is a custom technical analysis tool designed to measure market volatility and momentum using normalized Ichimoku-based calculations. It identifies overbought and oversold conditions, providing traders with insights into potential trend reversals or continuation points.
Key Features:
Ichimoku-Based Volatility Analysis:
Calculates volatility using the difference between Tenkan-sen, Kijun-sen, and Senkou Span B.
Incorporates a normalized "Kumo depth" calculation for enhanced volatility insights.
Normalization with Dynamic Bands:
Smooths raw volatility data using a moving average and adjusts it with a standard deviation multiplier.
The normalized indicator is scaled between custom overbought and oversold levels, making it adaptable to different market conditions.
Overbought and Oversold Alerts:
Generates alerts when the indicator crosses into overbought or oversold zones, allowing traders to act promptly.
Dynamic Color-Coded Trend Visualization:
Displays the indicator line in green for upward momentum and red for downward momentum, providing an at-a-glance view of market conditions.
Customizable Inputs:
Tenkan-sen Period: Controls the short-term trend sensitivity.
Kijun-sen Period: Adjusts the medium-term trend.
Senkou Span B Period: Configures the long-term trend baseline.
Smoothing Period: Refines volatility analysis.
Standard Deviation Multiplier: Tailors the sensitivity of the overbought/oversold zones.
Overbought/Oversold Levels: Defines thresholds for signal generation.
How It Works:
Ichimoku Calculations:
Tenkan-sen and Kijun-sen are calculated as averages of the highest high and lowest low over their respective periods.
Future Span A and Future Span B form the basis for volatility depth (Kumo depth).
Volatility Normalization:
The raw Kumo depth is smoothed using a moving average and normalized using statistical bands (average ± standard deviation).
Signal Generation:
Overbought signals are triggered when the normalized indicator exceeds the overbought level.
Oversold signals are generated when the indicator falls below the oversold level.
Visual Representation:
Plots a normalized indicator line with dynamic colors based on momentum.
Includes horizontal dashed lines marking the overbought and oversold thresholds.
Alerts:
Customizable alerts notify traders when overbought or oversold conditions are met.
How to Use:
Set Input Parameters:
Adjust the periods for Tenkan-sen, Kijun-sen, and Senkou Span B to align with your trading style (e.g., shorter periods for scalping, longer for swing trading).
Configure smoothing and standard deviation multiplier to control signal sensitivity.
Monitor Indicator Line:
Look for overbought and oversold conditions based on the defined thresholds.
Use dynamic line colors to identify potential trend reversals (green for bullish, red for bearish).
Alerts:
Set alerts to notify you of overbought/oversold conditions to stay updated without constant chart monitoring.
The Hossa Indicator Pure provides a versatile tool for volatility analysis and momentum detection, suitable for traders seeking precise and customizable insights into market conditions.
Weighted Fourier Transform: Spectral Gating & Main Frequency🙏🏻 This drop has 2 purposes:
1) to inform every1 who'd ever see it that Weighted Fourier Tranform does exist, while being available nowhere online, not even in papers, yet there's nothing incredibly complicated about it, and it can/should be used in certain cases;
2) to show TradingView users how they can use it now in dem endevours, to show em what spectral filtering is, and what can they do with all of it in diy mode.
... so we gonna have 2 sections in the description
Section 1: Weighted Fourier Transform
It's quite easy to include weights in Fourier analysis: you just premultiply each datapoint by its corresponding weight -> feed to direct Fourier Transform, and then divide by weights after inverse Fourier transform. Alternatevely, in direct transform you just multiply contributions of each data point to the real and imaginary parts of the Fourier transform by corresponding weights (in accumulation phase), and in inverse transform you divide by weights instead during the accumulation phase. Everything else stays the same just like in non-weighted version.
If you're from the first target group let's say, you prolly know a thing or deux about how to code & about Fourier Transform, so you can just check lines of code to see the implementation of Weighted Discrete version of Fourier Transform, and port it to to any technology you desire. Pine Script is a developing technology that is incredibly comfortable in use for quant-related tasks and anything involving time series in general. While also using Python for research and C++ for development, every time I can do what I want in Pine Script, I reach for it and never touch matlab, python, R, or anything else.
Weighted version allows you to explicetly include order/time information into the operation, which is essential with every time series, although not widely used in mainstream just as many other obvious and right things. If you think deeply, you'll understand that you can apply a usual non-weighted Fourier to any 2d+ data you can (even if none of these dimensions represent time), because this is a geometric tool in essence. By applying linearly decaying weights inside Fourier transform, you're explicetly saying, "one of these dimensions is Time, and weights represent the order". And obviously you can combine multiple weightings, eg time and another characteristic of each datum, allows you to include another non-spatial dimension in your model.
By doing that, on properly processed (not only stationary but Also centered around zero data), you can get some interesting results that you won't be able to recreate without weights:
^^ A sine wave, centered around zero, period of 16. Gray line made by: DWFT (direct weighted Fourier transform) -> spectral gating -> IWFT (inverse weighted Fourier transform) -> plotting the last value of gated reconstructed data, all applied to expanding window. Look how precisely it follows the original data (the sine wave) with no lag at all. This can't be done by using non-weighted version of Fourier transform.
^^ spectral filtering applied to the whole dataset, calculated on the latest data update
And you should never forget about Fast Fourier Transform, tho it needs recursion...
Section 2: About use cases for quant trading, about this particular implementaion in Pine Script 6 (currently the latest version as of Friday 13, December 2k24).
Given the current state of things, we have certain limits on matrix size on TradingView (and we need big dope matrixes to calculate polynomial regression -> detrend & center our data before Fourier), and recursion is not yet available in Pine Script, so the script works on short datasets only, and requires some time.
A note on detrending. For quality results, Fourier Transform should be applied to not only stationary but also centered around zero data. The rightest way to do detrending of time series
is to fit Cumulative Weighted Moving Polynomial Regression (known as WLSMA in some narrow circles xD) and calculate the deltas between datapoint at time t and this wonderful fit at time t. That's exactly what you see on the main chart of script description: notice the distances between chart and WLSMA, now look lower and see how it matches the distances between zero and purple line in WFT study. Using residuals of one regression fit of the whole dataset makes less sense in time series context, we break some 'time' and order rules in a way, tho not many understand/cares abouit it in mainstream quant industry.
Two ways of using the script:
Spectral Gating aka Spectral filtering. Frequency domain filtering is quite responsive and for a greater computational cost does not introduce a lag the way it works with time-domain filtering. Works this way: direct Fourier transform your data to get frequency & phase info -> compute power spectrum out of it -> zero out all dem freqs that ain't hit your threshold -> inverse Fourier tranform what's left -> repeat at each datapoint plotting the very first value of reconstructed array*. With this you can watch for zero crossings to make appropriate trading decisions.
^^ plot Freq pass to use the script this way, use Level setting to control the intensity of gating. These 3 only available values: -1, 0 and 1, are the general & natural ones.
* if you turn on labels in script's style settings, you see the gray dots perfectly fitting your data. They get recalculated (for the whole dataset) at each update. You call it repainting, this is for analytical & aesthetic purposes. Included for demonstration only.
Finding main/dominant frequency & period. You can use it to set up Length for your other studies, and for analytical purposes simply to understand the periodicity of your data.
^^ plot main frequency/main period to use the script this way. On the screenshot, you can see the script applied to sine wave of period 16, notice how many datapoints it took the algo to figure out the signal's period quite good in expanding window mode
Now what's the next step? You can try applying signal windowing techniques to make it all less data-driven but your ego-driven, make a weighted periodogram or autocorrelogram (check Wiener-Khinchin Theorem ), and maybe whole shiny spectrogram?
... you decide, choice is yours,
The butterfly reflect the doors ...
∞
LRI Momentum Cycles [AlgoAlpha]Discover the LRI Momentum Cycles indicator by AlgoAlpha, a cutting-edge tool designed to identify market momentum shifts using trend normalization and linear regression analysis. This advanced indicator helps traders detect bullish and bearish cycles with enhanced accuracy, making it ideal for swing traders and intraday enthusiasts alike.
Key Features :
🎨 Customizable Appearance : Set personalized colors for bullish and bearish trends to match your charting style.
🔧 Dynamic Trend Analysis : Tracks market momentum using a unique trend normalization algorithm.
📊 Linear Regression Insight : Calculates real-time trend direction using linear regression for better precision.
🔔 Alert Notifications : Receive alerts when the market switches from bearish to bullish or vice versa.
How to Use :
🛠 Add the Indicator : Favorite and apply the indicator to your TradingView chart. Adjust the lookback period, linear regression source, and regression length to fit your strategy.
📊 Market Analysis : Watch for color changes on the trend line. Green signals bullish momentum, while red indicates bearish cycles. Use these shifts to time entries and exits.
🔔 Set Alerts : Enable notifications for momentum shifts, ensuring you never miss critical market moves.
How It Works :
The LRI Momentum Cycles indicator calculates trend direction by applying linear regression on a user-defined price source over a specified period. It compares historical trend values, detecting bullish or bearish momentum through a dynamic scoring system. This score is normalized to ensure consistent readings, regardless of market conditions. The indicator visually represents trends using gradient-colored plots and fills to highlight changes in momentum. Alerts trigger when the momentum state changes, providing actionable trading signals.