RV- Dynamic Trend AnalyzerRV Dynamic Trend Analyzer
The RV Dynamic Trend Analyzer is a powerful TradingView indicator designed to help traders identify and capitalize on trends across multiple time frames—daily, weekly, and monthly. With dynamic adjustments to key technical indicators like EMA and MACD, the tool adapts to different chart periods, ensuring more accurate signals. Whether you are swing trading or holding longer-term positions, this indicator provides reliable buy/sell signals, breakout opportunities, and customizable visual elements to enhance decision-making. Its intelligent use of EMAs and MACD values ensures high potential returns, making it suitable for traders seeking strong, data-driven strategies. Below are its core features and their respective benefits.
Supertrend Indicator:
Importance: The Supertrend is a trend-following tool that helps traders identify the market’s direction by offering clear buy and sell signals based on price movement relative to the Supertrend line.
Benefits:
Helps filter out market noise and enables traders to stay in trends longer.
The pullback detection feature enhances trade timing by identifying potential entry points during retracements.
ATH/ATL & 52-Week High/Low with Candle Coloring:
Importance: Tracking all-time highs (ATH), all-time lows (ATL), and 52-week high/low levels helps traders identify key support and resistance levels.
Benefits:
Offers insights into the strength of price movements and potential reversal zones.
Candle coloring improves visual analysis, allowing quick identification of bullish or bearish conditions at critical levels.
Multi-Time Frame Analysis
Importance: The ability to view indicators like RSI and MACD across multiple time frames provides a more in-depth and comprehensive view of market behavior, allowing traders to make informed decisions that align with both short-term and long-term trends.
Benefits:
Align Strategies Across Time frames: By using multiple time frames, traders can align their strategies with larger trends (such as weekly or daily) while executing trades on lower time frames (like 1-minute or 5-minute charts). This improves the accuracy of trade entries and exits.
Reduce False Signals: Viewing key technical indicators like RSI and MACD across different time frames reduces the likelihood of false signals by offering a broader market context, filtering out noise from smaller time frames.
Customization of Table Display: Traders can customize the position and size of a table that displays RSI and MACD values for selected time frames. This flexibility enhances visibility and ease of analysis.
Time frame-Specific Data: The code allows for displaying RSI and MACD data for up to seven different time frames, making it highly customizable for traders depending on their preferred analysis period.
Visual Clarity: The table displays key values such as RSI and MACD histogram readings in a visually clear format, with color coding to quickly indicate overbought/oversold levels or MACD crossovers.
Pivot Points:
Importance: Pivot points serve as key support and resistance levels that help predict potential price movements.
Benefits:
Assists in identifying potential reversal zones and breakout points, aiding in trade planning.
Displaying pivot points across multiple time frames enhances market insight and improves strategic planning.
Quarterly Earnings Table:
Importance: Understanding a company’s quarterly earnings releases is crucial, as these events often lead to significant price volatility. Traders can leverage this information to adjust their strategies around earnings reports and prevent unexpected losses.
Benefits:
Helps traders anticipate potential price movements due to earnings reports.
Allows traders to avoid sudden losses by being aware of important earnings announcements and adjusting positions accordingly.
Customizable Visuals for Traders:
Dark Mode: Toggle between dark and light themes based on your chart's color scheme.
Mini Mode: A condensed version that visually simplifies the data, making it quicker to interpret through color-coded traffic lights (green for positive, red for negative).
Table Size & Position: Customize the size and position of the table for better visibility on your charts.
Data Period (FQ vs FY): Easily switch between displaying quarterly or yearly data based on the selected period.
Top-Left Cell Display: Option to display Free Float or Market Cap in the top-left cell for quick reference.
Exponential Moving Averages (EMAs) with Adjustable Lengths:
Importance: EMAs are essential for identifying trends and generating reliable buy/sell signals. The indicator plots four EMAs that dynamically adjust based on the selected time frame.
Benefits:
Dynamic Time frame Logic: EMA lengths and sources automatically adapt based on whether the user selects daily, weekly, or monthly time frames. This ensures the EMAs are relevant for the chosen strategy.
Multiple EMAs: By incorporating four different EMAs, users can observe both short-term and long-term trends simultaneously, improving their ability to identify key trend shifts.
Breakout Arrow Functionality:
Importance: This feature visually signals potential buy/sell opportunities based on the interaction between EMAs and MACD crossovers.
Benefits:
Crossover Signals: Arrows are plotted when EMAs and MACD cross, indicating breakout opportunities and aiding in quick trade decisions.
RSI Filter Option: Users can apply an optional RSI filter to refine buy/sell signals, reducing false signals and improving overall accuracy.
Disclaimer:
Before engaging in actual trading, we strongly recommend back testing the this indicator to ensure it fits your trading style and risk tolerance. Be sure to adjust your risk-reward ratio and set appropriate stop-loss levels to safeguard your investments. Proper risk management is key to successful trading.
Pesquisar nos scripts por "Table"
Memecoin TrackerMemecoin Z-Score Tracker with Buy/Sell Table - Technical Explanation
How it Works:
This indicator calculates the Z-scores of various memecoins based on their price movements, using historical funding rates across multiple exchanges. A Z-score measures the deviation of the current price from its moving average, expressed in standard deviations. This provides insight into whether a coin is overbought (positive Z-score) or oversold (negative Z-score) relative to its recent history.
Key Components:
- Z-Score Calculation
- The lookback period is dynamically adjusted based on the chart’s timeframe to ensure consistency across different time intervals:
- For lower timeframes (e.g., minutes), the base lookback period is scaled to match approximately 240 minutes.
- For daily and higher timeframes, the base lookback period is fixed (e.g., 14 bars).
Memecoin Selection:
The indicator tracks several popular memecoins, including DOGE, SHIB, PEPE, FLOKI, and others.
Funding rates are fetched from exchanges like Binance, Bybit, and MEXC using the request.security() function, ensuring accurate real-time price data.
Thresholds for Buy/Sell Signals:
Users can set custom Z-score thresholds for buy (oversold) and sell (overbought) signals:
Default upper threshold: 2.5 (indicates overbought condition).
Default lower threshold: -2.5 (indicates oversold condition).
When a memecoin’s Z-score crosses above or below these thresholds, it signals potential buy or sell conditions.
Buy/Sell Table:
A table with two columns (BUY and SELL) is dynamically populated with memecoins that are currently oversold (buy signal) or overbought (sell signal).
Each column can hold up to 20 entries, providing a clear overview of current market opportunities.
Visual Feedback:
The Z-scores of each memecoin are plotted as a line on the chart, with color-coded feedback:
Red for overbought (Z-score > upper threshold),
Green for oversold (Z-score < lower threshold),
Other colors indicate neutral conditions.
Horizontal lines representing the upper and lower thresholds are plotted for reference.
How to Use It:
Adjust Thresholds:
You can modify the upper and lower Z-score thresholds in the settings to customize sensitivity. Lower thresholds will increase the likelihood of triggering buy/sell signals for smaller price deviations, while higher thresholds will focus on more extreme conditions.
View Real-Time Signals:
The table shows which memecoins are currently oversold (buy column) or overbought (sell column), updating dynamically as price data changes. Traders can monitor this table to identify trading opportunities quickly.
Use with Different Timeframes:
The Z-score lookback period adjusts automatically based on the chart's timeframe, making this indicator suitable for intraday and long-term traders.
Use shorter timeframes (e.g., 1-minute, 5-minute charts) for faster signals, while longer timeframes (e.g., daily, weekly) may yield more stable, trend-based signals.
Who It Is For:
Short-Term Traders: Those looking to capitalize on short-term price imbalances (e.g., day traders, scalpers) can use this indicator to identify quick buy/sell opportunities as memecoins oscillate around their moving averages.
Swing Traders: Swing traders can use the Z-score tracker to identify overbought or oversold conditions across multiple memecoins and ride the reversals back toward equilibrium.
Crypto Enthusiasts and Memecoin Investors: Anyone involved in the volatile memecoin market can use this tool to better time entries and exits based on market extremes.
This indicator is for traders seeking quantitative analysis of price extremes in memecoins. By tracking the Z-scores across multiple coins and dynamically updating buy/sell opportunities in a table, it provides a systematic approach to identifying trade setups.
Interest Rate Trading (Manually Added Rate Decisions) [TANHEF]Interest Rate Trading: How Interest Rates Can Guide Your Next Move.
How were interest rate decisions added?
All interest rate decision dates were manually retrieved from the 'Record of Policy Actions' and 'Minutes of Actions' on the Federal Reserve's website due to inconsistent dates from other sources. These were manually added as Pine Script currently only identifies rate changes, not pauses.
█ Simple Explanation:
This script is designed for analyzing and backtesting trading strategies based on U.S. interest rate decisions which occur during Federal Open Market Committee (FOMC) meetings, to make trading decisions. No trading strategy is perfect, and it's important to understand that expectations won't always play out. The script leverages historical interest rate changes, including increases, decreases, and pauses, across multiple economic time periods from 1971 to the present. The tool integrates two key data sources for interest rates—USINTR and FEDFUNDS—to support decision-making around rate-based trades. The focus is on identifying opportunities and tracking trades driven by interest rate movements.
█ Interest Rate Decision Sources:
As noted above, each decision date has been manually added from the 'Record of Policy Actions' and 'Minutes of Actions' documents on the Federal Reserve's website. This includes +50 years of more than 600 rate decisions.
█ Interest Rate Data Sources:
USINTR: Reflects broader U.S. interest rate trends, including Treasury yields and various benchmarks. This is the preferred option as it corresponds well to the rate decision dates.
FEDFUNDS: Tracks the Federal Funds Rate, which is a more specific rate targeted by the Federal Reserve. This does not change on the exact same days as the rate decisions that occur at FOMC meetings.
█ Trade Criteria:
A variety of trading conditions are predefined to suit different trading strategies. These conditions include:
Increase/Decrease: Standard rate increases or decreases.
Double/Triple Increase/Decrease: A series of consecutive changes.
Aggressive Increase/Decrease: Rate changes that exceed recent movements.
Pause: Identification of no changes (pauses) between rate decisions, including double or triple pauses.
Complex Patterns: Combinations of pauses, increases, or decreases, such as "Pause after Increase" or "Pause or Increase."
█ Trade Execution and Exit:
The script allows automated trade execution based on selected criteria:
Auto-Entry: Option to enter trades automatically at the first valid period.
Max Trade Duration: Optional exit of trades after a specified number of bars (candles).
Pause Days: Minimum duration (in days) to validate rate pauses as entry conditions. This is especially useful for earlier periods (prior to the 2000s), where rate decisions often seemed random compared to the consistency we see today.
█ Visualization:
Several visual elements enhance the backtesting experience:
Time Period Highlighting: Economic time periods are visually segmented on the chart, each with a unique color. These periods include historical phases such as "Stagflation (1971-1982)" and "Post-Pandemic Recovery (2021-Present)".
Trade and Holding Results: Displays the profit and loss of trades and holding results directly on the chart.
Interest Rate Plot: Plots the interest rate movements on the chart, allowing for real-time tracking of rate changes.
Trade Status: Highlights active long or short positions on the chart.
█ Statistics and Criteria Display:
Stats Table: Summarizes trade results, including wins, losses, and draw percentages for both long and short trades.
Criteria Table: Lists the selected entry and exit criteria for both long and short positions.
█ Economic Time Periods:
The script organizes interest rate decisions into well-defined economic periods, allowing traders to backtest strategies specific to historical contexts like:
(1971-1982) Stagflation
(1983-1990) Reaganomics and Deregulation
(1991-1994) Early 1990s (Recession and Recovery)
(1995-2001) Dot-Com Bubble
(2001-2006) Housing Boom
(2007-2009) Global Financial Crisis
(2009-2015) Great Recession Recovery
(2015-2019) Normalization Period
(2019-2021) COVID-19 Pandemic
(2021-Present) Post-Pandemic Recovery
█ User-Configurable Inputs:
Rate Source Selection: Choose between USINTR or FEDFUNDS as the primary interest rate source.
Trade Criteria Customization: Users can select the criteria for long and short trades, specifying when to enter or exit based on changes in the interest rate.
Time Period: Select the time period that you want to isolate testing a strategy with.
Auto-Entry and Pause Settings: Options to automatically enter trades and specify the number of days to confirm a rate pause.
Max Trade Duration: Limits how long trades can remain open, defined by the number of bars.
█ Trade Logic:
The script manages entries and exits for both long and short trades. It calculates the profit or loss percentage based on the entry and exit prices. The script tracks ongoing trades, dynamically updating the profit or loss as price changes.
█ Examples:
One of the most popular opinions is that when rate starts begin you should sell, then buy back in when rate cuts stop dropping. However, this can be easily proven to be a difficult task. Predicting the end of a rate cut is very difficult to do with the the exception that assumes rates will not fall below 0.25%.
2001-2009
Trade Result: +29.85%
Holding Result: -27.74%
1971-2024
Trade Result: +533%
Holding Result: +5901%
█ Backtest and Real-Time Use:
This backtester is useful for historical analysis and real-time trading. By setting up various entry and exit rules tied to interest rate movements, traders can test and refine strategies based on real historical data and rate decision trends.
This powerful tool allows traders to customize strategies, backtest them through different economic periods, and get visual feedback on their trading performance, helping to make more informed decisions based on interest rate dynamics. The main goal of this indicator is to challenge the belief that future events must mirror the 2001 and 2007 rate cuts. If everyone expects something to happen, it usually doesn’t.
Ichimoku(TF)This Pine Script indicator is a comprehensive Ichimoku Cloud implementation designed for TradingView. Its uniqueness lies in the precisely calculated settings for each timeframe, offering a tailored Ichimoku experience across different chart resolutions.
Key Features:
Timeframe-Specific Presets: The indicator includes a wide range of pre-defined settings optimized for various timeframes (1m, 2m, 3m, 5m, 10m, 15m, 30m, 45m, 1H, 2H, 3H, 4H, 6H, 12H, 18H, 1D, 3D, 1W, 1M). This ensures accurate Ichimoku calculations and relevant signals for your chosen timeframe.
Ichimoku Cloud: Plots the standard Ichimoku Cloud components: Tenkan-sen (Conversion Line), Kijun-sen (Base Line), Senkou Span A & B (Leading Spans), and Chikou Span (Lagging Span).
Configurable Display: Allows toggling the Ichimoku Cloud display, coloring bars based on the trend (above or below the cloud), and customizing table visibility, style, font size and position.
Trend Analysis Table: A summary table provides a quick overview of the current trend based on Ichimoku components. It assesses the strength of the trend based on the price's relation to the Tenkan-sen, Kijun-sen, Kumo Cloud, Chikou Span and Kumo Twist. The table offers both detailed and short styles.
Buy/Sell Signals: Generates buy and sell signals based on Tenkan-sen/Kijun-sen crossovers.
Uniqueness:
The primary advantage of this indicator is its meticulous configuration for different timeframes. Instead of using a single set of parameters for all timeframes, it provides optimized values that are more suitable for specific chart resolutions. The summary table provides an easy and quick way to assess the trend.
Этот индикатор Pine Script представляет собой комплексную реализацию облака Ишимоку, разработанную для TradingView. Его уникальность заключается в точно рассчитанных настройках для каждого таймфрейма, предлагая индивидуальный опыт Ишимоку для различных разрешений графиков.
Ключевые особенности:
Предустановки для конкретных таймфреймов: Индикатор включает в себя широкий спектр предопределенных настроек, оптимизированных для различных таймфреймов (1m, 2m, 3m, 5m, 10m, 15m, 30m, 45m, 1H, 2H, 3H, 4H, 6H, 12H, 18H, 1D, 3D, 1W, 1M). Это обеспечивает точные вычисления Ишимоку и релевантные сигналы для выбранного вами таймфрейма.
Облако Ишимоку: Отображает стандартные компоненты облака Ишимоку: Tenkan-sen (линия конверсии), Kijun-sen (базовая линия), Senkou Span A & B (ведущие диапазоны) и Chikou Span (запаздывающий диапазон).
Настраиваемое отображение: Позволяет переключать отображение облака Ишимоку, окрашивать бары в зависимости от тренда (выше или ниже облака), а также настраивать видимость таблицы, стиль, размер шрифта и положение.
Таблица анализа тренда: Сводная таблица обеспечивает быстрый обзор текущего тренда на основе компонентов Ишимоку. Он оценивает силу тренда на основе отношения цены к Tenkan-sen, Kijun-sen, облаку Kumo, Chikou Span и Kumo Twist. Таблица предлагает как подробный, так и краткий стили.
Сигналы покупки/продажи: Генерирует сигналы покупки и продажи на основе пересечений Tenkan-sen/Kijun-sen.
Уникальность:
Основным преимуществом этого индикатора является его тщательная настройка для разных таймфреймов. Вместо использования единого набора параметров для всех таймфреймов он предоставляет оптимизированные значения, которые больше подходят для конкретных разрешений графиков. Сводная таблица обеспечивает простой и быстрый способ оценки тренда.
Ticker Tape█ OVERVIEW
This indicator creates a dynamic, scrolling display of multiple securities' latest prices and daily changes, similar to the ticker tapes on financial news channels and the Ticker Tape Widget . It shows realtime market information for a user-specified list of symbols along the bottom of the main chart pane.
█ CONCEPTS
Ticker tape
Traditionally, a ticker tape was a continuous, narrow strip of paper that displayed stock prices, trade volumes, and other financial and security information. Invented by Edward A. Calahan in 1867, ticker tapes were the earliest method for electronically transmitting live stock market data.
A machine known as a "stock ticker" received stock information via telegraph, printing abbreviated company names, transaction prices, and other information in a linear sequence on the paper as new data came in. The term "ticker" in the name comes from the "tick" sound the machine made as it printed stock information. The printed tape provided a running record of trading activity, allowing market participants to stay informed on recent market conditions without needing to be on the exchange floor.
In modern times, electronic displays have replaced physical ticker tapes. However, the term "ticker" remains persistent in today's financial lexicon. Nowadays, ticker symbols and digital tickers appear on financial news networks, trading platforms, and brokerage/exchange websites, offering live updates on market information. Modern electronic displays, thankfully, do not rely on telegraph updates to operate.
█ FEATURES
Requesting a list of securities
The "Symbol list" text box in the indicator's "Settings/Inputs" tab allows users to list up to 40 symbols or ticker Identifiers. The indicator dynamically requests and displays information for each one. To add symbols to the list, enter their names separated by commas . For example: "BITSTAMP:BTCUSD, TSLA, MSFT".
Each item in the comma-separated list must represent a valid symbol or ticker ID. If the list includes an invalid symbol, the script will raise a runtime error.
To specify a broker/exchange for a symbol, include its name as a prefix with a colon in the "EXCHANGE:SYMBOL" format. If a symbol in the list does not specify an exchange prefix, the indicator selects the most commonly used exchange when requesting the data.
Realtime updates
This indicator requests symbol descriptions, current market prices, daily price changes, and daily change percentages for each ticker from the user-specified list of symbols or ticker identifiers. It receives updated information for each security after new realtime ticks on the current chart.
After a new realtime price update, the indicator updates the values shown in the tape display and their colors.
The color of the percentages in the tape depends on the change in price from the previous day . The text is green when the daily change is positive, red when the value is negative, and gray when the value is 0.
The color of each displayed price depends on the change in value from the last recorded update, not the change over a daily period. For example, if a security's price increases in the latest update, the ticker tape shows that price with green text, even if the current price is below the previous day's closing price. This behavior allows users to monitor realtime directional changes in the requested securities.
NOTE: Pine scripts execute on realtime bars when new ticks are available in the chart's data feed. If no new updates are available from the chart's realtime feed, it may cause a delay in the data the indicator receives.
Ticker motion
This indicator's tape display shows a list of security information that incrementally scrolls horizontally from right to left after new chart updates, providing a dynamic visual stream of current market data. The scrolling effect works by using a counter that increments across successive intervals after realtime ticks to control the offset of each listed security. Users can set the initial scroll offset with the "Offset" input in the "Settings/Inputs" tab.
The scrolling rate of the ticker tape display depends on the realtime ticks available from the chart's data feed. Using the indicator on a chart with frequent realtime updates results in smoother scrolling. If no new realtime ticks are available in the chart's feed, the ticker tape does not move. Users can also deactivate the scrolling feature by toggling the "Running" input in the indicator's settings.
█ FOR Pine Script™ CODERS
• This script utilizes dynamic requests to iteratively fetch information from multiple contexts using a single request.security() instance in the code. Previously, `request.*()` functions were not allowed within the local scopes of loops or conditional structures, and most `request.*()` function parameters, excluding `expression`, required arguments of a simple or weaker qualified type. The new `dynamic_requests` parameter in script declaration statements enables more flexibility in how scripts can use `request.*()` calls. When its value is `true`, all `request.*()` functions can accept series arguments for the parameters that define their requested contexts, and `request.*()` functions can execute within local scopes. See the Dynamic requests section of the Pine Script™ User Manual to learn more.
• Scripts can execute up to 40 unique `request.*()` function calls. A `request.*()` call is unique only if the script does not already call the same function with the same arguments. See this section of the User Manual's Limitations page for more information.
• This script converts a comma-separated "string" list of symbols or ticker IDs into an array . It then loops through this array, dynamically requesting data from each symbol's context and storing the results within a collection of custom `Tape` objects . Each `Tape` instance holds information about a symbol, which the script uses to populate the table that displays the ticker tape.
• This script uses the varip keyword to declare variables and `Tape` fields that update across ticks on unconfirmed bars without rolling back. This behavior allows the script to color the tape's text based on the latest price movements and change the locations of the table cells after realtime updates without reverting. See the `varip` section of the User Manual to learn more about using this keyword.
• Typically, when requesting higher-timeframe data with request.security() using barmerge.lookahead_on as the `lookahead` argument, the `expression` argument should use the history-referencing operator to offset the series, preventing lookahead bias on historical bars. However, the request.security() call in this script uses barmerge.lookahead_on without offsetting the `expression` because the script only displays results for the latest historical bar and all realtime bars, where there is no future information to leak into the past. Instead, using this call on those bars ensures each request fetches the most recent data available from each context.
• The request.security() instance in this script includes a `calc_bars_count` argument to specify that each request retrieves only a minimal number of bars from the end of each symbol's historical data feed. The script does not need to request all the historical data for each symbol because it only shows results on the last chart bar that do not depend on the entire time series. In this case, reducing the retrieved bars in each request helps minimize resource usage without impacting the calculated results.
Look first. Then leap.
DataDoodles ATR RangeThe "DataDoodles ATR Range" indicator provides a comprehensive visual representation of the Average True Range (ATR) levels based on the previous bar's close price . It includes both the raw ATR and an Exponential Moving Average (EMA) of the ATR to offer a smoother view of the range volatility. This indicator is ideal for traders who want to quickly assess potential price movements relative to recent volatility.
Key Features:
ATR Levels Above and Below Close: The indicator calculates and displays three levels of ATR-based ranges above and below the previous close price. These levels are visualized on the chart using distinct colors:
- 1ATR Above/Below
- 2ATR Above/Below
- 3ATR Above/Below
EMA of ATR
Includes the EMA of ATR to provide a smoother trend of the ATR values, helping traders identify long-term volatility trends.
Color-Coded Ranges: The plotted ranges are color-coded for easy identification, with warm gradient tones applied to the corresponding data table for quick reference.
Customizable Table: A data table is displayed at the bottom right corner of the chart, providing real-time values for ATR, EMA ATR, and the various ATR ranges.
Usage
This indicator is useful for traders who rely on volatility analysis to set stop losses, take profit levels, or simply understand the current market conditions. By visualizing ATR ranges directly on the chart, traders can better anticipate potential price movements and adjust their strategies accordingly.
Customization
ATR Length: The default ATR length is set to 14 but can be customized to fit your trading strategy.
Table Positioning: The data table is placed in the bottom right corner by default but can be moved as needed.
How to Use
Add the "DataDoodles ATR Range" indicator to your chart.
Observe the plotted lines for potential support and resistance levels based on recent volatility.
Use the data table for quick reference to ATR values and range levels.
Disclaimer: This indicator is a tool for analysis and should be used in conjunction with other indicators and analysis methods. Always practice proper risk management and consider market conditions before making trading decisions.
Qty CalculatorThis Pine Script indicator, titled "Qty Calculator," is a customizable tool designed to assist traders in managing their trades by calculating key metrics related to risk management. It takes into account your total capital, entry price, stop-loss level, and desired risk percentage to provide a comprehensive overview of potential trade outcomes.
Key Features:
User Inputs:
Total Capital: The total amount of money available for trading.
Entry Price: The price at which the trader enters the trade.
Stop Loss: The price level at which the trade will automatically close to prevent further losses.
Risk Percentage: The percentage of the total capital that the trader is willing to risk on a single trade.
Customizable Table:
Position: The indicator allows you to choose the position of the table on the chart, with options including top-left, top-center, top-right, bottom-left, bottom-center, and bottom-right.
Size: You can adjust the number of rows and columns in the table to fit your needs.
Risk Management Calculations:
Difference Calculation: The difference between the entry price and the stop-loss level.
Risk Per Trade: Calculated as a percentage of your total capital.
Risk Levels: The indicator evaluates multiple risk levels (0.10%, 0.25%, 0.50%, 1.00%) and calculates the quantity, capital per trade, percentage of total capital, and the risk amount associated with each level.
R-Multiples Calculation:
The indicator calculates potential profit levels at 2x, 3x, 4x, and 5x the risk (R-Multiples), showing the potential gains if the trade moves in your favor by these multiples.
Table Display:
The table includes the following columns:
CapRisk%: Displays the risk percentage.
Qty: The quantity of the asset you should trade.
Cap/Trade: The capital allocated per trade.
%OfCapital: The percentage of total capital used in the trade.
Risk Amount: The monetary risk taken on each trade.
R Gains: Displays potential gains at different R-Multiples.
This indicator is particularly useful for traders who prioritize risk management and want to ensure that their trades are aligned with their capital and risk tolerance. By providing a clear and customizable table of critical metrics, it helps traders make informed decisions and better manage their trading strategies.
Bearish vs Bullish ArgumentsThe Bearish vs Bullish Arguments Indicator is a tool designed to help traders visually assess and compare the number of bullish and bearish arguments based on their custom inputs. This script enables users to input up to five bullish and five bearish arguments, dynamically displaying the bias on a clean and customizable table on the chart. This provides traders with a clear, visual representation of the market sentiment they have identified.
Key Features:
Customizable Inputs: Users can input up to five bullish and five bearish arguments, which are displayed in a table on the chart.
Bias Calculation: The script calculates the bias (Bullish, Bearish, or Neutral) based on the number of bullish and bearish arguments provided.
Color Customization: Users can customize the colors for the table background, text, and headers, ensuring the table fits seamlessly into their charting environment.
Reset Functionality: A reset switch allows users to clear all input arguments with a single click, making it easy to start fresh.
How It Works:
Input Fields: The script provides input fields for up to five bullish and five bearish arguments. Each input is a simple text field where users can describe their arguments.
Bias Calculation: The script counts the number of non-empty bullish and bearish arguments and determines the overall bias. The bias is displayed in the table with a dynamically changing color to indicate whether the market sentiment is bullish, bearish, or neutral.
Customizable Table: The table is positioned on the chart according to the user's preference (top-left, top-right, bottom-left, bottom-right) and can be customized in terms of background color and text color.
How to Use:
Add the Indicator: Add the Bearish vs Bullish Arguments Indicator to your chart.
Input Arguments: Enter up to five bullish and five bearish arguments in the provided input fields in the script settings.
Customize Appearance: Adjust the table's background color, text color, and position on the chart to fit your preferences.
Example Use Case:
A trader might use this indicator to visually balance their arguments for and against a particular trade setup. By entering their reasons for a bullish outlook in the bullish argument fields and their reasons for a bearish outlook in the bearish argument fields, they can quickly see which side has more supporting points and make a more informed trading decision.
This script was inspired by Arjoio's concepts
Multi-Frame Market Sentiment DashboardOverview
This Pine Script™ code generates a "Market Sentiment Dashboard" on TradingView, providing a visual summary of market sentiment across multiple timeframes. This tool aids traders in making informed decisions by displaying real-time sentiment analysis based on Exponential Moving Averages (EMA).
Key Features
Panel Positioning:
Custom Placement: Traders can position the dashboard at the top, middle, or bottom of the chart and align it to the left, center, or right, ensuring optimal integration with other chart elements.
Customizable Colors:
Sentiment Colors: Users can define colors for bullish, bearish, and neutral market conditions, enhancing the dashboard's readability.
Text Color: Customizable text color ensures clarity against various background colors.
Label Size:
Scalable Labels: Adjustable label sizes (from very small to very large) ensure readability across different screen sizes and resolutions.
Market Sentiment Calculation:
EMA-Based Sentiment: The dashboard calculates sentiment using a 9-period EMA. If the EMA is higher than two bars ago, the sentiment is bullish; if lower, it's bearish; otherwise, it's neutral.
Multiple Timeframes: Sentiment is calculated for several timeframes: 1 minute, 3 minutes, 5 minutes, 15 minutes, 30 minutes, 1 hour, 4 hours, and 1 day. This broad analysis provides a comprehensive view of market conditions.
Dynamic Table:
Structured Display: The dashboard uses a table to organize and display sentiment data clearly.
Real-Time Updates: The table updates in real-time, providing traders with up-to-date market information.
How It Works
EMA Calculation: The script requests EMA(9) values for each specified timeframe and compares the current EMA with the EMA from two bars ago to determine market sentiment.
Color Coding: Depending on the sentiment (Bullish, Bearish, or Neutral), the corresponding cell in the table is color-coded using predefined colors.
Table Display: The table displays the timeframe and corresponding sentiment, allowing traders to quickly assess market trends.
Benefits to Traders
Quick Assessment: Traders can quickly evaluate market sentiment across multiple timeframes without switching charts or manually calculating indicators.
Enhanced Visualization: The color-coded sentiment display makes it easy to identify trends at a glance.
Multi-Timeframe Analysis: Provides a broad view of short-term and long-term market trends, helping traders confirm trends and avoid false signals.
This dashboard enhances the overall trading experience by providing a comprehensive, customizable, and easy-to-read summary of market sentiment.
Usage Instructions
Add the Script to Your Chart: Apply the "Market Sentiment Dashboard" indicator to your TradingView chart.
Customize Settings: Adjust the panel position, colors, and label sizes to fit your preferences.
Interpret Sentiment: Use the color-coded table to quickly understand the market sentiment across different timeframes and make informed trading decisions.
Nadaraya-Watson Probability [Yosiet]The script calculates and displays probability bands around price movements, offering insights into potential market trends.
Setting Up the Script
Window Size: Determines the length of the window for the Nadaraya-Watson estimation. A larger window smooths the data more but might lag current market conditions.
Bandwidth: Controls the bandwidth for the kernel regression, affecting the smoothness of the probability bands.
Reading the Data Table
The script dynamically updates a table positioned at the bottom right of your chart, providing real-time insights into market probabilities. Here's how to interpret the table:
Table Columns: The table is organized into three columns:
Up: Indicates the probability or relative change percentage for the upper band.
Down: Indicates the probability or relative change percentage for the lower band.
Table Rows: There are two main rows of interest:
P%: Shows the price change percentage difference between the bands and the closing price. A positive value in the "Up" column suggests the upper band is above the current close, indicating potential upward momentum. Conversely, a negative value in the "Down" column suggests downward momentum.
R%: Displays the relative inner change percentage difference between the bands, offering a measure of the market's volatility or stability within the bands.
Utilizing the Insights
Market Trends: A widening gap between the "Up" and "Down" percentages in the "P%" row might indicate increasing market volatility. Traders can use this information to adjust their risk management strategies accordingly.
Entry and Exit Points: The "R%" row provides insights into the relative position of the current price within the probability bands. Traders might consider positions closer to the lower band as potential entry points and positions near the upper band as exit points or take-profit levels.
Conclusion
The Nadaraya-Watson Probability script offers a sophisticated tool for traders looking to incorporate statistical analysis into their trading strategy. By understanding and utilizing the data presented in the script's table, traders can gain insights into market trends and volatility, aiding in decision-making processes. Remember, no indicator is foolproof; always consider multiple data sources and analyses when making trading decisions.
Ohlson O-Score IndicatorThe Ohlson O-Score is a financial metric developed by Olof Ohlson to predict the probability of a company experiencing financial distress. It is widely used by investors and analysts as a key tool for financial analysis.
Inputs:
Period: Select the financial period for analysis, either "FY" (Fiscal Year) or "FQ" (Fiscal Quarter).
Country: Specify the country for Gross Net Product data. This helps in tailoring the analysis to specific economic conditions.
Gross Net Product : Define the number of years back for the index to be set at 100. This parameter provides a historical context for the analysis.
Table Display : Customize the display of various tables to suit your preference and analytical needs.
Key Features:
Predictive Power : The Ohlson O-Score is renowned for its predictive power in assessing the financial health of a company. It incorporates multiple financial ratios and indicators to provide a comprehensive view.
Financial Distress Prediction : Use the O-Score to gauge the likelihood of a company facing financial distress in the future. It's a valuable tool for risk assessment.
Country-Specific Analysis : Tailor the analysis to the economic conditions of a specific country, ensuring a more accurate evaluation of financial health.
Historical Context : Set the Gross Net Product index at a specific historical point, allowing for a deeper understanding of how a company's financial health has evolved over time.
How to Use:
Select Period : Choose either Fiscal Year or Fiscal Quarter based on your preference.
Specify Country : Input the country for country-specific Gross Net Product data.
Set Historical Context : Determine the number of years back for the index to be set at 100, providing historical context to your analysis.
Custom Table Display : Personalize the display of various tables to focus on the metrics that matter most to you.
Calculation and component description
Here is the description of O-score components as found in orginal Ohlson publication :
1. SIZE = log(total assets/GNP price-level index). The index assumes a base value of 100 for 1968. Total assets are as reported in dollars. The index year is as of the year prior to the year of the balance sheet date. The procedure assures a real-time implementation of the model. The log transform has an important implication. Suppose two firms, A and B, have a balance sheet date in the same year, then the sign of PA - Pe is independent of the price-level index. (This will not follow unless the log transform is applied.) The latter is, of course, a desirable property.
2. TLTA = Total liabilities divided by total assets.
3. WCTA = Working capital divided by total assets.
4. CLCA = Current liabilities divided by current assets.
5. OENEG = One if total liabilities exceeds total assets, zero otherwise.
6. NITA = Net income divided by total assets.
7. FUTL = Funds provided by operations divided by total liabilities
8. INTWO = One if net income was negative for the last two years, zero otherwise.
9. CHIN = (NI, - NI,-1)/(| NIL + (NI-|), where NI, is net income for the most recent period. The denominator acts as a level indicator. The variable is thus intended to measure change in net income. (The measure appears to be due to McKibben ).
Interpretation
The foundational model for the O-Score evolved from an extensive study encompassing over 2000 companies, a notable leap from its predecessor, the Altman Z-Score, which examined a mere 66 companies. In direct comparison, the O-Score demonstrates significantly heightened accuracy in predicting bankruptcy within a 2-year horizon.
While the original Z-Score boasted an estimated accuracy of over 70%, later iterations reached impressive levels of 90%. Remarkably, the O-Score surpasses even these high benchmarks in accuracy.
It's essential to acknowledge that no mathematical model achieves 100% accuracy. While the O-Score excels in forecasting bankruptcy or solvency, its precision can be influenced by factors both internal and external to the formula.
For the O-Score, any results exceeding 0.5 indicate a heightened likelihood of the firm defaulting within two years. The O-Score stands as a robust tool in financial analysis, offering nuanced insights into a company's financial stability with a remarkable degree of accuracy.
dashboard MTF,EMA User Guide: Dashboard MTF EMA
Script Installation:
Copy the script code.
Go to the script window (Pine Editor) on TradingView.
Paste the code into the script window.
Save the script.
Adding the Script to the Chart:
Return to your chart on TradingView.
Look for the script in the list of available scripts.
Add the script to the chart.
Interpreting the Table:
On the right side of the chart, you will see a table labeled "EMA" with arrows.
The rows correspond to different timeframes: 5 minutes (5M), 15 minutes (15M), 1 hour (1H), 4 hours (4H), and 1 day (1D).
Understanding the Arrows:
Each row of the table has two columns: "EMA" and an arrow.
"EMA" indicates the trend of the Exponential Moving Average (EMA) for the specified period.
The arrow indicates the direction of the trend: ▲ for bullish, ▼ for bearish.
Table Colors:
The colors of the table reflect the current trend based on the comparison between fast and slow EMAs.
Blue (▲) indicates a bullish trend.
Red (▼) indicates a bearish trend.
Table Theme:
The table has a dark (Dark) or light (Light) theme according to your preference.
The background, frame, and colors are adjusted based on the selected theme.
Usage:
Use the table as a quick indicator of trends on different timeframes.
The arrows help you quickly identify trends without navigating between different time units.
Designed to simplify analysis and avoid cluttering the chart with multiple indicators.
Buy/Sell EMA CandleThis indicator is designed to display various technical indicators, candle patterns, and trend directions on a price chart. Let's break down the code and explain its different sections:
Exponential Moving Averages (EMA):
The code calculates and plots five EMAs of different lengths (13, 21, 55, 90, and 200) on the price chart. These EMAs are used to identify trends and potential crossovers.
Engulfing Candle Patterns:
The code identifies and highlights potential bullish and bearish engulfing candle patterns. It checks if the current candle's body size is larger than the combined body sizes of the previous and subsequent four candles. If this condition is met, it marks the pattern on the chart.
s3.tradingview.com
EMA Crossovers:
The code identifies and highlights points where the shorter EMA (ema1) crosses above or below the longer EMA (ema2). It plots circles to indicate these crossover points.
Candle Direction and RSI Trend:
The code determines the trend direction of the last candle based on whether it closed higher or lower than its open price. It also calculates the RSI (Relative Strength Index) and determines its trend direction (overbought, oversold, or neutral) based on predefined thresholds.
s3.tradingview.com
Table Display:
The code creates a table displaying trend directions for different timeframes (monthly, weekly, daily, 4-hour, and 1-hour) for candle direction and RSI trends. The trends are labeled with "L" for long, "S" for short, and "N/A" for not applicable.
High Volume Bars (HVB):
The code identifies and colors bars with above-average volume as either bullish or bearish based on whether the price closed higher or lower than it opened. The color and conditions for high volume bars can be customized.
s3.tradingview.com
Doji Candle Pattern:
The code identifies and marks doji candle patterns, where the open and close prices are very close to each other within a certain percentage of the candle's high-low range.
RSI-Based Candle Coloring:
The code adjusts the color of the candles based on the RSI value. If the RSI value is above the overbought threshold or below the oversold threshold, the candles are colored yellow.
Usage and Interpretation:
Traders can use this indicator to identify potential trend changes based on EMA crossovers and candle patterns like engulfing and doji.
The RSI trend direction can provide additional insight into potential overbought or oversold conditions.
High volume bars can indicate potential price reversals or continuation patterns.
The table provides an overview of trend directions on different timeframes for both candle direction and RSI trends.
Keep in mind that this is a complex indicator with multiple features. Users should carefully evaluate its performance and consider combining it with other indicators and analysis methods for more accurate trading decisions.
The table is designed to provide a consolidated view of trend directions and other indicators across multiple timeframes. It is displayed on the chart and organized into rows and columns. Each row corresponds to a specific aspect of analysis, and each column corresponds to a different timeframe.
Here's a breakdown of the components of the table:
Row 1: Separation.
Row 2 (Header Row): This row contains the headers for the columns. The headers represent the different timeframes being analyzed, such as Monthly (M), Weekly (W), Daily (D), 4-hour (4h), and 1-hour (1h).
Row 3 (Content Row): This row contains labels indicating the types of information being displayed in the columns. The labels include "T" for Trend, "C" for Current Candle, and "R" for RSI Trend.
Row 4 and Onwards: These rows display the actual data for each aspect of analysis across different timeframes.
For each aspect of analysis (Trend, Current Candle, RSI Trend), the corresponding rows display the following information:
Monthly (M): The trend direction for the given aspect on the monthly timeframe.
Weekly (W): The trend direction for the given aspect on the weekly timeframe.
Daily (D): The trend direction for the given aspect on the daily timeframe.
4-hour (4h): The trend direction for the given aspect on the 4-hour timeframe.
1-hour (1h): The trend direction for the given aspect on the 1-hour timeframe.
The trend directions are represented by labels such as "L" for Long, "S" for Short, or "N/A" for Not Applicable.
The table's purpose is to provide a quick overview of trend directions and related information across multiple timeframes, aiding traders in making informed decisions based on the analysis of trend changes and other indicators.
Goertzel Browser [Loxx]As the financial markets become increasingly complex and data-driven, traders and analysts must leverage powerful tools to gain insights and make informed decisions. One such tool is the Goertzel Browser indicator, a sophisticated technical analysis indicator that helps identify cyclical patterns in financial data. This powerful tool is capable of detecting cyclical patterns in financial data, helping traders to make better predictions and optimize their trading strategies. With its unique combination of mathematical algorithms and advanced charting capabilities, this indicator has the potential to revolutionize the way we approach financial modeling and trading.
█ Brief Overview of the Goertzel Browser
The Goertzel Browser is a sophisticated technical analysis tool that utilizes the Goertzel algorithm to analyze and visualize cyclical components within a financial time series. By identifying these cycles and their characteristics, the indicator aims to provide valuable insights into the market's underlying price movements, which could potentially be used for making informed trading decisions.
The primary purpose of this indicator is to:
1. Detect and analyze the dominant cycles present in the price data.
2. Reconstruct and visualize the composite wave based on the detected cycles.
3. Project the composite wave into the future, providing a potential roadmap for upcoming price movements.
To achieve this, the indicator performs several tasks:
1. Detrending the price data: The indicator preprocesses the price data using various detrending techniques, such as Hodrick-Prescott filters, zero-lag moving averages, and linear regression, to remove the underlying trend and focus on the cyclical components.
2. Applying the Goertzel algorithm: The indicator applies the Goertzel algorithm to the detrended price data, identifying the dominant cycles and their characteristics, such as amplitude, phase, and cycle strength.
3. Constructing the composite wave: The indicator reconstructs the composite wave by combining the detected cycles, either by using a user-defined list of cycles or by selecting the top N cycles based on their amplitude or cycle strength.
4. Visualizing the composite wave: The indicator plots the composite wave, using solid lines for the past and dotted lines for the future projections. The color of the lines indicates whether the wave is increasing or decreasing.
5. Displaying cycle information: The indicator provides a table that displays detailed information about the detected cycles, including their rank, period, Bartel's test results, amplitude, and phase.
This indicator is a powerful tool that employs the Goertzel algorithm to analyze and visualize the cyclical components within a financial time series. By providing insights into the underlying price movements and their potential future trajectory, the indicator aims to assist traders in making more informed decisions.
█ What is the Goertzel Algorithm?
The Goertzel algorithm, named after Gerald Goertzel, is a digital signal processing technique that is used to efficiently compute individual terms of the Discrete Fourier Transform (DFT). It was first introduced in 1958, and since then, it has found various applications in the fields of engineering, mathematics, and physics.
The Goertzel algorithm is primarily used to detect specific frequency components within a digital signal, making it particularly useful in applications where only a few frequency components are of interest. The algorithm is computationally efficient, as it requires fewer calculations than the Fast Fourier Transform (FFT) when detecting a small number of frequency components. This efficiency makes the Goertzel algorithm a popular choice in applications such as:
1. Telecommunications: The Goertzel algorithm is used for decoding Dual-Tone Multi-Frequency (DTMF) signals, which are the tones generated when pressing buttons on a telephone keypad. By identifying specific frequency components, the algorithm can accurately determine which button has been pressed.
2. Audio processing: The algorithm can be used to detect specific pitches or harmonics in an audio signal, making it useful in applications like pitch detection and tuning musical instruments.
3. Vibration analysis: In the field of mechanical engineering, the Goertzel algorithm can be applied to analyze vibrations in rotating machinery, helping to identify faulty components or signs of wear.
4. Power system analysis: The algorithm can be used to measure harmonic content in power systems, allowing engineers to assess power quality and detect potential issues.
The Goertzel algorithm is used in these applications because it offers several advantages over other methods, such as the FFT:
1. Computational efficiency: The Goertzel algorithm requires fewer calculations when detecting a small number of frequency components, making it more computationally efficient than the FFT in these cases.
2. Real-time analysis: The algorithm can be implemented in a streaming fashion, allowing for real-time analysis of signals, which is crucial in applications like telecommunications and audio processing.
3. Memory efficiency: The Goertzel algorithm requires less memory than the FFT, as it only computes the frequency components of interest.
4. Precision: The algorithm is less susceptible to numerical errors compared to the FFT, ensuring more accurate results in applications where precision is essential.
The Goertzel algorithm is an efficient digital signal processing technique that is primarily used to detect specific frequency components within a signal. Its computational efficiency, real-time capabilities, and precision make it an attractive choice for various applications, including telecommunications, audio processing, vibration analysis, and power system analysis. The algorithm has been widely adopted since its introduction in 1958 and continues to be an essential tool in the fields of engineering, mathematics, and physics.
█ Goertzel Algorithm in Quantitative Finance: In-Depth Analysis and Applications
The Goertzel algorithm, initially designed for signal processing in telecommunications, has gained significant traction in the financial industry due to its efficient frequency detection capabilities. In quantitative finance, the Goertzel algorithm has been utilized for uncovering hidden market cycles, developing data-driven trading strategies, and optimizing risk management. This section delves deeper into the applications of the Goertzel algorithm in finance, particularly within the context of quantitative trading and analysis.
Unveiling Hidden Market Cycles:
Market cycles are prevalent in financial markets and arise from various factors, such as economic conditions, investor psychology, and market participant behavior. The Goertzel algorithm's ability to detect and isolate specific frequencies in price data helps trader analysts identify hidden market cycles that may otherwise go unnoticed. By examining the amplitude, phase, and periodicity of each cycle, traders can better understand the underlying market structure and dynamics, enabling them to develop more informed and effective trading strategies.
Developing Quantitative Trading Strategies:
The Goertzel algorithm's versatility allows traders to incorporate its insights into a wide range of trading strategies. By identifying the dominant market cycles in a financial instrument's price data, traders can create data-driven strategies that capitalize on the cyclical nature of markets.
For instance, a trader may develop a mean-reversion strategy that takes advantage of the identified cycles. By establishing positions when the price deviates from the predicted cycle, the trader can profit from the subsequent reversion to the cycle's mean. Similarly, a momentum-based strategy could be designed to exploit the persistence of a dominant cycle by entering positions that align with the cycle's direction.
Enhancing Risk Management:
The Goertzel algorithm plays a vital role in risk management for quantitative strategies. By analyzing the cyclical components of a financial instrument's price data, traders can gain insights into the potential risks associated with their trading strategies.
By monitoring the amplitude and phase of dominant cycles, a trader can detect changes in market dynamics that may pose risks to their positions. For example, a sudden increase in amplitude may indicate heightened volatility, prompting the trader to adjust position sizing or employ hedging techniques to protect their portfolio. Additionally, changes in phase alignment could signal a potential shift in market sentiment, necessitating adjustments to the trading strategy.
Expanding Quantitative Toolkits:
Traders can augment the Goertzel algorithm's insights by combining it with other quantitative techniques, creating a more comprehensive and sophisticated analysis framework. For example, machine learning algorithms, such as neural networks or support vector machines, could be trained on features extracted from the Goertzel algorithm to predict future price movements more accurately.
Furthermore, the Goertzel algorithm can be integrated with other technical analysis tools, such as moving averages or oscillators, to enhance their effectiveness. By applying these tools to the identified cycles, traders can generate more robust and reliable trading signals.
The Goertzel algorithm offers invaluable benefits to quantitative finance practitioners by uncovering hidden market cycles, aiding in the development of data-driven trading strategies, and improving risk management. By leveraging the insights provided by the Goertzel algorithm and integrating it with other quantitative techniques, traders can gain a deeper understanding of market dynamics and devise more effective trading strategies.
█ Indicator Inputs
src: This is the source data for the analysis, typically the closing price of the financial instrument.
detrendornot: This input determines the method used for detrending the source data. Detrending is the process of removing the underlying trend from the data to focus on the cyclical components.
The available options are:
hpsmthdt: Detrend using Hodrick-Prescott filter centered moving average.
zlagsmthdt: Detrend using zero-lag moving average centered moving average.
logZlagRegression: Detrend using logarithmic zero-lag linear regression.
hpsmth: Detrend using Hodrick-Prescott filter.
zlagsmth: Detrend using zero-lag moving average.
DT_HPper1 and DT_HPper2: These inputs define the period range for the Hodrick-Prescott filter centered moving average when detrendornot is set to hpsmthdt.
DT_ZLper1 and DT_ZLper2: These inputs define the period range for the zero-lag moving average centered moving average when detrendornot is set to zlagsmthdt.
DT_RegZLsmoothPer: This input defines the period for the zero-lag moving average used in logarithmic zero-lag linear regression when detrendornot is set to logZlagRegression.
HPsmoothPer: This input defines the period for the Hodrick-Prescott filter when detrendornot is set to hpsmth.
ZLMAsmoothPer: This input defines the period for the zero-lag moving average when detrendornot is set to zlagsmth.
MaxPer: This input sets the maximum period for the Goertzel algorithm to search for cycles.
squaredAmp: This boolean input determines whether the amplitude should be squared in the Goertzel algorithm.
useAddition: This boolean input determines whether the Goertzel algorithm should use addition for combining the cycles.
useCosine: This boolean input determines whether the Goertzel algorithm should use cosine waves instead of sine waves.
UseCycleStrength: This boolean input determines whether the Goertzel algorithm should compute the cycle strength, which is a normalized measure of the cycle's amplitude.
WindowSizePast and WindowSizeFuture: These inputs define the window size for past and future projections of the composite wave.
FilterBartels: This boolean input determines whether Bartel's test should be applied to filter out non-significant cycles.
BartNoCycles: This input sets the number of cycles to be used in Bartel's test.
BartSmoothPer: This input sets the period for the moving average used in Bartel's test.
BartSigLimit: This input sets the significance limit for Bartel's test, below which cycles are considered insignificant.
SortBartels: This boolean input determines whether the cycles should be sorted by their Bartel's test results.
UseCycleList: This boolean input determines whether a user-defined list of cycles should be used for constructing the composite wave. If set to false, the top N cycles will be used.
Cycle1, Cycle2, Cycle3, Cycle4, and Cycle5: These inputs define the user-defined list of cycles when 'UseCycleList' is set to true. If using a user-defined list, each of these inputs represents the period of a specific cycle to include in the composite wave.
StartAtCycle: This input determines the starting index for selecting the top N cycles when UseCycleList is set to false. This allows you to skip a certain number of cycles from the top before selecting the desired number of cycles.
UseTopCycles: This input sets the number of top cycles to use for constructing the composite wave when UseCycleList is set to false. The cycles are ranked based on their amplitudes or cycle strengths, depending on the UseCycleStrength input.
SubtractNoise: This boolean input determines whether to subtract the noise (remaining cycles) from the composite wave. If set to true, the composite wave will only include the top N cycles specified by UseTopCycles.
█ Exploring Auxiliary Functions
The following functions demonstrate advanced techniques for analyzing financial markets, including zero-lag moving averages, Bartels probability, detrending, and Hodrick-Prescott filtering. This section examines each function in detail, explaining their purpose, methodology, and applications in finance. We will examine how each function contributes to the overall performance and effectiveness of the indicator and how they work together to create a powerful analytical tool.
Zero-Lag Moving Average:
The zero-lag moving average function is designed to minimize the lag typically associated with moving averages. This is achieved through a two-step weighted linear regression process that emphasizes more recent data points. The function calculates a linearly weighted moving average (LWMA) on the input data and then applies another LWMA on the result. By doing this, the function creates a moving average that closely follows the price action, reducing the lag and improving the responsiveness of the indicator.
The zero-lag moving average function is used in the indicator to provide a responsive, low-lag smoothing of the input data. This function helps reduce the noise and fluctuations in the data, making it easier to identify and analyze underlying trends and patterns. By minimizing the lag associated with traditional moving averages, this function allows the indicator to react more quickly to changes in market conditions, providing timely signals and improving the overall effectiveness of the indicator.
Bartels Probability:
The Bartels probability function calculates the probability of a given cycle being significant in a time series. It uses a mathematical test called the Bartels test to assess the significance of cycles detected in the data. The function calculates coefficients for each detected cycle and computes an average amplitude and an expected amplitude. By comparing these values, the Bartels probability is derived, indicating the likelihood of a cycle's significance. This information can help in identifying and analyzing dominant cycles in financial markets.
The Bartels probability function is incorporated into the indicator to assess the significance of detected cycles in the input data. By calculating the Bartels probability for each cycle, the indicator can prioritize the most significant cycles and focus on the market dynamics that are most relevant to the current trading environment. This function enhances the indicator's ability to identify dominant market cycles, improving its predictive power and aiding in the development of effective trading strategies.
Detrend Logarithmic Zero-Lag Regression:
The detrend logarithmic zero-lag regression function is used for detrending data while minimizing lag. It combines a zero-lag moving average with a linear regression detrending method. The function first calculates the zero-lag moving average of the logarithm of input data and then applies a linear regression to remove the trend. By detrending the data, the function isolates the cyclical components, making it easier to analyze and interpret the underlying market dynamics.
The detrend logarithmic zero-lag regression function is used in the indicator to isolate the cyclical components of the input data. By detrending the data, the function enables the indicator to focus on the cyclical movements in the market, making it easier to analyze and interpret market dynamics. This function is essential for identifying cyclical patterns and understanding the interactions between different market cycles, which can inform trading decisions and enhance overall market understanding.
Bartels Cycle Significance Test:
The Bartels cycle significance test is a function that combines the Bartels probability function and the detrend logarithmic zero-lag regression function to assess the significance of detected cycles. The function calculates the Bartels probability for each cycle and stores the results in an array. By analyzing the probability values, traders and analysts can identify the most significant cycles in the data, which can be used to develop trading strategies and improve market understanding.
The Bartels cycle significance test function is integrated into the indicator to provide a comprehensive analysis of the significance of detected cycles. By combining the Bartels probability function and the detrend logarithmic zero-lag regression function, this test evaluates the significance of each cycle and stores the results in an array. The indicator can then use this information to prioritize the most significant cycles and focus on the most relevant market dynamics. This function enhances the indicator's ability to identify and analyze dominant market cycles, providing valuable insights for trading and market analysis.
Hodrick-Prescott Filter:
The Hodrick-Prescott filter is a popular technique used to separate the trend and cyclical components of a time series. The function applies a smoothing parameter to the input data and calculates a smoothed series using a two-sided filter. This smoothed series represents the trend component, which can be subtracted from the original data to obtain the cyclical component. The Hodrick-Prescott filter is commonly used in economics and finance to analyze economic data and financial market trends.
The Hodrick-Prescott filter is incorporated into the indicator to separate the trend and cyclical components of the input data. By applying the filter to the data, the indicator can isolate the trend component, which can be used to analyze long-term market trends and inform trading decisions. Additionally, the cyclical component can be used to identify shorter-term market dynamics and provide insights into potential trading opportunities. The inclusion of the Hodrick-Prescott filter adds another layer of analysis to the indicator, making it more versatile and comprehensive.
Detrending Options: Detrend Centered Moving Average:
The detrend centered moving average function provides different detrending methods, including the Hodrick-Prescott filter and the zero-lag moving average, based on the selected detrending method. The function calculates two sets of smoothed values using the chosen method and subtracts one set from the other to obtain a detrended series. By offering multiple detrending options, this function allows traders and analysts to select the most appropriate method for their specific needs and preferences.
The detrend centered moving average function is integrated into the indicator to provide users with multiple detrending options, including the Hodrick-Prescott filter and the zero-lag moving average. By offering multiple detrending methods, the indicator allows users to customize the analysis to their specific needs and preferences, enhancing the indicator's overall utility and adaptability. This function ensures that the indicator can cater to a wide range of trading styles and objectives, making it a valuable tool for a diverse group of market participants.
The auxiliary functions functions discussed in this section demonstrate the power and versatility of mathematical techniques in analyzing financial markets. By understanding and implementing these functions, traders and analysts can gain valuable insights into market dynamics, improve their trading strategies, and make more informed decisions. The combination of zero-lag moving averages, Bartels probability, detrending methods, and the Hodrick-Prescott filter provides a comprehensive toolkit for analyzing and interpreting financial data. The integration of advanced functions in a financial indicator creates a powerful and versatile analytical tool that can provide valuable insights into financial markets. By combining the zero-lag moving average,
█ In-Depth Analysis of the Goertzel Browser Code
The Goertzel Browser code is an implementation of the Goertzel Algorithm, an efficient technique to perform spectral analysis on a signal. The code is designed to detect and analyze dominant cycles within a given financial market data set. This section will provide an extremely detailed explanation of the code, its structure, functions, and intended purpose.
Function signature and input parameters:
The Goertzel Browser function accepts numerous input parameters for customization, including source data (src), the current bar (forBar), sample size (samplesize), period (per), squared amplitude flag (squaredAmp), addition flag (useAddition), cosine flag (useCosine), cycle strength flag (UseCycleStrength), past and future window sizes (WindowSizePast, WindowSizeFuture), Bartels filter flag (FilterBartels), Bartels-related parameters (BartNoCycles, BartSmoothPer, BartSigLimit), sorting flag (SortBartels), and output buffers (goeWorkPast, goeWorkFuture, cyclebuffer, amplitudebuffer, phasebuffer, cycleBartelsBuffer).
Initializing variables and arrays:
The code initializes several float arrays (goeWork1, goeWork2, goeWork3, goeWork4) with the same length as twice the period (2 * per). These arrays store intermediate results during the execution of the algorithm.
Preprocessing input data:
The input data (src) undergoes preprocessing to remove linear trends. This step enhances the algorithm's ability to focus on cyclical components in the data. The linear trend is calculated by finding the slope between the first and last values of the input data within the sample.
Iterative calculation of Goertzel coefficients:
The core of the Goertzel Browser algorithm lies in the iterative calculation of Goertzel coefficients for each frequency bin. These coefficients represent the spectral content of the input data at different frequencies. The code iterates through the range of frequencies, calculating the Goertzel coefficients using a nested loop structure.
Cycle strength computation:
The code calculates the cycle strength based on the Goertzel coefficients. This is an optional step, controlled by the UseCycleStrength flag. The cycle strength provides information on the relative influence of each cycle on the data per bar, considering both amplitude and cycle length. The algorithm computes the cycle strength either by squaring the amplitude (controlled by squaredAmp flag) or using the actual amplitude values.
Phase calculation:
The Goertzel Browser code computes the phase of each cycle, which represents the position of the cycle within the input data. The phase is calculated using the arctangent function (math.atan) based on the ratio of the imaginary and real components of the Goertzel coefficients.
Peak detection and cycle extraction:
The algorithm performs peak detection on the computed amplitudes or cycle strengths to identify dominant cycles. It stores the detected cycles in the cyclebuffer array, along with their corresponding amplitudes and phases in the amplitudebuffer and phasebuffer arrays, respectively.
Sorting cycles by amplitude or cycle strength:
The code sorts the detected cycles based on their amplitude or cycle strength in descending order. This allows the algorithm to prioritize cycles with the most significant impact on the input data.
Bartels cycle significance test:
If the FilterBartels flag is set, the code performs a Bartels cycle significance test on the detected cycles. This test determines the statistical significance of each cycle and filters out the insignificant cycles. The significant cycles are stored in the cycleBartelsBuffer array. If the SortBartels flag is set, the code sorts the significant cycles based on their Bartels significance values.
Waveform calculation:
The Goertzel Browser code calculates the waveform of the significant cycles for both past and future time windows. The past and future windows are defined by the WindowSizePast and WindowSizeFuture parameters, respectively. The algorithm uses either cosine or sine functions (controlled by the useCosine flag) to calculate the waveforms for each cycle. The useAddition flag determines whether the waveforms should be added or subtracted.
Storing waveforms in matrices:
The calculated waveforms for each cycle are stored in two matrices - goeWorkPast and goeWorkFuture. These matrices hold the waveforms for the past and future time windows, respectively. Each row in the matrices represents a time window position, and each column corresponds to a cycle.
Returning the number of cycles:
The Goertzel Browser function returns the total number of detected cycles (number_of_cycles) after processing the input data. This information can be used to further analyze the results or to visualize the detected cycles.
The Goertzel Browser code is a comprehensive implementation of the Goertzel Algorithm, specifically designed for detecting and analyzing dominant cycles within financial market data. The code offers a high level of customization, allowing users to fine-tune the algorithm based on their specific needs. The Goertzel Browser's combination of preprocessing, iterative calculations, cycle extraction, sorting, significance testing, and waveform calculation makes it a powerful tool for understanding cyclical components in financial data.
█ Generating and Visualizing Composite Waveform
The indicator calculates and visualizes the composite waveform for both past and future time windows based on the detected cycles. Here's a detailed explanation of this process:
Updating WindowSizePast and WindowSizeFuture:
The WindowSizePast and WindowSizeFuture are updated to ensure they are at least twice the MaxPer (maximum period).
Initializing matrices and arrays:
Two matrices, goeWorkPast and goeWorkFuture, are initialized to store the Goertzel results for past and future time windows. Multiple arrays are also initialized to store cycle, amplitude, phase, and Bartels information.
Preparing the source data (srcVal) array:
The source data is copied into an array, srcVal, and detrended using one of the selected methods (hpsmthdt, zlagsmthdt, logZlagRegression, hpsmth, or zlagsmth).
Goertzel function call:
The Goertzel function is called to analyze the detrended source data and extract cycle information. The output, number_of_cycles, contains the number of detected cycles.
Initializing arrays for past and future waveforms:
Three arrays, epgoertzel, goertzel, and goertzelFuture, are initialized to store the endpoint Goertzel, non-endpoint Goertzel, and future Goertzel projections, respectively.
Calculating composite waveform for past bars (goertzel array):
The past composite waveform is calculated by summing the selected cycles (either from the user-defined cycle list or the top cycles) and optionally subtracting the noise component.
Calculating composite waveform for future bars (goertzelFuture array):
The future composite waveform is calculated in a similar way as the past composite waveform.
Drawing past composite waveform (pvlines):
The past composite waveform is drawn on the chart using solid lines. The color of the lines is determined by the direction of the waveform (green for upward, red for downward).
Drawing future composite waveform (fvlines):
The future composite waveform is drawn on the chart using dotted lines. The color of the lines is determined by the direction of the waveform (fuchsia for upward, yellow for downward).
Displaying cycle information in a table (table3):
A table is created to display the cycle information, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
Filling the table with cycle information:
The indicator iterates through the detected cycles and retrieves the relevant information (period, amplitude, phase, and Bartel value) from the corresponding arrays. It then fills the table with this information, displaying the values up to six decimal places.
To summarize, this indicator generates a composite waveform based on the detected cycles in the financial data. It calculates the composite waveforms for both past and future time windows and visualizes them on the chart using colored lines. Additionally, it displays detailed cycle information in a table, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
█ Enhancing the Goertzel Algorithm-Based Script for Financial Modeling and Trading
The Goertzel algorithm-based script for detecting dominant cycles in financial data is a powerful tool for financial modeling and trading. It provides valuable insights into the past behavior of these cycles and potential future impact. However, as with any algorithm, there is always room for improvement. This section discusses potential enhancements to the existing script to make it even more robust and versatile for financial modeling, general trading, advanced trading, and high-frequency finance trading.
Enhancements for Financial Modeling
Data preprocessing: One way to improve the script's performance for financial modeling is to introduce more advanced data preprocessing techniques. This could include removing outliers, handling missing data, and normalizing the data to ensure consistent and accurate results.
Additional detrending and smoothing methods: Incorporating more sophisticated detrending and smoothing techniques, such as wavelet transform or empirical mode decomposition, can help improve the script's ability to accurately identify cycles and trends in the data.
Machine learning integration: Integrating machine learning techniques, such as artificial neural networks or support vector machines, can help enhance the script's predictive capabilities, leading to more accurate financial models.
Enhancements for General and Advanced Trading
Customizable indicator integration: Allowing users to integrate their own technical indicators can help improve the script's effectiveness for both general and advanced trading. By enabling the combination of the dominant cycle information with other technical analysis tools, traders can develop more comprehensive trading strategies.
Risk management and position sizing: Incorporating risk management and position sizing functionality into the script can help traders better manage their trades and control potential losses. This can be achieved by calculating the optimal position size based on the user's risk tolerance and account size.
Multi-timeframe analysis: Enhancing the script to perform multi-timeframe analysis can provide traders with a more holistic view of market trends and cycles. By identifying dominant cycles on different timeframes, traders can gain insights into the potential confluence of cycles and make better-informed trading decisions.
Enhancements for High-Frequency Finance Trading
Algorithm optimization: To ensure the script's suitability for high-frequency finance trading, optimizing the algorithm for faster execution is crucial. This can be achieved by employing efficient data structures and refining the calculation methods to minimize computational complexity.
Real-time data streaming: Integrating real-time data streaming capabilities into the script can help high-frequency traders react to market changes more quickly. By continuously updating the cycle information based on real-time market data, traders can adapt their strategies accordingly and capitalize on short-term market fluctuations.
Order execution and trade management: To fully leverage the script's capabilities for high-frequency trading, implementing functionality for automated order execution and trade management is essential. This can include features such as stop-loss and take-profit orders, trailing stops, and automated trade exit strategies.
While the existing Goertzel algorithm-based script is a valuable tool for detecting dominant cycles in financial data, there are several potential enhancements that can make it even more powerful for financial modeling, general trading, advanced trading, and high-frequency finance trading. By incorporating these improvements, the script can become a more versatile and effective tool for traders and financial analysts alike.
█ Understanding the Limitations of the Goertzel Algorithm
While the Goertzel algorithm-based script for detecting dominant cycles in financial data provides valuable insights, it is important to be aware of its limitations and drawbacks. Some of the key drawbacks of this indicator are:
Lagging nature:
As with many other technical indicators, the Goertzel algorithm-based script can suffer from lagging effects, meaning that it may not immediately react to real-time market changes. This lag can lead to late entries and exits, potentially resulting in reduced profitability or increased losses.
Parameter sensitivity:
The performance of the script can be sensitive to the chosen parameters, such as the detrending methods, smoothing techniques, and cycle detection settings. Improper parameter selection may lead to inaccurate cycle detection or increased false signals, which can negatively impact trading performance.
Complexity:
The Goertzel algorithm itself is relatively complex, making it difficult for novice traders or those unfamiliar with the concept of cycle analysis to fully understand and effectively utilize the script. This complexity can also make it challenging to optimize the script for specific trading styles or market conditions.
Overfitting risk:
As with any data-driven approach, there is a risk of overfitting when using the Goertzel algorithm-based script. Overfitting occurs when a model becomes too specific to the historical data it was trained on, leading to poor performance on new, unseen data. This can result in misleading signals and reduced trading performance.
No guarantee of future performance: While the script can provide insights into past cycles and potential future trends, it is important to remember that past performance does not guarantee future results. Market conditions can change, and relying solely on the script's predictions without considering other factors may lead to poor trading decisions.
Limited applicability: The Goertzel algorithm-based script may not be suitable for all markets, trading styles, or timeframes. Its effectiveness in detecting cycles may be limited in certain market conditions, such as during periods of extreme volatility or low liquidity.
While the Goertzel algorithm-based script offers valuable insights into dominant cycles in financial data, it is essential to consider its drawbacks and limitations when incorporating it into a trading strategy. Traders should always use the script in conjunction with other technical and fundamental analysis tools, as well as proper risk management, to make well-informed trading decisions.
█ Interpreting Results
The Goertzel Browser indicator can be interpreted by analyzing the plotted lines and the table presented alongside them. The indicator plots two lines: past and future composite waves. The past composite wave represents the composite wave of the past price data, and the future composite wave represents the projected composite wave for the next period.
The past composite wave line displays a solid line, with green indicating a bullish trend and red indicating a bearish trend. On the other hand, the future composite wave line is a dotted line with fuchsia indicating a bullish trend and yellow indicating a bearish trend.
The table presented alongside the indicator shows the top cycles with their corresponding rank, period, Bartels, amplitude or cycle strength, and phase. The amplitude is a measure of the strength of the cycle, while the phase is the position of the cycle within the data series.
Interpreting the Goertzel Browser indicator involves identifying the trend of the past and future composite wave lines and matching them with the corresponding bullish or bearish color. Additionally, traders can identify the top cycles with the highest amplitude or cycle strength and utilize them in conjunction with other technical indicators and fundamental analysis for trading decisions.
This indicator is considered a repainting indicator because the value of the indicator is calculated based on the past price data. As new price data becomes available, the indicator's value is recalculated, potentially causing the indicator's past values to change. This can create a false impression of the indicator's performance, as it may appear to have provided a profitable trading signal in the past when, in fact, that signal did not exist at the time.
The Goertzel indicator is also non-endpointed, meaning that it is not calculated up to the current bar or candle. Instead, it uses a fixed amount of historical data to calculate its values, which can make it difficult to use for real-time trading decisions. For example, if the indicator uses 100 bars of historical data to make its calculations, it cannot provide a signal until the current bar has closed and become part of the historical data. This can result in missed trading opportunities or delayed signals.
█ Conclusion
The Goertzel Browser indicator is a powerful tool for identifying and analyzing cyclical patterns in financial markets. Its ability to detect multiple cycles of varying frequencies and strengths make it a valuable addition to any trader's technical analysis toolkit. However, it is important to keep in mind that the Goertzel Browser indicator should be used in conjunction with other technical analysis tools and fundamental analysis to achieve the best results. With continued refinement and development, the Goertzel Browser indicator has the potential to become a highly effective tool for financial modeling, general trading, advanced trading, and high-frequency finance trading. Its accuracy and versatility make it a promising candidate for further research and development.
█ Footnotes
What is the Bartels Test for Cycle Significance?
The Bartels Cycle Significance Test is a statistical method that determines whether the peaks and troughs of a time series are statistically significant. The test is named after its inventor, George Bartels, who developed it in the mid-20th century.
The Bartels test is designed to analyze the cyclical components of a time series, which can help traders and analysts identify trends and cycles in financial markets. The test calculates a Bartels statistic, which measures the degree of non-randomness or autocorrelation in the time series.
The Bartels statistic is calculated by first splitting the time series into two halves and calculating the range of the peaks and troughs in each half. The test then compares these ranges using a t-test, which measures the significance of the difference between the two ranges.
If the Bartels statistic is greater than a critical value, it indicates that the peaks and troughs in the time series are non-random and that there is a significant cyclical component to the data. Conversely, if the Bartels statistic is less than the critical value, it suggests that the peaks and troughs are random and that there is no significant cyclical component.
The Bartels Cycle Significance Test is particularly useful in financial analysis because it can help traders and analysts identify significant cycles in asset prices, which can in turn inform investment decisions. However, it is important to note that the test is not perfect and can produce false signals in certain situations, particularly in noisy or volatile markets. Therefore, it is always recommended to use the test in conjunction with other technical and fundamental indicators to confirm trends and cycles.
Deep-dive into the Hodrick-Prescott Fitler
The Hodrick-Prescott (HP) filter is a statistical tool used in economics and finance to separate a time series into two components: a trend component and a cyclical component. It is a powerful tool for identifying long-term trends in economic and financial data and is widely used by economists, central banks, and financial institutions around the world.
The HP filter was first introduced in the 1990s by economists Robert Hodrick and Edward Prescott. It is a simple, two-parameter filter that separates a time series into a trend component and a cyclical component. The trend component represents the long-term behavior of the data, while the cyclical component captures the shorter-term fluctuations around the trend.
The HP filter works by minimizing the following objective function:
Minimize: (Sum of Squared Deviations) + λ (Sum of Squared Second Differences)
Where:
The first term represents the deviation of the data from the trend.
The second term represents the smoothness of the trend.
λ is a smoothing parameter that determines the degree of smoothness of the trend.
The smoothing parameter λ is typically set to a value between 100 and 1600, depending on the frequency of the data. Higher values of λ lead to a smoother trend, while lower values lead to a more volatile trend.
The HP filter has several advantages over other smoothing techniques. It is a non-parametric method, meaning that it does not make any assumptions about the underlying distribution of the data. It also allows for easy comparison of trends across different time series and can be used with data of any frequency.
However, the HP filter also has some limitations. It assumes that the trend is a smooth function, which may not be the case in some situations. It can also be sensitive to changes in the smoothing parameter λ, which may result in different trends for the same data. Additionally, the filter may produce unrealistic trends for very short time series.
Despite these limitations, the HP filter remains a valuable tool for analyzing economic and financial data. It is widely used by central banks and financial institutions to monitor long-term trends in the economy, and it can be used to identify turning points in the business cycle. The filter can also be used to analyze asset prices, exchange rates, and other financial variables.
The Hodrick-Prescott filter is a powerful tool for analyzing economic and financial data. It separates a time series into a trend component and a cyclical component, allowing for easy identification of long-term trends and turning points in the business cycle. While it has some limitations, it remains a valuable tool for economists, central banks, and financial institutions around the world.
Market Structure & Liquidity: CHoCHs+Nested Pivots+FVGs+Sweeps//Purpose:
This indicator combines several tools to help traders track and interpret price action/market structure; It can be divided into 4 parts;
1. CHoCHs, 2. Nested Pivot highs & lows, 3. Grade sweeps, 4. FVGs.
This gives the trader a toolkit for determining market structure and shifts in market structure to help determine a bull or bear bias, whether it be short-term, med-term or long-term.
This indicator also helps traders in determining liquidity targets: wether they be voids/gaps (FVGS) or old highs/lows+ typical sweep distances.
Finally, the incorporation of HTF CHoCH levels printing on your LTF chart helps keep the bigger picture in mind and tells traders at a glance if they're above of below Custom HTF CHoCH up or CHoCH down (these HTF CHoCHs can be anything from Hourly up to Monthly).
//Nomenclature:
CHoCH = Change of Character
STH/STL = short-term high or low
MTH/MTL = medium-term high or low
LTH/LTL = long-term high or low
FVG = Fair value gap
CE = consequent encroachement (the midline of a FVG)
~~~ The Four components of this indicator ~~~
1. CHoCHs:
•Best demonstrated in the below charts. This was a method taught to me by @Icecold_crypto. Once a 3 bar fractal pivot gets broken, we count backwards the consecutive higher lows or lower highs, then identify the CHoCH as the opposite end of the candle which ended the consecutive backwards count. This CHoCH (UP or DOWN) then becomes a level to watch, if price passes through it in earnest a trader would consider shifting their bias as market structure is deemed to have shifted.
•HTF CHoCHs: Option to print Higher time frame chochs (default on) of user input HTF. This prints only the last UP choch and only the last DOWN choch from the input HTF. Solid line by default so as to distinguish from local/chart-time CHoCHs. Can be any Higher timeframe you like.
•Show on table: toggle on show table(above/below) option to show in table cells (top right): is price above the latest HTF UP choch, or is price below HTF DOWN choch (or is it sat between the two, in a state of 'uncertainty').
•Most recent CHoCHs which have not been met by price will extend 10 bars into the future.
• USER INPUTS: overall setting: SHOW CHOCHS | Set bars lookback number to limit historical Chochs. Set Live CHoCHs number to control the number of active recent chochs unmet by price. Toggle shrink chochs once hit to declutter chart and minimize old chochs to their origin bars. Set Multi-timeframe color override : to make Color choices auto-set to your preference color for each of 1m, 5m, 15m, H, 4H, D, W, M (where up and down are same color, but 'up' icon for up chochs and down icon for down chochs remain printing as normal)
2. Nested Pivot Highs & Lows; aka 'Pivot Highs & Lows (ST/MT/LT)'
•Based on a seperate, longer lookback/lookforward pivot calculation. Identifies Pivot highs and lows with a 'spikeyness' filter (filtering out weak/rounded/unimpressive Pivot highs/lows)
•by 'nested' I mean that the pivot highs are graded based on whether a pivot high sits between two lower pivot highs or vice versa.
--for example: STH = normal pivot. MTH is pivot high with a lower STH on either side. LTH is a pivot high with a lower MTH on either side. Same applies to pivot lows (STL/MTL/LTL)
•This is a useful way to measure the significance of a high or low. Both in terms of how much it might be typically swept by (see later) and what it would imply for HTF bias were we to break through it in earnest (more than just a sweep).
• USER INPUTS: overall setting: show pivot highs & lows | Bars lookback (historical pivots to show) | Pivots: lookback/lookforward length (determines the scale of your pivot highs/lows) | toggle on/off Apply 'Spikeyness' filter (filters out smooth/unimpressive pivot highs/lows). Set Spikeyness index (determines the strength of this filter if turned on) | Individually toggle on each of STH, MTH, LTH, STL, MTL, LTL along with their label text type , and size . Toggle on/off line for each of these Pivot highs/lows. | Set label spacer (atr multiples above / below) | set line style and line width
3. Grade Sweeps:
•These are directly related to the nested pivots described above. Most assets will have a typical sweep distance. I've added some of my expected sweeps for various assets in the indicator tooltips.
--i.e. Eur/Usd 10-20-30 pips is a typical 'grade' sweep. S&P HKEX:5 - HKEX:10 is a typical grade sweep.
•Each of the ST/MT/LT pivot highs and lows have optional user defined grade sweep boxes which paint above until filled (or user option for historical filled boxes to remain).
•Numbers entered into sweep input boxes are auto converted into appropriate units (i.e. pips for FX, $ or 'handles' for indices, $ for Crypto. Very low $ units can be input for low unit value crypto altcoins.
• USER INPUTS: overall setting: Show sweep boxes | individually select colors of each of STH, MTH, LTH, STL, MTL, LTL sweep boxes. | Set Grade sweep ($/pips) number for each of ST, MT, LT. This auto converts between pips and $ (i.e. FX vs Indices/Crypto). Can be a float as small or large as you like ($0.000001 to HKEX:1000 ). | Set box text position (horizontal & vertical) and size , and color . | Set Box width (bars) (for non extended/ non-auto-terminating at price boxes). | toggle on/off Extend boxes/lines right . | Toggle on/off Shrink Grade sweeps on fill (they will disappear in realtime when filled/passed through)
4. FVGs:
•Fair Value gaps. Represent 'naked' candle bodies where the wicks to either side do not meet, forming a 'gap' of sorts which has a tendency to fill, or at least to fill to midline (CE).
•These are ICT concepts. 'UP' FVGS are known as BISIs (Buyside imbalance, sellside inefficiency); 'DOWN' FVGs are known as SIBIs (Sellside imbalance, buyside inefficiency).
• USER INPUTS: overall setting: show FVGs | Bars lookback (history). | Choose to display: 'UP' FVGs (BISI) and/or 'DOWN FVGs (SIBI) . Choose to display the midline: CE , the color and the line style . Choose threshold: use CE (as opposed to Full Fill) |toggle on/off Shrink FVG on fill (CE hit or Full fill) (declutter chart/see backtesting history)
////••Alerts (general notes & cautionary notes)::
•Alerts are optional for most of the levels printed by this indicator. Set them via the three dots on indicator status line.
•Due to dynamic repainting of levels, alerts should be used with caution. Best use these alerts either for Higher time frame levels, or when closely monitoring price.
--E.g. You may set an alert for down-fill of the latest FVG below; but price will keep marching up; form a newer/higher FVG, and the alert will trigger on THAT FVG being down-filled (not the original)
•Available Alerts:
-FVG(BISI) cross above threshold(CE or full-fill; user choice). Same with FVG(SIBI).
-HTF last CHoCH down, cross below | HTF last CHoCH up, cross above.
-last CHoCH down, cross below | last CHoCH up, cross above.
-LTH cross above, MTH cross above, STH cross above | LTL cross below, MTL cross below, STL cross below.
////••Formatting (general)::
•all table text color is set from the 'Pivot highs & Lows (ST, MT, LT)' section (for those of you who prefer black backgrounds).
•User choice of Line-style, line color, line width. Same with Boxes. Icon choice for chochs. Char or label text choices for ST/MT/LT pivot highs & lows.
////••User Inputs (general):
•Each of the 4 components of this indicator can be easily toggled on/off independently.
•Quite a lot of options and toggle boxes, as described in full above. Please take your time and read through all the tooltips (hover over '!' icon) to get an idea of formatting options.
•Several Lookback periods defined in bars to control how much history is shown for each of the 4 components of this indicator.
•'Shrink on fill' settings on FVGs and CHoCHs: Basically a way to declutter chart; toggle on/off depending on if you're backtesting or reading live price action.
•Table Display: applies to ST/MT/LT pivot highs and to HTF CHoCHs; Toggle table on or off (in part or in full)
////••Credits:
•Credit to ICT (Inner Circle Trader) for some of the concepts used in this indicator (FVGS & CEs; Grade sweeps).
•Credit to @Icecold_crypto for the specific and novel concept of identifying CHoCHs in a simple, objective and effective manner (as demonstrated in the 1st chart below).
CHoCH demo page 1: shifting tweak; arrow diagrams to demonstrate how CHoCHs are defined:
CHoCH demo page 2: Simplified view; short lookback history; few CHoCHs, demo of 'latest' choch being extended into the future by 10 bars:
USAGE: Bitcoin Hourly using HTF daily CHoCHs:
USAGE-2: Cotton Futures (CT1!) 2hr. Painting a rather bullish picture. Above HTF UP CHoCH, Local CHoCHs show bullish order flow, Nice targets above (MTH/LTH + grade sweeps):
Full Demo; 5min chart; CHoCHs, Short term pivot highs/lows, grade sweeps, FVGs:
Full Demo, Eur/Usd 15m: STH, MTH, LTH grade sweeps, CHoCHs, Usage for finding bias (part A):
Full Demo, Eur/Usd 15m: STH, MTH, LTH grade sweeps, CHoCHs, Usage for finding bias, 3hrs later (part B):
Realtime Vs Backtesting(A): btc/usd 15m; FVGs and CHoCHs: shrink on fill, once filled they repaint discreetly on their origin bar only. Realtime (Shrink on fill, declutter chart):
Realtime Vs Backtesting(B): btc/usd 15m; FVGs and CHoCHs: DON'T shrink on fill; they extend to the point where price crosses them, and fix/paint there. Backtesting (seeing historical behaviour):
LNL Smart TICKLNL Smart TICK
This study is mostly beneficial for intraday traders. It is basically a user-friendly "colorful" representation of the $TICK chart with highlighted $TICK extremes. This indicator also includes: a simple trend gauge that can visualize the bias for the day, cumulative tick cloud which is showing the cumulative strength of either longs & shorts on the day.
$TICK Trend Gauge
Although it is just a exponential moving average. This average (default set on 20) works quite well as an overall gauge for the day. Whenever the gauge is green (above zero), any negative $TICK values below -500 can offer great pullback opportunities. Same applies for the red gauge. 20 EMA is below zero ? Great time to fade any +500 or +1000 tick readings. Obviously the gauge can be ajdusted to any number based on personal style.
$TICK Extremes (little triangles)
These little triangles are triggered anytime $TICK jumps above or below the pre-set values of +1000 or -1000. By just simply observing the $TICK triangles during the day can tell you how much volaility or pressure there is. Sometimes there will be 20 green triangles and only 2 red ones. That obviously mean there is a strong bearish pressure. But there will be days when you are not going to see any triangles at all which can mean there is either a low volatility or the price is stuck in the indecisive market.
Cumulative $TICK Cloud
Cumulative $TICK by itself is a great study for day traders. It is basically running "counting" $TICK that is adding the previous $TICK values from previous bars. Cumulative $TICK can create a direct picture of the current market sentiment. It is not just a simple green / red line but a cloud that can really show you the depth on the $TICK. Some days, the cloud will be quite wide which is a good sign for the strength to one side, but sometimes the cloud will be so narrow it will practically disappear. This would be telling you the exact opposite - not much conviction to any side. Of course the depth as well as the color of the cloud can change during the day.
$TICK & Cumulative $TICK Tables
By just looking at these tables. You can immidiately tell the state of the current $TICK. They both can be red or green. It all depends whether the values are positive or negative. The tables are just a little visual addition to the whole $TICK study.
Hope it helps.
Nasdaq 100 ScreenerNasdaq 100 screener is comprehensive table displaying the following parameters :
Op = Open Price of the Day.
LaP = Last Price.
O-L = Open Price of the Day - Last Price.
ROC = Rate of Change .
SMA20 = Simple Moving Average 20 period.
S20d = Last Price - SMA 20.
SMA50 = Simple Moving Average 50 period.
S50d = Last Price - SMA 50.
SMA200 = Simple Moving Average 200 period.
S200d = Last Price - SMA 200.
ADX(14) = Average Directional Index.
RSI(14) = Relative Strength Index.
CCI(20) = Commodity Channel Index.
ATR(14) = Average True Range.
MOM(10) = Momentum.
AcDis(K) = Accumulation/Distribution.
CMF(20) = Chaikin Money Flow.
MACD = Moving Average Convergence Divergence.
Sig = MACD signal.
Nasdaq 100 stocks are divided into following alphabetical grouping for input access purpose under “Options” in “Settings” menu.
A to B 21 stocks “Input symbols” are listed under the “Options” in “Input A to B”
C to E 18 stocks “Input symbols” are listed under the head “Options” in “Input C to E”
F to L 19 stocks “Input symbols” are listed under the head “Options” in “Input F to L”
M to P 22 stocks “Input symbols” are listed under the head “Options” in “Input M to P”
R to Z 20 stocks “Input symbols” are listed under the head “Options” in “Input R to Z”
A to Z 100 stocks “Input symbols” are listed under the head “Options” in “Input A to Z”
User after visiting the “Settings” menu simply is required to select the “input symbol” from the stock listed under respective alphabetical Input lists to which the particular stock belongs. The resultant data is tabulated under respective row in Table .At a time User can see 5 different stocks i.e one each in different alphabetical lists in respective alphabetical order rows stated in the Table. User can scroll in each list to access and shift to any other stock in the list. In addition a Master list of all 100 stocks is given under “ Input A to Z “ at the last row of table.
Nasdaq 100 screener is a simple table , which facilitate to view 6 different stocks at a time (inclusive one from Master list of “Input A to Z” with a display of 19 parameters.
Tape [LucF]█ OVERVIEW
This script prints an ersatz of a trading console's "tape" section to the right of your chart. It displays the time, price and volume of each update of the chart's feed. It also calculates volume delta for the bar. As it calculates from realtime information, it will not display information on historical bars.
█ FEATURES
Calculations
Each new line in the tape displays the last price/volume update from the TradingView feed that's building your chart. These updates do not necessarily correspond to ticks from the originating broker/exchange's matching engine. Multiple broker/exchange ticks are often aggregated in one chart update.
The script first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta accumulation for the bar, which becomes the bar's final volume delta value when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating volume delta is not perfect, it is currently the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to bid/ask levels from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes, for now. Also note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume delta here is calculated from many more realtime updates than the available intrabars in history.
Inputs
You can use the script's inputs to configure:
• The number of lines displayed in the tape.
• If new lines appear at the top or bottom.
• If you want to hide lines with low volume.
• The precision of volume values.
• The size of the text and the colors used to highlight either the tape's text or background.
• The position where you want the tape on your chart.
• Conditions triggering three different markers.
Display
Deltas are shown at the bottom of the tape. They are reset on each bar. Time delta displays the time elapsed since the beginning of the bar, on intraday timeframes only. Contrary to the price change display by TradingView at the top left of charts, which is calculated from the close of the previous bar, the price delta in the tape is calculated from the bar's open, because that's the information used in the calculation of volume delta. The time will become orange when volume delta's polarity diverges from that of the bar. The volume delta value represents the current, cumulative value for the bar. Its color reflects its polarity.
When new realtime bars appear on the chart, a ↻ symbol will appear before the volume value in tape lines.
Markers
There are three types of markers you can choose to display:
• Marker 1 on volume bumps. A bump is defined as two consecutive and increasing/decreasing plus/minus delta volume values,
when no divergence between the polarity of delta volume and the bar occurs on the second bar.
• Marker 2 on volume delta for the bar exceeding a limit of your choice when there is no divergence between the polarity of delta volume and the bar. These trigger at the bar's close.
• Marker 3 on tape lines with volume exceeding a threshold. These trigger in realtime. Be sure to set a threshold high enough so that it doesn't generate too many alerts.
These markers will only display briefly under the bar, but another marker appears next to the relevant line in the tape.
The marker conditions are used to trigger alerts configured on the script. Alert messages will mention the marker(s) that triggered the specific alert event, along with the relevant volume value that triggered the marker. If more than one marker triggers a single alert, they will overprint under the bar, which can make it difficult to distinguish them.
For more detailed on-chart analysis of realtime volume delta, see my Delta Volume Realtime Action .
█ NOTES FOR CODERS
This script showcases two new Pine features:
• Tables, which allow Pine programmers to display tabular information in fixed locations of the chart. The tape uses this feature.
See the Pine User Manual's page on Tables for more information.
• varip -type variables which we can use to save values between realtime updates.
See the " Using `varip` variables " publication by PineCoders for more information.
Line Strategy v6Line Indicator for TradingView
This Pine Script indicator identifies the largest candles on both 5-minute and 1-hour timeframes within the last 240 five-minute bars. It provides visual markers and detailed information to help traders spot significant price movements.
Key Features
Dual Timeframe Analysis:
Identifies largest candle on 5-minute timeframe
Identifies largest candle on 1-hour timeframe (aggregated from 12 five-minute candles)
Visual Markers:
Blue label marks the highest-range 5-minute candle
Purple background highlights the highest-range hourly candle period
Information Table:
Shows price ranges for both timeframes
Displays precise timestamps for identified candles
Color-coded for quick reference
Progress Indicator:
Shows how many bars have been collected (out of 240 required)
How It Works
Data Collection:
Stores high, low, timestamp, and bar index of the last 240 five-minute candles
Automatically updates with each new bar
5-Minute Analysis:
Scans all 5-minute candles to find the one with the largest price range (high - low)
Marks this candle with a blue label showing its range
Hourly Analysis:
Groups 12 five-minute candles to form each hourly candle
Finds the hourly candle with the largest price range
Highlights the entire hour period with a purple background
Information Display:
Creates a table in the top-right corner showing:
Range values for both timeframes
Timestamps of identified candles
Time period of the largest hourly candle
Usage Instructions
Apply the indicator to any 5-minute chart
Wait for the indicator to collect 240 bars (about 20 trading hours)
Results will appear automatically:
Blue label on the largest 5-minute candle
Purple background on the largest hourly candle period
Information table with detailed metrics
Customization Options
You can easily adjust these aspects by modifying the code:
Colors of markers and table cells
Transparency levels of background highlights
Precision of range values displayed
Position of the information table
The indicator is optimized for performance and works in both historical and real-time modes.
Options Volatility Strategy Analyzer [TradeDots]The Options Volatility Strategy Analyzer is a specialized tool designed to help traders assess market conditions through a detailed examination of historical volatility, market benchmarks, and percentile-based thresholds. By integrating multiple volatility metrics (including VIX and VIX9D) with color-coded regime detection, the script provides users with clear, actionable insights for selecting appropriate options strategies.
📝 HOW IT WORKS
1. Historical Volatility & Percentile Calculations
Annualized Historical Volatility (HV): The script automatically computes the asset’s historical volatility using log returns over a user-defined period. It then annualizes these values based on the chart’s timeframe, helping you understand the asset’s typical volatility profile.
Dynamic Percentile Ranks: To gauge where the current volatility level stands relative to past behavior, historical volatility values are compared against short, medium, and long lookback periods. Tracking these percentile ranks allows you to quickly see if volatility is high or low compared to historical norms.
2. Multi-Market Benchmark Comparison
VIX and VIX9D Integration: The script tracks market volatility through the VIX and VIX9D indices, comparing them to the asset’s historical volatility. This reveals whether the asset’s volatility is outpacing, lagging, or remaining in sync with broader market volatility conditions.
Market Context Analysis: A built-in term-structure check can detect market stress or relative calm by measuring how VIX compares to shorter-dated volatility (VIX9D). This helps you decide if the present environment is risk-prone or relatively stable.
3. Volatility Regime Detection
Color-Coded Background: The analyzer assigns a volatility regime (e.g., “High Asset Vol,” “Low Asset Vol,” “Outpacing Market,” etc.) based on current historical volatility percentile levels and asset vs. market ratios. A color-coded background highlights the regime, enabling traders to quickly interpret the market’s mood.
Alerts on Regime Changes & Spikes: Automated alerts warn you about any significant expansions or contractions in volatility, allowing you to react swiftly in changing conditions.
4. Strategy Forecast Table
Real-Time Strategy Suggestions: At the close of each bar, an on-chart table generates suggested options strategies (e.g., selling premium in high volatility or buying premium in low volatility). These suggestions provide a quick summary of potential tactics suited to the current regime.
Contextual Market Data: The table also displays key statistics, such as VIX levels, asset historical volatility percentile, or ratio comparisons, helping you confirm whether volatility conditions warrant more conservative or more aggressive strategies.
🛠️ HOW TO USE
1. Select Your Timeframe: The script supports multiple timeframes. For short-term trading, intraday charts often reveal faster shifts in volatility. For swing or position trading, daily or weekly charts may be more stable and produce fewer false signals.
2. Check the Volatility Regime: Observe the background color and on-chart labels to identify the current regime (e.g., “HIGH ASSET VOL,” “LOW VOL + LAGGING,” etc.).
3. Review the Forecast Table: The table suggests strategy ideas (e.g., iron condors, long straddles, ratio spreads) depending on whether volatility is elevated, subdued, or spiking. Use these as a starting point for designing trades that match your risk tolerance.
4. Combine with Additional Analysis: For optimal results, confirm signals with your broader trading plan, technical tools (moving averages, price action), and fundamental research. This script is most effective when viewed as one component in a comprehensive decision-making process.
❗️LIMITATIONS
Directional Neutrality: This indicator analyzes volatility environments but does not predict price direction (up/down). Traders must combine with directional analysis for complete strategy selection.
Late or Missed Signals: Since all calculations require a bar to close, sharp intrabar volatility moves may not appear in real-time.
False Positives in Choppy Markets: Rapid changes in percentile ranks or VIX movements can generate conflicting or premature regime shifts.
Data Sensitivity: Accuracy depends on the availability and stability of volatility data. Significant gaps or unusual market conditions may skew results.
Market Correlation Assumptions: The system assumes assets generally correlate with S&P 500 volatility patterns. May be less effective for:
Small-cap stocks with unique volatility drivers
International stocks with different market dynamics
Sector-specific events disconnected from broad market
Cryptocurrency-related assets with independent volatility patterns
RISK DISCLAIMER
Options trading involves substantial risk and is not suitable for all investors. Options strategies can result in significant losses, including the total loss of premium paid. The complexity of options strategies requires thorough understanding of the risks involved.
This indicator provides volatility analysis for educational and informational purposes only and should not be considered as investment advice. Past volatility patterns do not guarantee future performance. Market conditions can change rapidly, and volatility regimes may shift without warning.
No trading system can guarantee profits, and all trading involves the risk of loss. The indicator's regime classifications and strategy suggestions should be used as part of a comprehensive trading plan that includes proper risk management, directional analysis, and consideration of broader market conditions.
MVRV Ratio [Alpha Extract]The MVRV Ratio Indicator provides valuable insights into Bitcoin market cycles by tracking the relationship between market value and realized value. This powerful on-chain metric helps traders identify potential market tops and bottoms, offering clear buy and sell signals based on historical patterns of Bitcoin valuation.
🔶 CALCULATION The indicator processes MVRV ratio data through several analytical methods:
Raw MVRV Data: Collects MVRV data directly from INTOTHEBLOCK for Bitcoin
Optional Smoothing: Applies simple moving average (SMA) to reduce noise
Status Classification: Categorizes market conditions into four distinct states
Signal Generation: Produces trading signals based on MVRV thresholds
Price Estimation: Calculates estimated realized price (Current price / MVRV ratio)
Historical Context: Compares current values to historical extremes
Formula:
MVRV Ratio = Market Value / Realized Value
Smoothed MVRV = SMA(MVRV Ratio, Smoothing Length)
Estimated Realized Price = Current Price / MVRV Ratio
Distance to Top = ((3.5 / MVRV Ratio) - 1) * 100
Distance to Bottom = ((MVRV Ratio / 0.8) - 1) * 100
🔶 DETAILS Visual Features:
MVRV Plot: Color-coded line showing current MVRV value (red for overvalued, orange for moderately overvalued, blue for fair value, teal for undervalued)
Reference Levels: Horizontal lines indicating key MVRV thresholds (3.5, 2.5, 1.0, 0.8)
Zone Highlighting: Background color changes to highlight extreme market conditions (red for potentially overvalued, blue for potentially undervalued)
Information Table: Comprehensive dashboard showing current MVRV value, market status, trading signal, price information, and historical context
Interpretation:
MVRV ≥ 3.5: Potential market top, strong sell signal
MVRV ≥ 2.5: Overvalued market, consider selling
MVRV 1.5-2.5: Neutral market conditions
MVRV 1.0-1.5: Fair value, consider buying
MVRV < 1.0: Potential market bottom, strong buy signal
🔶 EXAMPLES
Market Top Identification: When MVRV ratio exceeds 3.5, the indicator signals potential market tops, highlighting periods where Bitcoin may be significantly overvalued.
Example: During bull market peaks, MVRV exceeding 3.5 has historically preceded major corrections, helping traders time their exits.
Bottom Detection: MVRV values below 1.0, especially approaching 0.8, have historically marked excellent buying opportunities.
Example: During bear market bottoms, MVRV falling below 1.0 has identified the most profitable entry points for long-term Bitcoin accumulation.
Tracking Market Cycles: The indicator provides a clear visualization of Bitcoin's market cycles from undervalued to overvalued states.
Example: Following the progression of MVRV from below 1.0 through fair value and eventually to overvalued territory helps traders position themselves appropriately throughout Bitcoin's market cycle.
Realized Price Support: The estimated realized price often acts as a significant
support/resistance level during market transitions.
Example: During corrections, price often finds support near the realized price level calculated by the indicator, providing potential entry points.
🔶 SETTINGS
Customization Options:
Smoothing: Toggle smoothing option and adjust smoothing length (1-50)
Table Display: Show/hide the information table
Table Position: Choose between top right, top left, bottom right, or bottom left positions
Visual Elements: All plots, lines, and background highlights can be customized for color and style
The MVRV Ratio Indicator provides traders with a powerful on-chain metric to identify potential market tops and bottoms in Bitcoin. By tracking the relationship between market value and realized value, this indicator helps identify periods of overvaluation and undervaluation, offering clear buy and sell signals based on historical patterns. The comprehensive information table delivers valuable context about current market conditions, helping traders make more informed decisions about market positioning throughout Bitcoin's cyclical patterns.
Risk ModuleRisk Module
This indicator provides a visual reference to determine position sizing and approximate stop placement. It is designed to support trade planning by calculating equalized risk per trade based on a stop distance derived from volatility. The tool offers supportive reference points that allow for quick evaluation of risk and position size consistency across varying markets.
Equalized Risk Per Trade
The indicator calculates the number of shares that can be traded to maintain consistent monetary risk. The formula is based on the distance between the current price and the visual stop reference, adjusting the position size proportionally.
Position Size = Dollar Risk / (Entry Price – Stop Price)
The risk is calculated as a percentage of account size; both of which can be set in the indicator’s settings tab. This creates a consistent risk exposure across trades regardless of volatility or structural stop distance.
Stop Placement Reference
The visual stop reference is derived from the Average True Range (ATR), providing a volatility-based anchor. The default value is set to 2 × ATR, but this can be customized.
Price Model: Uses the current price ± ATR × multiplier. This model reacts to price movement and is set as the default option.
EMA Model: Uses the 20-period EMA ± ATR × multiplier. This model is less reactive and can be an option when used in combination with an envelope indicator.
Chart Elements
Stop Levels: Plotted above and below either the current price or EMA, depending on the selected model. These serve as visual reference points for stop placement; the lower level a sell stop for long trades, the upper level a buy stop for short trades.
Information Table: Displays the number of shares to trade, stop level and percentage risk. A compact mode is available to reduce the table to essential information (H/L and Shares).
Settings Overview
Stop Model: Choose between “Price” or “EMA” stop calculation logic.
ATR Multiplier: Change the distance between price/EMA and the stop reference.
Account Size / Risk %: These risk parameters are used to calculate dollar risk per trade.
Visible Bars: Number of recent bars to show stop markers on.
Compact Mode: Minimal table view for reduced chart footprint.
Table Position / Size: Controls table placement and scale on the chart.
Daily ATR Bonanza: Expected Moves - Tr33man Daily ATR Bonanza: Expected Moves
Overview 🤷♂️
The Daily ATR Bonanza script is a powerful trading tool designed to help traders visualize and understand potential price movements using the Average True Range (ATR). It provides daily and weekly ATR levels, historical statistics, and conditional probability analysis to give traders actionable insights. The script also plots the daily Keltner channel. This script is ideal for traders who want to gauge volatility, identify key levels, and make data-driven decisions.
b]Key Features:
📈 1. Daily and Weekly ATR Levels
🔵ATR Levels: The script calculates and displays ATR-based levels for the day and week. These levels are derived from the previous day's or week's close price and are adjusted using customizable multipliers (0.5x, 1x, and 1.5x by default).
🔵You can choose the number of ATR levels (1, 2, or 3) and adjust the multipliers to suit your trading strategy.
🌐 2. ATR Bands (Keltner Channels)
🔵The script includes an option to display ATR Bands, which are volatility-based envelopes around a moving average. These bands help identify overbought and oversold conditions.
🔵You can adjust the ATR multiplier and the length of the moving average used for the bands.
🧮 3. Historical Statistics and Conditional Probability
🔵 Historical Analysis: The script analyzes historical price movements to calculate the likelihood of closing at certain ATR levels.
🔵 Conditional Probability: This feature shows the probability of the price reaching specific ATR levels given the current market conditions. The conditional matches historical data by an open in the same opening ATR bucket, as well as the current price bucket having been visited in the historical case. Conditional probabilities are just statistics, and do not predict anything.
Data Table: 📚
🔵 Historical Close Probability: The percentage of days the price closed within each ATR level.
🔵 Conditional Close Probability: The likelihood of the price closing within each ATR level today.
❓ What is Conditional Probability? ❓
Conditional probability is a statistical measure that calculates the likelihood of an event occurring given that another event has already occurred. In this script, it is used to determine the probability of the price reaching specific ATR levels based on the current opening range as well as current ATR distance from the previous close.
For example:
If the market opens near the lower end of the first ATR level, the script calculates the likelihood of the price reaching the upper end of the first, second, or third ATR level.
This analysis is based on historical data, making it a powerful tool for understanding potential price movements.
🌟 Understanding the Levels
🔵Daily Levels: These are based on the previous day's close price and ATR. They are updated at the start of each new day.
🔵Weekly Levels: These are based on the previous week's close price and ATR. They are updated at the start of each new week.
🔵ATR Bands: These are dynamic levels that adjust with market volatility.
🔬 Analyze the Statistics (Daily only for now, no weekly yet)
🔵Use the interactive table to understand historical probabilities and conditional probabilities.
🔵Focus on the current opening range and the likelihood of reaching specific levels.
🧠 Make Trading Decisions
🔵Use the ATR levels and bands to identify key support and resistance levels.
🔵Use the conditional probability table to gauge the likelihood of reaching specific targets.
🔵Adjust your strategy based on the historical performance of the market.
Example Use Cases
1. Day Trading
Use the daily ATR levels to set intraday targets and stop-loss levels.
Monitor the conditional probability table to adjust your expectations based on the opening range.
2. Swing Trading
Use the weekly ATR levels to identify longer-term support and resistance levels.
3. Scalping
Use the ATR bands to identify overbought and oversold conditions.
Use the conditional probability table to quickly assess the likelihood of price movements.
Hippo Battlefield - Bulls VS Bears 20 bars## Hippo Battlefield – Bulls VS Bears (20 Bars)
**What it is**
A multi-dimensional momentum-and-sentiment oscillator that combines classic Bull/Bear Power with ATR- or peak-normalization, then layers on RSI and MACD-derived metrics into:
1. **A colored bar series** showing net Bull+Bear Power strength over the last 20 bars,
2. **A dynamic table** of each of those 20 BBP values (grouped into four 5-bar “quartals”), with symbols, per-bar change, and rolling averages, and
3. **A composite “Weighted BBP” histogram** blending normalized RSI, MACD, and BBP into a single view.
---
### Key Inputs
- **Length (EMA)** – look-back for the underlying EMA (default 60)
- **Normalization Length** – look-back window for peak-normalization (default 60)
- **Use ATR for Norm.** – toggle ATR-based normalization vs. highest-abs(BBP)
- **Show Tables** – toggle the bottom-right 21×11 grid of raw and average BBP values
---
### What You See
#### 1. Colored Bars (Overlay = false)
- Bars are colored by normalized BBP intensity:
- Extreme Bull (≥+10): deep blue
- Strong Bull (+5 to +10): green/yellow
- Weak Bull (+0 to +5): dark green
- Weak Bear (–0 to –5): dark red
- Strong Bear (–5 to –10): pink/red
- Extreme Bear (<–10): magenta
#### 2. Bottom-Right Table (20 Bars of Data)
- Divided into four columns (0–4, 5–9, 10–14, 15–19 bars ago) and one “average” row.
- Each cell shows:
1. Bar index (1–20),
2. Normalized BBP value (to four decimals),
3. Direction symbol (↑/↓/=),
4. Bar-to-bar change (± value),
5. A separator “|”.
- At the very bottom, each column’s 5-bar average is displayed as “Avg: X.XXXX” with a dot marker.
#### 3. Top-Center Mini-Table
- When ≥20 bars have elapsed, shows the date at 20 bars ago and the average BBP across the full 20-bar window.
#### 4. Normalized RSI Line
- Rescales the classic 14-period RSI into a –20…+20 band to align with BBP.
#### 5. MACD Lines (Hidden) & Composite Histogram
- MACD and signal lines are calculated but not plotted by default.
- A “Weighted BBP” histogram combines:
- 20% normalized RSI,
- 20% average of (MACD + signal + normalized BBP),
- 60% normalized BBP
- Plotted as columns, color-coded by strength using the same palette as the main bars.
#### 6. Middle Reference Line
- A horizontal zero line to anchor over/under-zero readings.
---
### How to Use It
- **Trend confirmation**: Strong blue/green bars alongside a rising histogram suggest bull conviction; strong reds/magentas signal bear dominance.
- **Divergence spotting**: Watch for price making new highs/lows while BBP or the histogram fails to follow.
- **Quartal analysis**: The 5-bar group averages can reveal whether recent momentum is accelerating or waning.
- **Cross-indicator weighting**: Because RSI, MACD, and raw BBP all feed into the final histogram, you get a smoothed, blended view of momentum shifts.
---
**Tip:** Tweak the EMA and normalization length to suit your preferred timeframe (e.g. shorter for intraday scalps, longer for swing trades). Enable/disable the table if you prefer a cleaner pane.