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.
Search in scripts for "band"
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.
FRAMA Channel [BigBeluga]This is a trend-following indicator that utilizes the Fractal Adaptive Moving Average (FRAMA) to create a dynamic channel around the price. The FRAMA Channel helps identify uptrends, downtrends, and ranging markets by examining the relationship between the price and the channel's boundaries. It also marks trend changes with arrows, optionally displaying either price values or average volume at these key points.
🔵 IDEA
The core idea behind the FRAMA Channel indicator is to use the fractal nature of markets to adapt to different market conditions. By creating a channel around the FRAMA line, it not only tracks price trends but also adapts its sensitivity based on market volatility. When the price crosses the upper or lower bands of the channel, it signals a potential shift in trend direction. If the price remains within the channel and crosses over the upper or lower bands without a breakout, the market is likely in a ranging phase with low momentum. This adaptive approach makes the FRAMA Channel effective in both trending and ranging market environments.
🔵 KEY FEATURES & USAGE
◉ Dynamic FRAMA Channel with Trend Signals:
The FRAMA Channel uses a fractal-based moving average to create an adaptive channel around the price. When the price crosses above the upper band, it signals an uptrend and plots an upward arrow with the price (or average volume) value. Conversely, when the price crosses below the lower band, it signals a downtrend and marks the point with a downward arrow. This dynamic adaptation to market conditions helps traders identify key trend shifts effectively.
◉ Ranging Market Detection:
If the price remains within the channel, and only the high crosses the upper band or the low crosses the lower band, the indicator identifies a ranging market with low momentum. In this case, the channel turns gray, signaling a neutral trend. This is particularly useful for avoiding false signals during periods of market consolidation.
◉ Color-Coded Candles and Channel Bands:
Candles and channel bands are color-coded to reflect the current trend direction. Green indicates an upward trend, blue shows a downward trend, and gray signals a neutral or ranging market. This visual representation makes it easy to identify the market condition at a glance, helping traders make informed decisions quickly.
◉ Customizable Display of Price or Average Volume:
On trend change signals, the indicator allows users to choose whether to display the price at the point of trend change or the average volume of 10 bars. This flexibility enables traders to focus on the information that is most relevant to their strategy, whether it's the exact price entery or the volume context of the market shift. Displaying the average volume allows to see the strength of the trend change.
Price Data:
Average Volume of points:
🔵 CUSTOMIZATION
Length & Bands Distance: Adjust the length for the FRAMA calculation to control the sensitivity of the channel. A shorter length makes the channel more reactive to price changes, while a longer length smooths it out. The Bands Distance setting determines how far the bands are from the FRAMA line, helping to define the breakout and ranging conditions.
Signals Data: Choose between displaying the price or the average volume on trend change arrows. This allows traders to focus on either the exact price level of trend change or the market volume context.
Color Settings: Customize the colors for upward momentum, downward momentum, and neutral states to suit your charting preferences. You can also toggle whether to color the candles based on the momentum for a clearer visual of the trend direction.
The FRAMA Channel indicator adapts to market conditions, providing a versatile tool for identifying trends and ranging markets with clear visual cues.
Zero Lag Trend Signals (MTF) [AlgoAlpha]Zero Lag Trend Signals 🚀📈
Ready to take your trend-following strategy to the next level? Say hello to Zero Lag Trend Signals , a precision-engineered Pine Script™ indicator designed to eliminate lag and provide rapid trend insights across multiple timeframes. 💡 This tool blends zero-lag EMA (ZLEMA) logic with volatility bands, trend-shift markers, and dynamic alerts. The result? Timely signals with minimal noise for clearer decision-making, whether you're trading intraday or on longer horizons. 🔄
🟢 Zero-Lag Trend Detection : Uses a zero-lag EMA (ZLEMA) to smooth price data while minimizing delay.
⚡ Multi-Timeframe Signals : Displays trends across up to 5 timeframes (from 5 minutes to daily) on a sleek table.
📊 Volatility-Based Bands : Adaptive upper and lower bands, helping you identify trend reversals with reduced false signals.
🔔 Custom Alerts : Get notified of key trend changes instantly with built-in alert conditions.
🎨 Color-Coded Visualization : Bullish and bearish signals pop with clear color coding, ensuring easy chart reading.
⚙️ Fully Configurable : Modify EMA length, band multiplier, colors, and timeframe settings to suit your strategy.
How to Use 📚
⭐ Add the Indicator : Add the indicator to favorites by pressing the star icon. Set your preferred EMA length and band multiplier. Choose your desired timeframes for multi-frame trend monitoring.
💻 Watch the Table & Chart : The top-right table dynamically updates with bullish or bearish signals across multiple timeframes. Colored arrows on the chart indicate potential entry points when the price crosses the ZLEMA with confirmation from volatility bands.
🔔 Enable Alerts : Configure alerts for real-time notifications when trends shift—no need to monitor charts constantly.
How It Works 🧠
The script calculates the zero-lag EMA (ZLEMA) by compensating for data lag, giving traders more responsive moving averages. It checks for volatility shifts using the Average True Range (ATR), multiplied to create upper and lower deviation bands. If the price crosses above or below these bands, it marks the start of new trends. Additionally, the indicator aggregates trend data from up to five configurable timeframes and displays them in a neat summary table. This helps you confirm trends across different intervals—ideal for multi-timeframe analysis. The visual signals include upward and downward arrows on the chart, denoting potential entries or exits when trends align across timeframes. Traders can use these cues to make well-timed trades and avoid lag-related pitfalls.
Charan_Trading_IndicatorCharan_Trading_Indicator Overview:
The Charan_Trading_Indicator combines several technical analysis tools, including Bollinger Bands, RSI (Relative Strength Index), VWAP (Volume-Weighted Average Price), and ATR (Average True Range), to provide buy and sell signals. The script incorporates multiple strategies, such as crack snap setups, overbought/oversold levels, and trend continuation indicators, all tailored for precise market entry and exit points.
Key Components:
RSI (Relative Strength Index):
The indicator uses RSI to detect overbought (RSI > 70) and oversold (RSI < 30) market conditions.
Alerts are triggered when prices are within the specified buy/sell range and RSI crosses these thresholds.
Bollinger Bands:
Bollinger Bands are calculated based on a configurable moving average and standard deviation.
The script identifies potential buy signals when the price dips below the lower Bollinger Band and recovers, and sell signals when the price exceeds the upper Bollinger Band and retraces.
Crack Snap Strategies:
The indicator incorporates multiple variations of the crack snap strategy:
Buy Signals: Triggered when price opens below the lower Bollinger Band and closes above it, alongside certain conditions in previous candles.
Sell Signals: Triggered when price opens above the upper Bollinger Band and closes below it, with similar candle patterns.
Variations such as 3-candle (3C) and 4-candle (4C) versions refine the crack snap setups for more robust signals.
Isolated Candle Conditions:
The indicator tracks isolated candles, where the entire candle lies above or below the Bollinger Bands, to identify potential reversal points.
Trend Continuation Signals:
Conditions based on the candle range and previous highs/lows allow the indicator to generate signals for trend continuation:
Buy signals when price breaks above the previous two highs.
Sell signals when price breaks below the previous two lows.
VWAP (Volume-Weighted Average Price):
The indicator integrates VWAP to give additional support and resistance levels, ensuring signals align with volume trends.
ATR-Based Stop Loss:
For both buy and sell conditions, the script plots stop-loss levels based on the ATR (Average True Range), giving dynamic risk management levels.
Buy/Sell Ranges:
The user can set minimum and maximum price ranges for buy and sell signals, ensuring that the indicator only generates alerts within desired price ranges.
How It Works:
Buy Signals: The script generates buy signals based on multiple conditions, including the crack snap strategy, oversold RSI levels, and trend continuation setups. When these conditions are met, green triangles appear below the price bars, and an alert is triggered.
Sell Signals: Sell signals are triggered when the opposite conditions are met (overbought RSI, crack snap sell setups, trend breaks), and red triangles appear above the price bars.
Visual Indicators: The script plots upper and lower Bollinger Bands, stop loss levels, and VWAP on the chart, providing a comprehensive view of market conditions and support/resistance levels.
This indicator is versatile, combining multiple technical tools for robust decision-making in trading. It generates alerts, plots visual markers, and integrates risk management, making it a well-rounded tool for technical analysis.
This indicator is versatile, combining multiple technical tools for robust decision-making in trading. It generates alerts, plots visual markers, and integrates risk management, making it a well-rounded tool for technical analysis.
High-Low Cloud Trend [ChartPrime]The High-Low Cloud Trend - ChartPrime indicator, combines the concepts of trend following and mean reversion into a dynamic cloud representation. This indicator constructs high and low bands based on lookback periods, which adjust dynamically to reflect market conditions. By highlighting the upper and lower extremes, it provides a visual gauge for potential reversals and continuation points.
◆ KEY FEATURES
Dynamic Cloud Bands : Uses high and low derived from user-defined lookback periods to create reactive bands that illustrate trend strength and potential reversal zones.
Color-coded Visualization : Applies distinct colors to the bands based on the trend direction, improving readability and decision-making speed.
Mean Reversion Detection : Identifies points where price extremes may revert to a mean, signaling potential entry or exit opportunities based on deviation from expected values.
Flexible Visualization : Offers options to display volume or price-based metrics within labels, enhancing analytical depth.
◆ FUNCTIONALITY DETAILS
Band Formation : Calculates two sets of bands; one based on a primary lookback period and another for a shorter period to capture mean reversion points.
◆ USAGE
Trend Confirmation : Use the main bands to confirm the prevailing market trend, with the cloud filling acting as a visual guide.
Breakout Identification : Monitor for price breaks through the cloud to identify strong momentum that may suggest a viable breakout.
Risk Management : Adjust positions based on the proximity of price to either band, using these as potential support or resistance areas.
Mean Reversion Strategies : Apply mean reversion techniques when price touches or crosses the bands, indicating a possible return to a central value.
⯁ USER INPUTS
Lookback Period : Sets the primary period for calculating high and low bands.
Mean Reversion Points : Toggles the identification of mean reversion opportunities within the bands.
Volume/Price Display : Chooses between displaying volume or price information in the indicator's labels for enhanced detail.
The High-Low Cloud Trend indicator is a versatile and powerful tool for traders who engage in both trend following and mean reversion strategies. It provides a clear visual representation of market dynamics, helping traders to make informed decisions based on established and emerging patterns. This indicator's dual approach ensures that it is suitable for various trading styles and market conditions.
Curved Price Channels (Zeiierman)█ Overview
The Curved Price Channels (Zeiierman) is designed to plot dynamic channels around price movements, much like the traditional Donchian Channels, but with a key difference: the channels are curved instead of straight. This curvature allows the channels to adapt more fluidly to price action, providing a smoother representation of the highest high and lowest low levels.
Just like Donchian Channels, the Curved Price Channels help identify potential breakout points and areas of trend reversal. However, the curvature offers a more refined approach to visualizing price boundaries, making it potentially more effective in capturing price trends and reversals in markets that exhibit significant volatility or price swings.
The included trend strength calculation further enhances the indicator by offering insight into the strength of the current trend.
█ How It Works
The Curved Price Channels are calculated based on the asset's average true range (ATR), scaled by the chosen length and multiplier settings. This adaptive size allows the channels to expand and contract based on recent market volatility. The central trendline is calculated as the average of the upper and lower curved bands, providing a smoothed representation of the overall price trend.
Key Calculations:
Adaptive Size: The ATR is used to dynamically adjust the width of the channels, making them responsive to changes in market volatility.
Upper and Lower Bands: The upper band is calculated by taking the maximum close value and adjusting it downward by a factor proportional to the ATR and the multiplier. Similarly, the lower band is calculated by adjusting the minimum close value upward.
Trendline: The trendline is the average of the upper and lower bands, representing the central tendency of the price action.
Trend Strength
The Trend Strength feature in the Curved Price Channels is a powerful feature designed to help traders gauge the strength of the current trend. It calculates the strength of a trend by analyzing the relationship between the price's position within the curved channels and the overall range of the channels themselves.
Range Calculation:
The indicator first determines the distance between the upper and lower curved channels, known as the range. This range represents the overall volatility of the price within the given period.
Range = Upper Band - Lower Band
Relative Position:
The next step involves calculating the relative position of the closing price within this range. This value indicates where the current price sits in relation to the overall range.
RelativePosition = (Close - Trendline) / Range
Normalization:
To assess the trend strength over time, the current range is normalized against the maximum and minimum ranges observed over a specified look-back period.
NormalizedRange = (Range - Min Range) / (Max Range - Min Range)
Trend Strength Calculation:
The final Trend Strength is calculated by multiplying the relative position by the normalized range and then scaling it to a percentage.
TrendStrength = Relative Position * Normalized Range * 100
This approach ensures that the Trend Strength not only reflects the direction of the trend but also its intensity, providing a more comprehensive view of market conditions.
█ Comparison with Donchian Channels
Curved Price Channels offer several advantages over Donchian Channels, particularly in their ability to adapt to changing market conditions.
⚪ Adaptability vs. Fixed Structure
Donchian Channels: Use a fixed period to plot straight lines based on the highest high and lowest low. This can be limiting because the channels do not adjust to volatility; they remain the same width regardless of how much or how little the price is moving.
Curved Price Channels: Adapt dynamically to market conditions using the Average True Range (ATR) as a measure of volatility. The channels expand and contract based on recent price movements, providing a more accurate reflection of the market's current state. This adaptability allows traders to capture both large trends and smaller fluctuations more effectively.
⚪ Sensitivity to Market Movements
Donchian Channels: Are less sensitive to recent price action because they rely on a fixed look-back period. This can result in late signals during fast-moving markets, as the channels may not adjust quickly enough to capture new trends.
Curved Price Channels: Respond more quickly to changes in market volatility, making them more sensitive to recent price action. The multiplier setting further allows traders to adjust the channel's sensitivity, making it possible to capture smaller price movements during periods of low volatility or filter out noise during high volatility.
⚪ Enhanced Trend Strength Analysis
Donchian Channels: Do not provide direct insight into the strength of a trend. Traders must rely on additional indicators or their judgment to gauge whether a trend is strong or weak.
Curved Price Channels: Includes a built-in trend strength calculation that takes into account the distance between the upper and lower channels relative to the trendline. A broader range between the channels typically indicates a stronger trend, while a narrower range suggests a weaker trend. This feature helps traders not only identify the direction of the trend but also assess its potential longevity and strength.
⚪ Dynamic Support and Resistance
Donchian Channels: Offer static support and resistance levels that may not accurately reflect changing market dynamics. These levels can quickly become outdated in volatile markets.
Curved Price Channels: Offer dynamic support and resistance levels that adjust in real-time, providing more relevant and actionable trading signals. As the channels curve to reflect price movements, they can help identify areas where the price is likely to encounter support or resistance, making them more useful in volatile or trending markets.
█ How to Use
Traders can use the Curved Price Channels in similar ways to Donchian Channels but with the added benefits of the adaptive, curved structure:
Breakout Identification:
Just like Donchian Channels, when the price breaks above the upper curved band, it may signal the start of a bullish trend, while a break below the lower curved band could indicate a bearish trend. The curved nature of the channels helps in capturing these breakouts more precisely by adjusting to recent volatility.
Volatility:
The width of the price channels in the Curved Price Channels indicator serves as a clear indicator of current market volatility. A wider channel indicates that the market is experiencing higher volatility, as prices are fluctuating more dramatically within the period. Conversely, a narrower channel suggests that the market is in a lower volatility state, with price movements being more subdued.
Typically, higher volatility is observed during negative trends, where market uncertainty or fear drives larger price swings. In contrast, lower volatility is often associated with positive trends, where prices tend to move more steadily and predictably. The adaptive nature of the Curved Price Channels reflects these volatility conditions in real time, allowing traders to assess the market environment quickly and adjust their strategies accordingly.
Support and Resistance:
The trend line act as dynamic support and resistance levels. Due to it's adaptive nature, this level is more reflective of the current market environment than the fixed level of Donchian Channels.
Trend Direction and Strength:
The trend direction and strength are highlighted by the trendline and the directional candle within the Curved Price Channels indicator. If the price is above the trendline, it indicates a positive trend, while a price below the trendline signals a negative trend. This directional bias is visually represented by the color of the directional candle, making it easy for traders to quickly identify the current market trend.
In addition to the trendline, the indicator also displays Max and Min values. These represent the highest and lowest trend strength values within the lookback period, providing a reference point for understanding the current trend strength relative to historical levels.
Max Value: Indicates the highest recorded trend strength during the lookback period. If the Max value is greater than the Min value, it suggests that the market has generally experienced more positive (bullish) conditions during this time frame.
Min Value: Represents the lowest recorded trend strength within the same period. If the Min value is greater than the Max value, it indicates that the market has been predominantly negative (bearish) over the lookback period.
By assessing these Max and Min values, traders gain an immediate understanding of the underlying trend. If the current trend strength is close to the Max value, it indicates a strong bullish trend. Conversely, if the trend strength is near the Min value, it suggests a strong bearish trend.
█ Settings
Trend Length: Defines the number of bars used to calculate the core trendline and adaptive size. A length of 200 will create a smooth, long-term trendline that reacts slowly to price changes, while a length of 20 will create a more responsive trendline that tracks short-term movements.
Multiplier: Adjusts the width of the curved price channels. A higher value tightens the channels, making them more sensitive to price movements, while a lower value widens the channels. A multiplier of 10 will create tighter channels that are more sensitive to minor price fluctuations, which is useful in low-volatility markets. A multiplier of 2 will create wider channels that capture larger trends and are better suited for high-volatility markets.
Trend Strength Length: Defines the period over which the maximum and minimum ranges are calculated to normalize the trend strength. A length of 200 will smooth out the trend strength readings, providing a stable indication of trend health, whereas a length of 50 will make the readings more reactive to recent price changes.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Kernel SwitchThe indicator uses different kernel regression functions and filters to analyze and smooth the price data. It incorporates various technical analysis features like moving averages, ATR-based channels, and the Kalman filter to generate buy and sell signals. The purpose of this indicator is to help traders identify trends, reversals, and potential trade entry and exit points.
Key Components and Functionalities:
Kernel and Filter Selection:
Kernel: Options include RationalQuadratic, Gaussian, Periodic, and LocallyPeriodic.
Filter: Options include No Filter, Smooth, and Zero Lag.
Source: The source data for the calculations (default is close).
Lookback Period: The lookback period for the kernel calculations.
Relative Weight: Used for RationalQuadratic kernel.
Start at Bar: The starting bar index for the calculations.
Period: Used for Periodic and LocallyPeriodic kernels.
Additional Calculations:
Multiplier: Option to apply a multiplier to the kernel output.
Smoothing: Option to apply EMA smoothing to the kernel output.
Kalman Filter: Option to apply a Kalman filter to the smoothed output.
ATR Length: The length of the ATR used for calculating upper and lower bands.
Kernel Regression:
The code uses a switch statement to select and apply the chosen kernel function with the specified parameters.
Kalman Filter:
A custom function to apply a Kalman filter to the kernel output, providing additional smoothing and trend estimation.
ATR-based Channels:
Upper and lower bands are calculated using the kernel output and ATR, adjusted by a multiplier.
Buy/Sell Signals:
Buy signals are generated when the kernel output crosses above its previous value.
Sell signals are generated when the kernel output crosses below its previous value.
Plotting:
The main kernel output is plotted with color changes based on its direction (green for up, red for down).
Upper and lower bands are plotted based on the ATR-adjusted kernel output.
Buy and sell signals are marked on the chart with labels.
Additional markers are plotted when the high crosses above the upper band and the low crosses below the lower band.
Usage:
This indicator is used to analyze and smooth price data using various kernel regression functions and filters. It helps traders identify trends and potential reversal points, providing visual signals for buy and sell opportunities. By incorporating ATR-based channels and the Kalman filter, the indicator offers additional insights into price movements and volatility. Traders can customize the parameters to fit their specific trading strategies and preferences.
Important Note:
This script is provided for educational and template purposes and does not constitute financial advice. Traders and investors should conduct their research and analysis before making any trading decisions.
Adaptive Bollinger-RSI Trend Signal [CHE]Adaptive Bollinger-RSI Trend Signal
Indicator Overview:
The "Adaptive Bollinger-RSI Trend Signal " (ABRT Signal ) is a sophisticated trading tool designed to provide clear and actionable buy and sell signals by combining the power of Bollinger Bands and the Relative Strength Index (RSI). This indicator aims to help traders identify potential trend reversals and confirm entry and exit points with greater accuracy.
Key Features:
1. Bollinger Bands Integration:
- Utilizes Bollinger Bands to detect price volatility and identify overbought or oversold conditions.
- Configurable parameters: Length, Source, and Multiplier for precise adjustments based on trading preferences.
- Color customization: Change the colors of the basis line, upper band, lower band, and the fill color between bands.
2. RSI Integration:
- Incorporates the Relative Strength Index (RSI) to validate potential buy and sell signals.
- Configurable parameters: Length, Source, Upper Threshold, and Lower Threshold for customized signal generation.
3. Signal Generation:
- Buy Signal: Generated when the price crosses below the lower Bollinger Band and the RSI crosses above the lower threshold, indicating a potential upward trend.
- Sell Signal: Generated when the price crosses above the upper Bollinger Band and the RSI crosses below the upper threshold, indicating a potential downward trend.
- Color customization: Change the colors of the buy and sell signal labels.
4. State Tracking:
- Tracks and records crossover and crossunder states of the price and RSI to ensure signals are only generated under the right conditions.
- Monitors the basis trend (SMA of the Bollinger Bands) to provide context for signal validation.
5. Counters and Labels:
- Labels each buy and sell signal with a counter to indicate the number of consecutive signals.
- Counters reset upon the generation of an opposite signal, ensuring clarity and preventing signal clutter.
6. DCA (Dollar-Cost Averaging) Calculation:
- Stores the close price at each signal and calculates the average entry price (DCA) for both buy and sell signals.
- Displays the number of positions and DCA values in a label on the chart.
7. Customizable Inputs:
- Easily adjustable parameters for Bollinger Bands, RSI, and colors to suit various trading strategies and timeframes.
- Boolean input to show or hide the table label displaying position counts and DCA values.
- Intuitive and user-friendly configuration options for traders of all experience levels.
How to Use:
1. Setup:
- Add the "Adaptive Bollinger-RSI Trend Signal " to your TradingView chart.
- Customize the input parameters to match your trading style and preferred timeframe.
- Adjust the colors of the indicator elements to your preference for better visibility and clarity.
2. Interpreting Signals:
- Buy Signal: Look for a "Buy" label on the chart, indicating a potential entry point when the price is oversold and RSI signals upward momentum.
- Sell Signal: Look for a "Sell" label on the chart, indicating a potential exit point when the price is overbought and RSI signals downward momentum.
3. Trade Execution:
- Use the buy and sell signals to guide your trade entries and exits, aligning them with your overall trading strategy.
- Monitor the counter labels to understand the strength and frequency of signals, helping you make informed decisions.
4. Adjust and Optimize:
- Regularly review and adjust the indicator parameters based on market conditions and backtesting results.
- Combine this indicator with other technical analysis tools to enhance your trading accuracy and performance.
5. Monitor DCA Values:
- Enable the table label to display the number of positions and average entry prices (DCA) for both buy and sell signals.
- Use this information to assess the cost basis of your trades and make strategic adjustments as needed.
Conclusion:
The Adaptive Bollinger-RSI Trend Signal is a powerful and versatile trading tool designed to help traders identify and capitalize on trend reversals with confidence. By combining the strengths of Bollinger Bands and RSI, this indicator provides clear and reliable signals, making it an essential addition to any trader's toolkit. Customize the settings, interpret the signals, and execute your trades with precision using this comprehensive indicator.
Harmonic Rolling VWAP (Zeiierman)█ Overview
The Harmonic Rolling VWAP (Zeiierman) indicator combines the concept of the Rolling Volume Weighted Average Price (VWAP) with advanced harmonic analysis using Discrete Fourier Transform (DFT). This innovative indicator aims to provide traders with a dynamic view of price action, capturing both the volume-weighted price and underlying harmonic patterns. By leveraging this combination, traders can gain deeper insights into market trends and potential reversal points.
█ How It Works
The Harmonic Rolling VWAP calculates the rolling VWAP over a specified window of bars, giving more weight to periods with higher trading volume. This VWAP is then subjected to harmonic analysis using the Discrete Fourier Transform (DFT), which decomposes the VWAP into its frequency components.
Key Components:
Rolling VWAP (RVWAP): A moving average that gives more weight to higher volume periods, calculated over a user-defined window.
True Range (TR): Measures volatility by comparing the current high and low prices, considering the previous close price.
Discrete Fourier Transform (DFT): Analyzes the harmonic patterns within the RVWAP by decomposing it into its frequency components.
Standard Deviation Bands: These bands provide a visual representation of price volatility around the RVWAP, helping traders identify potential overbought or oversold conditions.
█ How to Use
Identify Trends: The RVWAP line helps in identifying the underlying trend by smoothing out short-term price fluctuations and focusing on volume-weighted prices.
Assess Volatility: The standard deviation bands around the RVWAP give a clear view of price volatility, helping traders identify potential breakout or breakdown points.
Find Entry and Exit Points: Traders can look for entries when the price is near the lower bands in an uptrend or near the upper bands in a downtrend. Exits can be considered when the price approaches the opposite bands or shows harmonic divergence.
█ Settings
VWAP Source: Defines the price data used for VWAP calculations. The source input defines the price data used for calculations. This setting affects the VWAP calculations and the resulting bands.
Window: Sets the number of bars used for the rolling calculations. The window input sets the number of bars used for the rolling calculations. A larger window smooths the VWAP and standard deviation bands, making the indicator less sensitive to short-term price fluctuations. A smaller window makes the indicator more responsive to recent price changes.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Johnny's Adjusted BB Buy/Sell Signal"Johnny's Adjusted BB Buy/Sell Signal" leverages Bollinger Bands and moving averages to provide dynamic buy and sell signals based on market conditions. This indicator is particularly useful for traders looking to identify strategic entry and exit points based on volatility and trend analysis.
How It Works
Bollinger Bands Setup: The indicator calculates Bollinger Bands using a specified length and multiplier. These bands serve to identify potential overbought (upper band) or oversold (lower band) conditions.
Moving Averages: Two moving averages are calculated — a trend moving average (trendMA) and a long-term moving average (longTermMA) — to gauge the market's direction over different time frames.
Market Phase Determination: The script classifies the market into bullish or bearish phases based on the relationship of the closing price to the long-term moving average.
Strong Buy and Sell Signals: Enhanced signals are generated based on how significantly the price deviates from the Bollinger Bands, coupled with the average candle size over a specified lookback period. The signals are adjusted based on whether the market is bullish or bearish:
In bullish markets, a strong buy signal is triggered if the price significantly drops below the lower Bollinger Band. Conversely, a strong sell signal is activated when the price rises well above the upper band.
In bearish markets, these signals are modified to be more conservative, adjusting the thresholds for triggering strong buy and sell signals.
Features:
Flexibility: Users can adjust the length of the Bollinger Bands and moving averages, as well as the multipliers and factors that determine the strength of buy and sell signals, making it highly customizable to different trading styles and market conditions.
Visual Aids: The script vividly plots the Bollinger Bands and moving averages, and signals are visually represented on the chart, allowing traders to quickly assess trading opportunities:
Regular buy and sell signals are indicated by simple shapes below or above price bars.
Strong buy and sell signals are highlighted with distinctive colors and placed prominently to catch the trader's attention.
Background Coloring: The background color changes based on the market phase, providing an immediate visual cue of the market's overall sentiment.
Usage:
This indicator is ideal for traders who rely on technical analysis to guide their trading decisions. By integrating both Bollinger Bands and moving averages, it provides a multi-faceted view of market trends and volatility, making it suitable for identifying potential reversals and continuation patterns. Traders can use this tool to enhance their understanding of market dynamics and refine their trading strategies accordingly.
RSI and ATR Trend Reversal SL/TPQuick History:
I was frustrated with a standard fixed percent TP/SL as they often were not receptive to quick market rallies/reversals. I developed this TP/SL and eventually made it into a full fledge strategy and found it did well enough to publish. This strategy can be used as a standalone or tacked onto another strategy as a TP/SL. It does function as both with a single line. This strategy has been tested with TSLA , AAPL, NVDA, on the 15 minutes timeframe.
HOW IT WORKS:
Inputs:
Length: Simple enough, it determines the length of the RSI and ATR used.
Multiplier: This multiplies the RSI and ATR calculation, more on this later.
Delay to prevent Idealization: TradingView will use the open of the bar the strategy triggers on when calculating the backtest. This can produce unrealistic results depending on the source. If your source is open, set to 0, if anything else, set to 1.
Minimum Difference: This is essentially a traditional SL/TP, it is borderline unnecessary, but if the other parameters are wacky this can be used to ensure the SL/TP. It multiplies the source by the percent, so if it is set to 10, the SL/TP is initialized at src +- 10%.
Source input: Self Explanatory, be sure to update the Delay if you use open.
CALCULATION:
Parameters Initialization:
The strategy uses Heikinashi values for calculations, this is not toggleable in parameters, but can be easily changed by changing hclose to equal src.
FUNCTION INITIALIZATION:
highest_custom and lowest_custom do the same thing as ta.highest and ta.lowest, however the built in ta library does not allow for var int input, so I had to create my own functions to be used here. I actually developed these years ago and have used them in almost every strategy since. Feel especially free to use these in your own scripts.
The rsilev is where the magic happens.
SL/TP min/max are initially calculated to be used later.
Then we begin by establishing variables.
BullGuy is used to determine the length since the last crossup or crossdown, until one happens, it returns na, breaking the function. BearGuy is used in all the calculations, and is the same as BullGuy, unless BullGuy is na, where BearGuy counts up from 1 on each bar from 0.
We create our rsi and have to modify the second one to suit the function. In the case of the upper band, we mirror the lower one. So if the RSI is 80, we want it to be 20 on the upper band.
the upper band and lower band are calculated the exact same way, but mirrored. For the purpose of writing, I'm going to talk about the lower band. Assume everything is mirrored for the upper one. It finds the highest source since the last crossup or crossdown. It then multiplies from 1 / the RSI, this means that a rapid RSI increase will increase the band dramatically, so it is able to capture quick rally/reversals. We add this to the atr to source ratio, as the general volatility is a massive factor to be included. We then multiply this number by our chosen amount, and subtract it from the highest source, creating the band.
We do this same process but mirrored with both bands and compared it to the source. If the source is above the lower band, it suggests an uptrend, so the lower band is outputted, and vice versa for the upper one.
PLOTTING:
We also determine the line color in the same manner as we do the trend direction.
STRATEGY:
We then use the source again, and if it crosses up or down relative to the selected band, we enter a long or short respectively.
This may not be the most superb independent strategy, but it can be very useful as a TP/SL for your chosen entry conditions, especially in volatile markets or tickers.
Thank you for taking the time to read, and please enjoy.
Deck@r True Range IndexThis Pine Script calculates the True Range Index (TRI) using ATR and Fib Levels and uses the result to generate buy and sell signals based on certain conditions.
Here's a breakdown of the code:
Inputs:
atr_period: Determines the period for calculating the Average True Range (ATR), preferred setting at 14.
atr_multiplier: Multiplier used to set the width of the ATR bands preferred setting at 1.
Calculations:
atr_value: Calculates the Average True Range (ATR) using the input period.
upper_band: Calculates the upper band of the ATR bands using a Simple Moving Average (SMA) of the close price plus the ATR multiplied by the multiplier.
lower_band: Calculates the lower band of the ATR bands using a Simple Moving Average (SMA) of the close price minus the ATR multiplied by the multiplier.
midline_75 and midline_25: Calculate midlines at Fibonacci retracement levels of 0.75 and 0.25, respectively, between the upper and lower bands.
Plotting:
Plots the upper and lower bands of the ATR bands.
Optionally plots midlines for the ATR bands (commented out in the code).
Buy and Sell Conditions:
buy_condition: Defines a condition for a buy signal, which occurs when the close price is above the midline at the Fibonacci retracement level of 0.25.
sell_condition: Defines a condition for a sell signal, which occurs when the close price is below the midline at the Fibonacci retracement level of 0.75.
Candle Color:
Sets the candle color based on the buy and sell conditions.
Buy and Sell Signals:
buy_signal: Checks for a buy signal when the close price crosses above the midline at the Fibonacci retracement level of 0.25.
sell_signal: Checks for a sell signal when the close price crosses below the midline at the Fibonacci retracement level of 0.75.
Plots buy and sell signals on the chart.
Progressive Trend TrackerProgressive Trend Tracker (PTT) is a development combining Bollinger Bands with Highest Highs and Lowest Lows by K.Hasan Alpay & Anıl Özekşi.
Bollinger Bands have originally 3 lines: Simple Moving Average (Middle Line), Upper Band and Lower Band.
PTT concentrates on the upper and lower Bollinger band lines.
First, it calculates the bands using the Highest & Lowest prices in a period of time (Faster period and period) instead of closing prices.
Then, PTT takes the lowest values of the calculated upper band and, conversely, the highest values of the calculated lower band in a Slower period.
Default values:
Faster Period: 5
Period: 5
Bollinger Band Moving Average Period: 2
Slower Period: 10
These values are designed for daily time frame, so they have to be optimized in other timeframes by the user. (Ex: Higher values can be considered in lower time frames)
One more significant difference considering original Bollinger Bands is that PTT uses VIDYA (Variable Dynamic Moving Average = VAR) in the calculation instead of a Simple Moving Average.
Bollinger Bands cannot create significant BUY & SELL signals considering their original logic, but the primary purpose of PTT is to have substantial trading signals:
BUY when the price crosses above the PTT Lower line (cyan line)
STOP when the price crosses back below the PTT Lower line (cyan line)
SELL when the price crosses below the PTT Upper line (cyan line)
STOP when the price crosses back above the PTT Upper line (cyan line)
Developer Anıl Özekşi advises that traders may have more accurate signals when using a short-period moving average instead of closing prices, so I added the VIDYA moving average with the same default length ( 2 ), which is used in Bollinger Bands calculation. You can check the "SHOW MOVING AVERAGE?" box on the settings tab of the indicator.
Matrix Momentum Expansion [IkkeOmar]The indicator consists of several features:
Candlestick chart: The indicator plots a candlestick chart based on the input parameters of the user. The candlesticks are colored blue or orange depending on whether the closing price is above or below the upper and lower bands.
Support and Resistance levels: The indicator also plots support and resistance levels based on the CCI (Commodity Channel Index) of the asset's price. These levels are dynamic and change based on the user's input parameters.
Momentum: The indicator calculates the momentum of the market based on the smoothed and standard deviation of the asset's price. It uses this momentum to calculate upper and lower bands that are plotted on the chart.
Warning signals: The indicator can also be used to identify potential warning signals. When the closing price of the asset moves above the upper band, it could indicate that the market is overbought and a potential reversal could occur. Conversely, when the closing price moves below the lower band, it could indicate that the market is oversold and a potential reversal could occur.
Contractions and expansions in the bands can provide important information to traders about potential price movements.
When the bands contract, it indicates that the market is experiencing low volatility and the price is likely to move sideways. During these periods, traders may look for other signals, such as support and resistance levels or price patterns, to determine potential entry and exit points.
On the other hand, when the bands expand, it indicates that the market is experiencing high volatility and the price is likely to move in a particular direction. Traders can use this information to identify potential trend reversals or continuation patterns. When the upper and lower bands move further apart, it indicates that the trend is becoming stronger, while when they move closer together, it indicates that the trend may be weakening.
When the price moves outside of the bands, it can also provide important information to traders. If the price moves above the upper band, it could indicate that the market is overbought and a potential reversal could occur. Conversely, if the price moves below the lower band, it could indicate that the market is oversold and a potential reversal could occur.
Very important note!
When you see contractions, please understand that it's a wonderful opportunity to pivot into position to catch a good trade because we will see an expansion after!
MESThe Double Bollinger Bands strategy is a trend-following strategy that aims to identify high-probability trading opportunities in trending markets. The strategy involves using two sets of Bollinger Bands with different standard deviation values to identify potential entry and exit points.
Bollinger Bands are a technical analysis tool that consists of three lines plotted on a price chart: a simple moving average (SMA) in the middle, and an upper and lower band that are each a certain number of standard deviations away from the SMA. The standard deviation value determines the width of the bands, with a larger deviation resulting in wider bands.
In this indicator, the first set of Bollinger Bands is calculated using a length of 20 bars and a standard deviation of 2, while the second set uses a length of 20 bars and a standard deviation of 3. The bands are plotted on the price chart along with the SMA for each set.
The buy signal is generated when the price falls below the lower band of the second set of Bollinger Bands (the 3-standard deviation band) and then rises above the lower band of the first set (the 2-standard deviation band). This is interpreted as a potential reversal point in a downtrend and a signal to enter a long position.
Conversely, the sell signal is generated when the price rises above the upper band of the second set of Bollinger Bands and then falls below the upper band of the first set. This is interpreted as a potential reversal point in an uptrend and a signal to enter a short position.
To make it easier to identify buy and sell signals on the price chart, the indicator plots triangles above the bars for sell signals and below the bars for buy signals.
Overall, the Double Bollinger Bands strategy can be a useful tool for traders who want to follow trends and identify potential entry and exit points. However, as with any trading strategy, it is important to backtest and thoroughly evaluate its performance before using it in live trading.
Mean ReversionThe "Mean Reversion" indicator in this script is a popular trading strategy that is based on the concept that over time, prices tend to move back towards their mean or average. This trading strategy seeks to identify instances where the price has deviated significantly from its mean and therefore presents an opportunity to profit from its eventual reversion to the mean.
The script calculates the distance between the current price and the EMA using the ATR, which is a measure of volatility. By multiplying the ATR by a specified factor, the script establishes a distance between the current price and the EMA. If the price falls below this distance, it triggers a potential buy signal, indicating that the price may be oversold and due for a rebound.
The script also uses Bollinger Bands to help identify potential buying and selling opportunities. The Bollinger Bands are a technical indicator that measures the volatility of an asset by plotting two standard deviations away from a moving average. When the price moves outside of the Bollinger Bands, it can indicate that the asset is overbought or oversold, potentially triggering a buy or sell signal.
The script's "buySignal" variable is triggered when the price is below the EMA by the specified ATR distance and also falls below the lower Bollinger Band. Conversely, the "sellSignal" variable is triggered when the price is above the EMA by the specified ATR distance and also rises above the upper Bollinger Band.
The script plots the EMA, Bollinger Bands, and the buy and sell signals on the chart for easy visualization. Additionally, the script includes alerts that can be set up to notify the user when a buy or sell signal is triggered, so that they can act on the information in a timely manner.
In summary, this script is a Mean Reversion indicator that aims to identify potential opportunities to buy or sell assets based on deviations from their mean price using a combination of the ATR, EMA, and Bollinger Bands.
Momentum Channel - [Volume Filter]The indicator incorporates a volume filter to ensure that the RSI only moves when the volume is above the moving average of the volume.
The filtered RSI is then used to calculate the Bollinger Bands and moving averages, providing insights into the market dynamics.
It also gives you insight into the bigger timeframes so you can monitor momentum!
Volume Filter Length: Input parameter for the length of the volume filter moving average.
Overview of code:
rsiPeriod: Input parameter for the RSI period.
bandLength: Input parameter for the length of the Bollinger Bands.
lengthrsipl: Input parameter for the length of the fast moving average (MA) on the RSI.
volumeFilterLength: Input parameter for the length of the volume filter moving average.
volumeAvg: Calculates the moving average of the volume using the ta.sma() function with the specified volume filter length.
filteredRsi: Uses the ta.valuewhen() function to obtain the RSI value only when the volume is greater than or equal to the volume moving average. This creates a filtered RSI based on the volume filter.
offs: Calculates the offset value for the Bollinger Bands. It is derived by multiplying 1.6185 with the standard deviation of the filtered RSI using the ta.stdev() function.
Bollinger Pair TradeNYSE:MA-1.6*NYSE:V
Revision: 1
Author: @ozdemirtrading
Revision 2 Considerations :
- Simplify and clean up plotting
Disclaimer: This strategy is currently working on the 5M chart. Change the length input to accommodate your needs.
For the backtesting of more than 3 months, you may need to upgrade your membership.
Description:
The general idea of the strategy is very straightforward: it takes positions according to the lower and upper Bollinger bands.
But I am mainly using this strategy for pair trading stocks. Do not forget that you will get better results if you trade with cointegrated pairs.
Bollinger band: Moving average & standard deviation are calculated based on 20 bars on the 1H chart (approx 240 bars on a 5m chart). X-day moving averages (20 days as default) are also used in the background in some of the exit strategy choices.
You can define position entry levels as the multipliers of standard deviation (for exp: mult2 as 2 * standard deviation).
There are 4 choices for the exit strategy:
SMA: Exit when touches simple moving average (SMA)
SKP: Skip SMA and do not stop if moving towards 20D SMA, and exit if it touches the other side of the band
SKPXDSMA: Skip SMA if moving towards 20D SMA, and exit if it touches 20D SMA
NoExit: Exit if it touches the upper & lower band only.
Options:
- Strategy hard stop: if trade loss reaches a point defined as a percent of the initial capital. Stop taking new positions. (not recommended for pair trade)
- Loss per trade: close position if the loss is at a defined level but keeps watching for new positions.
- Enable expected profit for trade (expected profit is calculated as the distance to SMA) (recommended for pair trade)
- Enable VIX threshold for the following options: (recommended for volatile periods)
- Stop trading if VIX for the previous day closes above the threshold
- Reverse active trade direction if VIX for the previous day is above the threshold
- Take reverse positions (assuming the Bollinger band is going to expand) for all trades
Backtesting:
Close positions after a defined interval: mark this if you want the close the final trade for backtesting purposes. Unmark it to get live signals.
Use custom interval: Backtest specific time periods.
Other Options:
- Use EMA: use an exponential moving average for the calculations instead of simple moving average
- Not against XDSMA: do not take a position against 20D SMA (if X is selected as 20) (recommended for pairs with a clear trend)
- Not in XDSMA 1 DEV: do not take a position in 20D SMA 1*standart deviation band (recommended if you need to decrease # of trades and increase profit for trade)
- Not in XDSMA 2 DEV: do not take a position in 20D SMA 2*standart deviation band
Session management:
- Not in session: Session start and end times can be defined here. If you do not want to trade in certain time intervals, mark that session.(helps to reduce slippage and get more realistic backtest results)
Keltner Channel Width Oscillator (KingThies)Definition
The Keltner Channel Width oscillator is a technical analysis indicator derived originally from the same relationship the Bollinger Band Width indicator takes on Bollinger Bands.
Similar to the Bollinger Bands, Kelts measure volatility in relation to price, and factor in various range calculations to create three bands around the price of a given stock or digital asset. The Middle Line is typically a 20 Day Exponential Moving Average while the upper and lower bands highlight price at different range variations around its basis. Keltner Channel Width serve as a way to quantitatively measure the width between the Upper and Lower Bands and identify opportunities for entires and exits, based on the relative range price is experiencing that day.
Calculation
Kelt Channel Width = (Upper Band - Lower Band) / Middle Band
More on Keltner Channels
Keltner channel was first described by a Chicago grain trader called Chester W. Keltner in his 1960 book How to Make Money in Commodities. Though Keltner claimed no ownership of the original idea and simply called it the ten-day moving average trading rule, his name was applied by those who heard of this concept through his books.
Similarly to the Bollinger Bands, Keltner channel is a technical analysis tool based on three parallel lines. In fact, the Keltner indicator consists of a central moving average in addition to channel lines spread above and below it. The central line represents a 10-day simple moving average of what Chester W. Keltner called typical price. The typical price is defined as the average of the high, low and close. The distance between the central line and the upper, or lower line, is equivalent to the simple moving average of the preceding 10 days' trading ranges.
One way to interpret the Keltner Channel would be to consider the price breakouts outside of the channel. A trader would track price movement and consider any close above the upper line as a strong buy signal. Equivalently, any close below the lower line would be considered a strong sell signal. The trader would follow the trend emphasized by the indicator while complementing his analysis with the use of other indicators as well. However, the breakout method only works well when the market moves from a range-bound setting to an established trend. In a trend-less configuration, the Keltner Channel is better used as an overbought/oversold indicator. Thus, as the price breaks out below the lower band, a trader waits for the next close inside the Keltner Channel and considers this price behavior as an oversold situation indicating a potential buy signal. Similarly, as the price breaks out above the upper band, the trader waits for the next close inside the Keltner Channel and considers this price action as an overbought situation indicating a potential sell signal. By waiting for the price to close within the Channel, the trader avoids getting caught in a real upside or downside breakout.
Cryptogrithm's Secret Momentum and Volatility IndicatorThis indicator is hard-coded for Bitcoin, but you may try it on other asset classes/coins. I have not updated this indicator in over 3 years, but it seems to still work very well for Bitcoin.
This indicator is NOT for beginners and is directed towards intermediate/advanced traders with a sensibility to agree/disagree with what this indicator is signalling (common sense).
This indicator was developed back in 2018 and I has not been maintained since, which is the reason why I am releasing it. (It still works great though! At the time of this writing of May 2022).
How to use:
Terms:
PA (Price Action): Literally the candlestick formations on your chart (and the trend formation). If you don't know how to read and understand price action, I will make a fast-track video/guide on this later (but in the meanwhile, you need to begin by learning Order-Flow Analysis, please google it first before asking).
CG Level (Cryptogrithm Level/Yellow Line): PA level above = bullish, PA level below = bearish
CG Bands (Cryptogrithm Bands): This is similar to how bollingers work, you can use this the same was as bollinger bands. The only difference is that the CG bands are more strict with the upper and lower levels as it uses different calculations to hug the price tighter allowing it to be more reactive to drastic price changes (earlier signals for oversold/overbought).
CG Upper Band (Red Upper Line): Above this upper bound line means overbought.
CG Middle Band (Light Blue Line): If PA trades above this line, the current PA trend is bullish continuing in the uptrend. If PA trades below this line, the current PA trend is bearish continuing in the downtrend. This band should only be used for short-term trends.
CG Lower Band (Green Lower Line): Below this lower bound line means oversold.
What the CG Level (yellow line) tells you:
PA is trading above CG Level = Bullish
PA is trading below CG Level = Bearish
Distance between CG Level and price = Momentum
What this means is that the further away the price is from the CG Level, the greater the momentum of the current PA trend. An increasing gap between the CG Level and PA indicates the price's strength (momentum) towards the current upward/downward trend. Basically when the PA and CG Level diverge, it means that the momentum is increasing in the current trend and when they converge, the current trend is losing momentum and the direction of the PA trend may flip towards the other direction (momentum flip).
PA+CG Level Momentum:
To use the CG Level as a momentum indicator, you need to pay attention to how the price and the CG level are moving away/closer from each other:
PA + CG Level Diverges = Momentum Increasing
PA + CG Level Converges = Momentum Decreasing
Examples (kind of common sense, but just for clarity):
Case 1: Bullish Divergence (Bullish): The PA is ABOVE and trending AWAY above from the CG Level = very bullish, this means that momentum is increasing towards the upside and larger moves will come (increasing gap between the price and CG Level)
Case 2: Bearish Convergence (Bearish): - The PA is ABOVE the CG Level and trending TOWARDS the CG Level = bearish, there is a possibility that the upward trend is ending. Look to start closing off long positions until case 1 (divergence) occurs again.
Case 3: Neutral - The PA is trading on the CG Level (no clear divergence or convergence between the PA and CG Level) = Indicates a back and forth (tug of war) between bears and bulls. Beware of choppy price patterns as the trend is undecisive until either supply/liquidity is dried out and a winner between bull/bear is chosen. This is a no trade zone, but do as you wish.
Case 4: Bearish Divergence (Bearish): The PA is BELOW and trending AWAY BELOW from the CG Level = very bearish, this means that momentum is increasing towards the downside and larger downward moves will come (increasing gap between the price and CG Level).
Case 5: Bullish Convergence (Bullish): - The PA is BELOW the CG Level and trending TOWARDS the CG Level = bullish, there is a possibility that the downward trend is ending and a trend flip is occuring. Look to start closing off short positions until case 4 (divergence) occurs again.
CG Bands + CG Level: You can use the CG bands instead of the PA candles to get a cleaner interpretation of reading the momentum. I won't go into detail as this is pretty self-explanatory. It is the same explanation as PA+CG Level Momentum, but you are replacing the PA candles with the CG Bands for interpretation. So instead of the PA converging/diverging from the CG Level, the Upper and Lower Bound levels are converging/diverging from the CG level instead.
Convergence: CG Level (yellow line) trades inside the CG bands
Divergence: CG Level (yellow line) trades outside the CG bands
Bullish/Bearish depends on whether the CG Band is trading below or above the CG level. If CG Band is above the CG Level, this is bullish. If CG Band is below the CG level, this is bearish.
Crosses (PA or CG Band crosses with CG level): This typically indicates volatility is incoming.
There are MANY MANY MANY other ways to use this indicator that is not explained here and even other undiscovered methods. Use some common sense as to how this indicator works (it is a momentum indicator and volatility predictor). You can get pretty creative and apply your own methods / knowledge to it and look for patterns that occur. Feel free to comment and share what you came up with!
The Barking Rat LiteMomentum & FVG Reversion Strategy
The Barking Rat Lite is a disciplined, short-term mean-reversion strategy that combines RSI momentum filtering, EMA bands, and Fair Value Gap (FVG) detection to identify short-term reversal points. Designed for practical use on volatile markets, it focuses on precise entries and ATR-based take profit management to balance opportunity and risk.
Core Concept
This strategy seeks potential reversals when short-term price action shows exhaustion outside an EMA band, confirmed by momentum and FVG signals:
EMA Bands:
Parameters used: A 20-period EMA (fast) and 100-period EMA (slow).
Why chosen:
- The 20 EMA is sensitive to short-term moves and reflects immediate momentum.
- The 100 EMA provides a slower, structural anchor.
When price trades outside both bands, it often signals overextension relative to both short-term and medium-term trends.
Application in strategy:
- Long entries are only considered when price dips below both EMAs, identifying potential undervaluation.
- Short entries are only considered when price rises above both EMAs, identifying potential overvaluation.
This dual-band filter avoids counter-trend signals that would occur if only a single EMA was used, making entries more selective..
Fair Value Gap Detection (FVG):
Parameters used: The script checks for dislocations using a 12-bar lookback (i.e. comparing current highs/lows with values 12 candles back).
Why chosen:
- A 12-bar displacement highlights significant inefficiencies in price structure while filtering out micro-gaps that appear every few bars in high-volatility markets.
- By aligning FVG signals with candle direction (bullish = close > open, bearish = close < open), the strategy avoids random gaps and instead targets ones that suggest exhaustion.
Application in strategy:
- Bullish FVGs form when earlier lows sit above current highs, hinting at downward over-extension.
- Bearish FVGs form when earlier highs sit below current lows, hinting at upward over-extension.
This gives the strategy a structural filter beyond simple oscillators, ensuring signals have price-dislocation context.
RSI Momentum Filter:
Parameters used: 14-period RSI with thresholds of 80 (overbought) and 20 (oversold).
Why chosen:
- RSI(14) is a widely recognized momentum measure that balances responsiveness with stability.
- The thresholds are intentionally extreme (80/20 vs. the more common 70/30), so the strategy only engages at genuine exhaustion points rather than frequent minor corrections.
Application in strategy:
- Longs trigger when RSI < 20, suggesting oversold exhaustion.
- Shorts trigger when RSI > 80, suggesting overbought exhaustion.
This ensures entries are not just technically valid but also backed by momentum extremes, raising conviction.
ATR-Based Take Profit:
Parameters used: 14-period ATR, with a default multiplier of 4.
Why chosen:
- ATR(14) reflects the prevailing volatility environment without reacting too much to outliers.
- A multiplier of 4 is a pragmatic compromise: wide enough to let trades breathe in volatile conditions, but tight enough to enforce disciplined exits before mean reversion fades.
Application in strategy:
- At entry, a fixed target is set = Entry Price ± (ATR × 4).
- This target scales automatically with volatility: narrower in calm periods, wider in explosive markets.
By avoiding discretionary exits, the system maintains rule-based discipline.
Visual Signals on Chart
Blue “▲” below candle: Potential long entry
Orange/Yellow “▼” above candle: Potential short entry
Green “✔️”: Trade closed at ATR take profit
Blue (20 EMA) & Orange (100 EMA) lines: Dynamic channel reference
⚙️Strategy report properties
Position size: 25% equity per trade
Initial capital: 10,000.00 USDT
Pyramiding: 10 entries per direction
Slippage: 2 ticks
Commission: 0.055% per side
Backtest timeframe: 1-minute
Backtest instrument: HYPEUSDT
Backtesting range: Jul 28, 2025 — Aug 17, 2025
Note on Sample Size:
You’ll notice the report displays fewer than the ideal 100 trades in the strategy report above. This is intentional. The goal of the script is to isolate high-quality, short-term reversal opportunities while filtering out low-conviction setups. This means that the Barking Rat Lite strategy is very selective, filtering out over 90% of market noise. The brief timeframe shown in the strategy report here illustrates its filtering logic over a short window — not its full capabilities. As a result, even on lower timeframes like the 1-minute chart, signals are deliberately sparse — each one must pass all criteria before triggering.
For a larger dataset:
Once the strategy is applied to your chart, users are encouraged to expand the lookback range or apply the strategy to other volatile pairs to view a full sample.
💡Why 25% Equity Per Trade?
While it's always best to size positions based on personal risk tolerance, we defaulted to 25% equity per trade in the backtesting data — and here’s why:
Backtests using this sizing show manageable drawdowns even under volatile periods.
The strategy generates a sizeable number of trades, reducing reliance on a single outcome.
Combined with conservative filters, the 25% setting offers a balance between aggression and control.
Users are strongly encouraged to customize this to suit their risk profile.
What makes Barking Rat Lite valuable
Combines multiple layers of confirmation: EMA bands + FVG + RSI
Adaptive to volatility: ATR-based exits scale with market conditions
Clear, actionable visuals: Easy to monitor and manage trades
Bitcoin Logarithmic Growth Curve 2025 Z-Score"The Bitcoin logarithmic growth curve is a concept used to analyze Bitcoin's price movements over time. The idea is based on the observation that Bitcoin's price tends to grow exponentially, particularly during bull markets. It attempts to give a long-term perspective on the Bitcoin price movements.
The curve includes an upper and lower band. These bands often represent zones where Bitcoin's price is overextended (upper band) or undervalued (lower band) relative to its historical growth trajectory. When the price touches or exceeds the upper band, it may indicate a speculative bubble, while prices near the lower band may suggest a buying opportunity.
Unlike most Bitcoin growth curve indicators, this one includes a logarithmic growth curve optimized using the latest 2024 price data, making it, in our view, superior to previous models. Additionally, it features statistical confidence intervals derived from linear regression, compatible across all timeframes, and extrapolates the data far into the future. Finally, this model allows users the flexibility to manually adjust the function parameters to suit their preferences.
The Bitcoin logarithmic growth curve has the following function:
y = 10^(a * log10(x) - b)
In the context of this formula, the y value represents the Bitcoin price, while the x value corresponds to the time, specifically indicated by the weekly bar number on the chart.
How is it made (You can skip this section if you’re not a fan of math):
To optimize the fit of this function and determine the optimal values of a and b, the previous weekly cycle peak values were analyzed. The corresponding x and y values were recorded as follows:
113, 18.55
240, 1004.42
451, 19128.27
655, 65502.47
The same process was applied to the bear market low values:
103, 2.48
267, 211.03
471, 3192.87
676, 16255.15
Next, these values were converted to their linear form by applying the base-10 logarithm. This transformation allows the function to be expressed in a linear state: y = a * x − b. This step is essential for enabling linear regression on these values.
For the cycle peak (x,y) values:
2.053, 1.268
2.380, 3.002
2.654, 4.282
2.816, 4.816
And for the bear market low (x,y) values:
2.013, 0.394
2.427, 2.324
2.673, 3.504
2.830, 4.211
Next, linear regression was performed on both these datasets. (Numerous tools are available online for linear regression calculations, making manual computations unnecessary).
Linear regression is a method used to find a straight line that best represents the relationship between two variables. It looks at how changes in one variable affect another and tries to predict values based on that relationship.
The goal is to minimize the differences between the actual data points and the points predicted by the line. Essentially, it aims to optimize for the highest R-Square value.
Below are the results:
snapshot
snapshot
It is important to note that both the slope (a-value) and the y-intercept (b-value) have associated standard errors. These standard errors can be used to calculate confidence intervals by multiplying them by the t-values (two degrees of freedom) from the linear regression.
These t-values can be found in a t-distribution table. For the top cycle confidence intervals, we used t10% (0.133), t25% (0.323), and t33% (0.414). For the bottom cycle confidence intervals, the t-values used were t10% (0.133), t25% (0.323), t33% (0.414), t50% (0.765), and t67% (1.063).
The final bull cycle function is:
y = 10^(4.058 ± 0.133 * log10(x) – 6.44 ± 0.324)
The final bear cycle function is:
y = 10^(4.684 ± 0.025 * log10(x) – -9.034 ± 0.063)
The main Criticisms of growth curve models:
The Bitcoin logarithmic growth curve model faces several general criticisms that we’d like to highlight briefly. The most significant, in our view, is its heavy reliance on past price data, which may not accurately forecast future trends. For instance, previous growth curve models from 2020 on TradingView were overly optimistic in predicting the last cycle’s peak.
This is why we aimed to present our process for deriving the final functions in a transparent, step-by-step scientific manner, including statistical confidence intervals. It's important to note that the bull cycle function is less reliable than the bear cycle function, as the top band is significantly wider than the bottom band.
Even so, we still believe that the Bitcoin logarithmic growth curve presented in this script is overly optimistic since it goes parly against the concept of diminishing returns which we discussed in this post:
This is why we also propose alternative parameter settings that align more closely with the theory of diminishing returns."
Now with Z-Score calculation for easy and constant valuation classification of Bitcoin according to this metric.
Created for TRW