Volatility Signaling 50SMAOverview of the Script:
The script implements a volatility signaling indicator using a 50-period Simple Moving Average (SMA). It incorporates Bollinger Bands and the Average True Range (ATR) to dynamically adjust the SMA's color based on volatility conditions. Here's a detailed breakdown:
Components of the Script:
1. Inputs:
The script allows the user to customize key parameters for flexibility:
Bollinger Bands Length (length): Determines the period for calculating the Bollinger Bands.
Source (src): The price data to use, defaulting to the closing price.
Standard Deviation Multiplier (mult): Scales the Bollinger Bands' width.
ATR Length (atrLength): Sets the period for calculating the ATR.
The 50-period SMA length (smaLength) is fixed at 50.
2. Bollinger Bands Calculation:
Basis: Calculated as the SMA of the selected price source over the specified length.
Upper and Lower Bands: Determined by adding/subtracting a scaled standard deviation (dev) from the basis.
3. ATR Calculation:
Computes the Average True Range over the user-defined atrLength.
4. Volatility-Based Conditions:
The script establishes thresholds for Bollinger Band width relative to ATR:
Yellow Condition: When the band width (upper - lower) is less than 1.25 times the ATR.
Orange Condition: When the band width is less than 1.5 times the ATR.
Red Condition: When the band width is less than 1.75 times the ATR.
5. Dynamic SMA Coloring:
The 50-period SMA is colored based on the above conditions:
Yellow: Indicates relatively low volatility.
Orange: Indicates moderate volatility.
Red: Indicates higher volatility.
White: Default color when no conditions are met.
6. Plotting the 50-Period SMA:
The script plots the SMA (sma50) with a dynamically assigned color, enabling visual analysis of market conditions.
Use Case:
This script is ideal for traders seeking to assess market volatility and identify changes using Bollinger Bands and ATR. The colored SMA provides an intuitive way to gauge market dynamics directly on the chart.
Example Visualization:
Yellow SMA: The market is in a low-volatility phase.
Orange SMA: Volatility is picking up but remains moderate.
Red SMA: Higher volatility, potentially signaling significant market activity.
White SMA: Neutral/default state.
頻帶和通道
Hourly 20 EMA on 5m ChartThis indicator shows the hourly 20ema on any current time frame that is open on your charts
IU EMA Channel StrategyIU EMA Channel Strategy
Overview:
The IU EMA Channel Strategy is a simple yet effective trend-following strategy that uses two Exponential Moving Averages (EMAs) based on the high and low prices. It provides clear entry and exit signals by identifying price crossovers relative to the EMAs while incorporating a built-in Risk-to-Reward Ratio (RTR) for effective risk management.
Inputs ( Settings ):
- RTR (Risk-to-Reward Ratio): Define the ratio for risk-to-reward (default = 2).
- EMA Length: Adjust the length of the EMA channels (default = 100).
How the Strategy Works
1. EMA Channels:
- High-based EMA: EMA calculated on the high price.
- Low-based EMA: EMA calculated on the low price.
The area between these two EMAs creates a "channel" that visually highlights potential support and resistance zones.
2. Entry Rules:
- Long Entry: When the price closes above the high-based EMA (crossover).
- Short Entry: When the price closes below the low-based EMA (crossunder).
These entries ensure trades are taken in the direction of momentum.
3. Stop Loss (SL) and Take Profit (TP):
- Stop Loss:
- For long positions, the SL is set at the previous bar's low.
- For short positions, the SL is set at the previous bar's high.
- Take Profit:
- TP is automatically calculated using the Risk-to-Reward Ratio (RTR) you define.
- Example: If RTR = 2, the TP will be 2x the risk distance.
4. Exit Rules:
- Positions are closed at either the stop loss or the take profit level.
- The strategy manages exits automatically to enforce disciplined risk management.
Visual Features
1. EMA Channels:
- The high and low EMAs are dynamically color-coded:
- Green: Price is above the EMA (bullish condition).
- Red: Price is below the EMA (bearish condition).
- The area between the EMAs is shaded for better visual clarity.
2. Stop Loss and Take Profit Zones:
- SL and TP levels are plotted for both long and short positions.
- Zones are filled with:
- Red: Stop Loss area.
- Green: Take Profit area.
Be sure to manage your risk and position size properly.
FIR Low Pass Filter Suite (FIR)The FIR Low Pass Filter Suite is an advanced signal processing indicator that applies finite impulse response (FIR) filtering techniques to price data. At its core, the indicator uses windowed-sinc filtering, which provides optimal frequency response characteristics for separating trend from noise in financial data.
The indicator offers multiple window functions including Kaiser, Kaiser-Bessel Derived (KBD), Hann, Hamming, Blackman, Triangular, and Lanczos. Each window type provides different trade-offs between main-lobe width and side-lobe attenuation, allowing users to fine-tune the frequency response characteristics of the filter. The Kaiser and KBD windows provide additional control through an alpha parameter that adjusts the shape of the window function.
A key feature is the ability to operate in either linear or logarithmic space. Logarithmic filtering can be particularly appropriate for financial data due to the multiplicative nature of price movements. The indicator includes an envelope system that can adaptively calculate bands around the filtered price using either arithmetic or geometric deviation, with separate controls for upper and lower bands to account for the asymmetric nature of market movements.
The implementation handles edge effects through proper initialization and offers both centered and forward-only filtering modes. Centered mode provides zero phase distortion but introduces lag, while forward-only mode operates causally with no lag but introduces some phase distortion. All calculations are performed using vectorized operations for efficiency, with carefully designed state management to handle the filter's warm-up period.
Visual feedback is provided through customizable color gradients that can reflect the current trend direction, with optional glow effects and background fills to enhance visibility. The indicator maintains high numerical precision throughout its calculations while providing smooth, artifact-free output suitable for both analysis and visualization.
True Amplitude Envelopes (TAE)The True Envelopes indicator is an adaptation of the True Amplitude Envelope (TAE) method, based on the research paper " Improved Estimation of the Amplitude Envelope of Time Domain Signals Using True Envelope Cepstral Smoothing " by Caetano and Rodet. This indicator aims to create an asymmetric price envelope with strong predictive power, closely following the methodology outlined in the paper.
Due to the inherent limitations of Pine Script, the indicator utilizes a Kernel Density Estimator (KDE) in place of the original Cepstral Smoothing technique described in the paper. While this approach was chosen out of necessity rather than superiority, the resulting method is designed to be as effective as possible within the constraints of the Pine environment.
This indicator is ideal for traders seeking an advanced tool to analyze price dynamics, offering insights into potential price movements while working within the practical constraints of Pine Script. Whether used in dynamic mode or with a static setting, the True Envelopes indicator helps in identifying key support and resistance levels, making it a valuable asset in any trading strategy.
Key Features:
Dynamic Mode: The indicator dynamically estimates the fundamental frequency of the price, optimizing the envelope generation process in real-time to capture critical price movements.
High-Pass Filtering: Uses a high-pass filtered signal to identify and smoothly interpolate price peaks, ensuring that the envelope accurately reflects significant price changes.
Kernel Density Estimation: Although implemented as a workaround, the KDE technique allows for flexible and adaptive smoothing of the envelope, aimed at achieving results comparable to the more sophisticated methods described in the original research.
Symmetric and Asymmetric Envelopes: Provides options to select between symmetric and asymmetric envelopes, accommodating various trading strategies and market conditions.
Smoothness Control: Features adjustable smoothness settings, enabling users to balance between responsiveness and the overall smoothness of the envelopes.
The True Envelopes indicator comes with a variety of input settings that allow traders to customize the behavior of the envelopes to match their specific trading needs and market conditions. Understanding each of these settings is crucial for optimizing the indicator's performance.
Main Settings
Source: This is the data series on which the indicator is applied, typically the closing price (close). You can select other price data like open, high, low, or a custom series to base the envelope calculations.
History: This setting determines how much historical data the indicator should consider when calculating the envelopes. A value of 0 will make the indicator process all available data, while a higher value restricts it to the most recent n bars. This can be useful for reducing the computational load or focusing the analysis on recent market behavior.
Iterations: This parameter controls the number of iterations used in the envelope generation algorithm. More iterations will typically result in a smoother envelope, but can also increase computation time. The optimal number of iterations depends on the desired balance between smoothness and responsiveness.
Kernel Style: The smoothing kernel used in the Kernel Density Estimator (KDE). Available options include Sinc, Gaussian, Epanechnikov, Logistic, and Triangular. Each kernel has different properties, affecting how the smoothing is applied. For example, Gaussian provides a smooth, bell-shaped curve, while Epanechnikov is more efficient computationally with a parabolic shape.
Envelope Style: This setting determines whether the envelope should be Static or Dynamic. The Static mode applies a fixed period for the envelope, while the Dynamic mode automatically adjusts the period based on the fundamental frequency of the price data. Dynamic mode is typically more responsive to changing market conditions.
High Q: This option controls the quality factor (Q) of the high-pass filter. Enabling this will increase the Q factor, leading to a sharper cutoff and more precise isolation of high-frequency components, which can help in better identifying significant price peaks.
Symmetric: This setting allows you to choose between symmetric and asymmetric envelopes. Symmetric envelopes maintain an equal distance from the central price line on both sides, while asymmetric envelopes can adjust differently above and below the price line, which might better capture market conditions where upside and downside volatility are not equal.
Smooth Envelopes: When enabled, this setting applies additional smoothing to the envelopes. While this can reduce noise and make the envelopes more visually appealing, it may also decrease their responsiveness to sudden market changes.
Dynamic Settings
Extra Detrend: This setting toggles an additional high-pass filter that can be applied when using a long filter period. The purpose is to further detrend the data, ensuring that the envelope focuses solely on the most recent price oscillations.
Filter Period Multiplier: This multiplier adjusts the period of the high-pass filter dynamically based on the detected fundamental frequency. Increasing this multiplier will lengthen the period, making the filter less sensitive to short-term price fluctuations.
Filter Period (Min) and Filter Period (Max): These settings define the minimum and maximum bounds for the high-pass filter period. They ensure that the filter period stays within a reasonable range, preventing it from becoming too short (and overly sensitive) or too long (and too sluggish).
Envelope Period Multiplier: Similar to the filter period multiplier, this adjusts the period for the envelope generation. It scales the period dynamically to match the detected price cycles, allowing for more precise envelope adjustments.
Envelope Period (Min) and Envelope Period (Max): These settings establish the minimum and maximum bounds for the envelope period, ensuring the envelopes remain adaptive without becoming too reactive or too slow.
Static Settings
Filter Period: In static mode, this setting determines the fixed period for the high-pass filter. A shorter period will make the filter more responsive to price changes, while a longer period will smooth out more of the price data.
Envelope Period: This setting specifies the fixed period used for generating the envelopes in static mode. It directly influences how tightly or loosely the envelopes follow the price action.
TAE Smoothing: This controls the degree of smoothing applied during the TAE process in static mode. Higher smoothing values result in more gradual envelope curves, which can be useful in reducing noise but may also delay the envelope’s response to rapid price movements.
Visual Settings
Top Band Color: This setting allows you to choose the color for the upper band of the envelope. This band represents the resistance level in the price action.
Bottom Band Color: Similar to the top band color, this setting controls the color of the lower band, which represents the support level.
Center Line Color: This is the color of the central price line, often referred to as the carrier. It represents the detrended price around which the envelopes are constructed.
Line Width: This determines the thickness of the plotted lines for the top band, bottom band, and center line. Thicker lines can make the envelopes more visible, especially when overlaid on price data.
Fill Alpha: This controls the transparency level of the shaded area between the top and bottom bands. A lower alpha value will make the fill more transparent, while a higher value will make it more opaque, helping to highlight the envelope more clearly.
The envelopes generated by the True Envelopes indicator are designed to provide a more precise and responsive representation of price action compared to traditional methods like Bollinger Bands or Keltner Channels. The core idea behind this indicator is to create a price envelope that smoothly interpolates the significant peaks in price action, offering a more accurate depiction of support and resistance levels.
One of the critical aspects of this approach is the use of a high-pass filtered signal to identify these peaks. The high-pass filter serves as an effective method of detrending the price data, isolating the rapid fluctuations in price that are often lost in standard trend-following indicators. By filtering out the lower frequency components (i.e., the trend), the high-pass filter reveals the underlying oscillations in the price, which correspond to significant peaks and troughs. These oscillations are crucial for accurately constructing the envelope, as they represent the most responsive elements of the price movement.
The algorithm works by first applying the high-pass filter to the source price data, effectively detrending the series and isolating the high-frequency price changes. This filtered signal is then used to estimate the fundamental frequency of the price movement, which is essential for dynamically adjusting the envelope to current market conditions. By focusing on the peaks identified in the high-pass filtered signal, the algorithm generates an envelope that is both smooth and adaptive, closely following the most significant price changes without overfitting to transient noise.
Compared to traditional envelopes and bands, such as Bollinger Bands and Keltner Channels, the True Envelopes indicator offers several advantages. Bollinger Bands, which are based on standard deviations, and Keltner Channels, which use the average true range (ATR), both tend to react to price volatility but do not necessarily follow the peaks and troughs of the price with precision. As a result, these traditional methods can sometimes lag behind or fail to capture sudden shifts in price momentum, leading to either false signals or missed opportunities.
In contrast, the True Envelopes indicator, by using a high-pass filtered signal and a dynamic period estimation, adapts more quickly to changes in price behavior. The envelopes generated by this method are less prone to the lag that often affects standard deviation or ATR-based bands, and they provide a more accurate representation of the price's immediate oscillations. This can result in better predictive power and more reliable identification of support and resistance levels, making the True Envelopes indicator a valuable tool for traders looking for a more responsive and precise approach to market analysis.
In conclusion, the True Envelopes indicator is a powerful tool that blends advanced theoretical concepts with practical implementation, offering traders a precise and responsive way to analyze price dynamics. By adapting the True Amplitude Envelope (TAE) method through the use of a Kernel Density Estimator (KDE) and high-pass filtering, this indicator effectively captures the most significant price movements, providing a more accurate depiction of support and resistance levels compared to traditional methods like Bollinger Bands and Keltner Channels. The flexible settings allow for extensive customization, ensuring the indicator can be tailored to suit various trading strategies and market conditions.
Weekend BoxesWeekend Box Indicator
This indicator highlights weekend trading periods by drawing color-coded boxes from Saturday to Sunday. Each box includes a percentage label showing the price change during the weekend period. Green boxes indicate positive moves, while red boxes show negative moves. Use this to easily spot and analyze weekend volatility patterns.
set for UTC +5
MCP Stop Strategy [JARUTIR]The MCP Stop Strategy is a trading tool designed to help traders lock in profits and manage risks. It is based on the concept of setting a MCP (Mental Capacity Preservation) Stop explained in the book "The Lifecycle Trade". I call it Maximum Controllable Profit Stop which helps protect profits once a stock or asset reaches a new peak. The MCP Stop is dynamically calculated based on the Buy Price and the All Time High Price (Peak Price), and is adjusted using a customizable percentage (MCP%) to retain a portion of the gains from the peak price during a drawdown.
Key Features :
MCP Stop Calculation: The script calculates the MCP Stop as:
MCP Stop = Buy Price + (Peak Price - Buy Price) x MCP%
This helps you protect a portion of your gains (defined by MCP%) as the price moves in your favor.
Flexible Buy Date Option:
You can either manually input a Buy Date or let the script automatically detect the Buy Date when the price first meets or exceeds the user-defined Buy Price.
After the Buy Date, the MCP Stop, Buy Price, and Peak Price are plotted on the chart for easy visualization.
Customizable Parameters:
Buy Price: The price at which the asset was bought.
MCP Percentage: The percentage of profit from the peak that you want to retain in case of a drawdown.
Lookback Length: The number of bars to consider when calculating the Peak Price (All Time High).
How to Use the Script :
Set the Buy Price: Enter the price at which you bought the asset.
Set the MCP%: Enter the percentage of profits you want to protect from the peak. For example, if you want to retain 10% of the gain from the peak, set this to 10.
Choose the Buy Date Method:
Automated Buy Date: The script will automatically detect the first bar where the price meets or exceeds the Buy Price.
Manual Buy Date: If you prefer to specify a particular Buy Date, input the desired date and time.
View the MCP Stop and Peak Price: After the Buy Date (either manually or automatically detected), the MCP Stop, Buy Price, and Peak Price will be plotted on the chart.
Monitor the MCP Stop Trigger: The script will alert you when the price falls below the MCP Stop, indicating a potential exit point to protect profits.
Frequently Asked Questions (FAQs):
1. What is the MCP Stop?
The MCP Stop is a dynamic stop-loss level that adjusts based on your Buy Price and the All Time High Price (Peak Price). It protects a portion of your gains from the peak, which is defined by the MCP%. For example, if you set the MCP% to 10%, the script will retain 10% of the gains from the peak and use this as a stop-loss.
2. How does the Buy Date work?
The Buy Date is the date when you entered the position:
If you choose Automated Buy Date, the script will automatically set the Buy Date to the first bar when the price meets or exceeds the Buy Price.
If you choose Manual Buy Date, you can specify a particular date and time when you want the strategy to start calculating and plotting the MCP Stop and Peak Price.
3. What happens if the price falls below the MCP Stop?
If the price drops below the MCP Stop, the script will mark this as a potential exit point, helping you protect profits. A visual alert (MCP STOP) will be shown on the chart when the price reaches or falls below the MCP Stop.
4. Can I adjust the Lookback Length for Peak Price?
Yes, you can customize the Lookback Length (the number of bars the script considers when calculating the Peak Price) by entering a value in the input field. By default, it is set to 1000 bars, which represents a few months of historical data, but you can increase or decrease this based on your trading strategy.
5. Why would I want to use the automated Buy Date?
The Automated Buy Date is useful for traders who want the script to automatically track the Buy Date when the price first reaches or exceeds the Buy Price. This is helpful when you're unsure of the exact entry date but know the price at which you bought the asset. It simplifies the process by eliminating the need for manual input.
6. Can I use this strategy for long and short positions?
The current version of this script is designed for long positions, where you buy an asset and want to protect your profits as the price increases. If you're interested in applying it to short positions, you would need to adjust the logic accordingly (e.g., tracking the lowest price instead of the peak price).
7. Can I modify the script to fit my trading strategy?
Yes, this script is highly customizable. You can adjust parameters such as Buy Price, MCP%, and Lookback Length to suit your specific trading style. You can also tweak the visual appearance of the plotted lines and alerts.
Disclaimer:
This strategy is intended for educational purposes only. It should not be considered financial advice. Always perform your own research and consult with a professional before making any trading decisions. Trading involves significant risk, and you should never trade with money you cannot afford to lose.
Market StructureThis is an advanced, non-repainting Market Structure indicator that provides a robust framework for understanding market dynamics across any timeframe and instrument.
Key Features:
- Non-repainting market structure detection using swing highs/lows
- Clear identification of internal and general market structure levels
- Breakout threshold system for structure adjustments
- Integrated multi-timeframe compatibility
- Rich selection of 30+ moving average types, from basic to advanced adaptive variants
What Makes It Different:
Unlike most market structure indicators that repaint or modify past signals, this implementation uses a fixed-length lookback period to identify genuine swing points.
This means once a structure level or pivot is identified, it stays permanent - providing reliable signals for analysis and trading decisions.
The indicator combines two layers of market structure:
1. Internal Structure (lighter lines) - More sensitive to local price action
2. General Structure (darker lines) - Shows broader market context
Technical Details:
- Uses advanced pivot detection algorithm with customizable swing size
- Implements consecutive break counting for structure adjustments
- Supports both close and high/low price levels for breakout detection
- Includes offset option for better visual alignment
- Each structure break is validated against multiple conditions to prevent false signals
Offset on:
Offset off:
Moving Averages Library:
Includes comprehensive selection of moving averages, from traditional to advanced adaptive types:
- Basic: SMA, EMA, WMA, VWMA
- Advanced: KAMA, ALMA, VIDYA, FRAMA
- Specialized: Hull MA, Ehlers Filter Series
- Adaptive: JMA, RPMA, and many more
Perfect for:
- Price action analysis
- Trend direction confirmation
- Support/resistance identification
- Market structure trading strategies
- Multiple timeframe analysis
This open-source tool is designed to help traders better understand market dynamics and make more informed trading decisions. Feel free to use, modify, and enhance it for your trading needs.
Custom Strategy: ETH Martingale 2.0Strategic characteristics
ETH Little Martin 2.0 is a self-developed trading strategy based on the Martingale strategy, mainly used for trading ETH (Ethereum). The core idea of this strategy is to place orders in the same direction at a fixed price interval, and then use Martin's multiple investment principle to reduce losses, but this is also the main source of losses.
Parameter description:
1 Interval: The minimum spacing for taking profit, stop loss, and opening/closing of orders. Different targets have different spacing. Taking ETH as an example, it is generally recommended to have a spacing of 2% for fluctuations in the target.
2 Base Price: This is the price at which you triggered the first order. Similarly, I am using ETH as an example. If you have other targets, I suggest using the initial value of a price that can be backtesting. The Base Price is only an initial order price and has no impact on subsequent orders.
3 Initial Order Amount: Users can set an initial order amount to control the risk of each transaction. If the stop loss is reached, we will double the amount based on this value. This refers to the value of the position held, not the number of positions held.
4 Loss Multiplier: The strategy will increase the next order amount based on the set multiple after the stop loss, in order to make up for the previous losses through a larger position. Note that after taking profit, it will be reset to 1 times the Initial Order Amount.
5. Long Short Operation: The first order of the strategy is a multiple entry, and in subsequent orders, if the stop loss is reached, a reverse order will be opened. The position value of a one-way order is based on the Loss Multiplier multiple investment, so it is generally recommended that the Loss Multiplier default to 2.
Improvement direction
Although this strategy already has a certain trading logic, there are still some improvement directions that can be considered:
1. Dynamic adjustment of spacing: Currently, the spacing is fixed, and it can be considered to dynamically adjust the spacing based on market volatility to improve the adaptability of the strategy. Try using dynamic spacing, which may be more suitable for the actual market situation.
2. Filtering criteria: Orders and no orders can be optimized separately. The biggest problem with this strategy is that it will result in continuous losses during fluctuations, and eventually increase the investment amount. You can consider filtering out some fluctuations or only focusing on trend trends.
3. Risk management: Add more risk management measures, such as setting a maximum loss limit to avoid huge losses caused by continuous stop loss.
4. Optimize the stop loss multiple: Currently, the stop loss multiple is fixed, and it can be considered to dynamically adjust the multiple according to market conditions to reduce risk.
Wyckoff Trading Strategy for XAU/USD by KAIZVIETNAMXAU/USD TF M15 TP SL 20-30 pip
- Volume: Calculates the average volume based on the SMA to compare with the current trading volume.
- ATR (Average True Range): Calculated to determine price volatility.
- Support and Resistance Levels: Identifies support and resistance levels over the last 10 trading sessions.
Specific Point Identification
- A series of functions are defined to detect critical phases in the market structure, such as:
- Finding Preliminary Support: Recognizing signals of accumulation near support levels.
- Finding Selling Climax: Detecting signals of profit-taking near resistance levels.
- Finding Last Point of Support: Identifying points that provide stability for the price.
- Finding Preliminary Supply: Recognizing supply signals near resistance levels.
- Finding Buying Climax: Identifying strong buy signals accompanied by high trading volume.
- Finding Sign of Weakness: Determining instances of price adjustments that could lead to declines.
Market State Identification
- Accumulation: When the closing price is situated between the support and resistance levels.
- Distribution: When the closing price approaches the highest level of the previous few sessions.
- Sideways: When there is no clear bias toward either an upward or downward trend.
Buy and Sell Signals
- Buy Signals: Determined through finding preliminary support, selling climax, and last point of support.
- Sell Signals: Determined through finding preliminary supply, buying climax, and signs of weakness.
RSI BandsOverview
The RSI Bands indicator is a tool designed to calculate and display overbought, oversold, and middle bands based on the Relative Strength Index (RSI).
Its primary purpose is to provide traders with a clue on whether to place limit buy or limit sell orders, or to set stop-loss orders effectively. The bands represent the price levels the asset must reach for the RSI to align with specific thresholds:
Overbought Band: Displays the upper band representing the price level the asset must reach for the RSI to become overbought.
Oversold Band: Displays the lower band representing the price level the asset must reach for the RSI to become oversold.
Middle Band: Displays the middle band representing the price level the asset must reach for the RSI to hit the middle level. It uses both traditional RSI calculations and a dynamic period adjustment mechanism for improved adaptability to market conditions. The script also offers smoothing options for the bands.
Features
Calculates overbought, oversold, and middle bands using RSI values.
Dynamically adjusts the RSI period based on pivot points if enabled.
Offers smoothing options for the bands: EMA, SMA, or None.
Customizable input parameters for flexibility.
Inputs
Source Value: Selects the data source (e.g., close price) for RSI calculation.
Period: Sets the static RSI calculation period. Used if dynamic period is disabled.
Use Dynamic Period?: Toggles the use of a dynamic RSI period.
Pivot Left/Right Length: Determines the range of bars for pivot detection when using dynamic periods.
Dynamic Period Multiplier: Scales the dynamically calculated RSI period.
Overbought Level: RSI level that marks the overbought threshold.
Oversold Level: RSI level that marks the oversold threshold.
Middle Level: RSI level used as a midpoint reference.
Smoothing Type: Specifies the smoothing method for the bands (EMA, SMA, or None).
Smoothing Length: Length used for the selected smoothing method.
Key Calculations
RSI Calculation:
Computes RSI using gains and losses over the specified period (dynamic or static).
Incorporates a custom function for calculating RSI with dynamic periods.
Dynamic Period Adjustment:
Uses pivot points to determine an adaptive RSI period.
Multiplies the base dynamic period by the Dynamic Period Multiplier.
Band Calculation:
Calculates price changes (deltas) required to achieve the overbought, oversold, and middle RSI levels.
The price changes (deltas) are determined using an iterative approximation technique. For each target RSI level (overbought, oversold, or middle), the script estimates the required change in price by adjusting a hypothetical delta value until the calculated RSI aligns with the target RSI. This approximation ensures precise calculation of the price levels necessary for the RSI to reach the specified thresholds.
Computes the upper (overbought), lower (oversold), and middle bands by adding these deltas to the source price.
Smoothing:
Applies the selected smoothing method (EMA or SMA) to the calculated bands.
Plots
Overbought Band: Displays the upper band representing the price level the asset must reach for the RSI to become overbought.
Oversold Band: Displays the lower band representing the price level the asset must reach for the RSI to become oversold.
Middle Band: Displays the middle band representing the price level the asset must reach for the RSI to hit the middle level.
Usage
Choose the source value (e.g., close price).
Select whether to use a dynamic RSI period or a static one.
Adjust pivot lengths and multipliers for dynamic period calculation as needed.
Set the overbought, oversold, and middle RSI levels based on your analysis.
Configure smoothing options for the bands.
Observe the plotted bands and use them to identify potential overbought and oversold market conditions.
Zuzukinho//@version=5
indicator("Gelişmiş Al/Sat Botu", overlay=true)
// Parametreler
rsiLength = input(14, title="RSI Uzunluğu")
macdFast = input(12, title="MACD Hızlı EMA")
macdSlow = input(26, title="MACD Yavaş EMA")
macdSignal = input(9, title="MACD Sinyal")
bbLength = input(20, title="Bollinger Band Uzunluğu")
bbMult = input(2.0, title="Bollinger Band Çarpanı")
maLength = input(50, title="Hareketli Ortalama Uzunluğu")
hacimCizelge = input(true, title="Hacim Çizelgesi Göster")
// RSI Hesaplama
rsiValue = ta.rsi(close, rsiLength)
// MACD Hesaplama
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
// Bollinger Bantları Hesaplama
basis = ta.sma(close, bbLength)
deviation = ta.stdev(close, bbLength)
upperBand = basis + bbMult * deviation
lowerBand = basis - bbMult * deviation
// Hareketli Ortalama Hesaplama
ma = ta.sma(close, maLength)
// Hacim Filtreleme
ortalamaHacim = ta.sma(volume, rsiLength)
yuksekHacim = volume > ortalamaHacim
// Alım ve Satım Sinyalleri
alSinyali = ta.crossover(rsiValue, 30) and macdHist > 0 and close < lowerBand and close > ma and yuksekHacim
satSinyali = ta.crossunder(rsiValue, 70) and macdHist < 0 and close > upperBand and close < ma and yuksekHacim
// Grafikte Gösterim
plotshape(alSinyali, title="Al Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, size=size.small)
plotshape(satSinyali, title="Sat Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small)
// Bollinger Bantları Çizimi
plot(upperBand, title="Üst Bollinger Bandı", color=color.new(color.blue, 50))
plot(lowerBand, title="Alt Bollinger Bandı", color=color.new(color.blue, 50))
// Hareketli Ortalama Çizimi
plot(ma, title="Hareketli Ortalama", color=color.orange)
// Hacim Çizelgesi
hacimPlot = hacimCizelge ? volume : na
plot(hacimPlot, color=color.new(color.blue, 50), title="Hacim")
High/Mid/Low of the Previous Month, Week and Day + MAIntroducing the Ultimate Price Action Indicator
Take your trading to the next level with this feature-packed indicators. Designed to provide key price insights, this tool offers:
- Monthly, Weekly, and Daily Levels : Displays the High, Midpoint, and Low of the previous month, week, and day.
- Logarithmic Price Lines : Option to plot price levels logarithmically for enhanced accuracy.
- Customizable Labels : Display labels on price lines for better clarity. (This feature is optional.)
- Dual Moving Averages : Add two customizable Moving Averages (Simple, Exponential, or Weighted) directly on the price chart. (This feature is optional.)
This code combines features from the Moving Average Exponential and Daily Weekly Monthly Highs & Lows (sbtnc) indicators, with custom modifications to implement unique personal ideas.
Perfect for traders who want to combine precision with simplicity. Whether you're analyzing historical levels or integrating moving averages into your strategy, this indicator provides everything you need for informed decision-making.
To prevent change chart scale, right click on Price Scale and enable "Scale price chart only"
Linear Regression Channel [TradingFinder] Existing Trend Line🔵 Introduction
The Linear Regression Channel indicator is one of the technical analysis tool, widely used to identify support, resistance, and analyze upward and downward trends.
The Linear Regression Channel comprises five main components : the midline, representing the linear regression line, and the support and resistance lines, which are calculated based on the distance from the midline using either standard deviation or ATR.
This indicator leverages linear regression to forecast price changes based on historical data and encapsulates price movements within a price channel.
The upper and lower lines of the channel, which define resistance and support levels, assist traders in pinpointing entry and exit points, ultimately aiding better trading decisions.
When prices approach these channel lines, the likelihood of interaction with support or resistance levels increases, and breaking through these lines may signal a price reversal or continuation.
Due to its precision in identifying price trends, analyzing trend reversals, and determining key price levels, the Linear Regression Channel indicator is widely regarded as a reliable tool across financial markets such as Forex, stocks, and cryptocurrencies.
🔵 How to Use
🟣 Identifying Entry Signals
One of the primary uses of this indicator is recognizing buy signals. The lower channel line acts as a support level, and when the price nears this line, the likelihood of an upward reversal increases.
In an uptrend : When the price approaches the lower channel line and signs of upward reversal (e.g., reversal candlesticks or high trading volume) are observed, it is considered a buy signal.
In a downtrend : If the price breaks the lower channel line and subsequently re-enters the channel, it may signal a trend change, offering a buying opportunity.
🟣 Identifying Exit Signals
The Linear Regression Channel is also used to identify sell signals. The upper channel line generally acts as a resistance level, and when the price approaches this line, the likelihood of a price decrease increases.
In an uptrend : Approaching the upper channel line and observing weakness in the uptrend (e.g., declining volume or reversal patterns) indicates a sell signal.
In a downtrend : When the price reaches the upper channel line and reverses downward, this is considered a signal to exit trades.
🟣 Analyzing Channel Breakouts
The Linear Regression Channel allows traders to identify price breakouts as strong signals of potential trend changes.
Breaking the upper channel line : Indicates buyer strength and the likelihood of a continued uptrend, often accompanied by increased trading volume.
Breaking the lower channel line : Suggests seller dominance and the possibility of a continued downtrend, providing a strong sell signal.
🟣 Mean Reversion Analysis
A key concept in using the Linear Regression Channel is the tendency for prices to revert to the midline of the channel, which acts as a dynamic moving average, reflecting the price's equilibrium over time.
In uptrends : Significant deviations from the midline increase the likelihood of a price retracement toward the midline.
In downtrends : When prices deviate considerably from the midline, a return toward the midline can be used to identify potential reversal points.
🔵 Settings
🟣 Time Frame
The time frame setting enables users to view higher time frame data on a lower time frame chart. This feature is especially useful for traders employing multi-time frame analysis.
🟣 Regression Type
Standard : Utilizes classical linear regression to draw the midline and channel lines.
Advanced : Produces similar results to the standard method but may provide slightly different alignment on the chart.
🟣 Scaling Type
Standard Deviation : Suitable for markets with stable volatility.
ATR (Average True Range) : Ideal for markets with higher volatility.
🟣 Scaling Coefficients
Larger coefficients create broader channels for broader trend analysis.
Smaller coefficients produce tighter channels for precision analysis.
🟣 Channel Extension
None : No extension.
Left: Extends lines to the left to analyze historical trends.
Right : Extends lines to the right for future predictions.
Both : Extends lines in both directions.
🔵 Conclusion
The Linear Regression Channel indicator is a versatile and powerful tool in technical analysis, providing traders with support, resistance, and midline insights to better understand price behavior. Its advanced settings, including time frame selection, regression type, scaling options, and customizable coefficients, allow for tailored and precise analysis.
One of its standout advantages is its ability to support multi-time frame analysis, enabling traders to view higher time frame data within a lower time frame context. The option to use scaling methods like ATR or standard deviation further enhances its adaptability to markets with varying volatility.
Designed to identify entry and exit signals, analyze mean reversion, and assess channel breakouts, this indicator is suitable for a wide range of markets, including Forex, stocks, and cryptocurrencies. By incorporating this tool into your trading strategy, you can make more informed decisions and improve the accuracy of your market predictions.
Hilega-Milega-RSI-EMA-WMA indicator designed by NKThis indicator is works on RSI, Price and volume to give leading Indicator to Buy or Sell.
This indicator works on all financial markets
Hilega-Milega-RSI-EMA-WMA indicator designed by Nitish Sir
For intraday trade, enter with 15 mins chart.
For positional trade, enter with 1-hour chart.
For Investment this system can be used with daily/weekly/monthly chart.
• RED line is for Volume.
• Green line is for the Price.
• Black line is for the RSI (9).
SELL Trade
1. When Volume (RED line) is above/crossed above Price (Green line) and Strength (Black line), then stock price will go down. This means we will SELL.
2. When there is a GAP in the RED line and the Green line till the time price will go down.
Exit criteria
Whenever Red line exit the shaded area of Oversold zone OR Red line cross over the Green and black line then we will exit.
In case of the SELL trade, after the entry we will monitor the trade in 5 min chart, if the candle is closed above the VWAP then exit.
If the price is crossed the 50 SMA then we will exit trade.
BUY Trade
1. When Volume (RED line) is below/crossed below Price (Green line) and Strength (Black line), then stock price will go up. This means we will BUY.
2. When there is a GAP in the RED line and the Green line till the time price will go down.
Exit criteria
Whenever Red line exit the shaded area of Overbought zone OR Red line cross over the Green and black line then we will exit.
In case of the Buy trade, after the entry we will monitor the trade candle is closed below the VWAP then exit.
If the price is crossed the 50 SMA then we will exit trade.
RShar Liquidity Zone Identifier Description of the Liquidity Zone Identifier Indicator
The **Liquidity Zone Identifier** is a TradingView indicator designed to highlight key liquidity zones on a price chart. Liquidity zones represent areas where the price is likely to encounter significant resistance or support, making them critical for technical analysis and trading decisions.
Key Features:
1. **Dynamic Resistance and Support Levels**:
- The indicator calculates the highest high and lowest low over a user-defined period (`length`) to identify potential resistance and support levels.
- Sensitivity can be adjusted using the `zoneSensitivity` parameter, which defines a percentage buffer around these levels to expand the zones.
2. **Visual Representation**:
- Resistance zones are highlighted in **red**, indicating areas where the price may face selling pressure.
- Support zones are highlighted in **green**, representing areas where the price may find buying interest.
- The zones are displayed as shaded regions using the `fill` function, making them visually distinct and easy to interpret.
3. **Customizable Inputs**:
- **Zone Length** (`length`): Determines the number of candles considered for calculating highs and lows.
- **Zone Sensitivity** (`zoneSensitivity`): Sets the percentage margin around the calculated levels to define the liquidity zones.
- **Zone Colors**: Users can customize the colors for resistance and support zones to suit their preferences.
- **Toggle Fill**: The `showFill` option allows users to enable or disable shaded zone visualization.
4. **Alerts for Trading Opportunities**:
- Alerts are triggered when:
- The price enters the **resistance zone** (current high is greater than or equal to the resistance zone).
- The price enters the **support zone** (current low is less than or equal to the support zone).
- These alerts help traders stay informed of critical market movements without constantly monitoring the chart.
#### How It Works:
1. **Calculation of Zones**:
- The highest high and lowest low over the specified `length` are calculated to define the primary levels.
- A buffer zone is added around these levels based on the `zoneSensitivity` percentage, creating a margin of interaction for price movements.
2. **Plotting the Zones**:
- The top and bottom boundaries of the resistance and support zones are plotted as lines.
- The area between these boundaries is shaded using the `fill` function to enhance visualization.
3. **Alerts for Key Events**:
- Traders are notified when price action interacts with the zones, enabling quick decision-making.
#### Use Case:
The Liquidity Zone Identifier is ideal for:
- Identifying areas of potential price reversal or consolidation.
- Spotting high-probability trading setups near resistance and support zones.
- Complementing other technical indicators in a trading strategy.
By effectively highlighting critical price levels, this indicator provides traders with a powerful tool to navigate the markets with greater precision.
Bollinger Bands Volatility Arrows
Explanation of Changes:
Arrow Style:
Green Up Arrow (▲): Indicates increasing volatility with a positive value.
Red Down Arrow (▼): Indicates decreasing volatility with a negative value.
Labels with Arrows:
label.new is used to create arrows with the label.style_label_up or label.style_label_down styles.
The numerical value of the volatility is displayed beside the arrow using str.tostring.
Label Position:
For increasing volatility, the green arrow is placed near the high of the candle.
For decreasing volatility, the red arrow is placed near the low of the candle.
Text Format:
Includes the arrow symbol and the volatility value (formatted to 4 decimal places).
How It Works:
You’ll see green upward arrows for increasing volatility and red downward arrows for decreasing volatility.
Each arrow includes the exact value of the Bollinger Bands width at that moment.
300-Candle Weighted Average Zones w/50 EMA SignalsThis indicator is designed to deliver a more nuanced view of price dynamics by combining a custom, weighted price average with a volatility-based zone and a trend filter (in this case, a 50-period exponential moving average). The core concept revolves around capturing the overall price level over a relatively large lookback window (300 candles) but with an intentional bias toward recent market activity (the most recent 20 candles), thereby offering a balance between long-term context and short-term responsiveness. By smoothing this weighted average and establishing a “zone” of standard deviation bands around it, the indicator provides a refined visualization of both average price and its recent volatility envelope. Traders can then look for confluence with a standard trend filter, such as the 50 EMA, to identify meaningful crossover signals that may represent trend shifts or opportunities for entry and exit.
What the Indicator Does:
Weighted Price Average:
Instead of using a simple or exponential moving average, this indicator calculates a custom weighted average price over the past 300 candles. Most historical candles receive a base weight of 1.0, but the most recent 20 candles are assigned a higher weight (for example, a weight of 2.0). This weighting scheme ensures that the calculation is not simply a static lookback average; it actively emphasizes current market conditions. The effect is to generate an average line that is more sensitive to the most recent price swings while still maintaining the historical context of the previous 280 candles.
Smoothing of the Weighted Average:
Once the raw weighted average is computed, an exponential smoothing function (EMA) is applied to reduce noise and produce a cleaner, more stable average line. This smoothing helps traders avoid reacting prematurely to minor price fluctuations. By stabilizing the average line, traders can more confidently identify actual shifts in market direction.
Volatility Zone via Standard Deviation Bands:
To contextualize how far price can deviate from this weighted average, the indicator uses standard deviation. Standard deviation is a statistical measure of volatility—how spread out the price values are around the mean. By adding and subtracting one standard deviation from the smoothed weighted average, the indicator plots an upper band and a lower band, creating a zone or channel. The area between these bands is filled, often with a semi-transparent color, highlighting a volatility corridor within which price and the EMA might oscillate.
This zone is invaluable in visualizing “normal” price behavior. When the 50 EMA line and the weighted average line are both within this volatility zone, it indicates that the market’s short- to mid-term trend and its average pricing are aligned well within typical volatility bounds.
Incorporation of a 50-Period EMA:
The inclusion of a commonly used trend filter, the 50 EMA, adds another layer of context to the analysis. The 50 EMA, being a widely recognized moving average length, is often considered a baseline for intermediate trend bias. It reacts faster than a long-term average (like a 200 EMA) but is still stable enough to filter out the market “chop” seen in very short-term averages.
By overlaying the 50 EMA on this custom weighted average and the surrounding volatility zone, the trader gains a dual-dimensional perspective:
Trend Direction: If the 50 EMA is generally above the weighted average, the short-term trend is gaining bullish momentum; if it’s below, the short-term trend has a bearish tilt.
Volatility Normalization: The bands, constructed from standard deviations, provide a sense of whether the price and the 50 EMA are operating within a statistically “normal” range. If the EMA crosses the weighted average within this zone, it signals a potential trend initiation or meaningful shift, as opposed to a random price spike outside normal volatility boundaries.
Why a Trader Would Want to Use This Indicator:
Contextualized Price Level:
Standard MAs may not fully incorporate the most recent price dynamics in a large lookback window. By weighting the most recent candles more heavily, this indicator ensures that the trader is always anchored to what the market is currently doing, not just what it did 100 or 200 candles ago.
Reduced Whipsaw with Smoothing:
The smoothed weighted average line reduces noise, helping traders filter out inconsequential price movements. This makes it easier to spot genuine changes in trend or sentiment.
Visual Volatility Gauge:
The standard deviation bands create a visual representation of “normal” price movement. Traders can quickly assess if a breakout or breakdown is statistically significant or just another oscillation within the expected volatility range.
Clear Trade Signals with Confirmation:
By integrating the 50 EMA and designing signals that trigger only when the 50 EMA crosses above or below the weighted average while inside the zone, the indicator provides a refined entry/exit criterion. This avoids chasing breakouts that occur in abnormal volatility conditions and focuses on those crossovers likely to have staying power.
How to Use It in an Example Strategy:
Imagine you are a swing trader looking to identify medium-term trend changes. You apply this indicator to a chart of a popular currency pair or a leading tech stock. Over the past few days, the 50 EMA has been meandering around the weighted average line, both confined within the standard deviation zone.
Bullish Example:
Suddenly, the 50 EMA crosses decisively above the weighted average line while both are still hovering within the volatility zone. This might be your cue: you interpret this crossover as the 50 EMA acknowledging the recent upward shift in price dynamics that the weighted average has highlighted. Since it occurred inside the normal volatility range, it’s less likely to be a head-fake. You place a long position, setting an initial stop just below the lower band to protect against volatility.
If the price continues to rise and the EMA stays above the average, you have confirmation to hold the trade. As the price moves higher, the weighted average may follow, reinforcing your bullish stance.
Bearish Example:
On the flip side, if the 50 EMA crosses below the weighted average line within the zone, it suggests a subtle but meaningful change in trend direction to the downside. You might short the asset, placing your protective stop just above the upper band, expecting that the statistically “normal” level of volatility will contain the price action. If the price does break above those bands later, it’s a sign your trade may not work out as planned.
Other Indicators for Confluence:
To strengthen the reliability of the signals generated by this weighted average zone approach, traders may want to combine it with other technical studies:
Volume Indicators (e.g., Volume Profile, OBV):
Confirm that the trend crossover inside the volatility zone is supported by volume. For instance, an uptrend crossover combined with increasing On-Balance Volume (OBV) or volume spikes on up candles signals stronger buying pressure behind the price action.
Momentum Oscillators (e.g., RSI, Stochastics):
Before taking a crossover signal, check if the RSI is above 50 and rising for bullish entries, or if the Stochastics have turned down from overbought levels for bearish entries. Momentum confirmation can help ensure that the trend change is not just an isolated random event.
Market Structure Tools (e.g., Pivot Points, Swing High/Low Analysis):
Identify if the crossover event coincides with a break of a previous pivot high or low. A bullish crossover inside the zone aligned with a break above a recent swing high adds further strength to your conviction. Conversely, a bearish crossover confirmed by a breakdown below a previous swing low can make a short trade setup more compelling.
Volume-Weighted Average Price (VWAP):
Comparing where the weighted average zone lies relative to VWAP can provide institutional insight. If the bullish crossover happens while the price is also holding above VWAP, it can mean that the average participant in the market is in profit and that the trend is likely supported by strong hands.
This indicator serves as a tool to balance long-term perspective, short-term adaptability, and volatility normalization. It can be a valuable addition to a trader’s toolkit, offering enhanced clarity and precision in detecting meaningful shifts in trend, especially when combined with other technical indicators and robust risk management principles.
Options Betting Range - Extended# Options Betting Range - Extended
**Options Betting Range - Extended** is a versatile TradingView indicator designed to assist traders in identifying and visualizing optimal options trading ranges for multiple symbols. By leveraging predefined prediction and execution dates along with specific high and low price points, this indicator dynamically draws trendlines to highlight potential options betting zones, enhancing your trading strategy and decision-making process.
## **Key Features**
- **Multi-Symbol Support:** Automatically adapts to popular symbols such as SPY, IWM, QQQ, DIA, TLT, and GOOG, providing tailored options betting ranges for each.
- **Dynamic Trendlines:** Draws both dashed and solid trendlines based on user-defined prediction and execution dates, clearly marking high and low price boundaries.
- **Customizable Parameters:** Easily configure prediction and execution dates, high and low prices, and timezones to suit your specific trading requirements.
- **Single Execution:** Ensures that each trendline is drawn only once per specified prediction date, preventing clutter and maintaining chart clarity.
- **Clear Visual Indicators:** Utilizes color-coded labels to denote high (green) and low (red) price points, making it easy to identify critical trading levels at a glance.
## **How It Works**
1. **Initialization:**
- Upon adding the indicator to your chart, it initializes with predefined symbols and their corresponding high and low price points for two trendlines each.
2. **Configuration:**
- **Trendline 1:**
- **Prediction Date:** Set the year, month, and day when the trendline should be predicted.
- **Execution Date:** Define the year, month, and day when the trendline will be executed.
- **Timezone:** Choose the appropriate timezone to ensure accurate date matching.
- **Trendline 2:**
- Similarly, configure the prediction and execution dates along with the timezone.
3. **Trendline Drawing:**
- On reaching the specified prediction date, the indicator draws dashed trendlines representing the high and low price ranges.
- Solid trendlines are then drawn to solidify the high and low price boundaries.
- Labels are added to clearly mark the high and low price points on the chart.
4. **Visualization:**
- The trendlines and labels provide a visual framework for potential options trading ranges, allowing traders to make informed decisions based on these predefined levels.
## **How to Use**
1. **Add the Indicator:**
- Open your TradingView chart and apply the **Options Betting Range - Extended** indicator.
2. **Select a Symbol:**
- Ensure that the chart is set to one of the supported symbols (e.g., SPY, IWM, QQQ, DIA, TLT, GOOG) to activate the corresponding trendline configurations.
3. **Configure Trendline Parameters:**
- Access the indicator settings to input your desired prediction and execution dates, high and low prices, and select the appropriate timezone for each trendline.
4. **Monitor Trendlines:**
- As the chart progresses to the specified prediction dates, observe the dynamically drawn trendlines and labels indicating the options betting ranges.
5. **Make Informed Trades:**
- Utilize the visual cues provided by the trendlines to identify optimal entry and exit points for your options trading strategies.
## **Benefits**
- **Enhanced Strategy Visualization:** Clearly outlines potential trading ranges, aiding in the formulation and execution of precise options strategies.
- **Time-Saving Automation:** Automatically draws trendlines based on your configurations, reducing the need for manual chart analysis.
- **Improved Decision-Making:** Provides objective price levels for trading, minimizing emotional bias and enhancing analytical precision.
## **Important Considerations**
- **Timezone Accuracy:** Ensure that the timezones selected in the indicator settings align with your chart's timezone to maintain accurate date matching.
- **Chart Timeframe:** The prediction dates should correspond to the timeframe of your chart (e.g., daily, hourly) to ensure that trendlines are triggered correctly.
- **Visible Price Range:** Verify that the high and low prices set for trendlines are within the visible range of your chart to ensure that all trendlines and labels are clearly visible.
## **Conclusion**
**Options Betting Range - Extended** is a powerful tool for traders seeking to automate and visualize their options trading ranges across multiple symbols. By providing clear, customizable trendlines based on specific prediction and execution dates, this indicator enhances your ability to identify and act upon strategic trading opportunities with confidence.
---
DCA Strategy with Mean Reversion and Bollinger BandDCA Strategy with Mean Reversion and Bollinger Band
The Dollar-Cost Averaging (DCA) Strategy with Mean Reversion and Bollinger Bands is a sophisticated trading strategy that combines the principles of DCA, mean reversion, and technical analysis using Bollinger Bands. This strategy aims to capitalize on market corrections by systematically entering positions during periods of price pullbacks and reversion to the mean.
Key Concepts and Principles
1. Dollar-Cost Averaging (DCA)
DCA is an investment strategy that involves regularly purchasing a fixed dollar amount of an asset, regardless of its price. The idea behind DCA is that by spreading out investments over time, the impact of market volatility is reduced, and investors can avoid making large investments at inopportune times. The strategy reduces the risk of buying all at once during a market high and can smooth out the cost of purchasing assets over time.
In the context of this strategy, the Investment Amount (USD) is set by the user and represents the amount of capital to be invested in each buy order. The strategy executes buy orders whenever the price crosses below the lower Bollinger Band, which suggests a potential market correction or pullback. This is an effective way to average the entry price and avoid the emotional pitfalls of trying to time the market perfectly.
2. Mean Reversion
Mean reversion is a concept that suggests prices will tend to return to their historical average or mean over time. In this strategy, mean reversion is implemented using the Bollinger Bands, which are based on a moving average and standard deviation. The lower band is considered a potential buy signal when the price crosses below it, indicating that the asset has become oversold or underpriced relative to its historical average. This triggers the DCA buy order.
Mean reversion strategies are popular because they exploit the natural tendency of prices to revert to their mean after experiencing extreme deviations, such as during market corrections or panic selling.
3. Bollinger Bands
Bollinger Bands are a technical analysis tool that consists of three lines:
Middle Band: The moving average, usually a 200-period Exponential Moving Average (EMA) in this strategy. This serves as the "mean" or baseline.
Upper Band: The middle band plus a certain number of standard deviations (multiplier). The upper band is used to identify overbought conditions.
Lower Band: The middle band minus a certain number of standard deviations (multiplier). The lower band is used to identify oversold conditions.
In this strategy, the Bollinger Bands are used to identify potential entry points for DCA trades. When the price crosses below the lower band, this is seen as a potential opportunity for mean reversion, suggesting that the asset may be oversold and could reverse back toward the middle band (the EMA). Conversely, when the price crosses above the upper band, it indicates overbought conditions and signals potential market exhaustion.
4. Time-Based Entry and Exit
The strategy has specific entry and exit points defined by time parameters:
Open Date: The date when the strategy begins opening positions.
Close Date: The date when all positions are closed.
This time-bound approach ensures that the strategy is active only during a specified window, which can be useful for testing specific market conditions or focusing on a particular time frame.
5. Position Sizing
Position sizing is determined by the Investment Amount (USD), which is the fixed amount to be invested in each buy order. The quantity of the asset to be purchased is calculated by dividing the investment amount by the current price of the asset (investment_amount / close). This ensures that the amount invested remains constant despite fluctuations in the asset's price.
6. Closing All Positions
The strategy includes an exit rule that closes all positions once the specified close date is reached. This allows for controlled exits and limits the exposure to market fluctuations beyond the strategy's timeframe.
7. Background Color Based on Price Relative to Bollinger Bands
The script uses the background color of the chart to provide visual feedback about the price's relationship with the Bollinger Bands:
Red background indicates the price is above the upper band, signaling overbought conditions.
Green background indicates the price is below the lower band, signaling oversold conditions.
This provides an easy-to-interpret visual cue for traders to assess the current market environment.
Postscript: Configuring Initial Capital for Backtesting
To ensure the backtest results align with the actual investment scenario, users must adjust the Initial Capital in the TradingView strategy properties. This is done by calculating the Initial Capital as the product of the Total Closed Trades and the Investment Amount (USD). For instance:
If the user is investing 100 USD per trade and has 10 closed trades, the Initial Capital should be set to 1,000 USD.
Similarly, if the user is investing 200 USD per trade and has 24 closed trades, the Initial Capital should be set to 4,800 USD.
This adjustment ensures that the backtesting results reflect the actual capital deployed in the strategy and provides an accurate representation of potential gains and losses.
Conclusion
The DCA strategy with Mean Reversion and Bollinger Bands is a systematic approach to investing that leverages the power of regular investments and technical analysis to reduce market timing risks. By combining DCA with the insights offered by Bollinger Bands and mean reversion, this strategy offers a structured way to navigate volatile markets while targeting favorable entry points. The clear entry and exit rules, coupled with time-based constraints, make it a robust and disciplined approach to long-term investing.
Smoothed Source Weighted EMAThe Smoothed Source EMA is a tool designed to help traders identify potential buying and selling opportunities in the market. It combines two key elements: price smoothing (using standard deviation) and an Exponential Moving Average (EMA). The purpose is to filter out the day-to-day price fluctuations and create clearer buy and sell signals.
Key Concepts Behind the Indicator:
Price Smoothing (Standard Deviation):
To make the price action easier to follow, the indicator first "smooths" the price. This is done by looking at how much the price tends to move up and down (known as standard deviation).
It then creates two "bands" around the current price—one above and one below. These bands represent a smoothed version of the price and help filter out the noise caused by small, random price movements.
Exponential Moving Average (EMA):
The indicator also uses an Exponential Moving Average (EMA), which is a line that represents the average price over a certain period of time (but gives more weight to recent prices). The EMA helps capture the general trend of the price.
The indicator uses this EMA to compare the current price with the overall trend.
How Does the Indicator Work?
Once the indicator calculates the smoothed price bands and the EMA, it looks for specific conditions to trigger a buy or sell signal:
Long (Buy) Signal:
A buy signal happens when the smoothed price (the lower band) is above the EMA. In simple terms, the price is moving up, and the indicator is telling you it's a good time to buy.
The more "weight" or influence you give to the EMA, the slower this buy signal will appear, meaning it’ll only trigger when there’s a strong enough upward movement.
Short (Sell) Signal:
A sell signal occurs when the smoothed price (the upper band) is below the EMA. This suggests the price is moving down, and the indicator signals that it might be time to sell.
Again, the more "weight" you put on the EMA, the slower the sell signal will appear, as the indicator waits for a clearer downtrend.
Why is this Useful for Traders?
Smoothing the Price: Many traders struggle with the noise of price fluctuations, where the price moves up and down quickly without a clear trend. By smoothing the price, this indicator helps traders focus on the bigger picture and avoid reacting to every small movement.
Clear Buy and Sell Signals: The indicator generates easy-to-understand buy and sell signals based on the relationship between the smoothed price and the EMA. If the price is above the smoothed level and EMA, it’s a signal to buy. If it’s below, it’s a signal to sell.
Customizable Sensitivity: The indicator lets traders adjust how sensitive the buy and sell signals are. By changing certain settings, such as the smoothing length and the weight of the EMA, traders can make the indicator react faster or slower depending on how quickly they want to catch changes in the market.
How the Indicator Appears on the Chart:
EMA Line: A line that represents the trend of the price.
Upper and Lower Smoothed Bands: Two bands above and below the price that help identify when the price is moving up or down relative to the trend.
Buy and Sell Arrows: Small arrows on the chart show where the indicator suggests buying or selling.
Colored Bars: The bars on the chart may change color to visually indicate whether the indicator suggests a buy (green) or a sell (red).
In Summary:
The Smoothed Source EMA helps you identify trends by smoothing out price movements using standard deviation, then comparing these smoothed prices with the Exponential Moving Average (EMA).
When the smoothed price moves above or below the EMA, it gives you a signal: a buy when the smoothed price is above the EMA, and a sell when it’s below.
You can adjust how quickly or slowly these signals appear by modifying the settings, giving you control over how sensitive the indicator is to changes in the market.
This indicator is useful for traders who want to reduce noise and focus on the overall trend, using clear, visually simple signals to guide their trading decisions.
Hybrid Adaptive Double Exponential Smoothing🙏🏻 This is HADES (Hybrid Adaptive Double Exponential Smoothing) : fully data-driven & adaptive exponential smoothing method, that gains all the necessary info directly from data in the most natural way and needs no subjective parameters & no optimizations. It gets applied to data itself -> to fit residuals & one-point forecast errors, all at O(1) algo complexity. I designed it for streaming high-frequency univariate time series data, such as medical sensor readings, orderbook data, tick charts, requests generated by a backend, etc.
The HADES method is:
fit & forecast = a + b * (1 / alpha + T - 1)
T = 0 provides in-sample fit for the current datum, and T + n provides forecast for n datapoints.
y = input time series
a = y, if no previous data exists
b = 0, if no previous data exists
otherwise:
a = alpha * y + (1 - alpha) * a
b = alpha * (a - a ) + (1 - alpha) * b
alpha = 1 / sqrt(len * 4)
len = min(ceil(exp(1 / sig)), available data)
sig = sqrt(Absolute net change in y / Sum of absolute changes in y)
For the start datapoint when both numerator and denominator are zeros, we define 0 / 0 = 1
...
The same set of operations gets applied to the data first, then to resulting fit absolute residuals to build prediction interval, and finally to absolute forecasting errors (from one-point ahead forecast) to build forecasting interval:
prediction interval = data fit +- resoduals fit * k
forecasting interval = data opf +- errors fit * k
where k = multiplier regulating intervals width, and opf = one-point forecasts calculated at each time t
...
How-to:
0) Apply to your data where it makes sense, eg. tick data;
1) Use power transform to compensate for multiplicative behavior in case it's there;
2) If you have complete data or only the data you need, like the full history of adjusted close prices: go to the next step; otherwise, guided by your goal & analysis, adjust the 'start index' setting so the calculations will start from this point;
3) Use prediction interval to detect significant deviations from the process core & make decisions according to your strategy;
4) Use one-point forecast for nowcasting;
5) Use forecasting intervals to ~ understand where the next datapoints will emerge, given the data-generating process will stay the same & lack structural breaks.
I advise k = 1 or 1.5 or 4 depending on your goal, but 1 is the most natural one.
...
Why exponential smoothing at all? Why the double one? Why adaptive? Why not Holt's method?
1) It's O(1) algo complexity & recursive nature allows it to be applied in an online fashion to high-frequency streaming data; otherwise, it makes more sense to use other methods;
2) Double exponential smoothing ensures we are taking trends into account; also, in order to model more complex time series patterns such as seasonality, we need detrended data, and this method can be used to do it;
3) The goal of adaptivity is to eliminate the window size question, in cases where it doesn't make sense to use cumulative moving typical value;
4) Holt's method creates a certain interaction between level and trend components, so its results lack symmetry and similarity with other non-recursive methods such as quantile regression or linear regression. Instead, I decided to base my work on the original double exponential smoothing method published by Rob Brown in 1956, here's the original source , it's really hard to find it online. This cool dude is considered the one who've dropped exponential smoothing to open access for the first time🤘🏻
R&D; log & explanations
If you wanna read this, you gotta know, you're taking a great responsability for this long journey, and it gonna be one hell of a trip hehe
Machine learning, apprentissage automatique, машинное обучение, digital signal processing, statistical learning, data mining, deep learning, etc., etc., etc.: all these are just artificial categories created by the local population of this wonderful world, but what really separates entities globally in the Universe is solution complexity / algorithmic complexity.
In order to get the game a lil better, it's gonna be useful to read the HTES script description first. Secondly, let me guide you through the whole R&D; process.
To discover (not to invent) the fundamental universal principle of what exponential smoothing really IS, it required the review of the whole concept, understanding that many things don't add up and don't make much sense in currently available mainstream info, and building it all from the beginning while avoiding these very basic logical & implementation flaws.
Given a complete time t, and yet, always growing time series population that can't be logically separated into subpopulations, the very first question is, 'What amount of data do we need to utilize at time t?'. Two answers: 1 and all. You can't really gain much info from 1 datum, so go for the second answer: we need the whole dataset.
So, given the sequential & incremental nature of time series, the very first and basic thing we can do on the whole dataset is to calculate a cumulative , such as cumulative moving mean or cumulative moving median.
Now we need to extend this logic to exponential smoothing, which doesn't use dataset length info directly, but all cool it can be done via a formula that quantifies the relationship between alpha (smoothing parameter) and length. The popular formulas used in mainstream are:
alpha = 1 / length
alpha = 2 / (length + 1)
The funny part starts when you realize that Cumulative Exponential Moving Averages with these 2 alpha formulas Exactly match Cumulative Moving Average and Cumulative (Linearly) Weighted Moving Average, and the same logic goes on:
alpha = 3 / (length + 1.5) , matches Cumulative Weighted Moving Average with quadratic weights, and
alpha = 4 / (length + 2) , matches Cumulative Weighted Moving Average with cubic weghts, and so on...
It all just cries in your shoulder that we need to discover another, native length->alpha formula that leverages the recursive nature of exponential smoothing, because otherwise, it doesn't make sense to use it at all, since the usual CMA and CMWA can be computed incrementally at O(1) algo complexity just as exponential smoothing.
From now on I will not mention 'cumulative' or 'linearly weighted / weighted' anymore, it's gonna be implied all the time unless stated otherwise.
What we can do is to approach the thing logically and model the response with a little help from synthetic data, a sine wave would suffice. Then we can think of relationships: Based on algo complexity from lower to higher, we have this sequence: exponential smoothing @ O(1) -> parametric statistics (mean) @ O(n) -> non-parametric statistics (50th percentile / median) @ O(n log n). Based on Initial response from slow to fast: mean -> median Based on convergence with the real expected value from slow to fast: mean (infinitely approaches it) -> median (gets it quite fast).
Based on these inputs, we need to discover such a length->alpha formula so the resulting fit will have the slowest initial response out of all 3, and have the slowest convergence with expected value out of all 3. In order to do it, we need to have some non-linear transformer in our formula (like a square root) and a couple of factors to modify the response the way we need. I ended up with this formula to meet all our requirements:
alpha = sqrt(1 / length * 2) / 2
which simplifies to:
alpha = 1 / sqrt(len * 8)
^^ as you can see on the screenshot; where the red line is median, the blue line is the mean, and the purple line is exponential smoothing with the formulas you've just seen, we've met all the requirements.
Now we just have to do the same procedure to discover the length->alpha formula but for double exponential smoothing, which models trends as well, not just level as in single exponential smoothing. For this comparison, we need to use linear regression and quantile regression instead of the mean and median.
Quantile regression requires a non-closed form solution to be solved that you can't really implement in Pine Script, but that's ok, so I made the tests using Python & sklearn:
paste.pics
^^ on this screenshot, you can see the same relationship as on the previous screenshot, but now between the responses of quantile regression & linear regression.
I followed the same logic as before for designing alpha for double exponential smoothing (also considered the initial overshoots, but that's a little detail), and ended up with this formula:
alpha = sqrt(1 / length) / 2
which simplifies to:
alpha = 1 / sqrt(len * 4)
Btw, given the pattern you see in the resulting formulas for single and double exponential smoothing, if you ever want to do triple (not Holt & Winters) exponential smoothing, you'll need len * 2 , and just len * 1 for quadruple exponential smoothing. I hope that based on this sequence, you see the hint that Maybe 4 rounds is enough.
Now since we've dealt with the length->alpha formula, we can deal with the adaptivity part.
Logically, it doesn't make sense to use a slower-than-O(1) method to generate input for an O(1) method, so it must be something universal and minimalistic: something that will help us measure consistency in our data, yet something far away from statistics and close enough to topology.
There's one perfect entity that can help us, this is fractal efficiency. The way I define fractal efficiency can be checked at the very beginning of the post, what matters is that I add a square root to the formula that is not typically added.
As explained in the description of my metric QSFS , one of the reasons for SQRT-transformed values of fractal efficiency applied in moving window mode is because they start to closely resemble normal distribution, yet with support of (0, 1). Data with this interesting property (normally distributed yet with finite support) can be modeled with the beta distribution.
Another reason is, in infinitely expanding window mode, fractal efficiency of every time series that exhibits randomness tends to infinitely approach zero, sqrt-transform kind of partially neutralizes this effect.
Yet another reason is, the square root might better reflect the dimensional inefficiency or degree of fractal complexity, since it could balance the influence of extreme deviations from the net paths.
And finally, fractals exhibit power-law scaling -> measures like length, area, or volume scale in a non-linear way. Adding a square root acknowledges this intrinsic property, while connecting our metric with the nature of fractals.
---
I suspect that, given analogies and connections with other topics in geometry, topology, fractals and most importantly positive test results of the metric, it might be that the sqrt transform is the fundamental part of fractal efficiency that should be applied by default.
Now the last part of the ballet is to convert our fractal efficiency to length value. The part about inverse proportionality is obvious: high fractal efficiency aka high consistency -> lower window size, to utilize only the last data that contain brand new information that seems to be highly reliable since we have consistency in the first place.
The non-obvious part is now we need to neutralize the side effect created by previous sqrt transform: our length values are too low, and exponentiation is the perfect candidate to fix it since translating fractal efficiency into window sizes requires something non-linear to reflect the fractal dynamics. More importantly, using exp() was the last piece that let the metric shine, any other transformations & formulas alike I've tried always had some weird results on certain data.
That exp() in the len formula was the last piece that made it all work both on synthetic and on real data.
^^ a standalone script calculating optimal dynamic window size
Omg, THAT took time to write. Comment and/or text me if you need
...
"Versace Pip-Boy, I'm a young gun coming up with no bankroll" 👻
∞
2-Year MA Multiplier [UAlgo]The 2-Year MA Multiplier is a technical analysis tool designed to assist traders and investors in identifying potential overbought and oversold conditions in the market. By plotting the 2-year moving average (MA) of an asset's closing price alongside an upper band set at five times this moving average, the indicator provides visual cues to assess long-term price trends and significant market movements.
🔶 Key Features
2-Year Moving Average (MA): Calculates the simple moving average of the asset's closing price over a 730-day period, representing approximately two years.
Visual Indicators: Plots the 2-year MA in forest green and the upper band in firebrick red for clear differentiation.
Fills the area between the 2-year MA and the upper band to highlight the normal trading range.
Uses color-coded fills to indicate overbought (tomato red) and oversold (cornflower blue) conditions based on the asset's closing price relative to the bands.
🔶 Idea
The concept behind the 2-Year MA Multiplier is rooted in the cyclical nature of markets, particularly in assets like Bitcoin. By analyzing long-term price movements, the indicator aims to identify periods of significant deviation from the norm, which may signal potential buying or selling opportunities.
2-year MA smooths out short-term volatility, providing a clearer view of the asset's long-term trend. This timeframe is substantial enough to capture major market cycles, making it a reliable baseline for analysis.
Multiplying the 2-year MA by five establishes an upper boundary that has historically correlated with market tops. When the asset's price exceeds this upper band, it may indicate overbought conditions, suggesting a potential for price correction. Conversely, when the price falls below the 2-year MA, it may signal oversold conditions, presenting potential buying opportunities.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.