Parabolic (Brachistochrone) Curve IndicatorOverview of the Script
The script is designed to plot an approximation of the Brachistochrone curve between two points on a TradingView chart. The Brachistochrone curve represents the path of fastest descent under gravity between two points not aligned vertically. In physics, this curve is a segment of a cycloid.
Understanding the Brachistochrone Curve
Definition: The Brachistochrone curve is the curve along which a particle will descend from one point to another in the least time under gravity, without friction.
Mathematical Representation: The solution to the Brachistochrone problem is a cycloid, which is the curve traced by a point on the rim of a circular wheel as it rolls along a straight line.
Relevance to Trading: While the Brachistochrone curve originates from physics, plotting it on a price-time chart can offer a unique visual representation of the fastest possible movement between two price levels.
How the Script Works
Inputs
Start and End Bars:
startBar: The number of bars back from the current bar to define the starting point.
endBar: The number of bars back from the current bar to define the ending point.
Curve Customization:
numPoints: The number of points used to plot the curve (affects smoothness).
curveColor: The color of the curve.
curveWidth: The width of the curve lines.
Labels:
showTimeLabels: A toggle to display labels along the curve for reference.
Calculations
Determine Start and End Points:
The script calculates the coordinates (x_start, y_start, x_end, y_end) of the start and end points based on the specified bar offsets.
x_start and x_end correspond to bar indices (time).
y_start and y_end correspond to price levels.
Calculate Differences and Parameters:
Horizontal and Vertical Differences:
delta_x = x_end - x_start
delta_y = y_end - y_start
Ensure Descending Motion:
If the end point is higher than the start point (i.e., delta_y is positive), the script swaps the start and end points to ensure the curve represents a descent.
Cycloid Parameters:
Angle (theta): Calculated using theta = atan(delta_y / delta_x), representing the inclination of the curve.
Radius (R): The radius of the generating circle for the cycloid, calculated with R = delta_x / (π * cos(theta)).
Generate Points Along the Cycloid:
Parameter t: Varies from 0 to t_end, where t_end is set to π to represent half a cycloid (a common segment for the Brachistochrone).
Cycloid Equations:
Horizontal Component (x_t): x_t = R * (t - sin(t))
Vertical Component (y_t): y_t = R * (1 - cos(t))
Adjust Coordinates:
The script adjusts the cycloid coordinates to align with the chart's axes:
x_plot = x_start + x_t * cos(theta)
y_plot = y_start + y_t * sin(theta)
The x_plot values are converted to integer bar indices to match the chart's x-axis.
Plotting the Curve
Drawing Lines:
The script connects consecutive points using lines to form the curve.
It uses the line.new function, specifying the start and end coordinates of each line segment.
Adding Labels (Optional):
If showTimeLabels is enabled, the script places labels at intervals along the curve to indicate progress or parameter values.
Adjustments for Accurate Visualization
Handling Ascending Paths:
To adhere to the physical definition of the Brachistochrone curve, the script ensures that the ending point is below the starting point in terms of price.
If not, it swaps the points to represent a descending path.
Parameter Constraints:
The script ensures that calculations involving trigonometric functions remain within valid ranges to prevent mathematical errors (e.g., division by zero or invalid arguments for acos).
Scaling Considerations:
Adjustments are made to account for the differences in scaling between time (x-axis) and price (y-axis) on the chart.
The script maps spatial coordinates to the chart's axes appropriately.
Limitations and Considerations
Theoretical Nature:
The Brachistochrone curve is a theoretical concept from physics and doesn't necessarily predict actual price movements in financial markets.
Chart Scaling:
The visual appearance of the curve may be affected by the chart's scaling settings. Users may need to adjust the chart's zoom or scale to view the curve properly.
Data Range:
The start and end bars must be within the range of available data on the chart. If the specified bars are out of range, the script may not plot the curve.
Computational Limits:
TradingView imposes limits on the number of drawing objects (lines, labels) that can be displayed. The script accounts for this, but extremely high numPoints values may lead to performance issues.
Usage Instructions
Adding the Indicator:
The script is added to the chart as a custom indicator in TradingView's Pine Script Editor.
Configuring Inputs:
Start and End Bars: Users specify the bar offsets for the start and end points. It's important that the end point is below the start point in price to represent a descent.
Curve Customization: Users can adjust the number of points for smoothness and customize the curve's color and width.
Labels: Users can choose to display or hide labels along the curve.
Observing the Curve:
After configuring the inputs, the curve will be plotted between the two specified points.
Users can observe the curve to understand the theoretical fastest descent between the two price levels.
Potential Applications
Educational Tool:
The script serves as a visual aid to understand the properties of the Brachistochrone curve and cycloid.
Analytical Insights:
While not predictive, the curve might inspire new ways of thinking about price movements, momentum, or acceleration in markets.
Visualization:
It provides a unique way to visualize the relationship between time and price over a specific interval.
Conclusion
The script effectively adapts the mathematical concept of the Brachistochrone curve to a financial chart by carefully mapping spatial coordinates to time and price axes. By accounting for the unique characteristics of TradingView charts and implementing necessary mathematical adjustments, the script plots the curve between two user-defined points, offering a novel and educational visualization.
Cerca negli script per "Cycle"
(MA-EWMA) with ChannelsHamming Windowed Volume-Weighted Bidirectional Momentum-Adaptive Exponential Weighted Moving Average
This script is an advanced financial indicator that calculates a Hamming Windowed Volume-Weighted Bidirectional Momentum-Adaptive Exponential Weighted Moving Average (MA-EWMA). It adapts dynamically to market conditions, adjusting key parameters like lookback period, momentum length, and volatility sensitivity based on price volatility.
Key Components:
Dynamic Adjustments: The indicator adjusts its lookback and momentum length using the ATR (Average True Range), making it more responsive to volatile markets.
Volume Weighting: It incorporates volume data, weighting the moving average based on the volume activity, adding further sensitivity to price movement.
Bidirectional Momentum: It calculates upward and downward momentum separately, using these values to determine the directional weighting of the moving average.
Hamming Window: This technique smooths the price data by applying a Hamming window, which helps to reduce noise in the data and enhances the accuracy of the moving average.
Channels: Instead of plotting a single line, the script creates dynamic channels, providing more context for support and resistance levels based on the market's behavior.
The result is a highly adaptive and sophisticated moving average indicator that responds dynamically to both price momentum and volume trends.
Optimized WaveletsThe script, High-Resolution Volume-Price Pressure Indicator with Wavelets, utilizes wavelet transforms and high-resolution data to analyze market pressure based on volume and price dynamics. The approach combines volume data from smaller timeframes (1 second) with non-linear transformation techniques to generate a refined view of market conditions. Here’s a detailed breakdown of how it works:
Key Components:
Wavelet Transform:
A wavelet function is applied to the price and volume data to capture patterns over a set time period. This technique helps identify underlying structures in the data that might be missed with traditional moving averages.
High-Resolution Data:
The indicator fetches 1-second high-resolution data for price movements and volume. This allows the strategy to capture granular price and volume changes, crucial for short-term trading decisions.
Normalized Difference:
The script calculates the normalized difference in price and volume data. By comparing changes over the selected length, it standardizes these movements to help detect sudden shifts in market pressure.
Sigmoid Transformation:
After combining the price and volume wavelet data, a sigmoid function is applied to smooth out the resulting values. This non-linear transformation helps highlight significant moves while filtering out minor fluctuations.
Volume-Price Pressure:
The up and down volume differences, together with price movements, are combined to create a "Volume-Price Pressure Score." The final indicator reflects the pressure exerted on the market by both buyers and sellers.
Indicator Plot:
The final transformed score is plotted, showing how price and volume dynamics, combined through wavelet transformation, interact. The indicator can be used to identify potential market turning points or pressure buildups based on volume and price movement patterns.
This approach is well-suited for traders looking for advanced signal detection based on high-frequency data and can provide insight into areas where typical indicators may lag or overlook short-term volatility.
Fractal & Entropy Market Dynamics with Mexican Hat WaveletThis indicator combines fractal analysis, entropy, and wavelet theory to model market dynamics using a customized approach. It integrates advanced mathematical techniques to assess the complexity and structure of price action, while also incorporating volume and price volatility.
Key Concepts and Features:
Volume-Weighted Price:
The script calculates a volume-adjusted price using a moving average of volume to give more weight to periods with higher volume. This allows the indicator to account for the impact of trading volume on price movements, enhancing its sensitivity to significant price shifts.
Mexican Hat Wavelet Approximation:
The script employs the Mexican Hat Wavelet, a mathematical tool that approximates price movements based on the Laplacian of the price series. This helps capture localized oscillations in price, acting as a filter to highlight certain price dynamics over the specified length. This wavelet is commonly used to identify key inflection points and trends in financial data.
Fractal Dimension Calculation:
The fractal dimension is calculated to quantify the market's complexity. It measures how price moves between intervals, with higher values indicating chaotic or more volatile market behavior. This dimension captures the self-similarity in price movements across different time frames, a key feature of fractals.
Shannon Entropy Calculation:
Shannon Entropy is used to measure the randomness or uncertainty in the price action. It calculates the degree of unpredictability based on the price changes, providing insight into the market's informational efficiency. Higher entropy indicates more randomness, while lower entropy suggests more predictable trends.
Custom Normalization:
The script includes a custom normalization function that processes the composite score (derived from fractal dimension and entropy). This normalization helps scale the values into a consistent range, making it easier to interpret the output. The smoothing factor and RSI-based approach ensure that the normalized value reacts smoothly to the changes in market dynamics.
Composite Score:
The composite score is a weighted combination of the fractal dimension and entropy. This score aims to provide a holistic view of the market by combining the structural complexity (fractal) and randomness (entropy) into one unified metric.
Plotting and Visuals:
The indicator plots the normalized composite score on a scale where a baseline of 50 is provided for reference. The resulting plot helps traders visualize market dynamics, with the score fluctuating based on changes in the market's fractal dimension and entropy. A score above or below the baseline of 50 indicates potential market shifts.
Use Case:
The "Enhanced Fractal and Entropy Market Dynamics with Mexican Hat Wavelet" is useful for traders looking to identify market conditions where there is a balance between price structure and randomness. By integrating wavelets, fractals, and entropy, the indicator can provide insights into market complexity, helping traders recognize potential trend reversals, periods of consolidation, or increased volatility. This can be particularly effective for those employing swing trading or trend-following strategies
Profitable Mondays & Losing FridaysHere's a Pine Script that marks profitable Mondays and losing Fridays for a given stock:
Explanation
Input Parameter: The script allows you to input the stock symbol, defaulting to SPX.
Daily Returns: It calculates the daily return based on the closing price.
Day Identification: It checks if the current day is Monday or Friday.
Conditions:
Profitable Mondays: Marks with a green background if Monday's return is positive.
Losing Fridays: Marks with a red background if Friday's return is negative.
Visualization: Uses bgcolor to highlight the respective days on the chart.
You can adjust the stockSymbol input to analyze different stocks.
NYSE, Euronext, and Shanghai Stock Exchange Hours IndicatorNYSE, Euronext, and Shanghai Stock Exchange Hours Indicator
This script is designed to enhance your trading experience by visually marking the opening and closing hours of major global stock exchanges: the New York Stock Exchange (NYSE), Euronext, and Shanghai Stock Exchange. By adding vertical lines and background fills during trading sessions, it helps traders quickly identify these critical periods, potentially informing better trading decisions.
Features of This Indicator:
NYSE, Euronext, and Shanghai Stock Exchange Hours: Displays vertical lines at market open and close times for these three exchanges. You can easily switch between showing or hiding the different exchanges to customize the indicator for your needs.
Background Fill: Highlights the trading hours of these exchanges using faint background colors, making it easy to spot when markets are in session. This feature is crucial for timing trades around overlapping trading hours and volume peaks.
Customizable Visuals: Adjust the color, line style (solid, dotted, dashed), and line width to match your preferences, making the indicator both functional and visually aligned with your chart's aesthetics.
How to Use the Indicator:
Add the Indicator to Your Chart: Add the script to your chart from the TradingView script library. Once added, the indicator will automatically plot vertical lines at the opening and closing times of the NYSE, Euronext, and Shanghai Stock Exchange.
Customize Display Settings: Choose which exchanges to display by enabling or disabling the NYSE, Euronext, or Shanghai sessions in the indicator settings. This allows you to focus only on the exchanges that are relevant to your trading strategy.
Adjust Visual Properties: Customize the appearance of the vertical lines and background fill through the settings. Modify the color of each exchange, adjust the line style (solid, dotted, dashed), and control the line thickness to suit your chart preferences. The background fill can also be customized to clearly highlight active trading sessions.
Identify Key Market Hours: Use the vertical lines and background fills to identify the market open and close times. This is particularly useful for understanding how price action changes during specific trading hours or for finding high liquidity periods when multiple markets are open simultaneously.
Adapt Trading Strategies: By knowing when major stock exchanges are open, you can adapt your trading strategy to take advantage of potential price movements, increased volatility, or volume. This can help you avoid low-liquidity times and capitalize on more active trading periods.
This indicator is especially valuable for traders focusing on cross-market dynamics or those interested in understanding how different sessions influence market liquidity and price action. With this tool, you can gain insight into market conditions and adapt your trading strategies accordingly. The clean visual separation of session times helps you maintain context, whether you're trading Forex, stocks, or cryptocurrencies.
Disclaimer: This script is intended for informational and educational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. Always conduct your own research and consult with a licensed financial advisor before making any trading decisions. Trading involves risk, and past performance is not indicative of future results.
Prometheus Fractal-Based TrendThe Fractal-Based Trend indicator is a tool that uses fractals to try and detect which direction an underlying will continue to go.
Calculation:
A bullish fractal occurs when the current bar's high is lower than the previous bar high, and the previous bar's high is higher than both the high from two bars ago and the high from three bars ago.
A bearish fractal happens when the current bar's low is higher than the previous bar's low, and the previous bar's low is lower than both the low from two bars ago and the low from three bars ago.
When a bullish or bearish fractal forms, the corresponding value stored is the previous bar high for a bearish fractal or the previous bar's low for a bullish fractal.
The trade scenarios are when these fractals occur, a green or red label being plotted on the chart for whatever direction it predicts.
Trade examples:
We see on this daily chart of AMEX:SPY that the fractals represent the potential for a directional trade that can last a few days. The more volatile a chart is the more of these fractals we can see.
We see on this 5 minute chart for NASDAQ:TSLA there is way more activity, there are more sporadic candles on a lower time frame, so we can see more anomalies in the price action.
We see this to be true for BITSTAMP:BTCUSD even on a daily time frame, since it is very volatile. There are a lot of these labels plotted.
This is the perspective we aim to provide. We encourage traders to not follow indicators blindly. No indicator is 100% accurate. This one can give you a different perspective of price strength with volatility. We encourage any comments about desired updates or criticism!
Market Phases [OmegaTools]The Market Phases indicator utilizes the Detrended Price Oscillator (DPO) to assess various asset classes, bonds, or stock sectors across different market phases. It offers users the ability to monitor and compare trends in multiple markets through a normalized DPO approach, providing insights into relative overbought or oversold conditions. The indicator supports three distinct modes: "Asset Classes," "Bonds," and "Stock Sectors," allowing flexibility in market analysis based on user preference.
Key Features:
Detrended Price Oscillator (DPO) Calculation: The DPO is computed to remove longer-term trends and focus on shorter-term cyclical behavior. The indicator applies normalization using linear interpolation to smooth out the values for better comparison across different markets.
Three Analysis Modes:
Asset Classes: Compares the DPO for major asset classes, including stocks (S&P 500), bonds (US 10-Year), commodities (Gold), and the US Dollar Index (DXY).
Bonds: Analyzes the DPO across various bond categories such as investment-grade bonds (LQD), high-yield bonds (HYG), emerging market bonds (EMB), and corporate bonds.
Stock Sectors: Provides insight into key stock sectors, including Technology (XLK), Utilities (XLU), Financials (XLF), and Healthcare (XLV).
Real-Time Plotting:
The indicator plots the DPO values of the selected assets, bonds, or sectors on the chart. It provides a visual representation of the market phases, helping to identify potential market reversals or trends. Each plot is color-coded for clarity:
Blue: Asset/Sector 1
Red: Asset/Sector 2
Green: Asset/Sector 3
Orange: Asset/Sector 4
Table Display:
A dynamic table is displayed on the chart, showing the DPO values for the selected mode's assets or sectors. This allows quick comparison and evaluation of market trends.
Inputs:
DPO Length: Defines the lookback period for DPO calculation, adjustable between 10 and 500.
Normalization Length: Sets the length for normalizing the DPO values, with options ranging from 100 to 2000.
Mode: Choose between "Asset Classes," "Bonds," or "Stock Sectors" for tailored market analysis.
This tool is perfect for traders seeking to identify cyclical market phases, compare different asset classes, or monitor sector rotation dynamics. Use it to align your trading strategies with broader market trends and uncover potential trading opportunities across multiple markets.
Ultimate Fibonacci Trading Tool [CHE]Ultimate Fibonacci Trading Tool – Your Key to More Precise Trading Decisions!
Description:
Discover the Ultimate Fibonacci Trading Tool , a powerful instrument designed to revolutionize your technical analysis. This tool is crafted to assist traders of all experience levels in better understanding market movements and making informed decisions. By utilizing a higher reference period from the past, it provides you with a clear advantage in identifying critical support and resistance levels.
🌟 Key Features in Detail:
1. Automatic Timeframe Selection:
- Auto Timeframe: The tool automatically detects the optimal higher reference period based on your current chart, providing more precise analysis without additional effort.
- Multiplier Mode: Define the higher timeframe using a multiplier. By default set to 5, this can be adjusted to suit your individual needs.
- Manual Selection: For maximum control, you can manually select the desired timeframe.
2. Customizable Fibonacci Levels:
- Enable/Disable Levels: Toggle specific Fibonacci levels (e.g., 0.236, 0.382, 0.5, 0.618, etc.) on or off to personalize your analysis.
- User-Defined Values: Input custom numerical values for each level to support specialized Fibonacci calculations.
- Color Customization: Choose individual colors for each level to keep your charts clear and visually appealing.
3. Automatic Trend Detection:
- The tool automatically identifies whether the market is in a bullish or bearish trend and adjusts the Fibonacci calculations accordingly, ensuring you always have the most relevant information at hand.
4. Period Separators with Start and Stop Labels:
- Customizable Separator Lines: Visualize the beginning of new time periods with lines that you can customize in style, color, and width.
- Start/Stop Labels: Clear markers help you instantly recognize critical time points and potential trend changes.
5. Flexible Label Management:
- Display Styles: Decide how Fibonacci levels are presented—percentage, price level, or both—so you get the information most important to you.
- Size Adjustment: Modify the size of the labels to optimize readability on your chart.
- Positioning: Place labels where they make the most sense for your analysis.
6. Informative Time Period Display:
- Customizable Info Box: Keep track of the reference period used with a customizable information box displayed directly on your chart.
- Layout Options: Determine the size, position, background, and text colors for seamless integration into your chart environment.
🔧 Detailed Settings Options:
- Timeframe Selection:
- Timeframe Type: Choose between "Auto Timeframe," "Multiplier," or "Manual" to control how the reference period is calculated.
- Multiplier: Set the multiplier when using the "Multiplier" mode; this value determines how many units of the current timeframe are used as the reference.
- Manual Resolution: If "Manual" is selected, you can input the exact timeframe (e.g., "60," "1D," "1W").
- Fibonacci Level Settings:
- Enabling Individual Levels: Toggle each Fibonacci level on or off according to your preference.
- Adjusting Level Values: Enter custom numerical values for each level to perform specialized calculations.
- Color Selection: Choose a unique color for each level to ensure clear differentiation.
- Period Separator Settings:
- Separator Color: Define the color of the separator lines to make them distinctly visible.
- Separator Style: Choose between "Solid," "Dashed," or "Dotted" to adjust the style of the separator lines.
- Separator Width: Set the width of the separator lines to match your chart aesthetics.
- Label Management:
- Label Style: Select how labels are displayed:
- Default: Shows both percentage and price.
- None: No labels are displayed.
- Percentage: Shows only the Fibonacci level percentage.
- Price: Shows only the price at the Fibonacci level.
- Label Size: Adjust the size of the labels (tiny, small, normal, large, huge) for optimal readability.
- Time Period Display:
- Show Time Period: Enable or disable the information box displaying the reference period.
- Size: Choose the size of the information box (tiny, small, normal, large, huge, auto).
- Positioning: Set the vertical (top, middle, bottom) and horizontal (left, center, right) position of the box.
- Color Customization: Select the background and text color of the information box to integrate it into your chart design.
📈 Why Is the Higher Reference Period Important?
The Ultimate Fibonacci Trading Tool leverages a higher reference period from the past to calculate Fibonacci levels. This approach offers several advantages:
- Deeper Market Analysis: By considering longer timeframes, you can uncover major market movements and trends that might be hidden in shorter periods.
- More Accurate Support and Resistance Levels: Higher timeframes provide more robust Fibonacci levels that are observed by many market participants.
- Better Decision-Making Foundation: With a comprehensive view of the market, you can make more informed trading decisions and minimize potential risks.
🎯 How This Tool Enhances Your Trading Strategy:
- Increased Efficiency: Automate complex calculations and save valuable time.
- Personalized Analysis: Adapt the tool to your individual needs and strategies.
- Enhanced Precision: Utilize precise Fibonacci levels to better determine entry and exit points.
- Improved Market Insight: Gain deeper understanding of market trends and structures by using higher timeframes.
🚀 Get Started Now!
Don't miss the opportunity to revolutionize your chart analysis. Integrate the Ultimate Fibonacci Trading Tool into your trading routine and benefit from more precise analyses and improved trading decisions.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Best regards
Chervolino
Financial Crisis Predictor - Doomsday ClockThe **Financial Crisis Predictor - Doomsday Clock** is a composite indicator that evaluates multiple market conditions to determine financial risk levels. It combines four key metrics: market volatility (via VIX), yield curve spread, stock market momentum, and credit risk (via high-yield spread). Each metric contributes to a weighted "risk score," scaled between 0 and 100, which helps gauge the probability of a financial crisis. Here's a breakdown of how it works:
### 1. **Market Volatility (VIX)**
- **How it's measured:**
- Uses the VIX index, which represents expected market volatility.
- Applies two exponential moving averages (EMAs) to smooth out the data—one fast and one slow.
- Triggers a signal if the fast EMA crosses above the slow EMA and VIX exceeds a defined threshold (default is 30).
- **Weighting:**
- Contributes up to 35% of the total risk score when active.
### 2. **Yield Curve Spread**
- **How it's measured:**
- Takes the difference between the yields of 10-year and 2-year U.S. Treasury bonds (inversion indicates recession risk).
- If the spread drops below a certain threshold (default is 0.2), it signals a potential recession.
- **Weighting:**
- Contributes up to 25% of the risk score.
### 3. **Stock Market Momentum**
- **How it's measured:**
- Analyzes the S&P 500 (SPY) using a 20-day EMA for price momentum.
- Checks for a cross under the 20-day EMA and if the 5-day rate of change (ROC) is less than -2.
- This combination signals bearish market momentum.
- **Weighting:**
- Contributes up to 20% of the risk score.
### 4. **Credit Risk (High Yield Spread)**
- **How it's measured:**
- Assesses high-yield corporate bond spreads using EMAs, similar to the VIX logic.
- A crossover of the fast EMA above the slow EMA combined with spreads exceeding a defined threshold (default is 5.0) indicates increased credit risk.
- **Weighting:**
- Contributes up to 20% of the total risk score.
### 5. **Risk Score Calculation**
- The final **risk score** ranges from 0 to 100 and is calculated using the weighted sum of the four indicators.
- The score is smoothed to minimize false signals and maintain stability.
### 6. **Risk Zones**
- **Extreme Risk:** If the risk score is ≥ 75, indicating a severe crisis warning.
- **High Risk:** If the risk score is between 15 and 75, signaling heightened risk.
- **Moderate Risk:** If the risk score is between 10 and 15, representing potential concerns.
- **Low Risk:** If the risk score is < 10, suggesting stable conditions.
### 7. **Visual & Alerts**
- The indicator plots the risk score on a chart with color-coded backgrounds to indicate risk levels: green (low), yellow (moderate), orange (high), and red (extreme).
- Alert conditions are set for each risk zone, notifying users when the risk level transitions into a higher zone.
This indicator aims to quickly detect potential financial crises by aggregating signals from key market factors, making it a versatile tool for traders, analysts, and risk managers.
NY Open Time Indicator (London Time)The NY Open Time Indicator is designed for traders who want to mark the opening time of the New York Stock Exchange (NYSE) on their charts, specifically for assets traded during the London session. This indicator plots a vertical line at 2:30 PM London time (UTC+1), representing the moment the NYSE opens for trading.
Features:
Time Zone Adjustment: Automatically adjusts to reflect the NY opening time based on London time, accounting for daylight saving changes.
Visual Cue: The vertical line serves as a clear visual marker, helping traders identify potential market movements and volatility around the NY open.
Customizable Appearance: The color and width of the vertical line can be adjusted in the script to fit individual preferences and chart styles.
Simplicity: Easy to implement and understand, making it suitable for both novice and experienced traders.
Use Cases:
Day Trading: Use this indicator to pinpoint significant market entry and exit points around the NY open, which is often a time of increased activity and volatility.
Market Analysis: Combine this indicator with other technical analysis tools to assess potential price movements and trends as the market opens.
Installation: Add this indicator to your TradingView chart and customize it to suit your trading strategy. (Public Code)
Volatility %This indicator compares the average range of candles over a long period with the average range of a short period (which can be defined according to whether the strategy is more long-term or short-term), thus allowing the measurement of the asset's volatility or the strength of the movement. It was also created to be used on the 1D time frame with Swing Trading.
This indicator does not aim to predict the direction or strength of the next movement, but seeks to indicate whether the asset's value is moving more or less than the average. Based on the principle of alternation, after a large movement, there will likely be a short movement, and after a short movement, there will likely be a long one. Therefore, phases with less movement can be a good time to position oneself, and if volatility starts to decrease and the target has not been reached, closing the position can be considered.
This indicator also comes with three bands of percentage volatility averages altered by a multiplier, allowing for a dynamic reading of how volatile the market is. These should be adapted according to the asset.
This indicator is not meant to be used alone but as an auxiliary indicator.
Adjusted CoT IndexAdjusted COT Index
Improves upon: "COT Index Commercials vs large and small Speculators" by SystematicFutures
How: CoT Indexes are adjusted by Open Interest to normalise data over time, and threshold background colours are in-line with Larry Williams recommendations from his book.
Note: This indicator is **only** accurate on the Daily time-frame due to the mid-week release date for CoT data.
This script calculates and plots the Adjusted Commitment of Traders (COT) Index for Commercial, Large Speculator, and Retail (Small Speculator) categories.
The CoT Index is adjusted by Open Interest to normalise data through time, following the methodology of Larry Williams, providing insights into how these groups are positioned in the market with an arguably more historically accurate context.
COT Categories
-------------------
- Commercials (Producers/Hedgers): Large entities hedging against price changes in the underlying asset.
- Large Speculators (Non-commercials): Professional traders and funds speculating on price movements.
- Retail Traders (Nonreportable/Small Speculators): Small individual traders, typically less informed.
Features
----------
- Open Interest Adjustment
- The net positions for each category are normalized by Open Interest to account
for varying contract sizes.
- Customisable Look-back Period
- You can adjust the number of weeks for the index calculation to control the
historical range used for comparison.
- Thresholds for Extremes
- Upper and lower thresholds (configurable) are provided to mark overbought and
oversold conditions.
- Defaults
- Overbought: <=20
- Oversold: >= 80
- Hide Current Week Option
- Optionally hide the current week's data until market close for more accurate comparison.
- Visual Aids
- Plot the Commercials, Large Speculators, and Retail indexes, and optionally highlight extreme positioning.
Inputs
--------
- weeks
- Number of weeks for historical range comparison.
- upperExtreme and lowerExtreme
- Thresholds to identify overbought/oversold conditions (default 80/20).
- hideCurrentWeek
- Option to hide current week's data until market close.
- markExtremes
- Highlight extremes where any index crosses the upper or lower thresholds.
- Options to display or hide indexes for Commercials, Large Speculators, and Small Speculators.
Outputs
----------
- The script plots the COT Index for each of the three categories and highlights periods of extreme positioning with customisable thresholds.
Usage
-------
- This tool is useful for traders who want to track the positioning of different market participants over time.
- By identifying the extreme positions of Commercials, Large Speculators, and Retail traders, it can give insights into market sentiment and potential reversals.
- Reversals of trend can be confirmed with RSI Divergence (daily), for example
- Continuation can be confirmed with RSI overbought/oversold conditions (daily), and/or hidden RSI Hidden Divergence, for example
Sine-Weighted MA ATR [InvestorUnknown]The Sine-Weighted MA ATR is a technical analysis tool designed to emphasize recent price data using sine-weighted calculations , making it particularly well-suited for analyzing cyclical markets with repetitive patterns . The indicator combines the Sine-Weighted Moving Average (SWMA) and a Sine-Weighted Average True Range (SWATR) to enhance price trend detection and volatility analysis.
Sine-Weighted Moving Average (SWMA):
Unlike traditional moving averages that apply uniform or exponentially decaying weights, the SWMA applies Sine weights to the price data.
Emphasis on central data points: The Sine function assigns more weight to the middle of the lookback period, giving less importance to the beginning and end points. This helps capture the main trend more effectively while reducing noise from recent volatility or older data.
// Function to calculate the Sine-Weighted Moving Average
f_Sine_Weighted_MA(series float src, simple int length) =>
var float sine_weights = array.new_float(0)
array.clear(sine_weights) // Clear the array before recalculating weights
for i = 0 to length - 1
weight = math.sin((math.pi * (i + 1)) / length)
array.push(sine_weights, weight)
// Normalize the weights
sum_weights = array.sum(sine_weights)
for i = 0 to length - 1
norm_weight = array.get(sine_weights, i) / sum_weights
array.set(sine_weights, i, norm_weight)
// Calculate Sine-Weighted Moving Average
swma = 0.0
if bar_index >= length
for i = 0 to length - 1
swma := swma + array.get(sine_weights, i) * close
swma
Sine-Weighted ATR:
This is a variation of the Average True Range (ATR), which measures market volatility. Like the SWMA, the ATR is smoothed using Sine-based weighting, where central values are more heavily considered compared to the extremities. This improves sensitivity to changes in volatility while maintaining stability in highly volatile markets.
// Function to calculate the Sine-Weighted ATR
f_Sine_Weighted_ATR(simple int length) =>
var float sine_weights_atr = array.new_float(0)
array.clear(sine_weights_atr)
for i = 0 to length - 1
weight = math.sin((math.pi * (i + 1)) / length)
array.push(sine_weights_atr, weight)
// Normalize the weights
sum_weights_atr = array.sum(sine_weights_atr)
for i = 0 to length - 1
norm_weight_atr = array.get(sine_weights_atr, i) / sum_weights_atr
array.set(sine_weights_atr, i, norm_weight_atr)
// Calculate Sine-Weighted ATR using true ranges
swatr = 0.0
tr = ta.tr(true) // True Range
if bar_index >= length
for i = 0 to length - 1
swatr := swatr + array.get(sine_weights_atr, i) * tr
swatr
ATR Bands:
Upper and lower bands are created by adding/subtracting the Sine-Weighted ATR from the SWMA. These bands help identify overbought or oversold conditions, and when the price crosses these levels, it may generate long or short trade signals.
// - - - - - CALCULATIONS - - - - - //{
bar b = bar.new()
float src = b.calc_src(swma_src)
float swma = f_Sine_Weighted_MA(src, ma_length)
// Use normal ATR or Sine-Weighted ATR based on input
float atr = atr_type == "Normal ATR" ? ta.atr(atr_len) : f_Sine_Weighted_ATR(atr_len)
// Calculate upper and lower bands using ATR
float swma_up = swma + (atr * atr_mult)
float swma_dn = swma - (atr * atr_mult)
float src_l = b.calc_src(src_long)
float src_s = b.calc_src(src_short)
// Signal logic for crossovers and crossunders
var int signal = 0
if ta.crossover(src_l, swma_up)
signal := 1
if ta.crossunder(src_s, swma_dn)
signal := -1
//}
Signal Logic:
Long/Short Signals are triggered when the price crosses above or below the Sine-Weighted ATR bands
Backtest Mode and Equity Calculation
To evaluate its effectiveness, the indicator includes a backtest mode, allowing users to test its performance on historical data:
Backtest Equity: A detailed equity curve is calculated based on the generated signals over a user-defined period (startDate to endDate).
Buy and Hold Comparison: Alongside the strategy’s equity, a Buy-and-Hold equity curve is plotted for performance comparison.
Alerts
The indicator includes built-in alerts for both long and short signals, ensuring users are promptly notified when market conditions meet the criteria for an entry or exit.
Parent Session Sweeps + Alert Killzone Ranges with Parent Session Sweep
Key Features:
1. Multiple Session Support: The script tracks three major trading sessions - Asia, London, and New York. Users can customize the timing of these sessions.
2. Killzone Visualization: The strategy visually represents each session's range, either as filled boxes or lines, allowing traders to easily identify key price levels.
3. Parent Session Logic: The core of the strategy revolves around identifying a "parent" session - a session that encompasses the range of the following session. This parent session becomes the basis for potential trade setups.
4. Sweep and Reclaim Setups: The strategy looks for price movements that sweep (break above or below) the parent session's high or low, followed by a reclaim of that level. This price action often indicates a potential reversal.
5. Risk-Reward Filtering: Each potential setup is evaluated based on a user-defined minimum risk-reward ratio, ensuring that only high-quality trade opportunities are considered.
6. Candle Close Filter: An optional filter that checks the characteristics of the candle that reclaims the parent session level, adding an extra layer of confirmation to the setup.
7. Performance Tracking: The strategy keeps track of bullish and bearish setup success rates, providing valuable feedback on its performance over time.
8. Visual Aids: The script draws lines to mark the parent session's high and low, making it easy for traders to identify key levels.
How It Works:
1. The script continuously monitors price action across the defined sessions.
2. When a session fully contains the range of the next session, it's identified as a potential parent session.
3. The strategy then waits for price to sweep either the high or low of this parent session.
4. If a sweep occurs, it looks for a reclaim of the swept level within the parameters set by the user.
5. If a valid setup is identified, the script generates an alert and places a trade (if backtesting or running live).
6. The strategy continues to monitor the trade for either reaching the target (opposite level of the parent session) or hitting the stop loss.
Considerations for Signals:
- Sweep: A break of the parent session's high or low.
- Reclaim: A close back inside the parent session range after a sweep.
- Candle Characteristics: Optional filter for the reclaim candle (e.g., bullish candle for long setups).
- Risk-Reward: Each setup must meet or exceed the user-defined minimum risk-reward ratio.
- Session Timing: The strategy is sensitive to the defined session times, which should be set according to the trader's preferred time zone.
This strategy aims to capitalize on institutional order flow and liquidity patterns in the forex market, providing traders with a systematic approach to identifying potential reversal points with favorable risk-reward profiles.
Trade Entry Detector, Wick to Body Ratio Trade Entry Detector: Wick-to-Body Ratio Strategy with Bollinger Bands
Overview
The Trade Entry Detector is a custom strategy for TradingView that leverages the Bollinger Bands and a unique wick-to-body ratio approach to capture precise entry opportunities. This indicator is designed for traders who want to pinpoint high-probability reversal points when price interacts with Bollinger Bands, all while offering flexible entry fill options.
The strategy performs primary analysis on the daily time frame, regardless of your current chart setting, allowing you to view daily Bollinger Band levels and entry signals even on lower time frames. This approach is suitable for swing traders and short-term traders looking to align intraday moves with higher time frame signals.
How the Strategy Works
1. Bollinger Band Analysis on the Daily Time Frame
Bollinger Bands are calculated using a 20-period simple moving average (SMA) and a standard deviation multiplier (default is 2). These bands dynamically expand and contract based on market volatility, making them ideal for identifying overbought and oversold conditions:
* Upper Band: Indicates potential overbought levels.
* Lower Band: Indicates potential oversold levels.
2. Wick-to-Body Ratio Condition
This strategy places significant emphasis on candle wicks relative to the candle body. Here’s why:
* A large upper wick relative to the body signals potential selling pressure after testing the upper Bollinger Band.
* A large lower wick relative to the body indicates buying support after testing the lower Bollinger Band.
* Ratio Threshold: You can set a minimum wick-to-body ratio (default is 1.0), meaning that the wick must be at least equal in size to the body. This ensures only candles with significant reversals are considered for entry.
3. Flexible Entry Timing
To adapt to various trading styles, the indicator allows you to choose the entry fill timing:
* Daily Close: Enter at the close of the daily candle.
* Daily Open: Enter at the open of the following daily candle.
* HOD (High of Day): Set entry at the daily high, for those who want confirmation of upward momentum.
* LOD (Low of Day): Set entry at the daily low, ideal for confirming downward movement.
4. Position Sizing and Risk Management
The strategy calculates position size based on a fixed risk percentage of your account balance (default is 1%). This approach dynamically adjusts position sizes based on stop-loss distance:
* Stop Loss: Placed at the nearest swing high (for shorts) or swing low (for longs).
* Take Profit: Exits are triggered when the price reaches the opposite Bollinger Band.
5. Order Expiration
Each pending order (long or short) expires after two days if unfilled, allowing for new setups on subsequent candles if conditions are met again.
Using the Trade Entry Detector
Step-by-Step Guide
1. Set the Primary Time Frame
The core calculations run on the daily time frame, but the strategy can be applied to intraday charts (e.g., 65-minute or 15-minute) for deeper insights.
2. Adjust Bollinger Band Settings
* Length: Default is 20, which determines the period for calculating the moving average.
* Standard Deviation Multiplier: Default is 2.0, which sets the width of the bands. Adjusting this can help you capture broader or tighter volatility ranges.
3. Define the Wick-to-Body Ratio
Set the minimum ratio between wick and body (default 1.0). Higher values filter out candles with less wick-to-body contrast, focusing on stronger rejection moves.
4. Choose Entry Fill Timing
Select your preferred fill condition:
* Daily Close: Confirms the trade at the end of the daily session.
* Daily Open: Executes the entry at the open of the next day.
* HOD/LOD: Uses the daily high or low as an additional confirmation for upward or downward moves.
5. Position Sizing and Risk Management
* Set your account balance and risk percentage. The strategy automatically calculates position sizes based on the stop distance to manage risk efficiently.
* Stop Loss and Take Profit points are automatically set based on swing highs/lows and opposing Bollinger Bands, respectively.
Practical Example
Let’s say SPY (S&P 500 ETF) tests the lower Bollinger Band on the daily time frame, with a lower wick that is twice the size of the body (meeting the 1.0 ratio threshold). Here’s how the strategy might proceed:
1. Signal: The lower wick on SPY suggests buying interest at the lower Bollinger Band.
2. Entry Fill Timing: If you’ve selected "Daily Open," the entry order will be placed at the next day's open price.
3. Stop Loss: Positioned at the nearest daily swing low to minimize risk.
4. Take Profit: If SPY price moves up and reaches the upper Bollinger Band, the position is automatically closed.
Indicator Features and Benefits
* Multi-Time Frame Compatibility: Perform daily analysis while tracking signals on any intraday chart.
* Automatic Position Sizing: Tailor risk per trade based on account balance and desired risk percentage.
* Flexible Entry Options: Choose from close, open, HOD, or LOD for optimal timing.
* Effective Trend Reversal Identification: Uses wick-to-body ratio and Bollinger Band interaction to pinpoint potential reversals.
* Dynamic Visualization: Bollinger Bands are displayed on your chosen time frame, allowing seamless intraday tracking.
Summary
The Trade Entry Detector provides a unique, data-driven way to spot reversal points with customizable entry options. By combining Bollinger Bands with wick-to-body ratio conditions, it identifies potential trade setups where price has tested extremes and shown reversal signals. With its flexible entry timing, risk management features, and multi-time frame compatibility, this indicator is ideal for traders looking to blend daily market context with shorter-term execution.
Tips for Usage:
* For swing trading, consider the Daily Open or Close entry options.
* For momentum entries, HOD or LOD may offer better alignment with the direction of the wick.
* Backtest on different assets to find optimal Bollinger Band and wick-to-body settings for your market.
Use this indicator to enhance your understanding of price behavior at key levels and improve the precision of your entry points. Happy trading!
Realized Price Profit/Loss Margin [VWAP Optimized]Shaded Profit/Loss Margin Oscillator
The Shaded Profit/Loss Margin Oscillator is a powerful tool designed to measure Bitcoin’s Net Unrealized Profit/Loss (NUPL). This metric reflects the difference between Bitcoin’s current market price and its realized price, which approximates the price at which coins were last moved. By smoothing the NUPL using a moving average, the indicator provides a clean purple oscillator line that helps users easily gauge market sentiment. When the oscillator is above the zero line, the market is in profit, and when it is below zero, participants are generally in a state of unrealized loss. The shaded area between the oscillator and the zero line enhances visual clarity, making it easier to identify potential shifts in market behavior such as profit-taking or capitulation.
Unique Features and Added Value
What sets this indicator apart from traditional NUPL indicators is the use of a volume-weighted average price (VWAP) as a proxy for the realized price. Unlike the original on-chain NUPL metric, which relies on complex on-chain data, this indicator leverages VWAP to provide an approximation of realized price based solely on price and volume data available directly on TradingView. This method makes it highly accessible to traders who don’t have access to on-chain data platforms.
The use of VWAP not only simplifies the calculation but also provides additional value, as it incorporates volume into the realized price estimation. This volume-sensitive approach may offer a more responsive and dynamic reflection of realized prices compared to on-chain models, which can sometimes lag. In essence, this VWAP-based NUPL oscillator offers a unique edge in tracking profit/loss margins, particularly for traders who want a straightforward and efficient way to gauge sentiment without relying on external on-chain data sources. It brings the essence of NUPL into the world of technical analysis in an accessible and actionable way.
Elliott Wave Oscillator with Peak DetectionThe Elliott Wave Oscillator with Derivative Peak Detection and Breakout Bands is a technical indicator that blends traditional Elliott Wave theory with modern derivative-based peak detection and breakout bands for a clearer view of market trends.
Key Components:
Elliott Wave Oscillator (EWO):
The core of the indicator is based on the difference between two simple moving averages (SMA): a short-term SMA (default length: 5) and a long-term SMA (default length: 35).
This difference is expressed either as an absolute value or a percentage of the current price, depending on the user’s input.
Smoothing:
The EWO is smoothed using an Exponential Moving Average (EMA) to filter out noise and provide a clearer trend direction.
The smoothing length is adaptive based on the current chart's timeframe (e.g., longer smoothing for daily charts).
Derivative Peak Detection:
The smoothed EWO is analyzed for peaks (positive) and troughs (negative) by calculating the derivative (rate of change) between consecutive values.
Peaks are detected when the derivative transitions from positive to negative, while troughs are identified when the derivative switches from negative to positive.
Tolerance levels are adjustable and vary by timeframe to avoid false signals.
Breakout Bands:
Upper and lower breakout bands are dynamically generated based on the smoothed EWO.
The bands help to filter significant peaks and troughs, only highlighting those that occur beyond the breakout levels.
Users can choose to display these bands and use them to filter out less significant peaks and troughs.
Visualization:
The original, unsmoothed EWO is plotted as a histogram, with positive values in green and negative values in red.
The smoothed EWO is plotted as a blue line, providing a clearer view of the underlying trend.
The breakout bands, if enabled, are plotted as white lines to visualize the upper and lower bounds of the oscillator's movement.
Positive peaks and negative troughs that meet the filtering criteria are marked with purple triangles (for peaks) and red triangles (for troughs) on the chart.
Customization Options:
Timeframe-based Smoothing and Tolerance: Different smoothing lengths and tolerance levels can be set for daily, hourly, and 5-minute charts.
Breakout Bands: Users can toggle the display of breakout bands and adjust their visual properties.
Peak Filtering: Peaks and troughs can be filtered based on whether they break out beyond the bands, or all peaks can be shown.
This indicator provides a unique blend of trend detection through the Elliott Wave Oscillator and derivative analysis to highlight significant market reversals while offering breakout bands as a filtering mechanism for false signals.
Inflation-Adjusted Price IndicatorThis indicator allows traders to adjust historical prices for inflation using customizable CPI data. The script computes the adjusted price by selecting a reference date, the original price, and the CPI source (US CPI or custom input) and plots it as a line on the chart. Additionally, a table summarizes the adjusted price values and average and total inflation rates.
While the indicator serves as a standalone tool to understand inflation's impact on prices, it is a supportive element in more advanced trading strategies requiring accurate analysis of inflation-adjusted data.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.
2024 - Seasonality - Open to CloseScript Description:
This Pine Script is designed to visualise **seasonality** in the financial markets by calculating the **open-to-close percentage change** for each month of a selected asset. It creates a **heatmap** table to display the monthly performance over multiple years. The script provides detailed statistical summaries, including:
- **Average monthly percentage changes**
- **Standard deviation** of the changes
- **Percentage of months with positive returns**
The script also allows users to adjust colour intensities for positive and negative values, specify which year to start from, and skip specific months. Key metrics such as averages, standard deviations, and percentages of positive months can be toggled on or off based on user preferences. The result is a clear, visual representation of how an asset typically performs month by month, aiding in seasonality analysis.
US Recessions (NBER)This indicator is designed to replace the US Recessions indicator.
Unfortunately, the original indicator is now broken, and the author is not responding: www.tradingview.com .
There are other similar indicators, but they are not based on live data and either show non-officially recognized recessions or fail to display all officially recognized recessions.
This indicator shades US recession periods based on live monthly data from USREC . It highlights all officially recognized US recessions according to the NBER and will automatically shade any future recessions when they occur. The indicator works across all timeframes, correctly shading recessions whether you are viewing a 30-minute, 2-hour, daily, weekly, or any other chart timeframe.
Warning & Risks :
This indicator uses the barmerge.lookahead_on option to correctly handle monthly recession data from USREC . The purpose of this setting is to ensure that the monthly data points are applied retroactively to the corresponding bars on the chart. However, this means that while past recession periods are accurately shaded, the script is effectively displaying data from future candles and plotting it backward onto the chart.
This behavior does not introduce a “future leak” in the traditional sense—since USREC data is backward-looking and the current month always remains non-recessionary until officially confirmed. Nonetheless, it can cause confusion, as users may see recession periods shaded retroactively only after the data becomes available. Therefore, the current month will always appear non-recessionary until the next data point is released, and historical recession periods may be adjusted after the fact .
Leonid's Bitcoin Sharpe RatioThe Sharpe ratio is an old formula used to value the risk-adjusted return of an asset. It was developed by Nobel Laureate William F. Sharpe. In this case, I have applied it to Bitcoin with an adjustable look-back date.
The Sharpe Ratio shows you the average return earned after subtracting out the risk-free rate per unit of volatility (I've defaulted this to 0.02 ).
Volatility is a measure of the price fluctuations of an asset or portfolio. Subtracting the risk-free rate from the mean return allows you to understand what the extra returns are for taking the risk.
If the indicator is flashing red, Bitcoin is temporarily overbought (expensive).
If the indicator is flashing green, Bitcoin is temporarily oversold (cheap).
The goal of this indicator is to signal out local tops & bottoms. It can be adjusted as far as the lookback time but I have found 25-26 days to be ideal.
Crossover CounterExplanation:
Crossover Detection: We detect the crossover of the 20-period and 50-period moving averages using ta.crossover().
Tracking Price Movement: After the crossover, we start tracking the price to check if it moves up or down by 2%. If an up movement occurs before a down movement, we increment the positive counter. If a down movement occurs first, we increment the negative counter.
Reset Condition: Once either a 2% up or down move is detected, we stop tracking until the next crossover.
Table Display: A table shows the counts of positive and negative events.