Levy Flight Relative Strength Index [SeerQuant]Lévy Flight Relative Strength Index
A nuanced improvement on the classic RSI, the Lévy Flight RSI leverages the Lévy Flight model to calculate dynamic weighted gains and losses, offering improved responsiveness and smoothness in trend detection compared to the regular RSI. Ideal for traders seeking a balance between precision and adaptability, the Lévy Flight RSI is packed with customizable features and a sleek, modern aesthetic.
-----------------------------------------------------------------
🧠 What is Lévy Flight Modelling?
Lévy Flight modelling is a concept derived from probability theory and fractal mathematics, widely applied in fields such as finance and physics. In trading, Lévy Flights describe a random walk process characterized by small, frequent movements interspersed with larger, less frequent movements. This behaviour reflects real-world price dynamics, where markets often exhibit periods of relative calm followed by sharp, volatile movements. The Lévy Flight model introduces a weighting mechanism that amplifies extreme price changes while smoothing smaller ones, providing a more nuanced view of market trends.
In the context of the Lévy Flight RSI, this model enhances traditional RSI calculations by dynamically weighting price changes (gains and losses) based on their magnitude. This results in an RSI that is more responsive to significant price movements, making it ideal for detecting shifts in momentum and market direction.
-----------------------------------------------------------------
🌟 Key Features:
- Dynamic Lévy Flight Modelling: Adjust alpha (1 to 2) for responsive or smooth signals, making it perfect for varying market conditions.
- Custom RSI Smoothing: Choose from multiple moving average types, including TEMA, DEMA, HMA, ALMA, and more, to match your trading style.
- Visually Intuitive: Neon-inspired gradient colours and centered histogram provide instant insights into market conditions.
- Customizable Overbought/Oversold Levels: Clearly defined thresholds, with additional shaded regions for strength identification.
-----------------------------------------------------------------
⚙️ How the Code Works
The Lévy Flight RSI enhances the traditional RSI calculation by incorporating two primary elements:
Dynamic Weighting Using Lévy Flight:
The code calculates the price change (change) on each bar and applies a power function (alpha) to these changes. Gains are raised to the power of alpha (for positive price changes), and losses are similarly transformed (for negative price changes).
The parameter alpha (ranging from 1 to 2) determines the sensitivity of the weighting. Lower values emphasize responsiveness, while higher values smooth out signals.
Enhanced Moving Averages:
The weighted gains and losses are smoothed using a customizable moving average. Options include traditional averages like SMA and EMA, and more advanced ones like TEMA, HMA, and ALMA. These smoothed values are used to calculate the final RSI value.
-----------------------------------------------------------------
📈 Why Use Lévy Flight RSI?
This unique RSI indicator captures price momentum with enhanced sensitivity to market dynamics. Whether you’re trend-following, scalping, or identifying reversals, the Lévy Flight RSI provides robust insights to refine your trading decisions.
-----------------------------------------------------------------
🔧 Inputs:
RSI Settings: Control RSI length, calculation source, and smoothing type.
Lévy Flight Settings: Adjust alpha to tune the indicator's responsiveness.
Style Customization: Tailor the appearance with different colour themes and gradients.
-----------------------------------------------------------------
Indicators and strategies
Relative Price Strength (RPS)Relative Price Strength (RPS) is a technical analysis indicator that measures the performance of a specific symbol relative to a benchmark or "Base Symbol".
It's essentially a ratio that compares the price of the specific symbol to the price of the benchmark.
Rising RPS: Indicates that the symbol is outperforming the benchmark.
Falling RPS: Suggests that the symbol is underperforming the benchmark.
RSP is smoothed over a period for better visualization.
Boltzmann Weighted Moving average ( BWMA )Overview:
Introducing the Boltzmann Weighted Moving Average (BWMA) – a novel approach that draws inspiration from statistical mechanics to emphasize recent market data more than older data. By applying an exponential decay governed by a “temperature” parameter, BWMA provides a unique perspective on price trends and enhances noise filtering. An EMA-based smoothing is then applied for an even cleaner, more stable signal.
Key Features:
Boltzmann Weighting: The BWMA assigns weights to each data point based on a Boltzmann-like formula, giving more influence to recent bars and reducing the impact of older ones. This creates a dynamic, adaptive moving average that can quickly respond to market changes.
Adaptive Temperature Control: Users can adjust the “Temperature” (T) parameter. A lower T puts a stronger emphasis on the most recent data, while a higher T makes the weight distribution more uniform across the chosen period.
EMA Smoothing: After computing the weighted average, an EMA is applied to smooth out short-term noise, resulting in a cleaner trend indication.
Color-Coded Trend Indicator: The BWMA line changes color depending on its slope, allowing traders to quickly identify bullish (green) or bearish (red) conditions at a glance.
Parameters:
Period: Defines the lookback window over which the Boltzmann weights are calculated.
Temperature (T): Controls the steepness of the weight decay. Lower T emphasizes recency, while higher T spreads weights more evenly.
Alpha (Energy Scale): Adjusts how quickly “Energy” (and thus weight decay) increases with older data points.
Smoothing Period: Determines the EMA length for reducing noise after weighting, providing a more stable signal.
How It Works:
The BWMA calculates a weighted average of recent prices, where the weight for each data point i is given by:
weight = math.exp(-energy / (k_B * T))
Energy_i: Increases as the data point is further back in time.
k_B: A scaling constant, set to 1 for simplicity.
T: "Temperature" parameter that controls how quickly the weights decay. A lower T emphasizes more recent data strongly, while a higher T spreads out the emphasis more evenly.
Visuals:
BWMA Line: Plotted as a smooth line that changes color based on trend direction.
Green: BWMA is rising (bullish trend).
Red: BWMA is falling (bearish trend).
Usage:
The BWMA can be used similarly to traditional moving averages but offers greater flexibility and adaptability:
Adjust T and Alpha: Fine-tune the weighting profile to match your trading style, whether you prefer rapid response to recent changes or a more balanced view.
Trend Confirmation: Use color changes to confirm bullish or bearish momentum.
Filtering Noise: The combination of Boltzmann weighting and EMA smoothing can help reduce the impact of sudden price spikes and yield clearer trend signals.
By blending the concepts of statistical mechanics with classic technical analysis techniques, the Boltzmann Weighted Moving Average provides traders with an innovative tool for revealing underlying market trends.
Ask-Weighted Averages This indicator provides two price-based reference lines derived from volume dynamics within each bar. Specifically, it calculates a volume-weighted average price using only the portion of trading volume that occurred on the "ask" side, implying more aggressive buying activity. The logic behind this approach is to highlight potential support and resistance levels where buyers have shown greater conviction.
Key Features:
Ask-Weighted Average Prices:
Instead of using the entire trade volume, the lines focus on "ask volume" (volume associated with trades occurring at or near the ask price). This helps to spotlight areas where buyers have been dominant, potentially revealing more meaningful price levels for future market behavior.
Conditional vs. Continuous Lines:
Conditional Line: This line is only plotted if the dollar volume (a rough measure of trade value) exceeds a specified threshold, ensuring that the highlighted level is backed by substantial trading activity.
Continuous Line: A second line is always displayed, providing a running ask-weighted average price reference for additional context, regardless of dollar volume.
Supports Identifying Key Price Zones:
By focusing on where more motivated buyers have been active, the indicator helps traders identify potential inflection points in price, such as areas where the market might find support on pullbacks or resistance during rallies.
Overall, this indicator serves as a specialized tool for traders interested in volume-driven price analysis. It aims to refine the understanding of where buyers are most engaged and how that might shape future price movements.
Risks Associated with Trading:
No indicator can guarantee profitable trades or accurately predict future price movements. Market conditions are inherently unpredictable, and reliance on any single tool or combination of tools carries the risk of financial loss. Traders should practice sound risk management, including the use of stop losses and position sizing, and should not trade with funds they cannot afford to lose. Ultimately, decisions should be guided by a thorough trading plan and possibly supplemented with other forms of market analysis or professional advice.
Risks and Important Considerations:
• Not a Standalone Tool:
• This indicator should not be used in isolation. It is essential to incorporate additional technical analysis tools, fundamental analysis, and market context when making trading decisions.
• Relying solely on this indicator may lead to incomplete assessments of market conditions.
• Market Volatility and False Signals:
• Financial markets can be highly volatile, and indicators based on historical data may not accurately predict future movements.
• The indicator may produce false signals due to sudden market changes, low liquidity, or atypical trading activity.
• Risk Management:
• Always employ robust risk management strategies, including setting stop-loss orders, diversifying your portfolio, and not over-leveraging positions.
• Understand that no indicator guarantees success, and losses are a natural part of trading.
• Emotional Discipline:
• Avoid making impulsive decisions based on indicator signals alone.
• Emotional trading can lead to significant financial losses; maintain discipline and adhere to a well-thought-out trading plan.
• Continuous Learning and Adaptation:
• Stay informed about market news, economic indicators, and global events that may impact trading conditions.
• Continuously evaluate and adjust your trading strategies as market dynamics evolve.
• Consultation with Professionals:
• Consider seeking advice from financial advisors or professional traders to understand better how this indicator can fit into your overall trading strategy.
• Professional guidance can provide personalized insights based on your financial goals and risk tolerance.
Disclaimer:
Trading financial instruments involves substantial risk and may not be suitable for all investors. Past performance is not indicative of future results. This indicator is provided for informational and educational purposes only and should not be considered investment advice. Always conduct your own research and consult with a licensed financial professional before making any trading decisions.
Note: The effectiveness of any technical indicator can vary based on market conditions and individual trading styles. It's crucial to test indicators thoroughly using historical data and possibly paper trading before applying them in live trading scenarios.
Ensemble Alerts█ OVERVIEW
This indicator creates highly customizable alert conditions and messages by combining several technical conditions into groups , which users can specify directly from the "Settings/Inputs" tab. It offers a flexible framework for building and testing complex alert conditions without requiring code modifications for each adjustment.
█ CONCEPTS
Ensemble analysis
Ensemble analysis is a form of data analysis that combines several "weaker" models to produce a potentially more robust model. In a trading context, one of the most prevalent forms of ensemble analysis is the aggregation (grouping) of several indicators to derive market insights and reinforce trading decisions. With this analysis, traders typically inspect multiple indicators, signaling trade actions when specific conditions or groups of conditions align.
Simplifying ensemble creation
Combining indicators into one or more ensembles can be challenging, especially for users without programming knowledge. It usually involves writing custom scripts to aggregate the indicators and trigger trading alerts based on the confluence of specific conditions. Making such scripts customizable via inputs poses an additional challenge, as it often involves complicated input menus and conditional logic.
This indicator addresses these challenges by providing a simple, flexible input menu where users can easily define alert criteria by listing groups of conditions from various technical indicators in simple text boxes . With this script, you can create complex alert conditions intuitively from the "Settings/Inputs" tab without ever writing or modifying a single line of code. This framework makes advanced alert setups more accessible to non-coders. Additionally, it can help Pine programmers save time and effort when testing various condition combinations.
█ FEATURES
Configurable alert direction
The "Direction" dropdown at the top of the "Settings/Inputs" tab specifies the allowed direction for the alert conditions. There are four possible options:
• Up only : The indicator only evaluates upward conditions.
• Down only : The indicator only evaluates downward conditions.
• Up and down (default): The indicator evaluates upward and downward conditions, creating alert triggers for both.
• Alternating : The indicator prevents alert triggers for consecutive conditions in the same direction. An upward condition must be the first occurrence after a downward condition to trigger an alert, and vice versa for downward conditions.
Flexible condition groups
This script features six text inputs where users can define distinct condition groups (ensembles) for their alerts. An alert trigger occurs if all the conditions in at least one group occur.
Each input accepts a comma-separated list of numbers with optional spaces (e.g., "1, 4, 8"). Each listed number, from 1 to 35, corresponds to a specific individual condition. Below are the conditions that the numbers represent:
1 — RSI above/below threshold
2 — RSI below/above threshold
3 — Stoch above/below threshold
4 — Stoch below/above threshold
5 — Stoch K over/under D
6 — Stoch K under/over D
7 — AO above/below threshold
8 — AO below/above threshold
9 — AO rising/falling
10 — AO falling/rising
11 — Supertrend up/down
12 — Supertrend down/up
13 — Close above/below MA
14 — Close below/above MA
15 — Close above/below open
16 — Close below/above open
17 — Close increase/decrease
18 — Close decrease/increase
19 — Close near Donchian top/bottom (Close > (Mid + HH) / 2)
20 — Close near Donchian bottom/top (Close < (Mid + LL) / 2)
21 — New Donchian high/low
22 — New Donchian low/high
23 — Rising volume
24 — Falling volume
25 — Volume above average (Volume > SMA(Volume, 20))
26 — Volume below average (Volume < SMA(Volume, 20))
27 — High body to range ratio (Abs(Close - Open) / (High - Low) > 0.5)
28 — Low body to range ratio (Abs(Close - Open) / (High - Low) < 0.5)
29 — High relative volatility (ATR(7) > ATR(40))
30 — Low relative volatility (ATR(7) < ATR(40))
31 — External condition 1
32 — External condition 2
33 — External condition 3
34 — External condition 4
35 — External condition 5
These constituent conditions fall into three distinct categories:
• Directional pairs : The numbers 1-22 correspond to pairs of opposing upward and downward conditions. For example, if one of the inputs includes "1" in the comma-separated list, that group uses the "RSI above/below threshold" condition pair. In this case, the RSI must be above a high threshold for the group to trigger an upward alert, and the RSI must be below a defined low threshold to trigger a downward alert.
• Non-directional filters : The numbers 23-30 correspond to conditions that do not represent directional information. These conditions act as filters for both upward and downward alerts. Traders often use non-directional conditions to refine trending or mean reversion signals. For instance, if one of the input lists includes "30", that group uses the "Low relative volatility" condition. The group can trigger an upward or downward alert only if the 7-period Average True Range (ATR) is below the 40-period ATR.
• External conditions : The numbers 31-35 correspond to external conditions based on the plots from other indicators on the chart. To set these conditions, use the source inputs in the "External conditions" section near the bottom of the "Settings/Inputs" tab. The external value can represent an upward, downward, or non-directional condition based on the following logic:
▫ Any value above 0 represents an upward condition.
▫ Any value below 0 represents a downward condition.
▫ If the checkbox next to the source input is selected, the condition becomes non-directional . Any group that uses the condition can trigger upward or downward alerts only if the source value is not 0.
To learn more about using plotted values from other indicators, see this article in our Help Center and the Source input section of our Pine Script™ User Manual.
Group markers
Each comma-separated list represents a distinct group , where all the listed conditions must occur to trigger an alert. This script assigns preset markers (names) to each condition group to make the active ensembles easily identifiable in the generated alert messages and labels. The markers assigned to each group use the format "M", where "M" is short for "Marker" and "x" is the group number. The titles of the inputs at the top of the "Settings/Inputs" tab show these markers for convenience.
For upward conditions, the labels and alert messages show group markers with upward triangles (e.g., "M1▲"). For downward conditions, they show markers with downward triangles (e.g., "M1▼").
NOTE: By default, this script populates the "M1" field with a pre-configured list for a mean reversion group ("2,18,24,28"). The other fields are empty. If any "M*" input does not contain a value, the indicator ignores it in the alert calculations.
Custom alert messages
By default, the indicator's alert message text contains the activated markers and their direction as a comma-separated list. Users can override this message for upward or downward alerts with the two text fields at the bottom of the "Settings/Inputs" tab. When the fields are not empty , the alerts use that text instead of the default marker list.
NOTE: This script generates alert triggers, not the alerts themselves. To set up an alert based on this script's conditions, open the "Create Alert" dialog box, then select the "Ensemble Alerts" and "Any alert() function call" options in the "Condition" tabs. See the Alerts FAQ in our Pine Script™ User Manual for more information.
Condition visualization
This script offers organized visualizations of its conditions, allowing users to inspect the behaviors of each condition alongside the specified groups. The key visual features include:
1) Conditional plots
• The indicator plots the history of each individual condition, excluding the external conditions, as circles at different levels. Opposite conditions appear at positive and negative levels with the same absolute value. The plots for each condition show values only on the bars where they occur.
• Each condition's plot is color-coded based on its type. Aqua and orange plots represent opposing directional conditions, and purple plots represent non-directional conditions. The titles of the plots also contain the condition numbers to which they apply.
• The plots in the separate pane can be turned on or off with the "Show plots in pane" checkbox near the top of the "Settings/Inputs" tab. This input only toggles the color-coded circles, which reduces the graphical load. If you deactivate these visuals, you can still inspect each condition from the script's status line and the Data Window.
• As a bonus, the indicator includes "Up alert" and "Down alert" plots in the Data Window, representing the combined upward and downward ensemble alert conditions. These plots are also usable in additional indicator-on-indicator calculations.
2) Dynamic labels
• The indicator draws a label on the main chart pane displaying the activated group markers (e.g., "M1▲") each time an alert condition occurs.
• The labels for upward alerts appear below chart bars. The labels for downward alerts appear above the bars.
NOTE: This indicator can display up to 500 labels because that is the maximum allowed for a single Pine script.
3) Background highlighting
• The indicator can highlight the main chart's background on bars where upward or downward condition groups activate. Use the "Highlight background" inputs in the "Settings/Inputs" tab to enable these highlights and customize their colors.
• Unlike the dynamic labels, these background highlights are available for all chart bars, irrespective of the number of condition occurrences.
█ NOTES
• This script uses Pine Script™ v6, the latest version of TradingView's programming language. See the Release notes and Migration guide to learn what's new in v6 and how to convert your scripts to this version.
• This script imports our new Alerts library, which features functions that provide high-level simplicity for working with complex compound conditions and alerts. We used the library's `compoundAlertMessage()` function in this indicator. It evaluates items from "bool" arrays in groups specified by an array of strings containing comma-separated index lists , returning a tuple of "string" values containing the marker of each activated group.
• The script imports the latest version of the ta library to calculate several technical indicators not included in the built-in `ta.*` namespace, including Double Exponential Moving Average (DEMA), Triple Exponential Moving Average (TEMA), Fractal Adaptive Moving Average (FRAMA), Tilson T3, Awesome Oscillator (AO), Full Stochastic (%K and %D), SuperTrend, and Donchian Channels.
• The script uses the `force_overlay` parameter in the label.new() and bgcolor() calls to display the drawings and background colors in the main chart pane.
• The plots and hlines use the available `display.*` constants to determine whether the visuals appear in the separate pane.
Look first. Then leap.
WhalenatorThis custom TradingView indicator combines multiple analytic techniques to help identify potential market trends, areas of support and resistance, and zones of heightened trading activity. It incorporates a SuperTrend-like line based on ATR, Keltner Channels for volatility-based price envelopes, and dynamic order blocks derived from significant volume and pivot points. Additionally, it highlights “whale” activities—periods of exceptionally large volume—along with an estimated volume profile level and approximate bid/ask volume distribution. Together, these features aim to offer traders a more comprehensive view of price structure, volatility, and institutional participation.
This custom TradingView indicator integrates multiple trading concepts into a single, visually descriptive tool. Its primary goal is to help traders identify directional bias, volatility levels, significant volume events, and potential support/resistance zones on a price chart. Below are the main components and their functionalities:
SuperTrend-Like Line (Trend Bias):
At the core of the indicator is a trend-following line inspired by the SuperTrend concept, which uses Average True Range (ATR) to adaptively set trailing stop levels. By comparing price to these levels, the line attempts to indicate when the market is in an uptrend (price above the line) or a downtrend (price below the line). The shifting levels can provide a dynamic sense of direction and help traders stay with the predominant trend until it shifts.
Keltner Channels (Volatility and Range):
Keltner Channels, based on an exponential moving average and Average True Range, form volatility-based envelopes around price. They help traders visualize whether price is extended (touching or moving outside the upper/lower band) or trading within a stable range. This can be useful in identifying low-volatility consolidations and high-volatility breakouts.
Dynamic Order Blocks (Approximations of Supply/Demand Zones):
By detecting pivot highs and lows under conditions of significant volume, the indicator approximates "order blocks." Order blocks are areas where institutional buying or selling may have occurred, potentially acting as future support or resistance zones. Although these approximations are not perfect, they offer a visual cue to areas on the chart where price might react strongly if revisited.
Volume Profile Proxy and Whale Detection:
The indicator highlights price levels associated with recent maximum volume activity, providing a rough "volume profile" reference. Such levels often become key points of price interaction.
"Whale" detection logic attempts to identify bars where exceptionally large volume occurs (beyond a defined threshold). By tracking these "whale bars," traders can infer where heavy participation—often from large traders or institutions—may influence market direction or create zones of interest.
Approximate Bid/Ask Volume and Dollar Volume Tracking:
The script estimates whether volume within each bar leans more towards the bid or the ask side, aiming to understand which participant (buyers or sellers) might have been more aggressive. Additionally, it calculates dollar volume (close price multiplied by volume) and provides an average to gauge the relative participation strength over time.
Labeling and Visual Aids:
Dynamic labels display Whale Frequency (the ratio of bars with exceptionally large volume), average dollar volume, and approximate ask/bid volume metrics. This gives traders at-a-glance insights into current market conditions, participation, and sentiment.
Strengths:
Multifaceted Analysis:
By combining trend, volatility, volume, and order block logic in one place, the indicator saves chart space and simplifies the analytical process. Traders gain a holistic view without flipping between multiple separate tools.
Adaptable to Market Conditions:
The use of ATR and Keltner Channels adapts to changing volatility conditions. The SuperTrend-like line helps keep traders aligned with the prevailing trend, avoiding constant whipsaws in choppy markets.
Volume-Based Insights:
Integrating whale detection and a crude volume profile proxy helps traders understand where large players might be interacting. This perspective can highlight critical levels that might not be evident from price action alone.
Convenient Visual Cues and Labels:
The indicator provides quick reference points and textual information about the underlying volume dynamics, making decision-making potentially faster and more informed.
Weaknesses:
Heuristic and Approximate Nature:
Many of the indicator’s features, like the "order blocks," "whale detection," and the approximate bid/ask volume, rely on heuristics and assumptions that may not always be accurate. Without actual Level II data or true volume profiles, the insights are best considered as supplementary, not definitive signals.
Lagging Components:
Indicators that rely on past data, like ATR-based trends or moving averages for Keltner Channels, inherently lag behind price. This can cause delayed signals, particularly in fast-moving markets, potentially missing some early opportunities or late in confirming market reversals.
No Guaranteed Predictive Power:
As with any technical tool, it does not forecast the future with certainty. Strong volume at a certain level or a bullish SuperTrend reading does not guarantee price will continue in that direction. Market conditions can change unexpectedly, and false signals will occur.
Complexity and Overreliance Risk:
With multiple signals combined, there’s a risk of information overload. Traders might feel compelled to rely too heavily on this one tool. Without complementary analysis (fundamentals, news, or additional technical confirmation), overreliance on the indicator could lead to misguided trades.
Conclusion:
This integrated indicator offers a comprehensive visual guide to market structure, volatility, and activity. Its strength lies in providing a multi-dimensional viewpoint in a single tool. However, traders should remain aware of its approximations, inherent lags, and the potential for conflicting signals. Sound risk management, position sizing, and the use of complementary analysis methods remain essential for trading success.
Risks Associated with Trading:
No indicator can guarantee profitable trades or accurately predict future price movements. Market conditions are inherently unpredictable, and reliance on any single tool or combination of tools carries the risk of financial loss. Traders should practice sound risk management, including the use of stop losses and position sizing, and should not trade with funds they cannot afford to lose. Ultimately, decisions should be guided by a thorough trading plan and possibly supplemented with other forms of market analysis or professional advice.
Risks and Important Considerations:
• Not a Standalone Tool:
• This indicator should not be used in isolation. It is essential to incorporate additional technical analysis tools, fundamental analysis, and market context when making trading decisions.
• Relying solely on this indicator may lead to incomplete assessments of market conditions.
• Market Volatility and False Signals:
• Financial markets can be highly volatile, and indicators based on historical data may not accurately predict future movements.
• The indicator may produce false signals due to sudden market changes, low liquidity, or atypical trading activity.
• Risk Management:
• Always employ robust risk management strategies, including setting stop-loss orders, diversifying your portfolio, and not over-leveraging positions.
• Understand that no indicator guarantees success, and losses are a natural part of trading.
• Emotional Discipline:
• Avoid making impulsive decisions based on indicator signals alone.
• Emotional trading can lead to significant financial losses; maintain discipline and adhere to a well-thought-out trading plan.
• Continuous Learning and Adaptation:
• Stay informed about market news, economic indicators, and global events that may impact trading conditions.
• Continuously evaluate and adjust your trading strategies as market dynamics evolve.
• Consultation with Professionals:
• Consider seeking advice from financial advisors or professional traders to understand better how this indicator can fit into your overall trading strategy.
• Professional guidance can provide personalized insights based on your financial goals and risk tolerance.
Disclaimer:
Trading financial instruments involves substantial risk and may not be suitable for all investors. Past performance is not indicative of future results. This indicator is provided for informational and educational purposes only and should not be considered investment advice. Always conduct your own research and consult with a licensed financial professional before making any trading decisions.
Note: The effectiveness of any technical indicator can vary based on market conditions and individual trading styles. It's crucial to test indicators thoroughly using historical data and possibly paper trading before applying them in live trading scenarios.
Alerts█ OVERVIEW
This library is a Pine Script™ programmers tool that provides functions to simplify the creation of compound conditions and alert messages. With these functions, scripts can use comma-separated "string" lists to specify condition groups from arbitrarily large "bool" arrays , offering a convenient way to provide highly flexible alert creation to script users without requiring numerous inputs in the "Settings/Inputs" menu.
█ CONCEPTS
Compound conditions
Compound conditions are essentially groups of two or more conditions, where each required condition must occur to produce a `true` result. Traders often combine conditions, including signals from various indicators, to drive and reinforce trade decisions. Similarly, programmers use compound conditions in logical operations to create scripts that respond dynamically to groups of events.
Condition conundrum
Providing flexible condition combinations to script users for signals and alerts often poses a significant challenge: input complexity . Conventionally, such flexibility comes at the cost of an extensive list of separate inputs for toggling individual conditions and customizing their properties, often resulting in complicated input menus that are difficult for users to navigate effectively. Furthermore, managing all those inputs usually entails tediously handling many extra variables and logical expressions, making such projects more complex for programmers.
Condensing complexity
This library introduces a technique using parsed strings to reference groups of elements from "bool" arrays , helping to simplify and streamline the construction of compound conditions and alert messages. With this approach, programmers can provide one or more "string" inputs in their scripts where users can list numbers corresponding to the conditions they want to combine.
For example, suppose you have a script that creates alert triggers based on a combination of up to 20 individual conditions, and you want to make inputs for users to choose which conditions to combine. Instead of creating 20 separate checkboxes in the "Settings/Inputs" tab and manually adding associated logic for each one, you can store the conditional values in arrays, make one or more "string" inputs that accept values listing the array item locations (e.g., "1,4,8,11"), and then pass the inputs to these functions to determine the compound conditions formed by the specified groups.
This approach condenses the input space, improving navigability and utility. Additionally, it helps provide high-level simplicity to complex conditional code, making it easier to maintain and expand over time.
█ CALCULATIONS AND USE
This library contains three functions for evaluating compound conditions: `getCompoundConditon()`, `getCompoundConditionsArray()`, and `compoundAlertMessage()`. Each function has two overloads that evaluate compound conditions based on groups of items from one or two "bool" arrays . The sections below explain the functions' calculations and how to use them.
Referencing conditions using "string" index lists
Each function processes "string" values containing comma-separated lists of numerals representing the indices of the "bool" array items to use in its calculations (e.g., "4, 8, 12"). The functions split each supplied "string" list by its commas, then iterate over those specified indices in the "bool" arrays to determine each group's combined `true` or `false` state.
For convenience, the numbers in the "string" lists can represent zero-based indices (where the first item is at index 0) or one-based indices (where the first item is at index 1), depending on the function's `zeroIndex` parameter. For example, an index list of "0, 2, 4" with a `zeroIndex` value of `true` specifies that the condition group uses the first , third , and fifth "bool" values in the array, ignoring all others. If the `zeroIndex` value is `false`, the list "1, 3, 5" also refers to those same elements.
Zero-based indexing is convenient for programmers because Pine arrays always use this index format. However, one-based indexing is often more convenient and familiar for script users, especially non-programmers.
Evaluating one or many condition groups
The `getCompoundCondition()` function evaluates singular condition groups determined by its `indexList` parameter, returning `true` values whenever the specified array elements are `true`. This function is helpful when a script has to evaluate specific groups of conditions and does not require many combinations.
In contrast, the `getCompoundConditionsArray()` function can evaluate numerous condition groups, one for each "string" included in its `indexLists` argument. It returns arrays containing `true` or `false` states for each listed group. This function is helpful when a script requires multiple condition combinations in additional calculations or logic.
The `compoundAlertMessage()` function is similar to the `getCompoundConditionsArray()` function. It also evaluates a separate compound condition group for each "string" in its `indexLists` array, but it returns "string" values containing the marker (name) of each group with a `true` result. You can use these returned values as the `message` argument in alert() calls, display them in labels and other drawing objects, or even use them in additional calculations and logic.
Directional condition pairs
The first overload of each function operates on a single `conditions` array, returning values representing one or more compound conditions from groups in that array. These functions are ideal for general-purpose condition groups that may or may not represent direction information.
The second overloads accept two arrays representing upward and downward conditions separately: `upConditions` and `downConditions`. These overloads evaluate opposing directional conditions in pairs (e.g., RSI is above/below a level) and return upward and downward condition information separately in a tuple .
When using the directional overloads, ensure the `upConditions` and `downConditions` arrays are the same size, with the intended condition pairs at the same indices . For instance, if you have a specific upward RSI condition's value at the first index in the `upConditions` array, include the opposing downward RSI condition's value at that same index in the `downConditions` array. If a condition can apply to both directions (e.g., rising volume), include its value at the same index in both arrays.
Group markers
To simplify the generation of informative alert messages, the `compoundAlertMessage()` function assigns "string" markers to each condition group, where "marker" refers to the group's name. The `groupMarkers` parameter allows you to assign custom markers to each listed group. If not specified, the function generates default group markers in the format "M", where "M" is short for "Marker" and "" represents the group number starting from 1. For example, the default marker for the first group specified in the `indexLists` array is "M1".
The function's returned "string" values contain a comma-separated list with markers for each activated condition group (e.g., "M1, M4"). The function's second overload, which processes directional pairs of conditions, also appends extra characters to the markers to signify the direction. The default for upward groups is "▲" (e.g., "M1▲") and the default for downward ones is "▼" (e.g., "M1▼"). You can customize these appended characters with the `upChar` and `downChar` parameters.
Designing customizable alerts
We recommend following these primary steps when using this library to design flexible alerts for script users:
1. Create text inputs for users to specify comma-separated lists of conditions with the input.string() or input.text_area() functions, and then collect all the input values in a "string" array . Note that each separate "string" in the array will represent a distinct condition group.
2. Create arrays of "bool" values representing the possible conditions to choose from. If your script will process pairs of upward and downward conditions, ensure the related elements in the arrays align at the same indices.
3. Call `compoundAlertMessage()` using the arrays from steps 1 and 2 as arguments to get the alert message text. If your script will use the text for alerts only, not historical display or calculation purposes, the call is necessary only on realtime bars .
4. Pass the calculated "string" values as the `message` argument in alert() calls. We recommend calling the function only when the "string" is not empty (i.e., `messageText != ""`). To avoid repainting alerts on open bars, use barstate.isconfirmed in the condition to allow alert triggers only on each bar's close .
5. Test the alerts. Open the "Create Alert" dialog box and select "Any alert() function call" in the "Condition" field. It is also helpful to inspect the strings with Pine Logs .
NOTE: Because the techniques in this library use lists of numbers to specify conditions, we recommend including a tooltip for the "string" inputs that lists the available numbers and the conditions they represent. This tooltip provides a legend for script users, making it simple to understand and utilize. To create the tooltip, declare a "const string" listing the options and pass it to the `input.*()` call's `tooltip` parameter. See the library's example code for a simple demonstration.
█ EXAMPLE CODE
This library's example code demonstrates one possible way to offer a selection of compound conditions with "string" inputs and these functions. It uses three input.string() calls, each accepting a comma-separated list representing a distinct condition group. The title of each input represents the default group marker that appears in the label and alert text. The code collects these three input values in a `conditionGroups` array for use with the `compoundAlertMessage()` function.
In this code, we created two "bool" arrays to store six arbitrary condition pairs for demonstration:
1. Bar up/down: The bar's close price must be above the open price for upward conditions, and vice versa for downward conditions.
2. Fast EMA above/below slow EMA : The 9-period Exponential Moving Average of close prices must be above the 21-period EMA for upward conditions, and vice versa for downward conditions.
3. Volume above average : The bar's volume must exceed its 20-bar average to activate an upward or downward condition.
4. Volume rising : The volume must exceed that of the previous bar to activate an upward or downward condition.
5. RSI trending up/down : The 14-period Relative Strength Index of close prices must be between 50 and 70 for upward conditions, and between 30 and 50 for downward conditions.
6. High volatility : The 7-period Average True Range (ATR) must be above the 40-period ATR to activate an upward or downward condition.
We included a `tooltip` argument for the third input.string() call that displays the condition numbers and titles, where 1 is the first condition number.
The `bullConditions` array contains the `true` or `false` states of all individual upward conditions, and the `bearConditions` array contains all downward condition states. For the conditions that filter either direction because they are non-directional, such as "High volatility", both arrays contain the condition's `true` or `false` value at the same index. If you use these conditions alone, they activate upward and downward alert conditions simultaneously.
The example code calls `compoundAlertMessage()` using the `bullConditions`, `bearConditions`, and `conditionGroups` arrays to create a tuple of strings containing the directional markers for each activated group. On confirmed bars, it displays non-empty strings in labels and uses them in alert() calls. For the text shown in the labels, we used str.replace_all() to replace commas with newline characters, aligning the markers vertically in the display.
Look first. Then leap.
█ FUNCTIONS
This library exports the following functions:
getCompoundCondition(conditions, indexList, minRequired, zeroIndex)
(Overload 1 of 2) Determines a compound condition based on selected elements from a `conditions` array.
Parameters:
conditions (array) : (array) An array containing the possible "bool" values to use in the compound condition.
indexList (string) : (series string) A "string" containing a comma-separated list of whole numbers representing the group of `conditions` elements to use in the compound condition. For example, if the value is `"0, 2, 4"`, and `minRequired` is `na`, the function returns `true` only if the `conditions` elements at index 0, 2, and 4 are all `true`. If the value is an empty "string", the function returns `false`.
minRequired (int) : (series int) Optional. Determines the minimum number of selected conditions required to activate the compound condition. For example, if the value is 2, the function returns `true` if at least two of the specified `conditions` elements are `true`. If the value is `na`, the function returns `true` only if all specified elements are `true`. The default is `na`.
zeroIndex (bool) : (series bool) Optional. Specifies whether the `indexList` represents zero-based array indices. If `true`, a value of "0" in the list represents the first array index. If `false`, a `value` of "1" represents the first index. The default is `true`.
Returns: (bool) `true` if `conditions` elements in the group specified by the `indexList` are `true`, `false` otherwise.
getCompoundCondition(upConditions, downConditions, indexList, minRequired, allowUp, allowDown, zeroIndex)
(Overload 2 of 2) Determines upward and downward compound conditions based on selected elements from `upConditions` and `downConditions` arrays.
Parameters:
upConditions (array) : (array) An array containing the possible "bool" values to use in the upward compound condition.
downConditions (array) : (array) An array containing the possible "bool" values to use in the downward compound condition.
indexList (string) : (series string) A "string" containing a comma-separated list of whole numbers representing the `upConditions` and `downConditions` elements to use in the compound conditions. For example, if the value is `"0, 2, 4"` and `minRequired` is `na`, the function returns `true` for the first value only if the `upConditions` elements at index 0, 2, and 4 are all `true`. If the value is an empty "string", the function returns ` `.
minRequired (int) : (series int) Optional. Determines the minimum number of selected conditions required to activate either compound condition. For example, if the value is 2, the function returns `true` for its first value if at least two of the specified `upConditions` elements are `true`. If the value is `na`, the function returns `true` only if all specified elements are `true`. The default is `na`.
allowUp (bool) : (series bool) Optional. Controls whether the function considers upward compound conditions. If `false`, the function ignores the `upConditions` array, and the first item in the returned tuple is `false`. The default is `true`.
allowDown (bool) : (series bool) Optional. Controls whether the function considers downward compound conditions. If `false`, the function ignores the `downConditions` array, and the second item in the returned tuple is `false`. The default is `true`.
zeroIndex (bool) : (series bool) Optional. Specifies whether the `indexList` represents zero-based array indices. If `true`, a value of "0" in the list represents the first array index. If `false`, a value of "1" represents the first index. The default is `true`.
Returns: ( ) A tuple containing two "bool" values representing the upward and downward compound condition states, respectively.
getCompoundConditionsArray(conditions, indexLists, zeroIndex)
(Overload 1 of 2) Creates an array of "bool" values representing compound conditions formed by selected elements from a `conditions` array.
Parameters:
conditions (array) : (array) An array containing the possible "bool" values to use in each compound condition.
indexLists (array) : (array) An array of strings containing comma-separated lists of whole numbers representing the `conditions` elements to use in each compound condition. For example, if an item is `"0, 2, 4"`, the corresponding item in the returned array is `true` only if the `conditions` elements at index 0, 2, and 4 are all `true`. If an item is an empty "string", the item in the returned array is `false`.
zeroIndex (bool) : (series bool) Optional. Specifies whether the "string" lists in the `indexLists` represent zero-based array indices. If `true`, a value of "0" in a list represents the first array index. If `false`, a value of "1" represents the first index. The default is `true`.
Returns: (array) An array of "bool" values representing compound condition states for each condition group. An item in the array is `true` only if all the `conditions` elements specified by the corresponding `indexLists` item are `true`. Otherwise, the item is `false`.
getCompoundConditionsArray(upConditions, downConditions, indexLists, allowUp, allowDown, zeroIndex)
(Overload 2 of 2) Creates two arrays of "bool" values representing compound upward and
downward conditions formed by selected elements from `upConditions` and `downConditions` arrays.
Parameters:
upConditions (array) : (array) An array containing the possible "bool" values to use in each upward compound condition.
downConditions (array) : (array) An array containing the possible "bool" values to use in each downward compound condition.
indexLists (array) : (array) An array of strings containing comma-separated lists of whole numbers representing the `upConditions` and `downConditions` elements to use in each compound condition. For example, if an item is `"0, 2, 4"`, the corresponding item in the first returned array is `true` only if the `upConditions` elements at index 0, 2, and 4 are all `true`. If an item is an empty "string", the items in both returned arrays are `false`.
allowUp (bool) : (series bool) Optional. Controls whether the function considers upward compound conditions. If `false`, the function ignores the `upConditions` array, and all elements in the first returned array are `false`. The default is `true`.
allowDown (bool) : (series bool) Optional. Controls whether the function considers downward compound conditions. If `false`, the function ignores the `downConditions` array, and all elements in the second returned array are `false`. The default is `true`.
zeroIndex (bool) : (series bool) Optional. Specifies whether the "string" lists in the `indexLists` represent zero-based array indices. If `true`, a value of "0" in a list represents the first array index. If `false`, a value of "1" represents the first index. The default is `true`.
Returns: ( ) A tuple containing two "bool" arrays:
- The first array contains values representing upward compound condition states determined using the `upConditions`.
- The second array contains values representing downward compound condition states determined using the `downConditions`.
compoundAlertMessage(conditions, indexLists, zeroIndex, groupMarkers)
(Overload 1 of 2) Creates a "string" message containing a comma-separated list of markers representing active compound conditions formed by specified element groups from a `conditions` array.
Parameters:
conditions (array) : (array) An array containing the possible "bool" values to use in each compound condition.
indexLists (array) : (array) An array of strings containing comma-separated lists of whole numbers representing the `conditions` elements to use in each compound condition. For example, if an item is `"0, 2, 4"`, the corresponding marker for that item appears in the returned "string" only if the `conditions` elements at index 0, 2, and 4 are all `true`.
zeroIndex (bool) : (series bool) Optional. Specifies whether the "string" lists in the `indexLists` represent zero-based array indices. If `true`, a value of "0" in a list represents the first array index. If `false`, a value of "1" represents the first index. The default is `true`.
groupMarkers (array) : (array) Optional. If specified, sets the marker (name) for each condition group specified in the `indexLists` array. If `na`, the function uses the format `"M"` for each group, where "M" is short for "Marker" and `` represents the one-based index for the group (e.g., the marker for the first listed group is "M1"). The default is `na`.
Returns: (string) A "string" containing a list of markers corresponding to each active compound condition.
compoundAlertMessage(upConditions, downConditions, indexLists, allowUp, allowDown, zeroIndex, groupMarkers, upChar, downChar)
(Overload 2 of 2) Creates two "string" messages containing comma-separated lists of markers representing active upward and downward compound conditions formed by specified element groups from `upConditions` and `downConditions` arrays.
Parameters:
upConditions (array) An array containing the possible "bool" values to use in each upward compound condition.
downConditions (array) An array containing the possible "bool" values to use in each downward compound condition.
indexLists (array) An array of strings containing comma-separated lists of whole numbers representing the `upConditions` and `downConditions` element groups to use in each compound condition. For example, if an item is `"0, 2, 4"`, the corresponding group marker for that item appears in the first returned "string" only if the `upConditions` elements at index 0, 2, and 4 are all `true`.
allowUp (bool) Optional. Controls whether the function considers upward compound conditions. If `false`, the function ignores the `upConditions` array and returns an empty "string" for the first tuple element. The default is `true`.
allowDown (bool) Optional. Controls whether the function considers downward compound conditions. If `false`, the function ignores the `downConditions` array and returns an empty "string" for the second tuple element. The default is `true`.
zeroIndex (bool) Optional. Specifies whether the "string" lists in the `indexLists` represent zero-based array indices. If `true`, a value of "0" in a list represents the first array index. If `false`, a value of "1" represents the first index. The default is `true`.
groupMarkers (array) Optional. If specified, sets the name (marker) of each condition group specified in the `indexLists` array. If `na`, the function uses the format `"M"` for each group, where "M" is short for "Marker" and `` represents the one-based index for the group (e.g., the marker for the first listed group is "M1"). The default is `na`.
upChar (string) Optional. A "string" appended to all group markers for upward conditions to signify direction. The default is "▲".
downChar (string) Optional. A "string" appended to all group markers for downward conditions to signify direction. The default is "▼".
Returns: ( ): A tuple of "string" values containing lists of markers corresponding to active upward and downward compound conditions, respectively.
Newday_smaThis algorithm is based on SMA (Simple Moving Average) to identify price trends, detecting "positive price zones" (where the price is above the SMA) and "negative price zones" (where the price is below the SMA), and then connecting turning points within those zones with lines.
Key Steps:
SMA Period Selection: The user can select the SMA period to be 5, 10, or 20.
SMA Calculation: The SMA of the current price is calculated based on the selected period.
Identify Positive and Negative Price Zones:
Positive Price Zone: When the closing price is higher than the SMA, it’s considered a positive price zone.
Negative Price Zone: When the closing price is lower than the SMA, it’s considered a negative price zone.
Identify Turning Points:
In the positive price zone, if the current closing price falls below the SMA, a potential turning point is detected, and the algorithm looks for the lowest point (the lowest high in that zone).
In the negative price zone, if the current closing price rises above the SMA, a potential turning point is detected, and the algorithm looks for the highest point (the highest low in that zone).
Connect the Turning Points:
When transitioning from the negative price zone to the positive price zone, a line is drawn from the lowest point of the negative zone to the highest point of the positive zone.
When transitioning from the positive price zone to the negative price zone, a line is drawn from the highest point of the positive zone to the lowest point of the negative zone.
Dynamic Updates: As new candles form, the algorithm continuously updates the turning points and draws the lines accordingly.
Key Features:
Flexible SMA Period Selection: The user can choose from different SMA periods (5, 10, or 20).
Dynamic Turning Point Recognition: The algorithm dynamically identifies turning points based on the relationship between the price and the SMA, marking fluctuations in price.
Connecting Turning Points: The algorithm connects the key points in positive and negative price zones with lines to help identify price trends.
Use Cases:
This algorithm is useful for technical analysis, especially for short-term trading.
It helps identify support and resistance levels, assisting users in making buy and sell decisions.
Master Litecoin Market Cap Network Value ModelMaster Litecoin Market Cap Network Value Model
This indicator visualizes Litecoin's network fundamentals compared to Bitcoin, developed by @masterbtcltc. By analyzing various on-chain metrics and market data, this script helps users evaluate Litecoin’s intrinsic value relative to Bitcoin.
Key Features:
Network Metrics:
NewAddressValueModel: Tracks the ratio of new addresses in Litecoin compared to Bitcoin.
TotalAddressValueModel: Compares total addresses across the two networks.
Transaction & Volume Metrics:
TXValueModel: Compares transaction activity.
VolumeValueModel and VolumeUSDValueModel: Analyzes transaction volumes in native units and USD.
Usage & Adoption:
ActiveValueModel: Tracks the ratio of active addresses between Litecoin and Bitcoin.
RetailValueModel: Measures retail adoption strength in the Litecoin network.
Blockchain & Holder Data:
BlockValueModel: Compares block sizes.
NonZeroModel: Evaluates addresses with non-zero balances.
HodlerModel: Compares long-term holders between Litecoin and Bitcoin.
Averaged Insights:
AverageValueModel: Aggregates all metrics for a complete view of network valuation.
Visual Design:
Blue Themed Metrics: Network value models are displayed in a uniform blue color with a line thickness of 4 and 25% transparency for clarity.
Distinct Price Plot: Litecoin’s price is plotted in yellow, with a thin line (width 2) and no transparency, keeping it visually separate.
Use Cases:
Ideal for traders, investors, and enthusiasts aiming to:
Identify Litecoin’s market trends.
Detect periods of undervaluation or overvaluation.
Gain deeper insights into Litecoin’s network fundamentals.
Important Instruction: To ensure accurate results, plot this indicator on VANTAGE:LTCUSD * GLASSNODE:LTC_SUPPLY. This ensures alignment with the data sources and guarantees the script performs as intended.
Feel free to explore, use, and share this open-source script to better understand Litecoin’s value potential!
Stage Market V4This script provides a comprehensive tool for identifying market stages based on exponential moving averages (EMAs), market performance metrics, and additional price statistics. Below is a summary of its functionality and instructions on how to use it:
1. Inputs and Configuration
Fast and Slow EMA:
Fast EMA Length: Determines the period for the fast EMA.
Slow EMA Length: Determines the period for the slow EMA.
Additional EMAs:
Enable or disable three additional EMAs (EMA 1, EMA 2, and EMA 3) with customizable lengths.
52-Week High Display:
Optionally display the percentage distance from the 52-week high.
2. Market Stages
The indicator identifies six market stages based on the relationship between the price, fast EMA, and slow EMA:
Recovery: Price is above the fast EMA, and the slow EMA is above both the price and the fast EMA.
Accumulation: Price is above both the fast EMA and slow EMA, but the slow EMA is still above the fast EMA.
Bull Market: Price, fast EMA, and slow EMA are all aligned in a rising trend.
Warning: Price is below the fast EMA, but still above the slow EMA, signaling potential weakness.
Distribution: Price is below both EMAs, but the slow EMA remains below the fast EMA.
Bear Market: Price, fast EMA, and slow EMA are all aligned in a falling trend.
The current stage is displayed in a table along with the number of bars spent in that stage.
3. Performance Metrics
The script calculates additional metrics to gauge the stock's performance:
30-Day Change: The percentage price change over the last 30 days.
90-Day Change: The percentage price change over the last 90 days.
Year-to-Date (YTD) Change: The percentage change from the year's first closing price.
Distance from 52-Week High (if enabled): The percentage difference between the current price and the highest price over the past 52 weeks.
These values are color-coded:
Green for positive changes.
Red for negative changes.
4. Table Display
The indicator uses a table in the bottom-right corner of the chart to show:
Current market stage and bars spent in the stage.
30-day, 90-day, and YTD changes.
Distance from the 52-week high (if enabled).
5. EMA Plotting
The script plots the following EMAs on the chart:
Fast EMA (default: 50-period) in yellow.
Slow EMA (default: 200-period) in orange.
Optional EMAs (EMA 1, EMA 2, and EMA 3) in blue, green, and purple, respectively.
6. Using the Indicator
Add the indicator to your chart via the Pine Editor in TradingView.
Customize the input parameters to fit your trading style or the asset's characteristics.
Use the table to quickly assess the current market stage and key performance metrics.
Observe the plotted EMAs to understand trend alignments and potential crossovers.
This script is particularly useful for identifying market trends, understanding price momentum, and aligning trading decisions with broader market conditions.
Leveraged Chart with Financing, Portfolio DCA & NormalizationLeveraged Investment Simulator with Portfolio DCA & Performance Metrics
Overview:
This indicator helps simulate leveraged investment strategies, incorporating financing costs, Dollar Cost Averaging (DCA), and performance metrics. Ideal for analyzing leveraged growth on price charts or managing portfolios with periodic contributions.
Key Features:
Dual Simulation Modes:
- Chart Mode: Simulate leveraged growth directly on the price chart.
- Portfolio Mode: Track portfolio performance with periodic DCA contributions.
Leverage & Financing Fees:
- Adjustable leverage multiplier.
- Annual financing fees to model borrowing costs.
Dollar Cost Averaging (DCA):
- Set an initial investment and recurring deposit amounts.
- Choose contribution frequency: Monthly, Quarterly, or Yearly.
Performance Metrics:
- Sharpe Ratio: Evaluate risk-adjusted returns.
- Sortino Ratio: Assess downside risk-adjusted performance.
- Maximum Drawdown: Measure the largest decline from a peak.
Customizable Labels:
- Enable or disable specific sections, such as portfolio details and risk metrics.
Inputs:
Symbol selection (default: AAPL).
Data timeframe (e.g., daily, weekly, monthly).
Leverage multiplier and annual financing fees.
Portfolio options: Initial investment, deposit amounts, and frequencies.
Performance analysis options, including a customizable risk-free rate for Sharpe/Sortino ratios.
Toggleable label sections for focused analysis.
How to Use:
Add the indicator to your chart.
Configure the inputs to match your strategy (e.g., leverage factor, financing rates, DCA settings).
Toggle on/off the label sections to display relevant metrics.
Analyze the results:
Chart Mode: Observe leveraged growth on the price chart.
Portfolio Mode: Track portfolio growth, contributions, and performance metrics.
Benefits:
Simulate realistic scenarios with leverage, financing costs, and periodic investments.
Assess performance with advanced metrics like Sharpe and Sortino Ratios.
Identify risk with Maximum Drawdown analysis.
Customize your view for clarity and focus.
This indicator is perfect for traders and investors looking to optimize leveraged strategies or manage portfolios with DCA contributions effectively.
ICTProTools | ICT Insight - Market Environment🚀 INTRODUCTION
The Market Environment Indicator provides traders with an essential contextual framework for analyzing price movements. Built on the principles of ICT (Inner Circle Trader) and Smart Money Concepts (SMC), this tool offers a structured view of how institutional players drive markets through liquidity manipulation and price level interactions. By defining the market environment, the indicator helps traders focus on the most relevant price zones, reducing distractions and enhancing decision-making.
At its core, the Interbank Dealing Range (IBDR) creates a clear structure of protected highs/lows and Premium/Discount zones , highlighting key areas for potential price reactions. This framework gives traders a lens to interpret market behavior and concentrate on meaningful liquidity zones and price action. The indicator helps traders navigate the market with precision, spotting significant opportunities while filtering out market noise. Indeed, the IBDR isn't always easily identifiable, and not every move will form a distinct dealing range.
This indicator goes beyond mere price levels… It reveals the larger market context in which prices evolve. By mastering this environment, traders can align their strategies with institutional logic and make well-informed decisions.
💎 FEATURES
The Interbank Dealing Range (IBDR) is a crucial concept within the ICT methodology that helps traders identify the market environment across multiple timeframes, specifically the premium and discount zones. The IBDR delineates areas where traders have the potential to buy low and sell high.
Its extremes are defined by the sweep of both buy-side and sell-side liquidity . These levels indicate the boundaries within which price is expected to evolve . Understanding these boundaries allows traders to determine where it is appropriate to enter or exit trades.
The primary goal of utilizing the IBDR is to capitalize on price movements by buying at discounted levels and selling at premium levels. This strategy aligns with the fundamental principle of trading: to buy at lower prices and sell at higher prices, maximizing profit potential.
By visualizing the IBDR on your charts, you can gain valuable insights into the prevailing market conditions and make informed trading decisions that align with the institutional approach to buying and selling.
This chart illustrates the Interbank Dealing Range (IBDR) applied to the US100 index, displaying two from different timeframes: a 1-hour (1h) IBDR on the left and a 30-minute (30m) IBDR on the right. This multi-timeframe view provides essential context for price action analysis.
The 1h IBDR could here function as the primary reference range, establishing key boundaries (High and Low) for price movement. Within this range, the Equilibrium (midpoint) separates the Premium zone (above) from the Discount zone (below). The 0.25 and 0.75 levels add further precision by subdividing these zones.
Price action then flows between these zones, creating and targeting liquidity at higher and lower levels through Relative Equal Highs and Lows. A strong upward movement into the deeper level of the Premium Zone captures high-side liquidity (with a notable reaction at the FVG on the left), forming a secondary 30m IBDR. After this liquidity sweep, the remaining liquidity is on the low side. Price then reverses downward toward it. Here, the 30m IBDR would suggest a confirmation for a potential sell entry by targeting the IBDR lows.
The relationship between the broader 1h IBDR, the more detailed 30m IBDR, and all related levels creates a powerful analytical framework. The larger timeframe provides context, while the smaller one reveals specific trading opportunities by providing entry confirmations.
✨ SETTINGS
IBDR Metrics: Adjust the timeframe and sensitivity for calculating the IBDR so traders can adapt the indicator to both short-term intraday movements and longer-term trends.
Premium/Discount Zones: Customize the levels such as 0, 0.5, 1, and other levels like 0.25 and 0.75 by default and their displayed colors and associated labels.
Alerts: Configure the alerts for Premium/Discount zones, High/Low breaks, and new IBDR, ensuring traders are kept up to date on key market events.
🎯 CONCLUSION
The Market Environment indicator serves as a powerful tool for analyzing and navigating market structure through liquidity zones. It helps identify optimal buy and sell areas while aligning with the institutional logic of major market players. While its features provide a valuable edge, it’s essential to remember that none should be used on its own, and many more factors go into being a profitable trader.
✅ HOW TO GET ACCESS
Check the Author’s instructions below to get instant access to this indicator & our Premium Tools.
ICTProTools | ICT Insight - Momentum Structures🚀 INTRODUCTION
The Momentum Structures Indicator builds upon the principles of ICT (Inner Circle Trader) and Smart Money Concepts (SMC) to give traders a clearer view of market dynamics. These methods reveal how institutional trading activity shapes price movements, particularly through different types of market liquidity.
The indicator is designed to provide traders with advanced insights into market dynamics by focusing on key price imbalances and higher-timeframe structures . By combining these elements, the indicator allows users to analyze price behavior across multiple timeframes, helping them anticipate potential liquidity pools and price reversals. The emphasis on price imbalances and liquidity zones makes it a versatile tool for both intraday and longer-term strategies, providing critical insights for understanding market cycles and potential turning points.
💎 FEATURES
Imbalance Bar Colors / Zones
Imbalances are fundamental components of the ICT methodology, highlighting areas where price accelerates, creating gaps that may indicate a lack of liquidity . These voids often point to potential reversal or continuation zones in the price action.
An imbalance typically arises when supply and demand are out of balance, resulting in a gap between price levels. Traders keep a close eye on these gaps, as they could present opportunities to enter trades when the price revisits them , as they suggest a strong institutional interest.
We can notice two types of imbalances… A Fair Value Gap (FVG) usually forms from three consecutive candles, defining the space between the wicks of the first and last candle. Conversely, a Volume Imbalance (VI) occurs when a gap appears between the opening and closing prices of two consecutive candles. When these imbalances align with FVGs, they offer a well-rounded framework for assessing market strength.
By analyzing both FVGs and VIs together, traders can gain valuable insight into potential price movements and better evaluate the likelihood of continuation or reversal.
This chart illustrates the Fair Value Gaps (FVG) and Volume Imbalances (VI) within the GBPUSD price action. The FVG Bar Color and FVG Zone represent the same Fair Value Gaps, and similarly, the VI Bar Color and VI Zone display the same Volume Imbalances. They highlight areas where rapid price movements have created gaps in the market. These gaps indicate potential zones for trade entries or exits as the price may return to fill them. As we can see on the chart, the major part of imbalances created has already been filled. They constitute really interesting Point of Interest (POI).
The 50% FVG line marks the midpoint of the gap, which is often considered an important level for price action. A clear example appears in the Bearish FVG on the top left, where price first filled it below the midline, creating a small reaction. The price then liquidated this "fake mitigation" by moving just above the midline before beginning its significant downward movement. This demonstrates the crucial role of imbalances and how precisely price interacts with them.
Traders can use this information to identify potential buying or selling opportunities based on the interaction of price with these gaps and volume imbalances, aiding in the development of their trading strategies.
PO3 Candles (Power of Three)
The Power of Three is a critical concept in the ICT methodology that analyzes Higher Timeframe (HTF) candles focusing on the opening price, high wick, low wick, and closing price. This framework helps traders understand the current market cycle, in three phases , and its trading implications.
Accumulation Phase: In this initial phase, the price consolidates around the opening price as the market gathers liquidity. This often signals that larger players are positioning for the next move.
Manipulation Phase: Represented by the candle wicks, this phase indicates the extreme points where liquidity grabs often occur. Observing these wicks helps traders identify the end of the accumulation phase and potential turning points.
Distribution Phase: The candle body reflects a decisive price movement in one direction , following accumulation and manipulation. Traders align with the direction of this phase to capture the “real candle move”.
Our indicator provides you with the valuable capability to integrate the True Day Range, as defined by ICT. This concept, rooted in institutional logic, defines a trading day as starting at 00:00 New York time. You can customize it to match your trading style and analysis needs.
You can also overlay imbalances (FVG and VI) directly onto PO3 Candles, seamlessly combining imbalance detection with high-timeframe price action. This approach gives you a sharper market perspective, uncovering potential turning points with greater clarity.
In summary, PO3 Candles help traders assess the market structure and identify cycle positions on HTF candles, enabling them to make more strategic trading decisions, which allows for better entry and exit timing, avoiding traps, and seizing the best opportunities to capture significant market moves.
This chart illustrates the application of the Power of Three concept to EURUSD price action, highlighting key phases of market behavior.
In this example, we observe the Daily candles, where a significant Bullish imbalance appears from previous days, forming a Fair Value Gap (FVG). Additionally, there’s a small Volume Imbalance (VI) at the candle's opening, signaling liquidity that the price needs to fill.
Now, focusing on the Weekly candle, we can clearly identify its phases. First, there's an accumulation phase around the opening price, which, as shown by the Daily candles, took some time to develop. Then, the manipulation phase occurs, signaled by the upper wick of the Weekly candle, which liquidates the previously created accumulation. It’s time to look for a potential selling position... Finally, the price falls, beginning to form its bearish body and completing the real move of the week.
This framework allows traders to better understand the market structure and make informed decisions based on the current cycle.
Standard Deviation (STD)
The Standard Deviation (STD) is a concept within the ICT methodology that focuses on identifying periods of consolidation within the market. Specifically, it examines the Central Bank Dealers Range (CBDR) , which occurs between 13:00 and 23:00 New York time. During this period, the market often exhibits consolidation , creating an environment where price action stabilizes before making significant moves.
This consolidation forms the basis of the Standard Deviation (STD) concept. This is based on the idea that the volatility observed during this consolidation phase can be used to anticipate future market volatility. Once this consolidation is identified, the STD framework duplicates the established range both above and below the consolidation area.
As price approaches these duplicated levels, it offers traders critical information on where to anticipate potential reactions. If the price nears the upper boundary of the consolidation, it suggests a potential reversal point, indicating an opportunity to consider selling. Conversely, if the price approaches the lower boundary, it may signal an opportunity to look for buying positions . This duplication could enable traders to determine potential high and low points for the trading day or week for example.
Finally, the Standard Deviation (STD) concept provides a valuable framework for identifying potential key reaction points in the market by leveraging consolidation within the CBDR. By duplicating these ranges, traders can anticipate significant price movements and refine their strategies.
This chart illustrates the Standard Deviation (STD) concept applied to EURUSD price action. The highlighted areas in blue indicate high duplications and low duplications derived from the consolidation identified during the Central Bank Dealing Range (CBDR), marked by the dark gray rectangle.
The high duplications represent potential resistance levels, suggesting areas where the price may encounter selling pressure, while the low duplications signify potential support levels, indicating where buying interest could emerge.
The annotations emphasize how price reacts at these duplicated levels, showing the critical role of the STD in determining where price movements may stall or reverse. In this example, the price responded perfectly to both an upward and a downward duplication, confirming that these levels could represent the day's high and low, an observation validated here. This highlights the precision of price movements, with the price stopping exactly at the full duplication levels (but we can not that the price could also have paused at the midline levels, indicated by the dashed gray lines).
This visualization helps traders anticipate potential reactions and align their strategies with market dynamics, ensuring informed decision-making based on established price behavior.
✨ SETTINGS
Imbalance Bar Colors / Zones: Choose to display FVGs, VIs, or both, with customizable color settings. Choose to extend zones or set them to be removed when mitigated.
PO3 Candles: Customize the PO3 Candles for different timeframes (Daily, Weekly, Monthly), including the calculation Mode (Classic or True Day Range) and timezone associated, and set your body, border, and wick preferred colors. The Imbalance Bar Color and FVG Zones can also be displayed on these HTF candles, as they are configured in their settings.
STD: Select the timeframe on which to base it and configure the number of duplications and midline settings. You can also define the time range and timezone related to consolidation detection, giving you control over when and where the STD should apply.
🎯 CONCLUSION
The Momentum Structures Indicator combines the core principles of ICT and Smart Money Concepts to provide traders with advanced tools for understanding market dynamics. By focusing on key elements like imbalances and liquidity zones, it offers a comprehensive framework for analyzing price behavior. This indicator empowers traders to identify key market phases, anticipate potential reversals, and refine their entry and exit points with precision. While its features provide a valuable edge, it’s essential to remember that none should be used on its own and many more factors go into being a profitable trader.
✅ HOW TO GET ACCESS
Check the Author’s instructions below to get instant access to this indicator & our Premium Tools.
ICTProTools | ICT Insight - Time & Price Zones🚀 INTRODUCTION
The Time and Price Zones indicator builds upon the foundational concepts of ICT (Inner Circle Trader) and Smart Money Concepts (SMC). These methodologies analyze the behavior of institutional traders (known as "smart money") by focusing on liquidity, key price levels, and market timing.
Liquidity refers to areas with high concentrations of pending orders (stops, take-profits, entries) in the market. Large institutions efficiently need to execute their massive orders without causing excessive slippage. To achieve this, they strategically create and exploit liquidity pools by driving the price toward areas where retail traders cluster their positions.
Then, through "liquidity grabs" or "stop hunts,” institutions accumulate or distribute positions at optimal prices . This strategy allows them to fill large orders with minimal market impact, typically clearing out retail traders' positions before the price reverses.
This indicator helps traders apply these principles by merging time-based and price-based analysis tools for better market understanding. By combining high-impact sessions like Kill Zones with pivotal price markers such as Previous Highs and Lows, traders can see where institutional activity intersects with liquidity pools, improving their decision-making.
This powerful combination allows users to monitor market dynamics in real time, helping them spot sentiment shifts and identify crucial turning points more effectively.
💎 FEATURES
Kill Zones
Kill Zones are critical periods of the trading day characterized by heightened institutional activity, resulting in increased liquidity and significant price movements. By recognizing these zones, you can strategically focus your efforts on the most advantageous moments for trading.
The Asian Session , which runs from 5 PM to 1 AM New York time, serves as an essential liquidity provider before the onset of more volatile trading periods. This session is intricately linked to the Smart Money Tool (SMT - See below), as the highs and lows established during this period provide foundational liquidity levels. You can set alerts when these levels are breached , allowing you to stay informed without constant chart monitoring and make timely trading decisions.
Transitioning into the London Kill Zone from 2 to 5 AM New York time marks the beginning of the European session, often associated with increased volatility. Following this, the New York Kill Zone , occurring from 7 to 10 AM , sees significant overlap between the London and New York sessions, where liquidity flows intensify and frequently correlate with notable price reversals. Finally, the London Close from 10 to 12 PM signifies the end of the European session, often ending the day with a retracement in the daily range.
Thanks to the timezone you can select relative to a region, Kill Zones will automatically adapt to time changes throughout the year and between different brokers , ensuring accurate Kill Zone timings without manual adjustments.
Incorporating our advanced Kill Zones indicator into your trading strategy gives you unparalleled insights and enhanced functionality. With integrated alerts for breaches of key levels, you can stay informed and ready to act without the need for constant chart monitoring, allowing you to focus on executing your trading strategies effectively.
We can see on this chart the identified Kill Zones during the trading day on EURUSD , including the Asian Session in gray, which tends to consolidate slightly (creating liquidity), the London Kill Zone in orange, which tends to move fast, often taking Asian quickly, the New York Kill Zone in green, with always a lot of movements, and the London Close in blue, seeming rather to retrace.
The midline indicates the 50% mark of the session, serving as a reference point for potential price reactions. Additionally, the highs and lows established during the Asian Session are linked to the Smart Money Tool (SMT) and can trigger alerts when breached. Here, you could have received an alert when Asian Low (marked AL) and Asian High (marked AH) were swept.
Previous & Open Levels
Previous and Open levels are key elements in ICT methodology, showing important price points from major timeframes (Daily, Weekly, Monthly). These levels (Previous High, Low, Open, and their separators) help traders understand price dynamics and anticipate market shifts.
The Previous levels connect directly to the Smart Money Tool (SMT - See below) as they provide foundational liquidity levels. In ICT methodology, previous are levels where many traders place their Stop Loss, thus creating liquidity. This helps you understand potential market reactions and whether prices will likely continue their trend or reverse.
You’ll be instantly notified whenever the price interacts with any of these Previous levels. This means you can stay informed about critical market movements without the need to monitor your charts constantly.
The indicator also displays Opening prices and includes separators for daily, weekly, and monthly levels, offering a clear market overview.
Open levels can act as simplified indicators of Premium and Discount Zones. To be above the opening price can be considered as the Premium Zone , where the market offers higher prices, typically suitable for selling opportunities. Conversely, to be below this price can be considered as the Discount Zone , where prices are relatively lower, offering potential buying opportunities.
These visual elements help you identify crucial market zones that reflect both past price action and current market dynamics.
Our indicator offers you the exclusive ability to integrate the True Day Range, as described by ICT. Based on institutional logic, this concept defines the trading day starting at 00:00 New York time. You can adapt this flexible feature to match your trading style and analysis needs.
By incorporating our advanced Previous levels indicator into your trading arsenal, you gain powerful insights and enhanced functionality.
The chart above displays key Previous and open levels on EURUSD , including the Month, Week, and Day lines, along with separators for enhanced clarity. All levels are based on the True Day Range Mode. The notes indicate significant price points, highlighting how the price interacts with these important levels, which helps us to understand it…
We can start with the biggest liquidity, the Previous Month. In this example, we can see the PMH, and the price seems to have used this level as a reversal point. The PM levels are indeed significant liquidity zones. We can observe the creation of wicks that interact with this level, signaling a liquidity grab.
Following this, the price drops quickly before rebounding, creating a liquidity range, that will probably be liquidated then… This is why it rises again to form what is now the PDH (Previous Day High), using it as liquidity (inducement) while using the PWH (Previous Week High) as a rebound level. The PWH is indeed a High Resistance (HR) area since there is only a few liquidity at this point thanks to the liquidity grab. The price has no reason to move higher.
Looking ahead, we can forecast that the price may continue its decline, potentially targeting lower liquidity levels. There is likely additional liquidity beneath the current range, particularly near the PDL (Previous Day Low) and PWL (Previous Week Low).
Additionally, we can note that at this point, the price was above the D.O.P (Daily Open) and W.O.P (Weekly Open), areas where selling would be more favorable. The price reacts significantly around these levels, creating large wicks, demonstrating their importance.
SMT Dashboard (Smart Money Tool)
The Smart Money Tool (SMT) is a powerful concept within the ICT methodology that enables you to compare various assets based on liquidity uptake from significant price levels.
By utilizing the SMT, you can analyze any asset , whether it’s a currency pair, stock, cryptocurrency, or other financial instruments. The dashboard helps you identify the strongest and weakest assets by analyzing their interactions with critical liquidity levels and identifying divergences , including those related to the Previous Month, Previous Week, Previous Day, and Asian Session Highs and Lows. By doing so, he identifies the most bullish symbol. It will therefore tend to rise more easily, or at least fall less, than the other one.
The SMT includes alert functionality that notifies you whenever a new SMT is created or has changed , allowing you to stay informed about which asset is currently the strongest. This means you can react promptly to market changes without constantly monitoring your charts.
Additionally, since the SMT relies on the Previous levels, it is influenced by the selected mode, whether based on traditional Previous levels or the True Day Range . This flexibility ensures that you are using the most relevant information available for your trading decisions. Asian High and Asian Low levels are also calculated according to the schedules configured in the Kill Zones section.
In summary, the Smart Money Tool displays the strongest and weakest assets based on liquidity uptake, providing you with clear information on which asset to prioritize, so you can maximize your potential profits. By incorporating this concept into your approach, you align your decisions with prevailing market dynamics, offering you unparalleled insights and features tailored to enhance your trading strategy.
This chart displays the Smart Money Tool (SMT) dashboard on the GBPUSD symbol, which compares the liquidity uptake for EURUSD and GBPUSD pairs. The indicator shows that both Previous Month's and Week's High and Low were taken for both pairs. However, the Asian High (AH) has been breached on GBPUSD but not on EURUSD, while the Asian Low (AL) has been taken by EURUSD. As a result, GBPUSD is identified as the stronger asset, indicating that traders should focus on buying opportunities with GBPUSD rather than EURUSD. This analysis helps traders prioritize the best symbol for their strategies based on the most relevant liquidity divergences.
✨ SETTINGS
Kill Zones: Customize the display options for the Asian (with lines), London, New York, and London Close Kill Zones. Configure timezone options, midlines, and color preferences.
Previous & Open Levels: Adjust how Previous High/Low levels, Open and separators are displayed. Select between Classic or True Day Range Mode based on your trading preferences.
SMT: Choose the correlated assets for the SMT comparison and select which liquidity (Monthly, Weekly, Daily, Asian) to use and display. Configure settings like liquidity sweeps and strongest pair emojis.
Alerts: Configure alerts for key events such as the Asian High/Low or Previous Levels liquidity sweep, and SMT divergences.
🎯 CONCLUSION
The Time and Price Zones indicator offers a practical and insightful approach to market analysis by combining major principles of ICT and Smart Money Concepts into a cohesive tool. It empowers traders to understand key price levels, liquidity dynamics, and institutional activity with ease. By helping traders avoid being the liquidity of the market and instead align with institutional flows, the indicator can significantly enhance performances. While its features provide a valuable edge, it’s essential to remember that none should be used on its own and many more factors go into being a profitable trader.
✅ HOW TO GET ACCESS
Check the Author’s instructions below to get instant access to this indicator & our Premium Tools.
No Wick Setup Indicator
**No Wick Setup Indicator**
This is a custom trading indicator designed to identify and signal potential buy and sell opportunities based on candlestick patterns with no wicks. Specifically, it looks for candles with no wicks at the bottom (bullish setup) or no wicks at the top (bearish setup). Here's how it works:
**Key Features:**
- **Bullish Setup**: A green candlestick with no bottom wick (i.e., the open price is equal to the low price of the candle) is considered a potential bullish signal. A trendline is drawn at the bottom of this candle. When the market price returns to this trendline, a buy signal is generated.
- **Bearish Setup**: A red candlestick with no top wick (i.e., the open price is equal to the high price of the candle) is considered a potential bearish signal. A trendline is drawn at the top of this candle. When the market price returns to this trendline, a sell signal is generated.
- **Timeframe**: This indicator works exclusively on the **30-minute timeframe**.
**How It Works:**
1. When a candlestick pattern with no bottom wick (bullish setup) is identified, a trendline is drawn at the low of the candlestick.
2. When a candlestick pattern with no top wick (bearish setup) is identified, a trendline is drawn at the high of the candlestick.
3. The indicator then tracks the market price and waits for it to return to the respective trendline level.
4. **Buy Signal**: When the market price touches or goes below the bullish trendline, a **Buy** signal is displayed on the chart with an upward arrow.
5. **Sell Signal**: When the market price touches or goes above the bearish trendline, a **Sell** signal is displayed on the chart with a downward arrow.
**Visual Elements:**
- **Trendlines**: Horizontal lines drawn at the bottom (bullish) or top (bearish) of the candlesticks with no wick.
- **Buy/Sell Labels**: Labels indicating "Buy" or "Sell" appear when the market price returns to the trendline.
**Why Use This Indicator?**
- This indicator helps identify specific price levels where the market might reverse or consolidate based on candlestick structure, offering potential entry points for trades.
- It allows traders to focus on price action and market behavior without relying on more complex indicators.
FuTech : Earnings (All 269 Fundamental Metrics of Tradingview)FuTech : Earnings Indicator
The FuTech : Earnings Indicator is a revolutionary tool, offering the most comprehensive integration of all 269 fundamental financial metrics available from the TradingView platform.
This groundbreaking indicator is designed to empower financial researchers, traders, investors, and analysts with an unmatched depth of data, enabling superior analysis and decision-making.
Overview
"FuTech : Earnings Indicator" is the first-ever indicator to provide a holistic comparison of fundamental financial metrics for any stock, covering quarterly, yearly, and trailing twelve months (TTM) periods.
This tool brings together key financial data from income statements, balance sheets, cash flows, and other critical metrics found in company annual reports.
It also incorporates additional unique features like per-employee data, R&D expenses, and capital expenditures (CapEx), which are typically hidden within dense financial statements of Annual Reports.
---
Key Features and Capabilities
1. Comprehensive Financial Metrics
- "FuTech : Earnings Indicator" offers access to all 269 fundamental metrics available on TradingView platform. This includes widely used data such as revenue, profit margins, and EPS, alongside more niche metrics like R&D expenditure, employee efficiency, and financial scores developed by renowned analysts.
- Users can explore income statement data (e.g., net income, gross profit), balance sheet items (e.g., total assets, liabilities), cash flow metrics, and other financial statistics such as Altman Score, per employee expenses etc. in unparalleled detail.
2. Comparison Across Time Periods
- "FuTech : Earnings Indicator" allows users to analyze data for:
- Quarterly periods (e.g., Q1, Q2, Q3, Q4).
- Yearly comparisons for a broad historical view.
- TTM analysis to observe the most recent trends and developments.
- Users can select a minimum of 4 periods up to an unlimited range for detailed comparisons in both quarter.
3. Dynamic Data Display
- Users can select up to 5 key metrics alongside the stock price column to focus their analysis on the most relevant data points.
- Highlighting with green and red symbols offers an intuitive and visual representation:
- Green : Positive trends or improvements.
- Red : Negative trends or deteriorations.
4. Automated Averages
- "FuTech : Earnings Indicator" automatically calculates averages of selected metrics across the chosen periods. This feature helps users quickly identify performance trends and smooth out anomalies, enabling faster and more reliable research.
5. Designed for Research Excellence
- FuTech serves a wide audience, including:
- Corporate finance professionals who need a deep dive into financial metrics.
- Individual investors seeking robust tools for investment analysis.
- Broking companies and equity research analysts performing stock analysis.
- Traders looking to incorporate fundamental metrics into their strategies.
- Technical analysts seeking a better understanding of price behavior in relation to fundamentals.
- Fundamental research aspirants who want an edge in their learning process.
6. Unmatched Detail for Deeper Insights
- By pulling all 269 Financial metrics from the TradingView, "FuTech : Earnings Indicator" enables:
- Cross-comparison of a stock’s performance with its historical benchmarks.
- Evaluation of rare data like R&D expenses, CapEx trends, and employee efficiency ratios for enhanced investment insights.
- This ensures users can study stocks in greater depth than ever before.
7. Enhanced Usability
- Simple to use and visually appealing, "FuTech : Earnings Indicator" is designed with researchers in mind.
- Its intuitive interface ensures even novice users can navigate the wealth of data without feeling overwhelmed.
Applications of FuTech : Earnings Indicator
FuTech : Earnings Indicator is incredibly versatile and has applications in diverse fields of financial research and trading:
1. Corporate Finance
- Professionals in corporate finance can leverage "FuTech : Earnings Indicator" to benchmark company performance, study efficiency ratios, and evaluate financial health across various metrics.
2. Investors and Traders
- Long-term investors can use the tool to study the fundamental strengths of a stock before making buy-and-hold decisions.
- Traders can incorporate "FuTech : Earnings Indicator" into their analysis to align comprehensive fundamental trends with their targeted technical signals.
3. Equity Research Analysts
- Analysts can streamline their workflows by quickly identifying trends, outliers, and averages across large datasets.
4. Education and Research
- "FuTech : Earnings Indicator" is ideal for students and aspiring financial analysts who want a practical tool for understanding real-world data.
How FuTech : Earnings Indicator Stands Out
1. First-Ever Integration of All Financial Metrics
- It's an exclusive tool which offers the ability to explore all 269 financial metrics available on TradingView for a single stock research in-depth for quarters, years or TTM periods.
2. Period Customization
- Users have complete flexibility to select and analyze data across any range of time periods, allowing for customized insights tailored to specific research goals.
3. Data Visualization
- The intuitive use of color-coded symbols (green for positive trends, red for negative) makes complex data easy to interpret at a glance.
4. Actionable Insights
- The automated average calculations provide actionable insights for making informed decisions without manual computations.
5. Unique Metrics
- Metrics such as research and development costs, CapEx, and per-employee efficiency data offer unique angles that aren’t typically available in traditional analysis tools.
Why to Use FuTech : Earnings Indicator ?
1. Boost Your Research Power
- With FuTech, you can unlock a world of data that gives you the edge in analyzing stocks. Whether you’re a seasoned analyst or a beginner, this tool offers something for everyone.
2. Save Time and Effort
- The automated features and intuitive interface eliminate the need for time-consuming manual calculations and formatting.
3. Make Better Decisions
- "FuTech : Earnings Indicator's" detailed comparison capabilities and insightful visual aids allow for more accurate assessments of a stock’s performance and potential.
4. Broad Appeal
- From individual investors to financial institutions, FuTech is a valuable tool for anyone in the world of finance.
---
Conclusion
- The FuTech : Earnings Indicator is a must-have for anyone serious about financial analysis.
- It combines the depth of all 269 fundamental metrics with intuitive tools for comparison, visualization, and calculation.
- Designed for ease of use and powerful insights, FuTech : Earnings Indicator is set to transform the way financial data is analyzed and understood.
Thank you !
Boost, Share, Follow, and Enjoy with FuTech!
Jai Swaminarayan Dasna Das !
He Hari ! Bas Ek Tu Raji Tha !
BuySell%_ImtiazH_v2BuySell%_ImtiazH
This indicator includes two powerful volume metrics to complement your trading analysis:
30-Day Avg Vol (Blue Line): Tracks the average volume over the past 30 days, providing a baseline for typical trading activity.
Breakout Vol (White Line): Highlights the volume threshold needed for a potential breakout, calculated as a user-defined percentage above the 30-day average volume (default: 40%).
In addition to these enhancements, the indicator breaks down total trading volume into buying and selling components and calculates the percentage of buy volume for each bar.
🟥 Red Bars: Represent total volume.
🟩 Teal Bars: Show the buying volume within each candle.
🟨 Buy %: Displays the percentage of buy volume dynamically in the indicator panel, highlighted in yellow for quick visibility.
Use this tool to easily spot accumulation (buying pressure) or distribution (selling pressure) trends, customize breakout thresholds, and identify key breakout opportunities. Simple, clear, and effective for volume-based analysis!
How Are Buy Volume and Sell Volume Calculated?
This indicator uses a proportional approach to estimate buy and sell volumes based on price action:
Buy Volume: The portion of total volume where the price is moving upward, representing trades executed at the ask price.
Formula:
Buy Volume = (close - low) / (high - low) * volume
Sell Volume: The portion of total volume where the price is moving downward, representing trades executed at the bid price.
Formula:
Sell Volume = (high - close) / (high - low) * volume
If the high and low prices are the same (flat bar), both buy and sell volumes are set to 0.
Why This Matters
This calculation assumes the close price’s position within the high-to-low range reflects the balance of buying and selling activity:
Close near the high: Most volume is buy volume.
Close near the low: Most volume is sell volume.
Close in the middle: Volume is split between buying and selling.
By breaking down volume in this way, the indicator helps traders identify key trends like accumulation (buying pressure) and distribution (selling pressure), making it a powerful tool for volume-based analysis.
Heat Map Trend (VIDYA MA) [BigBeluga]The Heat Map Trend (VIDYA MA) - BigBeluga indicator is a multi-timeframe trend detection tool based on the Volumetric Variable Index Dynamic Average (VIDYA). This indicator calculates trends using volume momentum, or volatility if volume data is unavailable, and displays the trends across five customizable timeframes. It features a heat map to visualize trends, color-coded candles based on an average of the five timeframes, and a dashboard that shows the current trend direction for each timeframe. This tool helps traders identify trends while minimizing market noise and is particularly useful in detecting faster market changes in shorter timeframes.
🔵 KEY FEATURES & USAGE
◉ Volumetric Variable Index Dynamic Average (VIDYA):
The core of the indicator is the VIDYA moving average, which adjusts dynamically based on volume momentum. If volume data isn't available, the indicator uses volatility instead to smooth the moving average. This allows traders to assess the trend direction with more accuracy, using either volume or volatility, if volume data is not provided, as the basis for the trend calculation.
// VIDYA CALCULATION -----------------------------------------------------------------------------------------
// ATR (Average True Range) and volume calculation
bool volume_check = ta.cum(volume) <= 0
float atrVal = ta.atr(1)
float volVal = volume_check ? atrVal : volume // Use ATR if volume is not available
// @function: Calculate the VIDYA (Volumetric Variable Index Dynamic Average)
vidya(src, len, cmoLen) =>
float cmoVal = ta.sma(ta.cmo(volVal, cmoLen), 10) // Calculate the CMO and smooth it with an SMA
float absCmo = math.abs(cmoVal) // Absolute value of CMO
float alpha = 2 / (len + 1) // Alpha factor for smoothing
var float vidyaVal = 0.0 // Initialize VIDYA
vidyaVal := alpha * absCmo / 100 * src + (1 - alpha * absCmo / 100) * nz(vidyaVal ) // VIDYA formula
◉ Multi-Timeframe Trend Analysis with Heat Map Visualization:
The indicator calculates VIDYA across five customizable timeframes, allowing traders to analyze trends from multiple perspectives. The resulting trends are displayed as a heat map below the chart, where each timeframe is represented by a gradient color. The color intensity reflects the distance of the moving average (VIDYA) from the price, helping traders to identify trends on different timeframes visually. Shorter timeframes in the heat map are particularly useful for detecting faster market changes, while longer timeframes help to smooth out market noise and highlight the general trend.
Trend Direction:
Heat Map Reading:
◉ Dashboard for Multi-Timeframe Trend Directions:
The built-in dashboard displays the trend direction for each of the five timeframes, showing whether the trend is up or down. This quick overview provides traders with valuable insights into the current market conditions across multiple timeframes, helping them to assess whether the market is aligned or if there are conflicting trends. This allows for more informed decisions, especially during volatile periods.
◉ Color-Coded Candles Based on Multi-Timeframe Averages:
Candles are dynamically colored based on the average of the VIDYA across all five timeframes. When the price is in an uptrend, the candles are colored blue, while in a downtrend, they are colored red. If the VIDYA averages suggest a possible trend shift, the candles are displayed in orange to highlight a potential change in momentum. This color coding simplifies the process of identifying the dominant trend and spotting potential reversals.
BTC:
SP500:
◉ UP and DOWN Signals for Trend Direction Changes:
The indicator provides clear UP and DOWN signals to mark trend direction changes. When the average VIDYA crosses above a certain threshold, an UP signal is plotted, indicating a shift to an uptrend. Conversely, when it crosses below, a DOWN signal is shown, highlighting a transition to a downtrend. These signals help traders to quickly identify shifts in market direction and respond accordingly.
🔵 CUSTOMIZATION
VIDYA Length and Momentum Settings:
Adjust the length of the VIDYA moving average and the period for calculating volume momentum. These settings allow you to fine-tune how sensitive the indicator is to market changes, helping to match it with your preferred trading style.
Timeframe Selection:
Select five different timeframes to analyze trends simultaneously. This gives you the flexibility to focus on short-term trends, long-term trends, or a combination of both depending on your trading strategy.
Candle and Heat Map Color Customization:
Change the colors of the candles and heat map to fit your personal preferences. This customization allows you to align the visuals of the indicator with your overall chart setup, making it easier to analyze market conditions.
🔵 CONCLUSION
The Heat Trend (VIDYA MA) - BigBeluga indicator provides a comprehensive, multi-timeframe view of market trends, using VIDYA moving averages that adapt to volume momentum or volatility. Its heat map visualization, combined with a dashboard of trend directions and color-coded candles, makes it an invaluable tool for traders looking to understand both short-term market fluctuations and longer-term trends. By showing the overall market direction across multiple timeframes, it helps traders avoid market noise and focus on the bigger picture while being alert to faster shifts in shorter timeframes.
VRDisplays the volume ratio of the currently analyzed trading pair compared to the BTC/USD trading pair on Coinbase. It uses the ratio of their respective trading volumes and visualizes the data as a histogram (columns) with different colors based on specific thresholds.
Grey backgrounds on weekends.
Volume Rate of Change (VROC)Volume Rate of Change (VROC) is an indicator that calculates the percentage change in trading volume over a specific period, helping analyze market momentum and activity. It is calculated as:
VROC = ((Current Volume - Past Volume) ÷ Past Volume) × 100
This indicator shows changes in market interest. Positive values indicate increasing volume, while negative values signal a decrease. High VROC values often suggest potential trend reversals or breakouts.
Applications:
Breakout Validation: VROC > 200% confirms strong breakouts; below this may signal false moves.
Market Stagnation: VROC < 0% suggests shrinking volume and range-bound markets.
Trend End Alert: A drop below 0% during trends may indicate weakening momentum.
Adjusting for Timeframes: Tailor VROC to timeframes.
Examples:
Daily: VROC(5) compares with last week's same day; VROC(20) with 1 month ago.
Monthly: VROC(12) compares with the same month last year; VROC(1) with last month.
Intraday: VROC(24) (hourly) and VROC(288) (5 minutes) for the same time yesterday.
Adaptive ATR Trailing Stops█ Introduction
This script is based on the average true range (ATR) and has been improved with the HHV or LLV. The script supports the trader to have his stoploss trailed. In this case, the stoploss is dynamic and can be adjusted with each candleclose.
█ What Does This Indicator Do?
The ATR SL Trailing Indicator helps you dynamically adjust your stop-loss levels based on market movements. It uses market volatility to calculate trailing stop-loss levels, ensuring you can secure profits or minimize losses. The indicator creates two lines:
A green/red line for long positions (when you’re betting on prices going up).
A green/red line for short positions (when you’re betting on prices going down).
█ Key Concepts: How Does the Indicator Work?
The Average True Range (ATR) measures market volatility, showing how much the price moves over a specific period.
A high ATR indicates a volatile market (large price swings), while a low ATR indicates a quiet market (smaller price changes).
Why is ATR important? ATR helps dynamically adjust the distance between your stop-loss and the current price. In volatile markets, the stop-loss is placed further away to avoid being triggered by short-term fluctuations. In quieter markets, the stop-loss is set closer to the price.
The HHV is the highest price over a specific period. For long positions, the indicator uses the highest price minus an ATR-based value to determine the stop-loss level.
Why is HHV important? HHV ensures the stop-loss for long positions only moves up when the price reaches new highs. Once the price starts falling, the stop-loss remains unchanged to lock in profits or minimize losses.
The LLV is the lowest price over a specific period. For short positions, the indicator uses the lowest price plus an ATR-based value to determine the stop-loss level.
Why is LLV important? LLV ensures the stop-loss for short positions only moves down when the price reaches new lows. Once the price starts rising, the stop-loss remains unchanged to lock in profits or minimize losses.
█ How Does the Indicator Work?
For Long Positions:
The indicator sets the stop-loss below the current price, based on:
Market volatility (ATR).
The highest price over a specific period (HHV).
The line turns green when the current price is above the stop-loss.
The line turns red when the price drops below the stop-loss, signaling you may need to exit the trade.
For Short Positions:
The indicator sets the stop-loss above the current price, based on:
*Market volatility (ATR).
*The lowest price over a specific period (LLV).
*The line turns green when the current price is below the stop-loss.
*The line turns red when the price moves above the stop-loss, signaling you may need to exit the trade.
█ Advantages of the ATR SL Trailing Indicator
*Dynamic and adaptive: Automatically adjusts stop-loss levels based on market volatility.
*Visual clarity: Green and red lines clearly indicate whether your position is safe or at risk.
*Effective risk management: Helps you lock in profits and minimize losses without the need for constant manual adjustments.
█ When Should You Use This Indicator?
*If you practice trend-based trading and want your stop-losses to automatically adapt to market movements.
*In volatile markets, to avoid being stopped out by short-term fluctuations.
*When you want to implement efficient risk management without manually adjusting your positions.
█ Inputs
The user can set the indicator for both longs and shorts. This is particularly important because the calculation is different. The HHV is used for longs and the LLV for shorts. The user can therefore set the period/length for the ATR on the one hand and the HHV/LLV on the other. He also has a multiplier, which can also be customized. The multiplier multiplies the price change of each individual candle.
█ Color Change
If the SL is trailed and the price breaks a line, the color changes. In this case, it would have executed the SL on an open trade.
Candlestick DataCandlestick Data Indicator
The Candlestick Data indicator provides a comprehensive overview of key metrics for analyzing price action and volume in real-time. This overlay indicator displays essential candlestick data and calculations directly on your chart, offering an all-in-one toolkit for traders seeking in-depth insights.
Key Features:
Price Metrics: View the daily high, low, close, and percentage change.
Volume Insights: Analyze volume, relative volume, and volume buzz for breakout or consolidation signals.
Range Analysis: Includes closing range, distance from low of day (LoD), and percentage change in daily range expansion.
Advanced Metrics: Calculate ADR% (Average Daily Range %), ATR (Average True Range), and % from 52-week high.
Moving Averages: Supports up to four customizable moving averages (EMA or SMA) with distance from price.
Market Context: Displays the sector and industry group for the asset.
This indicator is fully customizable, allowing you to toggle on or off specific metrics to suit your trading style. Designed for active traders, it brings critical data to your fingertips, streamlining decision-making and enhancing analysis.
Perfect for momentum, swing, and day traders looking to gain a data-driven edge!
Monest Value Indicator (MVI)
Description
The Monest Value Indicator (MVI) is a modern oscillator designed to address common issues in traditional oscillators like RSI or MACD. Unlike classical oscillators, the MVI dynamically adjusts to relative price movements and market volatility, providing a transparent and reliable valuation for short-term trading decisions.
This indicator normalizes price data around a consensus line and accounts for market volatility using the Average True Range (ATR). It highlights overbought and oversold conditions, offering a unique perspective for traders.
Key Features
Dynamic Overbought/Oversold Levels : Highlights significant price extremes for better entry and exit signals. Volatility Normalization : Adapts to market conditions, ensuring consistent readings across various assets. Consensus-Based Valuation : Uses a moving average of the midrange price for baseline calculations. No Lag or Stickiness : Reacts promptly to price movements without getting stuck in extreme zones.
How It Works
Consensus Line :
Calculated as a 5-day moving average of the midrange:
Consensus = SMA((High + Low) / 2, 5) .
Offset OHLC Data :
All prices are adjusted relative to the consensus line:
Offset Price = Price - Consensus .
Volatility Normalization :
Adjusted prices are normalized using a 5-day ATR divided by 5:
Normalized Price = Offset Price / (ATR / 5) .
MVI Calculation :
The normalized closing price is plotted as the MVI.
Overbought/Oversold Levels :
Default levels are set at +8 (overbought) and -8 (oversold).
How to Use
Identifying Overbought/Oversold Conditions :
When the MVI crosses above +8 , the asset is overbought, signaling a potential reversal or pullback.
When the MVI drops below -8 , the asset is oversold, indicating a potential bounce or upward move.
Trend Confirmation :
Use the MVI to confirm trends by observing sustained movements above or below zero.
Combine with other trend indicators (e.g., Moving Averages) for robust analysis.
Alerts :
Set alerts for when the MVI crosses overbought or oversold levels to stay informed about potential trading opportunities.
Inputs
ATR Length : Default is 5. Adjust to modify the sensitivity of volatility normalization. Consensus Length : Default is 5. Change to tweak the baseline calculation.
Example
Overbought Signal : MVI exceeds +8 , indicating the asset may reverse from an overvalued position. Oversold Signal : MVI drops below -8 , suggesting the asset may recover from an undervalued state. Flat Market : MVI hovers near zero, indicating price consolidation.