Volume profile [Signals] - By Leviathan [Mindyourbuisness]Market Sessions and Volume Profile with Sweep Signals - Based on Leviathan's Volume Profile
This indicator is an enhanced version of Leviathan's Volume Profile indicator, adding session-based value area analysis and sweep detection signals. It combines volume profile analysis with market structure concepts to identify potential reversal opportunities.
Features
- Session-based volume profiles (Daily, Weekly, Monthly, Quarterly, Yearly)
- Forex sessions support (Tokyo, London, New York)
- Value Area analysis with POC, VAH, and VAL levels
- Extended level visualization for the last completed session
- Sweep detection signals for key value area levels
Sweep Signals Explanation
The indicator detects two types of sweeps at VAH, VAL, and POC levels:
Bearish Sweeps (Red Triangle Down)
Conditions:
- Price makes a high above the level (VAH/VAL/POC)
- Closes below the level
- Closes below the previous candle's low
- Previous candle must be bullish
Trading Implication: Suggests a failed breakout and potential reversal to the downside. These sweeps often indicate stop-loss hunting above key levels followed by institutional selling.
Bullish Sweeps (Green Triangle Up)
Conditions:
- Price makes a low below the level (VAH/VAL/POC)
- Closes above the level
- Closes above the previous candle's high
- Previous candle must be bearish
Trading Implication: Suggests a failed breakdown and potential reversal to the upside. These sweeps often indicate stop-loss hunting below key levels followed by institutional buying.
Trading Guidelines
1. Use sweep signals in conjunction with the overall trend
2. Look for additional confirmation like:
- Volume surge during the sweep
- Price action patterns
- Support/resistance levels
3. Consider the session's volatility and time of day
4. More reliable signals often occur at VAH and VAL levels
5. POC sweeps might indicate stronger reversals due to their significance as fair value levels
Notes
- The indicator works best on higher timeframes (1H and above)
- Sweep signals are more reliable during active market hours
- Consider using multiple timeframe analysis for better confirmation
- Past performance is not indicative of future results
Credits: Original Volume Profile indicator by Leviathan
Cerca negli script per "weekly"
Quarter Shift IdentifierQuarter Shift Identifier
This indicator helps traders and analysts identify significant price movements between quarters. It calculates the percentage change from the close of the previous quarter to the current price and signals when this change exceeds a 4% threshold.
Key Features:
• Automatically detects quarter transitions
• Calculates quarter-to-quarter price changes
• Signals significant shifts when the change exceeds 4%
• Displays blue up arrows for bullish shifts and red down arrows for bearish shifts
How it works:
1. The script tracks the closing price of each quarter
2. When a new quarter begins, it calculates the percentage change from the previous quarter's close
3. If the change exceeds 4%, an arrow is plotted on the chart
This tool can be useful for:
• Identifying potential trend changes at quarter boundaries
• Analyzing seasonal patterns in price movements
• Supplementing other technical analysis tools for a comprehensive market view
Recommended Timeframes are Weekly and Daily.
Disclaimer:
This indicator is for informational and educational purposes only. It is not financial advice and should not be the sole basis for any investment decisions. Always conduct your own research and consider your personal financial situation before trading or investing. Past performance does not guarantee future results.
Request█ OVERVIEW
This library is a tool for Pine Script™ programmers that consolidates access to a wide range of lesser-known data feeds available on TradingView, including metrics from the FRED database, FINRA short sale volume, open interest, and COT data. The functions in this library simplify requests for these data feeds, making them easier to retrieve and use in custom scripts.
█ CONCEPTS
Federal Reserve Economic Data (FRED)
FRED (Federal Reserve Economic Data) is a comprehensive online database curated by the Federal Reserve Bank of St. Louis. It provides free access to extensive economic and financial data from U.S. and international sources. FRED includes numerous economic indicators such as GDP, inflation, employment, and interest rates. Additionally, it provides financial market data, regional statistics, and international metrics such as exchange rates and trade balances.
Sourced from reputable organizations, including U.S. government agencies, international institutions, and other public and private entities, FRED enables users to analyze over 825,000 time series, download their data in various formats, and integrate their information into analytical tools and programming workflows.
On TradingView, FRED data is available from ticker identifiers with the "FRED:" prefix. Users can search for FRED symbols in the "Symbol Search" window, and Pine scripts can retrieve data for these symbols via `request.*()` function calls.
FINRA Short Sale Volume
FINRA (the Financial Industry Regulatory Authority) is a non-governmental organization that supervises and regulates U.S. broker-dealers and securities professionals. Its primary aim is to protect investors and ensure integrity and transparency in financial markets.
FINRA's Short Sale Volume data provides detailed information about daily short-selling activity across U.S. equity markets. This data tracks the volume of short sales reported to FINRA's trade reporting facilities (TRFs), including shares sold on FINRA-regulated Alternative Trading Systems (ATSs) and over-the-counter (OTC) markets, offering transparent access to short-selling information not typically available from exchanges. This data helps market participants, researchers, and regulators monitor trends in short-selling and gain insights into bearish sentiment, hedging strategies, and potential market manipulation. Investors often use this data alongside other metrics to assess stock performance, liquidity, and overall trading activity.
It is important to note that FINRA's Short Sale Volume data does not consolidate short sale information from public exchanges and excludes trading activity that is not publicly disseminated.
TradingView provides ticker identifiers for requesting Short Sale Volume data with the format "FINRA:_SHORT_VOLUME", where "" is a supported U.S. equities symbol (e.g., "AAPL").
Open Interest (OI)
Open interest is a cornerstone indicator of market activity and sentiment in derivatives markets such as options or futures. In contrast to volume, which measures the number of contracts opened or closed within a period, OI measures the number of outstanding contracts that are not yet settled. This distinction makes OI a more robust indicator of how money flows through derivatives, offering meaningful insights into liquidity, market interest, and trends. Many traders and investors analyze OI alongside volume and price action to gain an enhanced perspective on market dynamics and reinforce trading decisions.
TradingView offers many ticker identifiers for requesting OI data with the format "_OI", where "" represents a derivative instrument's ticker ID (e.g., "COMEX:GC1!").
Commitment of Traders (COT)
Commitment of Traders data provides an informative weekly breakdown of the aggregate positions held by various market participants, including commercial hedgers, non-commercial speculators, and small traders, in the U.S. derivative markets. Tallied and managed by the Commodity Futures Trading Commission (CFTC) , these reports provide traders and analysts with detailed insight into an asset's open interest and help them assess the actions of various market players. COT data is valuable for gaining a deeper understanding of market dynamics, sentiment, trends, and liquidity, which helps traders develop informed trading strategies.
TradingView has numerous ticker identifiers that provide access to time series containing data for various COT metrics. To learn about COT ticker IDs and how they work, see our LibraryCOT publication.
█ USING THE LIBRARY
Common function characteristics
• This library's functions construct ticker IDs with valid formats based on their specified parameters, then use them as the `symbol` argument in request.security() to retrieve data from the specified context.
• Most of these functions automatically select the timeframe of a data request because the data feeds are not available for all timeframes.
• All the functions have two overloads. The first overload of each function uses values with the "simple" qualifier to define the requested context, meaning the context does not change after the first script execution. The second accepts "series" values, meaning it can request data from different contexts across executions.
• The `gaps` parameter in most of these functions specifies whether the returned data is `na` when a new value is unavailable for request. By default, its value is `false`, meaning the call returns the last retrieved data when no new data is available.
• The `repaint` parameter in applicable functions determines whether the request can fetch the latest unconfirmed values from a higher timeframe on realtime bars, which might repaint after the script restarts. If `false`, the function only returns confirmed higher-timeframe values to avoid repainting. The default value is `true`.
`fred()`
The `fred()` function retrieves the most recent value of a specified series from the Federal Reserve Economic Data (FRED) database. With this function, programmers can easily fetch macroeconomic indicators, such as GDP and unemployment rates, and use them directly in their scripts.
How it works
The function's `fredCode` parameter accepts a "string" representing the unique identifier of a specific FRED series. Examples include "GDP" for the "Gross Domestic Product" series and "UNRATE" for the "Unemployment Rate" series. Over 825,000 codes are available. To access codes for available series, search the FRED website .
The function adds the "FRED:" prefix to the specified `fredCode` to construct a valid FRED ticker ID (e.g., "FRED:GDP"), which it uses in request.security() to retrieve the series data.
Example Usage
This line of code requests the latest value from the Gross Domestic Product series and assigns the returned value to a `gdpValue` variable:
float gdpValue = fred("GDP")
`finraShortSaleVolume()`
The `finraShortSaleVolume()` function retrieves EOD data from a FINRA Short Sale Volume series. Programmers can call this function to retrieve short-selling information for equities listed on supported exchanges, namely NASDAQ, NYSE, and NYSE ARCA.
How it works
The `symbol` parameter determines which symbol's short sale volume information is retrieved by the function. If the value is na , the function requests short sale volume data for the chart's symbol. The argument can be the name of the symbol from a supported exchange (e.g., "AAPL") or a ticker ID with an exchange prefix ("NASDAQ:AAPL"). If the `symbol` contains an exchange prefix, it must be one of the following: "NASDAQ", "NYSE", "AMEX", or "BATS".
The function constructs a ticker ID in the format "FINRA:ticker_SHORT_VOLUME", where "ticker" is the symbol name without the exchange prefix (e.g., "AAPL"). It then uses the ticker ID in request.security() to retrieve the available data.
Example Usage
This line of code retrieves short sale volume for the chart's symbol and assigns the result to a `shortVolume` variable:
float shortVolume = finraShortSaleVolume(syminfo.tickerid)
This example requests short sale volume for the "NASDAQ:AAPL" symbol, irrespective of the current chart:
float shortVolume = finraShortSaleVolume("NASDAQ:AAPL")
`openInterestFutures()` and `openInterestCrypto()`
The `openInterestFutures()` function retrieves EOD open interest (OI) data for futures contracts. The `openInterestCrypto()` function provides more granular OI data for cryptocurrency contracts.
How they work
The `openInterestFutures()` function retrieves EOD closing OI information. Its design is focused primarily on retrieving OI data for futures, as only EOD OI data is available for these instruments. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe.
The `openInterestCrypto()` function retrieves opening, high, low, and closing OI data for a cryptocurrency contract on a specified timeframe. Unlike `openInterest()`, this function can also retrieve granular data from intraday timeframes.
Both functions contain a `symbol` parameter that determines the symbol for which the calls request OI data. The functions construct a valid OI ticker ID from the chosen symbol by appending "_OI" to the end (e.g., "CME:ES1!_OI").
The `openInterestFutures()` function requests and returns a two-element tuple containing the futures instrument's EOD closing OI and a "bool" condition indicating whether OI is rising.
The `openInterestCrypto()` function requests and returns a five-element tuple containing the cryptocurrency contract's opening, high, low, and closing OI, and a "bool" condition indicating whether OI is rising.
Example usage
This code line calls `openInterest()` to retrieve EOD OI and the OI rising condition for a futures symbol on the chart, assigning the values to two variables in a tuple:
= openInterestFutures(syminfo.tickerid)
This line retrieves the EOD OI data for "CME:ES1!", irrespective of the current chart's symbol:
= openInterestFutures("CME:ES1!")
This example uses `openInterestCrypto()` to retrieve OHLC OI data and the OI rising condition for a cryptocurrency contract on the chart, sampled at the chart's timeframe. It assigns the returned values to five variables in a tuple:
= openInterestCrypto(syminfo.tickerid, timeframe.period)
This call retrieves OI OHLC and rising information for "BINANCE:BTCUSDT.P" on the "1D" timeframe:
= openInterestCrypto("BINANCE:BTCUSDT.P", "1D")
`commitmentOfTraders()`
The `commitmentOfTraders()` function retrieves data from the Commitment of Traders (COT) reports published by the Commodity Futures Trading Commission (CFTC). This function significantly simplifies the COT request process, making it easier for programmers to access and utilize the available data.
How It Works
This function's parameters determine different parts of a valid ticker ID for retrieving COT data, offering a streamlined alternative to constructing complex COT ticker IDs manually. The `metricName`, `metricDirection`, and `includeOptions` parameters are required. They specify the name of the reported metric, the direction, and whether it includes information from options contracts.
The function also includes several optional parameters. The `CFTCCode` parameter allows programmers to request data for a specific report code. If unspecified, the function requests data based on the chart symbol's root prefix, base currency, or quoted currency, depending on the `mode` argument. The call can specify the report type ("Legacy", "Disaggregated", or "Financial") and metric type ("All", "Old", or "Other") with the `typeCOT` and `metricType` parameters.
Explore the CFTC website to find valid report codes for specific assets. To find detailed information about the metrics included in the reports and their meanings, see the CFTC's Explanatory Notes .
View the function's documentation below for detailed explanations of its parameters. For in-depth information about COT ticker IDs and more advanced functionality, refer to our previously published COT library .
Available metrics
Different COT report types provide different metrics . The tables below list all available metrics for each type and their applicable directions:
+------------------------------+------------------------+
| Legacy (COT) Metric Names | Directions |
+------------------------------+------------------------+
| Open Interest | No direction |
| Noncommercial Positions | Long, Short, Spreading |
| Commercial Positions | Long, Short |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No direction |
| Traders Noncommercial | Long, Short, Spreading |
| Traders Commercial | Long, Short |
| Traders Total Reportable | Long, Short |
| Concentration Gross LT 4 TDR | Long, Short |
| Concentration Gross LT 8 TDR | Long, Short |
| Concentration Net LT 4 TDR | Long, Short |
| Concentration Net LT 8 TDR | Long, Short |
+------------------------------+------------------------+
+-----------------------------------+------------------------+
| Disaggregated (COT2) Metric Names | Directions |
+-----------------------------------+------------------------+
| Open Interest | No Direction |
| Producer Merchant Positions | Long, Short |
| Swap Positions | Long, Short, Spreading |
| Managed Money Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Producer Merchant | Long, Short |
| Traders Swap | Long, Short, Spreading |
| Traders Managed Money | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-----------------------------------+------------------------+
+-------------------------------+------------------------+
| Financial (COT3) Metric Names | Directions |
+-------------------------------+------------------------+
| Open Interest | No Direction |
| Dealer Positions | Long, Short, Spreading |
| Asset Manager Positions | Long, Short, Spreading |
| Leveraged Funds Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Dealer | Long, Short, Spreading |
| Traders Asset Manager | Long, Short, Spreading |
| Traders Leveraged Funds | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-------------------------------+------------------------+
Example usage
This code line retrieves "Noncommercial Positions (Long)" data, without options information, from the "Legacy" report for the chart symbol's root, base currency, or quote currency:
float nonCommercialLong = commitmentOfTraders("Noncommercial Positions", "Long", false)
This example retrieves "Managed Money Positions (Short)" data, with options included, from the "Disaggregated" report:
float disaggregatedData = commitmentOfTraders("Managed Money Positions", "Short", true, "", "Disaggregated")
█ NOTES
• This library uses dynamic requests , allowing dynamic ("series") arguments for the parameters defining the context (ticker ID, timeframe, etc.) of a `request.*()` function call. With this feature, a single `request.*()` call instance can flexibly retrieve data from different feeds across historical executions. Additionally, scripts can use such calls in the local scopes of loops, conditional structures, and even exported library functions, as demonstrated in this script. All scripts coded in Pine Script™ v6 have dynamic requests enabled by default. To learn more about the behaviors and limitations of this feature, see the Dynamic requests section of the Pine Script™ User Manual.
• The library's example code offers a simple demonstration of the exported functions. The script retrieves available data using the function specified by the "Series type" input. The code requests a FRED series or COT (Legacy), FINRA Short Sale Volume, or Open Interest series for the chart's symbol with specific parameters, then plots the retrieved data as a step-line with diamond markers.
Look first. Then leap.
█ EXPORTED FUNCTIONS
This library exports the following functions:
fred(fredCode, gaps)
Requests a value from a specified Federal Reserve Economic Data (FRED) series. FRED is a comprehensive source that hosts numerous U.S. economic datasets. To explore available FRED datasets and codes, search for specific categories or keywords at fred.stlouisfed.org Calls to this function count toward a script's `request.*()` call limit.
Parameters:
fredCode (series string) : The unique identifier of the FRED series. The function uses the value to create a valid ticker ID for retrieving FRED data in the format `"FRED:fredCode"`. For example, `"GDP"` refers to the "Gross Domestic Product" series ("FRED:GDP"), and `"GFDEBTN"` refers to the "Federal Debt: Total Public Debt" series ("FRED:GFDEBTN").
gaps (simple bool) : Optional. If `true`, the function returns a non-na value only when a new value is available from the requested context. If `false`, the function returns the latest retrieved value when new data is unavailable. The default is `false`.
Returns: (float) The value from the requested FRED series.
finraShortSaleVolume(symbol, gaps, repaint)
Requests FINRA daily short sale volume data for a specified symbol from one of the following exchanges: NASDAQ, NYSE, NYSE ARCA. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request short sale volume data. If the specified value contains an exchange prefix, it must be one of the following: "NASDAQ", "NYSE", "AMEX", "BATS".
gaps (simple bool) : Optional. If `true`, the function returns a non-na value only when a new value is available from the requested context. If `false`, the function returns the latest retrieved value when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the chart's timeframe is intraday, the value requested on realtime bars may change its time offset after the script restarts its executions. If `false`, the function returns the last confirmed period's values to avoid repainting. The default is `true`.
Returns: (float) The short sale volume for the specified symbol or the chart's symbol.
openInterestFutures(symbol, gaps, repaint)
Requests EOD open interest (OI) and OI rising information for a valid futures symbol. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request open interest data.
gaps (simple bool) : Optional. If `true`, the function returns non-na values only when new values are available from the requested context. If `false`, the function returns the latest retrieved values when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the chart's timeframe is intraday, the value requested on realtime bars may change its time offset after the script restarts its executions. If `false`, the function returns the last confirmed period's values to avoid repainting. The default is `true`.
Returns: ( ) A tuple containing the following values:
- The closing OI value for the symbol.
- `true` if the closing OI is above the previous period's value, `false` otherwise.
openInterestCrypto(symbol, timeframe, gaps, repaint)
Requests opening, high, low, and closing open interest (OI) data and OI rising information for a valid cryptocurrency contract on a specified timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request open interest data.
timeframe (series string) : The timeframe of the data request. If the timeframe is lower than the chart's timeframe, it causes a runtime error.
gaps (simple bool) : Optional. If `true`, the function returns non-na values only when new values are available from the requested context. If `false`, the function returns the latest retrieved values when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the `timeframe` represents a higher timeframe, the function returns unconfirmed values from the timeframe on realtime bars, which repaint when the script restarts its executions. If `false`, it returns only confirmed higher-timeframe values to avoid repainting. The default is `true`.
Returns: ( ) A tuple containing the following values:
- The opening, high, low, and closing OI values for the symbol, respectively.
- `true` if the closing OI is above the previous period's value, `false` otherwise.
commitmentOfTraders(metricName, metricDirection, includeOptions, CFTCCode, typeCOT, mode, metricType)
Requests Commitment of Traders (COT) data with specified parameters. This function provides a simplified way to access CFTC COT data available on TradingView. Calls to this function count toward a script's `request.*()` call limit. For more advanced tools and detailed information about COT data, see TradingView's LibraryCOT library.
Parameters:
metricName (series string) : One of the valid metric names listed in the library's documentation and source code.
metricDirection (series string) : Metric direction. Possible values are: "Long", "Short", "Spreading", and "No direction". Consult the library's documentation or code to see which direction values apply to the specified metric.
includeOptions (series bool) : If `true`, the COT symbol includes options information. Otherwise, it does not.
CFTCCode (series string) : Optional. The CFTC code for the asset. For example, wheat futures (root "ZW") have the code "001602". If one is not specified, the function will attempt to get a valid code for the chart symbol's root, base currency, or main currency.
typeCOT (series string) : Optional. The type of report to request. Possible values are: "Legacy", "Disaggregated", "Financial". The default is "Legacy".
mode (series string) : Optional. Specifies the information the function extracts from a symbol. Possible modes are:
- "Root": The function extracts the futures symbol's root prefix information (e.g., "ES" for "ESH2020").
- "Base currency": The function extracts the first currency from a currency pair (e.g., "EUR" for "EURUSD").
- "Currency": The function extracts the currency of the symbol's quoted values (e.g., "JPY" for "TSE:9984" or "USDJPY").
- "Auto": The function tries the first three modes (Root -> Base currency -> Currency) until it finds a match.
The default is "Auto". If the specified mode is not available for the symbol, it causes a runtime error.
metricType (series string) : Optional. The metric type. Possible values are: "All", "Old", "Other". The default is "All".
Returns: (float) The specified Commitment of Traders data series. If no data is available, it causes a runtime error.
Ultra Disparity IndexGain insights into price movements across multiple timeframes with the Ultra Disparity Index . This indicator highlights overbought/oversold levels based on price disparities from moving averages.
Introduction
The Ultra Disparity Index is designed for traders who seek a deeper understanding of price movements and trends across various timeframes. By analyzing the disparity between the current price and its moving averages, the indicator helps identify overbought and oversold conditions.
Detailed Description
The indicator works by calculating the percentage difference between the current price and its moving averages over four user-defined lengths. It operates on multiple timeframes monthly, weekly, daily, 4-hour, and 1-hour giving traders a comprehensive view of market dynamics.
.........
Disparity Calculation
The indicator computes how far the current price is from moving averages to reveal the degree of disparity.
.....
Overbought/Oversold Zones
By normalizing disparities into percentages relative to the overbought/oversold range, the indicator represents overbought (100%) and oversold (-100%).
.....
Timeframe Flexibility
The user can visualize data from monthly to hourly intervals, ensuring adaptability to different trading strategies.
.....
Customizable Inputs
Users can configure moving average lengths and toggle visibility for specific timeframes and levels.
.........
Summary
The indicator uses simple moving averages (SMAs) as a benchmark for calculating disparity. This disparity is then analyzed using statistical tools, such as standard deviation, to derive meaningful levels. Finally, the results are visualized in a table, providing traders with an easy-to-read summary of disparity values and their respective normalized percentages.
EBL - Enigma BOS Logic Select Higher Time FrameThe "EBL – Enigma BOS Logic" is a unique multi-timeframe trading indicator designed for traders who rely on structured price action and key level retests to find high-probability trade opportunities. This indicator automates the identification of significant price levels on a higher timeframe, plots them across all lower timeframes, and provides actionable signals (buy/sell) when price retests those levels. It is ideal for traders who focus on lower timeframes for precise entries while using higher timeframe structure for trend confirmation.
How the Indicator Works
Key Level Detection:
The indicator allows the user to select a key level timeframe (e.g., 1H, 4H, Daily, Weekly). It then identifies Break of Structure (BOS) levels on the selected timeframe.
When a bullish-to-bearish or bearish-to-bullish reversal is detected on the selected timeframe, the corresponding high or low of the reversal candle is stored as a key level.
These key levels are plotted as horizontal lines on all lower timeframes, helping the trader visualize critical support and resistance zones across multiple timeframes.
Retest Confirmation:
Once a key level is established, the indicator continuously monitors the price action on lower timeframes.
If the price touches or crosses a key level, it is considered a retest, and an alert is generated.
The indicator plots a retest marker (customizable as a circle or diamond) at the exact price level where the retest occurred, providing a clear visual cue for the trader.
Trading Signals:
When a retest is detected, a table is displayed on the chart with the following information:
The trading pair.
The signal direction (Buy/Sell).
The price at which the retest occurred.
This table gives traders instant insight into actionable opportunities, making it easier to focus on live market conditions without missing critical retests.
Key Features
Multi-Timeframe Analysis: The indicator focuses on a higher timeframe selected by the user, ensuring that only the most relevant key levels are plotted for lower timeframe trading.
Dynamic Retest Signals: It dynamically identifies when price retests a key level and provides both visual markers and real-time alerts.
Customizable Retest Markers: Users can customize the retest marker's shape (circle/diamond) and color to suit their preferences.
Signal Table: A built-in table displays clear buy or sell signals when retests occur, ensuring that traders have all the necessary information at a glance.
Alerts: The indicator supports real-time alerts for retests, helping traders stay informed even when they are not actively monitoring the chart.
How to Use the Indicator
Select a Key Level Timeframe:
In the input settings, choose a higher timeframe (e.g., 4H or Daily) to define key levels.
The indicator will calculate Break of Structure (BOS) levels on the selected timeframe and plot them as horizontal lines across all lower timeframes.
Monitor Lower Timeframes for Retests:
Switch to a lower timeframe (e.g., 15m, 5m) to wait for price to approach the key levels plotted by the indicator.
When a retest occurs, observe the signal table and retest marker for actionable trade signals.
Act on Buy/Sell Signals:
Use the information provided by the signal table to make trading decisions.
For a buy signal, wait for bullish confirmation (e.g., price holding above the retested level).
For a sell signal, wait for bearish confirmation (e.g., price holding below the retested level).
Trading Concepts and Underlying Logic
The indicator is based on the Break of Structure (BOS) concept, a core principle in price action trading. BOS levels represent points where the market shifts its trend direction, making them critical zones for potential reversals or continuations.
By focusing on higher timeframe BOS levels, the indicator helps traders align their lower timeframe entries with the overall market trend.
The concept of retests is used to confirm the validity of a key level. A retest occurs when the price returns to a previously identified BOS level, offering a high-probability entry point.
Use Cases
Scalping: Traders who prefer lower timeframe scalping can use the indicator to align their trades with higher timeframe key levels, increasing the likelihood of successful trades.
Swing Trading: Swing traders can use the indicator to identify key reversal zones on higher timeframes and plan their trades accordingly.
Intraday Trading: Intraday traders can benefit from the real-time alerts and signals generated by the indicator, ensuring they never miss critical retests during active trading hours.
Conclusion
The "EBL – Enigma BOS Logic" is a powerful tool for traders who want to enhance their price action trading by focusing on key levels and retests across multiple timeframes. By automating the identification of BOS levels and providing clear retest signals, it helps traders make more informed and confident trading decisions. Whether you are a scalper, intraday trader, or swing trader, this indicator offers valuable insights to improve your trading performance.
200WMA ScreenerDescription:
This custom indicator helps identify stocks trading below their 200-week moving average (200WMA), a key technical indicator often used to analyze long-term trends. The script calculates the 200WMA using weekly close prices and provides the following features:
Visual Plot: Displays the 200WMA as a smooth line on the chart for easy trend analysis.
Background Highlight: Automatically highlights the chart background when the current price is below the 200WMA, signaling a potential bearish trend or undervalued stock.
Alert System: Includes an alert condition to notify you when a stock trades below its 200WMA, so you never miss an opportunity.
Compatibility: Works across all assets (stocks, forex, crypto) and automatically adapts to the selected ticker.
This script is ideal for traders and investors looking for long-term opportunities, identifying potential trend reversals, or spotting undervalued stocks.
Cross Alert with Configurable Rectangles**Description:**
This TradingView script, **"Cross Alert with Configurable Rectangles"**, is a technical analysis tool designed to help traders visualize and analyze market trends effectively. It combines configurable moving averages with customizable timeframe-based rectangles for highlighting price ranges.
### Features:
1. **Moving Averages:**
- Calculates and plots an Exponential Moving Average (EMA) and a Simple Moving Average (SMA) based on user-defined lengths.
- Provides both short and long moving averages to identify potential trend reversals or confirmations.
2. **Customizable Timeframe Rectangles:**
- Dynamically draws rectangles around price action based on user-selected timeframes: **Hourly (60 minutes), Daily, Weekly, or Monthly.**
- Automatically updates the rectangles to reflect high and low price levels within the selected timeframe.
- Customizable rectangle color and transparency for better chart visibility.
3. **Dynamic Line Projections:**
- Projects the trend of the long and short moving averages forward in time to help anticipate price movements.
### Use Case:
This script is ideal for traders who want to:
- Identify key support and resistance levels within different timeframes.
- Analyze price behavior relative to moving averages.
- Spot potential trend changes by observing price interaction with the moving averages and timeframe rectangles.
The script is fully configurable, allowing traders to adapt it to their trading strategy and preferences.
BS | Buy&Sell Signals With EMAKey Features:
EMA Intersections: Generates clear buy and sell signals based on predefined EMA crossings.
5 EMA Lines: Visualize market trends with five distinct EMA lines plotted on the chart.
Support and Resistance Levels: Easily identify crucial support and resistance levels with our integrated marker.
Comprehensive Indicator Panel: At the bottom of the chart, track Stochastic, RSI, Supertrend, and SMA across multiple timeframes (1m, 5m, 15m, 1H, 4H, Daily, Weekly).
Fully Customizable: Almost every indicator within the tool is adjustable to suit your preferences and trading style.
Alarm Feature: Set up alarms to stay informed of important market movements.
Unlock the full potential of your trading strategy with BS | Buy&Sell Signals With EMA. Customize, analyze, and trade with confidence.
created by @bahadirsezer
[ADDYad] Google Search Trends - Bitcoin (2012 Jan - 2025 Jan)This Pine Script shows the Google Search Trends as an indicator for Bitcoin from January 2012 to January 2025, based on monthly data retrieved from Google Trends. It calculates and displays the relative search interest for Bitcoin over time, offering a historical perspective on its popularity mainly built for BITSTAMP:BTCUSD .
Important note: This is not a live indicator. It visualizes historical search trends based on Google Trends data.
Key Features:
Data Source : Google Trends (Last retrieved in January 10 2025).
Timeframe : The script is designed to be used on a monthly chart, with the data reflecting monthly search trends from January 2012 to January 2025. For other timeframes, the data is linearly interpolated to estimate the trends at finer resolutions.
Purpose : This indicator helps visualize Bitcoin's search interest over the years, offering insights into public interest and sentiment during specific periods (e.g., major price movements or news events).
Data Handling : The data is interpolated for use on non-monthly timeframes, allowing you to view search trends on any chart timeframe. This makes it versatile for use in longer-term analysis or shorter timeframes, despite the raw data being available only on a monthly basis. However, it is most relevant for Monthly, Weekly, and Daily timeframes.
How It Works:
The script calculates the number of months elapsed since January 1, 2012, and uses this to interpolate Google Trends data values for any given point in time on the chart.
The linear interpolation function adjusts the monthly data to provide an approximate trend for intermediate months.
Why It's Useful:
Track Bitcoin's historic search trends to understand how interest in Bitcoin evolved over time, potentially correlating with price movements.
Correlate search trends with price action and other market indicators to analyze the effects of public sentiment and sentiment-driven market momentum.
Final Notes:
This script is unique because it shows real-world, non-financial dataset (Google Trends) to understand price action of Bitcoin correlating with public interest. Hopefully is a valuable addition to the TradingView community.
ADDYad
Market Regime DetectorMarket Regime Detector
The Market Regime Detector is a tool designed to help traders identify and adapt to the prevailing market environment by analyzing price action in relation to key macro timeframe levels. This indicator categorizes the market into distinct regimes—Bullish, Bearish, or Reverting—providing actionable insights to set trading expectations, manage volatility, and align strategies with broader market conditions.
What is a Market Regime?
A market regime refers to the overarching state or condition of the market at a given time. Understanding the market regime is critical for traders as it determines the most effective trading approach. The three main regimes are:
Bullish Regime:
Characterized by upward momentum where prices are consistently trending higher.
Trading strategies often focus on buying opportunities and trend-following setups.
Bearish Regime:
Defined by downward price pressure and declining trends.
Traders typically look for selling opportunities or adopt risk-off strategies.
Reverting Regime:
Represents a consolidation phase where prices move within a defined range.
Ideal for mean-reversion strategies or range-bound trading setups.
Key Features of the Market Regime Detector:
Dynamic Market Regime Detection:
Identifies the market regime based on macro timeframe high and low levels (e.g., weekly or monthly).
Provides clear and actionable insights for each regime to align trading strategies.
Visual Context for Price Levels:
Plots the macro high and low levels on the chart, allowing traders to visualize critical support and resistance zones.
Enhances understanding of volatility and trend boundaries.
Regime Transition Alerts:
Sends alerts only when the market transitions into a new regime, ensuring traders are notified of meaningful changes without redundant signals.
Alert messages include clear regime descriptions, such as "Market entered a Bullish Regime: Price is above the macro high."
Customizable Visualization:
Background colors dynamically adjust to the current regime:
Blue for Reverting.
Aqua for Bullish.
Fuchsia for Bearish.
Option to toggle high/low line plotting and background highlights for a tailored experience.
Volatility and Expectation Management:
Offers insights into market volatility by showing when price action approaches, exceeds, or reverts within macro timeframe levels.
Helps traders set realistic expectations and adjust their strategies accordingly.
Use Cases:
Trend Traders: Identify bullish or bearish regimes to capture sustained price movements.
Range Traders: Leverage reverting regimes to trade between defined support and resistance zones.
Risk Managers: Use macro high and low levels as dynamic stop-loss or take-profit zones to optimize trade management.
The Market Regime Detector equips traders with a deeper understanding of the market environment, making it an essential tool for informed decision-making and strategic planning. Whether you're trading trends, ranges, or managing risk, this indicator provides the clarity and insights needed to navigate any market condition.
Previous_DWMQY_High/Low & PivotsThis script calculates high/low pivots for different timeframes (daily, weekly, monthly, quarterly, and yearly). You have various pivot point calculation methods (Traditional, Fibonacci, Woodie, Classic, DM, Camarilla) and have inputs that allow customization of the indicator. The script also accounts for custom year-based calculations (bi-yearly, tri-yearly, quinquennially, decennially).
The first part of your code calculates the high and low levels for different timeframes, which are plotted on the chart as crosses. The second part involves the pivot point calculations, where the user selects the type of pivot point calculation (Traditional, Fibonacci, etc.), the timeframe for pivots, and other display settings.
13W High/Low/Fibs w/100D SMAIndicator: 13 Week High/100 Day SMA/13 Week Low with 0.382, 0.5, and 0.618 Fibonacci Levels
Description:
This indicator for TradingView, written in Pine Script version 6
It displays a table on the chart that provides a visual analysis of key price levels based on a 13-week timeframe and a 100-day Simple Moving Average (SMA).
Core Calculations:
100-Day SMA: The indicator calculates the 100-day Simple Moving Average of the closing price using daily data. The SMA is a widely used trend-following indicator.
13-Week High and Low: The indicator calculates the highest high and lowest low over the past 13 weeks using weekly data. This provides a longer-term perspective on the price range.
13-Week Fibonacci Retracement Levels: Based on the calculated 13-week high and low, the script determines the 0.382, 0.5, and 0.618 Fibonacci retracement levels.
The table includes the following information:
13W High: The highest price reached over the last 13 weeks.
100D SMA: The calculated 100-day Simple Moving Average value.
13W Low: The lowest price reached over the last 13 weeks.
Fibonacci Levels: The 0.382, 0.5, and 0.618 Fibonacci retracement levels, labeled as "↗," "|," and "↘," respectively.
Multi-TF Pivots V1The Multi-TF Pivots Indicator is a powerful and customizable pivot point tool for TradingView. This script allows traders to calculate and display pivot points on a wide range of timeframes, from 1-minute to weekly intervals. It supports both Classic and Fibonacci pivot styles and includes options to customize line colors, label positions, and price visibility. The indicator is ideal for traders who rely on pivot points for intraday and swing trading strategies, offering a clear visual representation of key support and resistance levels. With its flexibility and comprehensive features, this indicator is an essential tool for precise technical analysis.
اندیکاتور Multi-TF Pivots یک ابزار قدرتمند و قابل تنظیم برای محاسبه و نمایش پیوت پوینتها در پلتفرم TradingView است. این اسکریپت به معاملهگران امکان میدهد پیوت پوینتها را در طیف گستردهای از تایمفریمها، از ۱ دقیقه تا هفتگی، محاسبه و نمایش دهند. این اندیکاتور از سبکهای پیوت Classic و Fibonacci پشتیبانی میکند و گزینههایی برای شخصیسازی رنگ خطوط، موقعیت برچسبها و نمایش قیمتها دارد. این ابزار برای معاملهگرانی که به پیوت پوینتها برای استراتژیهای معاملاتی روزانه و نوسانی متکی هستند ایدهآل است و نمایش بصری واضحی از سطوح کلیدی حمایت و مقاومت ارائه میدهد. با انعطافپذیری و ویژگیهای جامع خود، این اندیکاتور یک ابزار ضروری برای تحلیل تکنیکال دقیق است
Simple Volume Profile with POC (Daily/4H Sessions) [Enhanced]Simple Volume Profile with a Point of Control (POC). The script does the following:
Accumulates volume in user-defined “bins” (price buckets) for a session.
Resets the volume accumulation each new “session”:
On a Daily chart, it considers weekly sessions (resets each Monday).
On a 4H chart, it considers daily sessions (resets at the start of each trading day).
Finds the Point of Control (the price bin with the highest accumulated volume).
Plots the histogram and the POC line on the chart.
Abz Simple TrendThe goal of this indicator is to provide an "at-a-glance" trend-oriented moving averages indicator that helps with medium and long term trades and investments.
It should work on any chart timeframe but is intended for people interested in how the price is trending over longer timeframes.
Everything in the indicator is calculated against a weekly chart. This means if you're viewing it on another chart timeframe, such as the daily chart, the indicator will show the lines in the same places.
This indicator is intended to be easy enough for people without significant technical chart reading knowledge: Red means the market momentum is likely negative. Green is "bullish".
This is a lagging indicator. If you're new, this may seem like a bad thing, but markets eventually "revert to the mean". They tend to overshoot up and down from major trend lines, but eventually reconnect.
The indicator tracks 4 different moving averages:
- The Main moving average that is the thick, bright line on the chart
- The momentum line
- The 28w moving average (with smoother applied)
- The slow moving average (200w with special filters and smoother applied). This is the final mean reversion line.
The indicator is set up with multiple alerts and you can adjust everything via the settings.
Just remember that no indicator is a "cure all". You should not blindly trade based on the signals this gives out. It is not optimized to be the perfect trading bot but it will help to validate or invalidate your decisions. It's my favorite "at-a-glance" indicator, but I always look at the price action and see when the price reverses as that will occur before the indicator confirms it.
Other indicators that may help you confirm your decisions include: Volume, MACD, and RSI (especially when you understand divergences between the price action and the RSI).
Full Spectrum Delta BandsI created the Full Spectrum Delta Bands (FullSpec ΔBB) to go beyond traditional Bollinger Bands by incorporating both OHLC (Open, High, Low, Close) and Close-based data into the calculations. Instead of relying solely on closing prices, this indicator evaluates deviations from the complete bar range (OHLC), offering a more accurate view of market behavior.
A key feature is the Delta Flip, which highlights shifts between OHLC and Close-based bands. These flips are visually marked with color changes, signaling potential trend reversals, breakout zones, or volatility shifts. Traders can use these moments as inflection points to refine their entry and exit strategies.
The indicator also supports customizable sensitivity and deviation multiplier settings, allowing it to adapt to different trading styles and timeframes. Lower deviation values (e.g., 1σ or 1.5σ) are ideal for scalping on shorter timeframes like 5-min or 15-min charts, while higher values (e.g., 2.5σ or 3σ) are better suited for long-term trend analysis on weekly or monthly charts. The standard deviation multiplier fine-tunes the upper and lower bands to match specific trading goals and market conditions.
I designed Full Spectrum Delta Bands to provide deeper insights and a clearer view of market dynamics compared to traditional Bollinger Bands. Whether you’re a scalper, swing trader, or long-term investor, this tool helps you make informed and confident trading decisions.
Catalyst TrendCatalyst Trend – A Comprehensive Trend and Regime Analyzer
The Catalyst Trend indicator was designed to dynamically and intuitively merge various classic analytical techniques. The goal is to filter out short-term market noise and reveal reliable trend phases or potential turning points. Below is a detailed explanation of its core elements and practical usage.
1. Concept and Idea
Multidimensional Trend Detection
This indicator goes beyond a simple momentum or volatility focus. It factors in multiple measurements to provide a more well-rounded market perspective.
Versatile Indicator Fusion
Linear Regression (LinReg): Multiple LinReg calculations are combined to smooth out price fluctuations and produce a robust trendline—known here as the “Cycle Reduced Line.”
ADX (Average Directional Index): Measures trend strength.
RSI (Relative Strength Index): Flags potential overbought or oversold conditions, in both the current timeframe and a higher timeframe.
ATR (Average True Range): Assesses volatility; used to dynamically adjust calculation lengths.
By weaving these elements together, the indicator adds value beyond simply stacking multiple indicators. It adapts to real-time market conditions, aiming to highlight genuine trends and reduce false signals.
2. Key Functions and Calculations
Dynamic Length & Smoothing
A blend of volatility (ATR), ADX values, and RSI inputs determines how many candles are used in the LinReg calculations and how heavily the data is smoothed.
This allows the indicator to respond promptly during periods of high volatility, while automatically adjusting to filter out unnecessary noise in quieter phases.c
Cycle Reduced Line
The script averages several offset LinReg calculations to produce a cleaner overall signal. Random outliers are thus minimized, making the trend path more visually consistent.
An additional EMA smoothing (“Final Smoothing”) further stabilizes this trendline, reducing the impact of minor price fluctuations.
Channel Bands (Optional)
These bands are derived from the standard deviation of the price residual (the difference between the smoothed price and the trendline).
They highlight potential over-extension zones: the upper band can mark short-term overbought areas, while the lower band might indicate oversold conditions.
Trend and Sideways Determination
Slope Calculation: The slope of the trendline (comparing the current bar to the previous one) helps identify short-term directional shifts.
DX Threshold: Once the ADX surpasses a user-defined threshold and the slope is positive, it may indicate a developing uptrend. Similarly, if the slope is negative and ADX > threshold, it could signal a potential downtrend.
Multi-Level Color Coding
Original Mode: Interpolated colors reflect uptrends, downtrends, and sideways phases, factoring in metrics like ADX and RSI.
Single Color: For a neutral look, the indicator can be displayed in one uniform color.
HTF RSI: This mode uses the higher-timeframe RSI to color the trendline (Long/Short/Neutral), offering a quick gauge of overarching market pressure.
3. Use Cases and Interpretation
Timeframes & Markets
The indicator is versatile and adapts well to different intervals, from 5-minute charts to weekly views.
It can be applied to various markets—crypto, forex, stocks—since volatility and trend strength are universal concepts.
Signal Recognition
Color Swings into a more pronounced upward hue (e.g., green) may signal mounting strength.
Neutral or mixed tones often point to sideways phases, which breakout traders might watch for potential price surges.
A shift to downward colors (e.g., red) may indicate a growing bearish trend.
Channel Bands & Volatility
When the bands spread widely, it’s wise to proceed with caution: abrupt spikes above the upper band or below the lower band can flag rapid short-term extremes.
These bands are more of a reference for potential overextension than a strict buy or sell trigger.
Additional Confirmations
Not a standalone panacea: The Catalyst Trend indicator is an analytical tool, best used alongside other methods such as volume analysis or price action (candlestick patterns, support/resistance levels) to bolster confidence in trading decisions.
4. Practical Tips
Parameter Adjustments
Depending on the market—crypto vs. traditional currency pairs—different ADX, RSI, or smoothing periods may be more effective. Experiment with the settings to tailor the indicator to your preferred timeframe.
Strategic Integration
Trailing Stops: For those riding a trend, the trendline or the channel bands may serve as a reference to trail stop-loss orders.
Trend Confirmation: Using RSI and ADX filters can help traders avoid sideways markets or stay the course when the trend is strong.
5. Important Final Notes
No Guarantee of Profits
No indicator can predict the future. Markets are inherently volatile and often unpredictable.
Responsible Risk Management
Test the indicator in a demo environment or with smaller positions before committing to large trades.
Previous Week High & Low with middle lineDescription:
The Previous Week High & Low Indicator is a powerful tool designed to provide traders with key reference levels from the previous trading week. It dynamically calculates and plots the previous week's high, low, and midpoint levels directly on your chart, helping you identify critical support and resistance zones.
Features:
1. **Previous Week High and Low Lines**:
- The indicator displays the high and low prices of the previous trading week, allowing you to analyze price action relative to these levels.
- These lines are plotted as step lines, visible only during the active trading days (Monday to Friday), ensuring clean and uncluttered charts.
2. Midpoint Line:
- The midpoint between the previous week's high and low is calculated and displayed as a reference level.
- This white line can act as a psychological pivot point for market participants.
3. Customizable Display:
- You can toggle the visibility of the high and low lines using input options, tailoring the indicator to your preferences.
4. Precision and Aesthetics:
- The lines are plotted with precision and styled for clarity, using subtle transparency for an unobtrusive yet informative appearance.
Use Case:
- This indicator is ideal for traders who rely on historical price levels for planning entries, exits, or stop-loss placements.
- It works seamlessly with any timeframe and asset, making it versatile for various trading strategies.
How It Works:
- The indicator fetches the previous week's high and low prices using the weekly timeframe and "lookahead" mode to ensure these levels remain static after the week's close.
- The lines are plotted only on weekdays (Monday to Friday) to exclude weekend data, ensuring accuracy for markets that operate 24/5.
This tool simplifies your chart analysis and empowers you to make informed trading decisions based on historical price dynamics.
Compare TOTAL, TOTAL2, TOTAL3, and OTHERSCompare TOTAL, TOTAL2, TOTAL3, and OTHERS
This indicator compares the performance of major cryptocurrency market cap indices: TOTAL, TOTAL2, TOTAL3, and OTHERS. It normalizes each index's performance relative to its starting value and visualizes their relative changes over time.
Features
- Normalized Performance: Tracks the percentage change of each index from its initial value.
- Customizable Timeframe: Allows users to select a base timeframe for the data (e.g., daily, weekly).
- Dynamic Labels: Displays the latest performance of each index as a label on the chart, aligned to the right of the corresponding line for easy comparison.
- Color-Coded Lines: Each index is assigned a distinct color for clear differentiation:
-- TOTAL (Blue): Represents the total cryptocurrency market cap.
-- TOTAL2 (Green): Excludes Bitcoin.
-- TOTAL3 (Orange): Excludes Bitcoin and Ethereum.
-- OTHERS (Red): Represents all cryptocurrencies excluding the top 10 by market cap.
- Baseline Reference: Includes a horizontal line at 0% for reference.
Use Cases:
- Market Trends: Identify which segments of the cryptocurrency market are outperforming or underperforming over time.
- Portfolio Insights: Assess the impact of Bitcoin and Ethereum dominance on the broader market.
- Market Analysis: Compare smaller-cap coins (OTHERS) with broader indices (TOTAL, TOTAL2, and TOTAL3).
This script is ideal for traders and analysts who want a quick, visual way to track how different segments of the cryptocurrency market perform relative to each other over time.
Note: The performance is normalized to highlight percentage changes, not absolute values.
Multi-Timeframe Candle Analysis [by Oberlunar]Multi-Timeframe Candle Analysis
Scalping often requires traders to make rapid decisions based on price movements within a short timeframe. However, a key challenge is understanding the broader trend and market pressure across higher timeframes without cluttering the workspace with multiple charts. This can lead to a lack of clarity, missed opportunities, or poorly timed trades.
The Multi-Timeframe Candle Analysis script addresses this challenge by providing a consolidated view of essential information across multiple timeframes in a single interface. This script calculates and displays the volatility, strength, and type (bullish or bearish) of candles for up to six customizable timeframes. With this data presented in a neat table, traders can quickly assess market conditions without the need to open multiple charts.
How It Works
The script analyzes six user-defined timeframes, ranging from intraday intervals (e.g., 15 or 30 minutes) to daily or even weekly periods. It extracts critical data such as open, high, low, and close prices for the current and previous candles. From this data, the script computes:
Candle Type: Identifies whether the candle is bullish or bearish based on the close relative to the open.
Volatility Percentage Change: Measures the percentage change in candle volatility compared to the previous candle.
Candle Strength: Evaluates the strength of price movements within the candle relative to the previous one.
These metrics are organized into an easy-to-read table that updates dynamically as the market moves. The table color codes bullish and bearish candles for quick visual recognition, enhancing decision-making speed.
Fibonacci Extensions and Retracements for Selected TimeframesPurpose of the Script
This script plots Fibonacci levels (retracements and extensions) based on the high and low points of the previous day, previous week, or previous month. It is a trading aid to help identify potential support and resistance zones. These zones are often used by traders to determine entry or exit points for trades.
How It Works
Select Timeframe
The trader can choose whether to calculate Fibonacci levels based on the high and low points of the previous day, previous week, or previous month.
This is selected using the timeframe_input input.
Examples:
"D" for the previous day
"W" for the previous week
"M" for the previous month
Calculate Price Range
The script calculates the price range using the high and low of the selected timeframe:
Formula: price_range = High - Low
Draw Fibonacci Levels
Retracements: Within the price range, Fibonacci levels such as 12%, 23%, 38%, 50%, 61%, 78%, and 88% are calculated. These help identify potential support or resistance zones.
Extensions: Beyond the price range, Fibonacci extensions such as 127%, 161%, 200%, 224%, and 241% are plotted to indicate potential breakout targets.
Visualization
The script plots lines and labels for each level.
These lines extend to the right, providing real-time guidance during trading.
Colors and line styles can be customized to match personal preferences.
How to Use as a Trading Aid
Use Fibonacci Retracements:
Use retracements (e.g., 38%, 50%, 61%) to identify potential support or resistance zones.
Example: If the price dropped sharply the previous day, the retracement levels could act as support during a rebound.
Use Fibonacci Extensions:
Extensions help identify price targets when the price breaks above or below the high or low of the previous day, week, or month.
Example: After a breakout above the previous week’s high, the 127% or 161% level could serve as a target.
Adjust Timeframe:
Choose the timeframe that suits your strategy:
Intraday traders can use the previous day’s high and low.
Swing traders might prefer the previous week.
Long-term traders could work with the previous month.
Example
A trader selects the weekly timeframe (W) to analyze the high and low of the previous week:
The script calculates the price range based on the high and low of the previous week.
Fibonacci retracements (e.g., 50% and 61%) are drawn to identify potential support zones.
Fibonacci extensions (e.g., 127% and 161%) help define price targets for a potential breakout above or below the range.
Volume Delta Candles HTF [TradingFinder] LTF Volume Candles 🔵 Introduction
In financial markets, understanding the concepts of supply and demand and their impact on price movements is of paramount importance. Supply and demand, as fundamental pillars of economics, reflect the interaction between buyers and sellers.
When buyers' strength surpasses that of sellers, demand increases, and prices tend to rise. Conversely, when sellers dominate buyers, supply overtakes demand, causing prices to drop. These interactions play a crucial role in determining market trends, price reversal points, and trading decisions.
Volume Delta Candles offer traders a practical way to visualize trading activity within each candlestick. By integrating data from lower timeframes or live market feeds, these candles eliminate the need for standalone volume indicators.
They present the proportions of buying and selling volume as intuitive colored bars, making it easier to interpret market dynamics at a glance. Additionally, they encapsulate critical metrics like peak delta, lowest delta, and net delta, allowing traders to grasp the market's internal order flow with greater precision.
In financial markets, grasping the interplay between supply and demand and its influence on price movements is crucial for successful trading. These fundamental economic forces reflect the ongoing balance between buyers and sellers in the market.
When buyers exert greater strength than sellers, demand dominates, driving prices upward. Conversely, when sellers take control, supply surpasses demand, and prices decline. Understanding these dynamics is essential for identifying market trends, pinpointing reversal points, and making informed trading decisions.
Volume Delta Candles provide an innovative method for evaluating trading activity within individual candlesticks, offering a simplified view without relying on separate volume indicators. By leveraging lower timeframe or real-time data, this tool visualizes the distribution of buying and selling volumes within a candle through color-coded bars.
This visual representation enables traders to quickly assess market sentiment and understand the forces driving price action. Buyer and seller strength is a critical concept that focuses on the ratio of buying to selling volumes. This ratio not only provides insights into the market's current state but also serves as a leading indicator for detecting potential shifts in trends.
Traders often rely on volume analysis to identify significant supply and demand zones, guiding their entry and exit strategies. Delta Candles translate these complex metrics, such as Maximum Delta, Minimum Delta, and Final Delta, into an easy-to-read visual format using Japanese candlestick structures, making them an invaluable resource for analyzing order flows and market momentum.
By merging the principles of supply and demand with comprehensive volume analysis, tools like the indicator introduced here offer unparalleled clarity into market behavior. This indicator calculates the relative strength of supply and demand for each candlestick by analyzing the ratio of buyers to sellers.
🔵 How to Use
The presented indicator is a powerful tool for analyzing supply and demand strength in financial markets. It helps traders identify the strengths and weaknesses of buyers and sellers and utilize this information for better decision-making.
🟣 Analyzing the Highest Volume Trades on Candles
A unique feature of this indicator is the visualization of price levels with the highest trade volume for each candlestick. These levels are marked as black lines on the candles, indicating prices where most trades occurred. This information is invaluable for identifying key supply and demand zones, which often act as support or resistance levels.
🟣 Trend Confirmation
The indicator enables traders to confirm bullish or bearish trends by observing changes in buyer and seller strength. When buyer strength increases and demand surpasses supply, the likelihood of a bullish trend continuation grows. Conversely, decreasing buyer strength and increasing seller strength may signal a potential bearish trend reversal.
🟣 Adjusting Timeframes and Calculation Methods
Users can customize the indicator's candlestick timeframe to align with their trading strategy. Additionally, they can switch between moving average and current candle modes to achieve more precise market analysis.
This indicator, with its accurate and visual data display, is a practical and reliable tool for market analysts and traders. Using it can help traders make better decisions and identify optimal entry and exit points.
🔵 Settings
Lower Time Frame Volume : This setting determines which timeframe the indicator should use to identify the price levels with the highest trade volume. These levels, displayed as black lines on the candlesticks, indicate prices where the most trades occurred.
It is recommended that users align this timeframe with their primary chart’s timeframe.
As a general rule :
If the main chart’s timeframe is low (e.g., 1-minute or 5-minute), it is better to keep this setting at a similarly low timeframe.
As the main chart’s timeframe increases (e.g., daily or weekly), it is advisable to set this parameter to a higher timeframe for more aligned data analysis.
Cumulative Mode :
Current Candle : Strength is calculated only for the current candlestick.
EMA (Exponential Moving Average) : The strength is calculated using an exponential moving average, suitable for identifying longer-term trends.
Calculation Period : The default period for the exponential moving average (EMA) is set to 21. Users can modify this value for more precise analysis based on their specific requirements.
Ultra Data : This option enables users to view more detailed data from various market sources, such as Forex, Crypto, or Stocks. When activated, the indicator aggregates and displays volume data from multiple sources.
🟣 Table Settings
Show Info Table : This option determines whether the information table is displayed on the chart. When enabled, the table appears in a corner of the chart and provides details about the strength of buyers and sellers.
Table Size : Users can adjust the size of the text within the table to improve readability.
Table Position : This setting defines the table’s placement on the chart.
🔵 Conclusion
The indicator introduced in this article is designed as an advanced tool for analyzing supply and demand dynamics in financial markets. By leveraging buyer and seller strength ratios and visually highlighting price levels with the highest trade volume, it aids traders in identifying key market zones.
Key features, such as adjustable analysis timeframes, customizable calculation methods, and precise volume data display, allow users to tailor their analyses to market conditions.
This indicator is invaluable for analyzing support and resistance levels derived from trade volumes, enabling traders to make more accurate decisions about entering or exiting trades.
By utilizing real market data and displaying the highest trade volume lines directly on the chart, it provides a precise perspective on market behavior. These features make it suitable for both novice and professional traders aiming to enhance their analysis and trading strategies.
With this indicator, traders can gain a better understanding of supply and demand dynamics and operate more intelligently in financial markets. By combining volume data with visual analysis, this tool provides a solid foundation for effective decision-making and improved trading performance. Choosing this indicator is a significant step toward refining analysis and achieving success in complex financial markets.
QTALibrary "QTA"
This is simple library for basic Quantitative Technical Analysis for retail investors. One example of it being used can be seen here ().
calculateKellyRatio(returns)
Parameters:
returns (array) : An array of floats representing the returns from bets.
Returns: The calculated Kelly Ratio, which indicates the optimal bet size based on winning and losing probabilities.
calculateAdjustedKellyFraction(kellyRatio, riskTolerance, fedStance)
Parameters:
kellyRatio (float) : The calculated Kelly Ratio.
riskTolerance (float) : A float representing the risk tolerance level.
fedStance (string) : A string indicating the Federal Reserve's stance ("dovish", "hawkish", or neutral).
Returns: The adjusted Kelly Fraction, constrained within the bounds of .
calculateStdDev(returns)
Parameters:
returns (array) : An array of floats representing the returns.
Returns: The standard deviation of the returns, or 0 if insufficient data.
calculateMaxDrawdown(returns)
Parameters:
returns (array) : An array of floats representing the returns.
Returns: The maximum drawdown as a percentage.
calculateEV(avgWinReturn, winProb, avgLossReturn)
Parameters:
avgWinReturn (float) : The average return from winning bets.
winProb (float) : The probability of winning a bet.
avgLossReturn (float) : The average return from losing bets.
Returns: The calculated Expected Value of the bet.
calculateTailRatio(returns)
Parameters:
returns (array) : An array of floats representing the returns.
Returns: The Tail Ratio, or na if the 5th percentile is zero to avoid division by zero.
calculateSharpeRatio(avgReturn, riskFreeRate, stdDev)
Parameters:
avgReturn (float) : The average return of the investment.
riskFreeRate (float) : The risk-free rate of return.
stdDev (float) : The standard deviation of the investment's returns.
Returns: The calculated Sharpe Ratio, or na if standard deviation is zero.
calculateDownsideDeviation(returns)
Parameters:
returns (array) : An array of floats representing the returns.
Returns: The standard deviation of the downside returns, or 0 if no downside returns exist.
calculateSortinoRatio(avgReturn, downsideDeviation)
Parameters:
avgReturn (float) : The average return of the investment.
downsideDeviation (float) : The standard deviation of the downside returns.
Returns: The calculated Sortino Ratio, or na if downside deviation is zero.
calculateVaR(returns, confidenceLevel)
Parameters:
returns (array) : An array of floats representing the returns.
confidenceLevel (float) : A float representing the confidence level (e.g., 0.95 for 95% confidence).
Returns: The Value at Risk at the specified confidence level.
calculateCVaR(returns, varValue)
Parameters:
returns (array) : An array of floats representing the returns.
varValue (float) : The Value at Risk threshold.
Returns: The average Conditional Value at Risk, or na if no returns are below the threshold.
calculateExpectedPriceRange(currentPrice, ev, stdDev, confidenceLevel)
Parameters:
currentPrice (float) : The current price of the asset.
ev (float) : The expected value (in percentage terms).
stdDev (float) : The standard deviation (in percentage terms).
confidenceLevel (float) : The confidence level for the price range (e.g., 1.96 for 95% confidence).
Returns: A tuple containing the minimum and maximum expected prices.
calculateRollingStdDev(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling standard deviation of returns.
calculateRollingVariance(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling variance of returns.
calculateRollingMean(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling mean of returns.
calculateRollingCoefficientOfVariation(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling coefficient of variation of returns.
calculateRollingSumOfPercentReturns(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling sum of percent returns.
calculateRollingCumulativeProduct(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling cumulative product of returns.
calculateRollingCorrelation(priceReturns, volumeReturns, window)
Parameters:
priceReturns (array) : An array of floats representing the price returns.
volumeReturns (array) : An array of floats representing the volume returns.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling correlation.
calculateRollingPercentile(returns, window, percentile)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
percentile (int) : An integer representing the desired percentile (0-100).
Returns: An array of floats representing the rolling percentile of returns.
calculateRollingMaxMinPercentReturns(returns, window)
Parameters:
returns (array) : An array of floats representing the returns.
window (int) : An integer representing the rolling window size.
Returns: A tuple containing two arrays: rolling max and rolling min percent returns.
calculateRollingPriceToVolumeRatio(price, volData, window)
Parameters:
price (array) : An array of floats representing the price data.
volData (array) : An array of floats representing the volume data.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the rolling price-to-volume ratio.
determineMarketRegime(priceChanges)
Parameters:
priceChanges (array) : An array of floats representing the price changes.
Returns: A string indicating the market regime ("Bull", "Bear", or "Neutral").
determineVolatilityRegime(price, window)
Parameters:
price (array) : An array of floats representing the price data.
window (int) : An integer representing the rolling window size.
Returns: An array of floats representing the calculated volatility.
classifyVolatilityRegime(volatility)
Parameters:
volatility (array) : An array of floats representing the calculated volatility.
Returns: A string indicating the volatility regime ("Low" or "High").
method percentPositive(thisArray)
Returns the percentage of positive non-na values in this array.
This method calculates the percentage of positive values in the provided array, ignoring NA values.
Namespace types: array
Parameters:
thisArray (array)
_candleRange()
_PreviousCandleRange(barsback)
Parameters:
barsback (int) : An integer representing how far back you want to get a range
redCandle()
greenCandle()
_WhiteBody()
_BlackBody()
HighOpenDiff()
OpenLowDiff()
_isCloseAbovePreviousOpen(length)
Parameters:
length (int)
_isCloseBelowPrevious()
_isOpenGreaterThanPrevious()
_isOpenLessThanPrevious()
BodyHigh()
BodyLow()
_candleBody()
_BodyAvg(length)
_BodyAvg function.
Parameters:
length (simple int) : Required (recommended is 6).
_SmallBody(length)
Parameters:
length (simple int) : Length of the slow EMA
Returns: a series of bools, after checking if the candle body was less than body average.
_LongBody(length)
Parameters:
length (simple int)
bearWick()
bearWick() function.
Returns: a SERIES of FLOATS, checks if it's a blackBody(open > close), if it is, than check the difference between the high and open, else checks the difference between high and close.
bullWick()
barlength()
sumbarlength()
sumbull()
sumbear()
bull_vol()
bear_vol()
volumeFightMA()
volumeFightDelta()
weightedAVG_BullVolume()
weightedAVG_BearVolume()
VolumeFightDiff()
VolumeFightFlatFilter()
avg_bull_vol(userMA)
avg_bull_vol(int) function.
Parameters:
userMA (int)
avg_bear_vol(userMA)
avg_bear_vol(int) function.
Parameters:
userMA (int)
diff_vol(userMA)
diff_vol(int) function.
Parameters:
userMA (int)
vol_flat(userMA)
vol_flat(int) function.
Parameters:
userMA (int)
_isEngulfingBullish()
_isEngulfingBearish()
dojiup()
dojidown()
EveningStar()
MorningStar()
ShootingStar()
Hammer()
InvertedHammer()
BearishHarami()
BullishHarami()
BullishBelt()
BullishKicker()
BearishKicker()
HangingMan()
DarkCloudCover()