Zuzukinho//@version=5
indicator("Gelişmiş Al/Sat Botu", overlay=true)
// Parametreler
rsiLength = input(14, title="RSI Uzunluğu")
macdFast = input(12, title="MACD Hızlı EMA")
macdSlow = input(26, title="MACD Yavaş EMA")
macdSignal = input(9, title="MACD Sinyal")
bbLength = input(20, title="Bollinger Band Uzunluğu")
bbMult = input(2.0, title="Bollinger Band Çarpanı")
maLength = input(50, title="Hareketli Ortalama Uzunluğu")
hacimCizelge = input(true, title="Hacim Çizelgesi Göster")
// RSI Hesaplama
rsiValue = ta.rsi(close, rsiLength)
// MACD Hesaplama
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
// Bollinger Bantları Hesaplama
basis = ta.sma(close, bbLength)
deviation = ta.stdev(close, bbLength)
upperBand = basis + bbMult * deviation
lowerBand = basis - bbMult * deviation
// Hareketli Ortalama Hesaplama
ma = ta.sma(close, maLength)
// Hacim Filtreleme
ortalamaHacim = ta.sma(volume, rsiLength)
yuksekHacim = volume > ortalamaHacim
// Alım ve Satım Sinyalleri
alSinyali = ta.crossover(rsiValue, 30) and macdHist > 0 and close < lowerBand and close > ma and yuksekHacim
satSinyali = ta.crossunder(rsiValue, 70) and macdHist < 0 and close > upperBand and close < ma and yuksekHacim
// Grafikte Gösterim
plotshape(alSinyali, title="Al Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, size=size.small)
plotshape(satSinyali, title="Sat Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small)
// Bollinger Bantları Çizimi
plot(upperBand, title="Üst Bollinger Bandı", color=color.new(color.blue, 50))
plot(lowerBand, title="Alt Bollinger Bandı", color=color.new(color.blue, 50))
// Hareketli Ortalama Çizimi
plot(ma, title="Hareketli Ortalama", color=color.orange)
// Hacim Çizelgesi
hacimPlot = hacimCizelge ? volume : na
plot(hacimPlot, color=color.new(color.blue, 50), title="Hacim")
Bands and Channels
High/Mid/Low of the Previous Month, Week and Day + MAIntroducing the Ultimate Price Action Indicator
Take your trading to the next level with this feature-packed indicators. Designed to provide key price insights, this tool offers:
- Monthly, Weekly, and Daily Levels : Displays the High, Midpoint, and Low of the previous month, week, and day.
- Logarithmic Price Lines : Option to plot price levels logarithmically for enhanced accuracy.
- Customizable Labels : Display labels on price lines for better clarity. (This feature is optional.)
- Dual Moving Averages : Add two customizable Moving Averages (Simple, Exponential, or Weighted) directly on the price chart. (This feature is optional.)
This code combines features from the Moving Average Exponential and Daily Weekly Monthly Highs & Lows (sbtnc) indicators, with custom modifications to implement unique personal ideas.
Perfect for traders who want to combine precision with simplicity. Whether you're analyzing historical levels or integrating moving averages into your strategy, this indicator provides everything you need for informed decision-making.
To prevent change chart scale, right click on Price Scale and enable "Scale price chart only"
Linear Regression Channel [TradingFinder] Existing Trend Line🔵 Introduction
The Linear Regression Channel indicator is one of the technical analysis tool, widely used to identify support, resistance, and analyze upward and downward trends.
The Linear Regression Channel comprises five main components : the midline, representing the linear regression line, and the support and resistance lines, which are calculated based on the distance from the midline using either standard deviation or ATR.
This indicator leverages linear regression to forecast price changes based on historical data and encapsulates price movements within a price channel.
The upper and lower lines of the channel, which define resistance and support levels, assist traders in pinpointing entry and exit points, ultimately aiding better trading decisions.
When prices approach these channel lines, the likelihood of interaction with support or resistance levels increases, and breaking through these lines may signal a price reversal or continuation.
Due to its precision in identifying price trends, analyzing trend reversals, and determining key price levels, the Linear Regression Channel indicator is widely regarded as a reliable tool across financial markets such as Forex, stocks, and cryptocurrencies.
🔵 How to Use
🟣 Identifying Entry Signals
One of the primary uses of this indicator is recognizing buy signals. The lower channel line acts as a support level, and when the price nears this line, the likelihood of an upward reversal increases.
In an uptrend : When the price approaches the lower channel line and signs of upward reversal (e.g., reversal candlesticks or high trading volume) are observed, it is considered a buy signal.
In a downtrend : If the price breaks the lower channel line and subsequently re-enters the channel, it may signal a trend change, offering a buying opportunity.
🟣 Identifying Exit Signals
The Linear Regression Channel is also used to identify sell signals. The upper channel line generally acts as a resistance level, and when the price approaches this line, the likelihood of a price decrease increases.
In an uptrend : Approaching the upper channel line and observing weakness in the uptrend (e.g., declining volume or reversal patterns) indicates a sell signal.
In a downtrend : When the price reaches the upper channel line and reverses downward, this is considered a signal to exit trades.
🟣 Analyzing Channel Breakouts
The Linear Regression Channel allows traders to identify price breakouts as strong signals of potential trend changes.
Breaking the upper channel line : Indicates buyer strength and the likelihood of a continued uptrend, often accompanied by increased trading volume.
Breaking the lower channel line : Suggests seller dominance and the possibility of a continued downtrend, providing a strong sell signal.
🟣 Mean Reversion Analysis
A key concept in using the Linear Regression Channel is the tendency for prices to revert to the midline of the channel, which acts as a dynamic moving average, reflecting the price's equilibrium over time.
In uptrends : Significant deviations from the midline increase the likelihood of a price retracement toward the midline.
In downtrends : When prices deviate considerably from the midline, a return toward the midline can be used to identify potential reversal points.
🔵 Settings
🟣 Time Frame
The time frame setting enables users to view higher time frame data on a lower time frame chart. This feature is especially useful for traders employing multi-time frame analysis.
🟣 Regression Type
Standard : Utilizes classical linear regression to draw the midline and channel lines.
Advanced : Produces similar results to the standard method but may provide slightly different alignment on the chart.
🟣 Scaling Type
Standard Deviation : Suitable for markets with stable volatility.
ATR (Average True Range) : Ideal for markets with higher volatility.
🟣 Scaling Coefficients
Larger coefficients create broader channels for broader trend analysis.
Smaller coefficients produce tighter channels for precision analysis.
🟣 Channel Extension
None : No extension.
Left: Extends lines to the left to analyze historical trends.
Right : Extends lines to the right for future predictions.
Both : Extends lines in both directions.
🔵 Conclusion
The Linear Regression Channel indicator is a versatile and powerful tool in technical analysis, providing traders with support, resistance, and midline insights to better understand price behavior. Its advanced settings, including time frame selection, regression type, scaling options, and customizable coefficients, allow for tailored and precise analysis.
One of its standout advantages is its ability to support multi-time frame analysis, enabling traders to view higher time frame data within a lower time frame context. The option to use scaling methods like ATR or standard deviation further enhances its adaptability to markets with varying volatility.
Designed to identify entry and exit signals, analyze mean reversion, and assess channel breakouts, this indicator is suitable for a wide range of markets, including Forex, stocks, and cryptocurrencies. By incorporating this tool into your trading strategy, you can make more informed decisions and improve the accuracy of your market predictions.
Hilega-Milega-RSI-EMA-WMA indicator designed by NKThis indicator is works on RSI, Price and volume to give leading Indicator to Buy or Sell.
This indicator works on all financial markets
Hilega-Milega-RSI-EMA-WMA indicator designed by Nitish Sir
For intraday trade, enter with 15 mins chart.
For positional trade, enter with 1-hour chart.
For Investment this system can be used with daily/weekly/monthly chart.
• RED line is for Volume.
• Green line is for the Price.
• Black line is for the RSI (9).
SELL Trade
1. When Volume (RED line) is above/crossed above Price (Green line) and Strength (Black line), then stock price will go down. This means we will SELL.
2. When there is a GAP in the RED line and the Green line till the time price will go down.
Exit criteria
Whenever Red line exit the shaded area of Oversold zone OR Red line cross over the Green and black line then we will exit.
In case of the SELL trade, after the entry we will monitor the trade in 5 min chart, if the candle is closed above the VWAP then exit.
If the price is crossed the 50 SMA then we will exit trade.
BUY Trade
1. When Volume (RED line) is below/crossed below Price (Green line) and Strength (Black line), then stock price will go up. This means we will BUY.
2. When there is a GAP in the RED line and the Green line till the time price will go down.
Exit criteria
Whenever Red line exit the shaded area of Overbought zone OR Red line cross over the Green and black line then we will exit.
In case of the Buy trade, after the entry we will monitor the trade candle is closed below the VWAP then exit.
If the price is crossed the 50 SMA then we will exit trade.
RShar Liquidity Zone Identifier Description of the Liquidity Zone Identifier Indicator
The **Liquidity Zone Identifier** is a TradingView indicator designed to highlight key liquidity zones on a price chart. Liquidity zones represent areas where the price is likely to encounter significant resistance or support, making them critical for technical analysis and trading decisions.
Key Features:
1. **Dynamic Resistance and Support Levels**:
- The indicator calculates the highest high and lowest low over a user-defined period (`length`) to identify potential resistance and support levels.
- Sensitivity can be adjusted using the `zoneSensitivity` parameter, which defines a percentage buffer around these levels to expand the zones.
2. **Visual Representation**:
- Resistance zones are highlighted in **red**, indicating areas where the price may face selling pressure.
- Support zones are highlighted in **green**, representing areas where the price may find buying interest.
- The zones are displayed as shaded regions using the `fill` function, making them visually distinct and easy to interpret.
3. **Customizable Inputs**:
- **Zone Length** (`length`): Determines the number of candles considered for calculating highs and lows.
- **Zone Sensitivity** (`zoneSensitivity`): Sets the percentage margin around the calculated levels to define the liquidity zones.
- **Zone Colors**: Users can customize the colors for resistance and support zones to suit their preferences.
- **Toggle Fill**: The `showFill` option allows users to enable or disable shaded zone visualization.
4. **Alerts for Trading Opportunities**:
- Alerts are triggered when:
- The price enters the **resistance zone** (current high is greater than or equal to the resistance zone).
- The price enters the **support zone** (current low is less than or equal to the support zone).
- These alerts help traders stay informed of critical market movements without constantly monitoring the chart.
#### How It Works:
1. **Calculation of Zones**:
- The highest high and lowest low over the specified `length` are calculated to define the primary levels.
- A buffer zone is added around these levels based on the `zoneSensitivity` percentage, creating a margin of interaction for price movements.
2. **Plotting the Zones**:
- The top and bottom boundaries of the resistance and support zones are plotted as lines.
- The area between these boundaries is shaded using the `fill` function to enhance visualization.
3. **Alerts for Key Events**:
- Traders are notified when price action interacts with the zones, enabling quick decision-making.
#### Use Case:
The Liquidity Zone Identifier is ideal for:
- Identifying areas of potential price reversal or consolidation.
- Spotting high-probability trading setups near resistance and support zones.
- Complementing other technical indicators in a trading strategy.
By effectively highlighting critical price levels, this indicator provides traders with a powerful tool to navigate the markets with greater precision.
Bollinger Bands Volatility Arrows
Explanation of Changes:
Arrow Style:
Green Up Arrow (▲): Indicates increasing volatility with a positive value.
Red Down Arrow (▼): Indicates decreasing volatility with a negative value.
Labels with Arrows:
label.new is used to create arrows with the label.style_label_up or label.style_label_down styles.
The numerical value of the volatility is displayed beside the arrow using str.tostring.
Label Position:
For increasing volatility, the green arrow is placed near the high of the candle.
For decreasing volatility, the red arrow is placed near the low of the candle.
Text Format:
Includes the arrow symbol and the volatility value (formatted to 4 decimal places).
How It Works:
You’ll see green upward arrows for increasing volatility and red downward arrows for decreasing volatility.
Each arrow includes the exact value of the Bollinger Bands width at that moment.
300-Candle Weighted Average Zones w/50 EMA SignalsThis indicator is designed to deliver a more nuanced view of price dynamics by combining a custom, weighted price average with a volatility-based zone and a trend filter (in this case, a 50-period exponential moving average). The core concept revolves around capturing the overall price level over a relatively large lookback window (300 candles) but with an intentional bias toward recent market activity (the most recent 20 candles), thereby offering a balance between long-term context and short-term responsiveness. By smoothing this weighted average and establishing a “zone” of standard deviation bands around it, the indicator provides a refined visualization of both average price and its recent volatility envelope. Traders can then look for confluence with a standard trend filter, such as the 50 EMA, to identify meaningful crossover signals that may represent trend shifts or opportunities for entry and exit.
What the Indicator Does:
Weighted Price Average:
Instead of using a simple or exponential moving average, this indicator calculates a custom weighted average price over the past 300 candles. Most historical candles receive a base weight of 1.0, but the most recent 20 candles are assigned a higher weight (for example, a weight of 2.0). This weighting scheme ensures that the calculation is not simply a static lookback average; it actively emphasizes current market conditions. The effect is to generate an average line that is more sensitive to the most recent price swings while still maintaining the historical context of the previous 280 candles.
Smoothing of the Weighted Average:
Once the raw weighted average is computed, an exponential smoothing function (EMA) is applied to reduce noise and produce a cleaner, more stable average line. This smoothing helps traders avoid reacting prematurely to minor price fluctuations. By stabilizing the average line, traders can more confidently identify actual shifts in market direction.
Volatility Zone via Standard Deviation Bands:
To contextualize how far price can deviate from this weighted average, the indicator uses standard deviation. Standard deviation is a statistical measure of volatility—how spread out the price values are around the mean. By adding and subtracting one standard deviation from the smoothed weighted average, the indicator plots an upper band and a lower band, creating a zone or channel. The area between these bands is filled, often with a semi-transparent color, highlighting a volatility corridor within which price and the EMA might oscillate.
This zone is invaluable in visualizing “normal” price behavior. When the 50 EMA line and the weighted average line are both within this volatility zone, it indicates that the market’s short- to mid-term trend and its average pricing are aligned well within typical volatility bounds.
Incorporation of a 50-Period EMA:
The inclusion of a commonly used trend filter, the 50 EMA, adds another layer of context to the analysis. The 50 EMA, being a widely recognized moving average length, is often considered a baseline for intermediate trend bias. It reacts faster than a long-term average (like a 200 EMA) but is still stable enough to filter out the market “chop” seen in very short-term averages.
By overlaying the 50 EMA on this custom weighted average and the surrounding volatility zone, the trader gains a dual-dimensional perspective:
Trend Direction: If the 50 EMA is generally above the weighted average, the short-term trend is gaining bullish momentum; if it’s below, the short-term trend has a bearish tilt.
Volatility Normalization: The bands, constructed from standard deviations, provide a sense of whether the price and the 50 EMA are operating within a statistically “normal” range. If the EMA crosses the weighted average within this zone, it signals a potential trend initiation or meaningful shift, as opposed to a random price spike outside normal volatility boundaries.
Why a Trader Would Want to Use This Indicator:
Contextualized Price Level:
Standard MAs may not fully incorporate the most recent price dynamics in a large lookback window. By weighting the most recent candles more heavily, this indicator ensures that the trader is always anchored to what the market is currently doing, not just what it did 100 or 200 candles ago.
Reduced Whipsaw with Smoothing:
The smoothed weighted average line reduces noise, helping traders filter out inconsequential price movements. This makes it easier to spot genuine changes in trend or sentiment.
Visual Volatility Gauge:
The standard deviation bands create a visual representation of “normal” price movement. Traders can quickly assess if a breakout or breakdown is statistically significant or just another oscillation within the expected volatility range.
Clear Trade Signals with Confirmation:
By integrating the 50 EMA and designing signals that trigger only when the 50 EMA crosses above or below the weighted average while inside the zone, the indicator provides a refined entry/exit criterion. This avoids chasing breakouts that occur in abnormal volatility conditions and focuses on those crossovers likely to have staying power.
How to Use It in an Example Strategy:
Imagine you are a swing trader looking to identify medium-term trend changes. You apply this indicator to a chart of a popular currency pair or a leading tech stock. Over the past few days, the 50 EMA has been meandering around the weighted average line, both confined within the standard deviation zone.
Bullish Example:
Suddenly, the 50 EMA crosses decisively above the weighted average line while both are still hovering within the volatility zone. This might be your cue: you interpret this crossover as the 50 EMA acknowledging the recent upward shift in price dynamics that the weighted average has highlighted. Since it occurred inside the normal volatility range, it’s less likely to be a head-fake. You place a long position, setting an initial stop just below the lower band to protect against volatility.
If the price continues to rise and the EMA stays above the average, you have confirmation to hold the trade. As the price moves higher, the weighted average may follow, reinforcing your bullish stance.
Bearish Example:
On the flip side, if the 50 EMA crosses below the weighted average line within the zone, it suggests a subtle but meaningful change in trend direction to the downside. You might short the asset, placing your protective stop just above the upper band, expecting that the statistically “normal” level of volatility will contain the price action. If the price does break above those bands later, it’s a sign your trade may not work out as planned.
Other Indicators for Confluence:
To strengthen the reliability of the signals generated by this weighted average zone approach, traders may want to combine it with other technical studies:
Volume Indicators (e.g., Volume Profile, OBV):
Confirm that the trend crossover inside the volatility zone is supported by volume. For instance, an uptrend crossover combined with increasing On-Balance Volume (OBV) or volume spikes on up candles signals stronger buying pressure behind the price action.
Momentum Oscillators (e.g., RSI, Stochastics):
Before taking a crossover signal, check if the RSI is above 50 and rising for bullish entries, or if the Stochastics have turned down from overbought levels for bearish entries. Momentum confirmation can help ensure that the trend change is not just an isolated random event.
Market Structure Tools (e.g., Pivot Points, Swing High/Low Analysis):
Identify if the crossover event coincides with a break of a previous pivot high or low. A bullish crossover inside the zone aligned with a break above a recent swing high adds further strength to your conviction. Conversely, a bearish crossover confirmed by a breakdown below a previous swing low can make a short trade setup more compelling.
Volume-Weighted Average Price (VWAP):
Comparing where the weighted average zone lies relative to VWAP can provide institutional insight. If the bullish crossover happens while the price is also holding above VWAP, it can mean that the average participant in the market is in profit and that the trend is likely supported by strong hands.
This indicator serves as a tool to balance long-term perspective, short-term adaptability, and volatility normalization. It can be a valuable addition to a trader’s toolkit, offering enhanced clarity and precision in detecting meaningful shifts in trend, especially when combined with other technical indicators and robust risk management principles.
Options Betting Range - Extended# Options Betting Range - Extended
**Options Betting Range - Extended** is a versatile TradingView indicator designed to assist traders in identifying and visualizing optimal options trading ranges for multiple symbols. By leveraging predefined prediction and execution dates along with specific high and low price points, this indicator dynamically draws trendlines to highlight potential options betting zones, enhancing your trading strategy and decision-making process.
## **Key Features**
- **Multi-Symbol Support:** Automatically adapts to popular symbols such as SPY, IWM, QQQ, DIA, TLT, and GOOG, providing tailored options betting ranges for each.
- **Dynamic Trendlines:** Draws both dashed and solid trendlines based on user-defined prediction and execution dates, clearly marking high and low price boundaries.
- **Customizable Parameters:** Easily configure prediction and execution dates, high and low prices, and timezones to suit your specific trading requirements.
- **Single Execution:** Ensures that each trendline is drawn only once per specified prediction date, preventing clutter and maintaining chart clarity.
- **Clear Visual Indicators:** Utilizes color-coded labels to denote high (green) and low (red) price points, making it easy to identify critical trading levels at a glance.
## **How It Works**
1. **Initialization:**
- Upon adding the indicator to your chart, it initializes with predefined symbols and their corresponding high and low price points for two trendlines each.
2. **Configuration:**
- **Trendline 1:**
- **Prediction Date:** Set the year, month, and day when the trendline should be predicted.
- **Execution Date:** Define the year, month, and day when the trendline will be executed.
- **Timezone:** Choose the appropriate timezone to ensure accurate date matching.
- **Trendline 2:**
- Similarly, configure the prediction and execution dates along with the timezone.
3. **Trendline Drawing:**
- On reaching the specified prediction date, the indicator draws dashed trendlines representing the high and low price ranges.
- Solid trendlines are then drawn to solidify the high and low price boundaries.
- Labels are added to clearly mark the high and low price points on the chart.
4. **Visualization:**
- The trendlines and labels provide a visual framework for potential options trading ranges, allowing traders to make informed decisions based on these predefined levels.
## **How to Use**
1. **Add the Indicator:**
- Open your TradingView chart and apply the **Options Betting Range - Extended** indicator.
2. **Select a Symbol:**
- Ensure that the chart is set to one of the supported symbols (e.g., SPY, IWM, QQQ, DIA, TLT, GOOG) to activate the corresponding trendline configurations.
3. **Configure Trendline Parameters:**
- Access the indicator settings to input your desired prediction and execution dates, high and low prices, and select the appropriate timezone for each trendline.
4. **Monitor Trendlines:**
- As the chart progresses to the specified prediction dates, observe the dynamically drawn trendlines and labels indicating the options betting ranges.
5. **Make Informed Trades:**
- Utilize the visual cues provided by the trendlines to identify optimal entry and exit points for your options trading strategies.
## **Benefits**
- **Enhanced Strategy Visualization:** Clearly outlines potential trading ranges, aiding in the formulation and execution of precise options strategies.
- **Time-Saving Automation:** Automatically draws trendlines based on your configurations, reducing the need for manual chart analysis.
- **Improved Decision-Making:** Provides objective price levels for trading, minimizing emotional bias and enhancing analytical precision.
## **Important Considerations**
- **Timezone Accuracy:** Ensure that the timezones selected in the indicator settings align with your chart's timezone to maintain accurate date matching.
- **Chart Timeframe:** The prediction dates should correspond to the timeframe of your chart (e.g., daily, hourly) to ensure that trendlines are triggered correctly.
- **Visible Price Range:** Verify that the high and low prices set for trendlines are within the visible range of your chart to ensure that all trendlines and labels are clearly visible.
## **Conclusion**
**Options Betting Range - Extended** is a powerful tool for traders seeking to automate and visualize their options trading ranges across multiple symbols. By providing clear, customizable trendlines based on specific prediction and execution dates, this indicator enhances your ability to identify and act upon strategic trading opportunities with confidence.
---
DCA Strategy with Mean Reversion and Bollinger BandDCA Strategy with Mean Reversion and Bollinger Band
The Dollar-Cost Averaging (DCA) Strategy with Mean Reversion and Bollinger Bands is a sophisticated trading strategy that combines the principles of DCA, mean reversion, and technical analysis using Bollinger Bands. This strategy aims to capitalize on market corrections by systematically entering positions during periods of price pullbacks and reversion to the mean.
Key Concepts and Principles
1. Dollar-Cost Averaging (DCA)
DCA is an investment strategy that involves regularly purchasing a fixed dollar amount of an asset, regardless of its price. The idea behind DCA is that by spreading out investments over time, the impact of market volatility is reduced, and investors can avoid making large investments at inopportune times. The strategy reduces the risk of buying all at once during a market high and can smooth out the cost of purchasing assets over time.
In the context of this strategy, the Investment Amount (USD) is set by the user and represents the amount of capital to be invested in each buy order. The strategy executes buy orders whenever the price crosses below the lower Bollinger Band, which suggests a potential market correction or pullback. This is an effective way to average the entry price and avoid the emotional pitfalls of trying to time the market perfectly.
2. Mean Reversion
Mean reversion is a concept that suggests prices will tend to return to their historical average or mean over time. In this strategy, mean reversion is implemented using the Bollinger Bands, which are based on a moving average and standard deviation. The lower band is considered a potential buy signal when the price crosses below it, indicating that the asset has become oversold or underpriced relative to its historical average. This triggers the DCA buy order.
Mean reversion strategies are popular because they exploit the natural tendency of prices to revert to their mean after experiencing extreme deviations, such as during market corrections or panic selling.
3. Bollinger Bands
Bollinger Bands are a technical analysis tool that consists of three lines:
Middle Band: The moving average, usually a 200-period Exponential Moving Average (EMA) in this strategy. This serves as the "mean" or baseline.
Upper Band: The middle band plus a certain number of standard deviations (multiplier). The upper band is used to identify overbought conditions.
Lower Band: The middle band minus a certain number of standard deviations (multiplier). The lower band is used to identify oversold conditions.
In this strategy, the Bollinger Bands are used to identify potential entry points for DCA trades. When the price crosses below the lower band, this is seen as a potential opportunity for mean reversion, suggesting that the asset may be oversold and could reverse back toward the middle band (the EMA). Conversely, when the price crosses above the upper band, it indicates overbought conditions and signals potential market exhaustion.
4. Time-Based Entry and Exit
The strategy has specific entry and exit points defined by time parameters:
Open Date: The date when the strategy begins opening positions.
Close Date: The date when all positions are closed.
This time-bound approach ensures that the strategy is active only during a specified window, which can be useful for testing specific market conditions or focusing on a particular time frame.
5. Position Sizing
Position sizing is determined by the Investment Amount (USD), which is the fixed amount to be invested in each buy order. The quantity of the asset to be purchased is calculated by dividing the investment amount by the current price of the asset (investment_amount / close). This ensures that the amount invested remains constant despite fluctuations in the asset's price.
6. Closing All Positions
The strategy includes an exit rule that closes all positions once the specified close date is reached. This allows for controlled exits and limits the exposure to market fluctuations beyond the strategy's timeframe.
7. Background Color Based on Price Relative to Bollinger Bands
The script uses the background color of the chart to provide visual feedback about the price's relationship with the Bollinger Bands:
Red background indicates the price is above the upper band, signaling overbought conditions.
Green background indicates the price is below the lower band, signaling oversold conditions.
This provides an easy-to-interpret visual cue for traders to assess the current market environment.
Postscript: Configuring Initial Capital for Backtesting
To ensure the backtest results align with the actual investment scenario, users must adjust the Initial Capital in the TradingView strategy properties. This is done by calculating the Initial Capital as the product of the Total Closed Trades and the Investment Amount (USD). For instance:
If the user is investing 100 USD per trade and has 10 closed trades, the Initial Capital should be set to 1,000 USD.
Similarly, if the user is investing 200 USD per trade and has 24 closed trades, the Initial Capital should be set to 4,800 USD.
This adjustment ensures that the backtesting results reflect the actual capital deployed in the strategy and provides an accurate representation of potential gains and losses.
Conclusion
The DCA strategy with Mean Reversion and Bollinger Bands is a systematic approach to investing that leverages the power of regular investments and technical analysis to reduce market timing risks. By combining DCA with the insights offered by Bollinger Bands and mean reversion, this strategy offers a structured way to navigate volatile markets while targeting favorable entry points. The clear entry and exit rules, coupled with time-based constraints, make it a robust and disciplined approach to long-term investing.
Smoothed Source Weighted EMAThe Smoothed Source EMA is a tool designed to help traders identify potential buying and selling opportunities in the market. It combines two key elements: price smoothing (using standard deviation) and an Exponential Moving Average (EMA). The purpose is to filter out the day-to-day price fluctuations and create clearer buy and sell signals.
Key Concepts Behind the Indicator:
Price Smoothing (Standard Deviation):
To make the price action easier to follow, the indicator first "smooths" the price. This is done by looking at how much the price tends to move up and down (known as standard deviation).
It then creates two "bands" around the current price—one above and one below. These bands represent a smoothed version of the price and help filter out the noise caused by small, random price movements.
Exponential Moving Average (EMA):
The indicator also uses an Exponential Moving Average (EMA), which is a line that represents the average price over a certain period of time (but gives more weight to recent prices). The EMA helps capture the general trend of the price.
The indicator uses this EMA to compare the current price with the overall trend.
How Does the Indicator Work?
Once the indicator calculates the smoothed price bands and the EMA, it looks for specific conditions to trigger a buy or sell signal:
Long (Buy) Signal:
A buy signal happens when the smoothed price (the lower band) is above the EMA. In simple terms, the price is moving up, and the indicator is telling you it's a good time to buy.
The more "weight" or influence you give to the EMA, the slower this buy signal will appear, meaning it’ll only trigger when there’s a strong enough upward movement.
Short (Sell) Signal:
A sell signal occurs when the smoothed price (the upper band) is below the EMA. This suggests the price is moving down, and the indicator signals that it might be time to sell.
Again, the more "weight" you put on the EMA, the slower the sell signal will appear, as the indicator waits for a clearer downtrend.
Why is this Useful for Traders?
Smoothing the Price: Many traders struggle with the noise of price fluctuations, where the price moves up and down quickly without a clear trend. By smoothing the price, this indicator helps traders focus on the bigger picture and avoid reacting to every small movement.
Clear Buy and Sell Signals: The indicator generates easy-to-understand buy and sell signals based on the relationship between the smoothed price and the EMA. If the price is above the smoothed level and EMA, it’s a signal to buy. If it’s below, it’s a signal to sell.
Customizable Sensitivity: The indicator lets traders adjust how sensitive the buy and sell signals are. By changing certain settings, such as the smoothing length and the weight of the EMA, traders can make the indicator react faster or slower depending on how quickly they want to catch changes in the market.
How the Indicator Appears on the Chart:
EMA Line: A line that represents the trend of the price.
Upper and Lower Smoothed Bands: Two bands above and below the price that help identify when the price is moving up or down relative to the trend.
Buy and Sell Arrows: Small arrows on the chart show where the indicator suggests buying or selling.
Colored Bars: The bars on the chart may change color to visually indicate whether the indicator suggests a buy (green) or a sell (red).
In Summary:
The Smoothed Source EMA helps you identify trends by smoothing out price movements using standard deviation, then comparing these smoothed prices with the Exponential Moving Average (EMA).
When the smoothed price moves above or below the EMA, it gives you a signal: a buy when the smoothed price is above the EMA, and a sell when it’s below.
You can adjust how quickly or slowly these signals appear by modifying the settings, giving you control over how sensitive the indicator is to changes in the market.
This indicator is useful for traders who want to reduce noise and focus on the overall trend, using clear, visually simple signals to guide their trading decisions.
Hybrid Adaptive Double Exponential Smoothing🙏🏻 This is HADES (Hybrid Adaptive Double Exponential Smoothing) : fully data-driven & adaptive exponential smoothing method, that gains all the necessary info directly from data in the most natural way and needs no subjective parameters & no optimizations. It gets applied to data itself -> to fit residuals & one-point forecast errors, all at O(1) algo complexity. I designed it for streaming high-frequency univariate time series data, such as medical sensor readings, orderbook data, tick charts, requests generated by a backend, etc.
The HADES method is:
fit & forecast = a + b * (1 / alpha + T - 1)
T = 0 provides in-sample fit for the current datum, and T + n provides forecast for n datapoints.
y = input time series
a = y, if no previous data exists
b = 0, if no previous data exists
otherwise:
a = alpha * y + (1 - alpha) * a
b = alpha * (a - a ) + (1 - alpha) * b
alpha = 1 / sqrt(len * 4)
len = min(ceil(exp(1 / sig)), available data)
sig = sqrt(Absolute net change in y / Sum of absolute changes in y)
For the start datapoint when both numerator and denominator are zeros, we define 0 / 0 = 1
...
The same set of operations gets applied to the data first, then to resulting fit absolute residuals to build prediction interval, and finally to absolute forecasting errors (from one-point ahead forecast) to build forecasting interval:
prediction interval = data fit +- resoduals fit * k
forecasting interval = data opf +- errors fit * k
where k = multiplier regulating intervals width, and opf = one-point forecasts calculated at each time t
...
How-to:
0) Apply to your data where it makes sense, eg. tick data;
1) Use power transform to compensate for multiplicative behavior in case it's there;
2) If you have complete data or only the data you need, like the full history of adjusted close prices: go to the next step; otherwise, guided by your goal & analysis, adjust the 'start index' setting so the calculations will start from this point;
3) Use prediction interval to detect significant deviations from the process core & make decisions according to your strategy;
4) Use one-point forecast for nowcasting;
5) Use forecasting intervals to ~ understand where the next datapoints will emerge, given the data-generating process will stay the same & lack structural breaks.
I advise k = 1 or 1.5 or 4 depending on your goal, but 1 is the most natural one.
...
Why exponential smoothing at all? Why the double one? Why adaptive? Why not Holt's method?
1) It's O(1) algo complexity & recursive nature allows it to be applied in an online fashion to high-frequency streaming data; otherwise, it makes more sense to use other methods;
2) Double exponential smoothing ensures we are taking trends into account; also, in order to model more complex time series patterns such as seasonality, we need detrended data, and this method can be used to do it;
3) The goal of adaptivity is to eliminate the window size question, in cases where it doesn't make sense to use cumulative moving typical value;
4) Holt's method creates a certain interaction between level and trend components, so its results lack symmetry and similarity with other non-recursive methods such as quantile regression or linear regression. Instead, I decided to base my work on the original double exponential smoothing method published by Rob Brown in 1956, here's the original source , it's really hard to find it online. This cool dude is considered the one who've dropped exponential smoothing to open access for the first time🤘🏻
R&D; log & explanations
If you wanna read this, you gotta know, you're taking a great responsability for this long journey, and it gonna be one hell of a trip hehe
Machine learning, apprentissage automatique, машинное обучение, digital signal processing, statistical learning, data mining, deep learning, etc., etc., etc.: all these are just artificial categories created by the local population of this wonderful world, but what really separates entities globally in the Universe is solution complexity / algorithmic complexity.
In order to get the game a lil better, it's gonna be useful to read the HTES script description first. Secondly, let me guide you through the whole R&D; process.
To discover (not to invent) the fundamental universal principle of what exponential smoothing really IS, it required the review of the whole concept, understanding that many things don't add up and don't make much sense in currently available mainstream info, and building it all from the beginning while avoiding these very basic logical & implementation flaws.
Given a complete time t, and yet, always growing time series population that can't be logically separated into subpopulations, the very first question is, 'What amount of data do we need to utilize at time t?'. Two answers: 1 and all. You can't really gain much info from 1 datum, so go for the second answer: we need the whole dataset.
So, given the sequential & incremental nature of time series, the very first and basic thing we can do on the whole dataset is to calculate a cumulative , such as cumulative moving mean or cumulative moving median.
Now we need to extend this logic to exponential smoothing, which doesn't use dataset length info directly, but all cool it can be done via a formula that quantifies the relationship between alpha (smoothing parameter) and length. The popular formulas used in mainstream are:
alpha = 1 / length
alpha = 2 / (length + 1)
The funny part starts when you realize that Cumulative Exponential Moving Averages with these 2 alpha formulas Exactly match Cumulative Moving Average and Cumulative (Linearly) Weighted Moving Average, and the same logic goes on:
alpha = 3 / (length + 1.5) , matches Cumulative Weighted Moving Average with quadratic weights, and
alpha = 4 / (length + 2) , matches Cumulative Weighted Moving Average with cubic weghts, and so on...
It all just cries in your shoulder that we need to discover another, native length->alpha formula that leverages the recursive nature of exponential smoothing, because otherwise, it doesn't make sense to use it at all, since the usual CMA and CMWA can be computed incrementally at O(1) algo complexity just as exponential smoothing.
From now on I will not mention 'cumulative' or 'linearly weighted / weighted' anymore, it's gonna be implied all the time unless stated otherwise.
What we can do is to approach the thing logically and model the response with a little help from synthetic data, a sine wave would suffice. Then we can think of relationships: Based on algo complexity from lower to higher, we have this sequence: exponential smoothing @ O(1) -> parametric statistics (mean) @ O(n) -> non-parametric statistics (50th percentile / median) @ O(n log n). Based on Initial response from slow to fast: mean -> median Based on convergence with the real expected value from slow to fast: mean (infinitely approaches it) -> median (gets it quite fast).
Based on these inputs, we need to discover such a length->alpha formula so the resulting fit will have the slowest initial response out of all 3, and have the slowest convergence with expected value out of all 3. In order to do it, we need to have some non-linear transformer in our formula (like a square root) and a couple of factors to modify the response the way we need. I ended up with this formula to meet all our requirements:
alpha = sqrt(1 / length * 2) / 2
which simplifies to:
alpha = 1 / sqrt(len * 8)
^^ as you can see on the screenshot; where the red line is median, the blue line is the mean, and the purple line is exponential smoothing with the formulas you've just seen, we've met all the requirements.
Now we just have to do the same procedure to discover the length->alpha formula but for double exponential smoothing, which models trends as well, not just level as in single exponential smoothing. For this comparison, we need to use linear regression and quantile regression instead of the mean and median.
Quantile regression requires a non-closed form solution to be solved that you can't really implement in Pine Script, but that's ok, so I made the tests using Python & sklearn:
paste.pics
^^ on this screenshot, you can see the same relationship as on the previous screenshot, but now between the responses of quantile regression & linear regression.
I followed the same logic as before for designing alpha for double exponential smoothing (also considered the initial overshoots, but that's a little detail), and ended up with this formula:
alpha = sqrt(1 / length) / 2
which simplifies to:
alpha = 1 / sqrt(len * 4)
Btw, given the pattern you see in the resulting formulas for single and double exponential smoothing, if you ever want to do triple (not Holt & Winters) exponential smoothing, you'll need len * 2 , and just len * 1 for quadruple exponential smoothing. I hope that based on this sequence, you see the hint that Maybe 4 rounds is enough.
Now since we've dealt with the length->alpha formula, we can deal with the adaptivity part.
Logically, it doesn't make sense to use a slower-than-O(1) method to generate input for an O(1) method, so it must be something universal and minimalistic: something that will help us measure consistency in our data, yet something far away from statistics and close enough to topology.
There's one perfect entity that can help us, this is fractal efficiency. The way I define fractal efficiency can be checked at the very beginning of the post, what matters is that I add a square root to the formula that is not typically added.
As explained in the description of my metric QSFS , one of the reasons for SQRT-transformed values of fractal efficiency applied in moving window mode is because they start to closely resemble normal distribution, yet with support of (0, 1). Data with this interesting property (normally distributed yet with finite support) can be modeled with the beta distribution.
Another reason is, in infinitely expanding window mode, fractal efficiency of every time series that exhibits randomness tends to infinitely approach zero, sqrt-transform kind of partially neutralizes this effect.
Yet another reason is, the square root might better reflect the dimensional inefficiency or degree of fractal complexity, since it could balance the influence of extreme deviations from the net paths.
And finally, fractals exhibit power-law scaling -> measures like length, area, or volume scale in a non-linear way. Adding a square root acknowledges this intrinsic property, while connecting our metric with the nature of fractals.
---
I suspect that, given analogies and connections with other topics in geometry, topology, fractals and most importantly positive test results of the metric, it might be that the sqrt transform is the fundamental part of fractal efficiency that should be applied by default.
Now the last part of the ballet is to convert our fractal efficiency to length value. The part about inverse proportionality is obvious: high fractal efficiency aka high consistency -> lower window size, to utilize only the last data that contain brand new information that seems to be highly reliable since we have consistency in the first place.
The non-obvious part is now we need to neutralize the side effect created by previous sqrt transform: our length values are too low, and exponentiation is the perfect candidate to fix it since translating fractal efficiency into window sizes requires something non-linear to reflect the fractal dynamics. More importantly, using exp() was the last piece that let the metric shine, any other transformations & formulas alike I've tried always had some weird results on certain data.
That exp() in the len formula was the last piece that made it all work both on synthetic and on real data.
^^ a standalone script calculating optimal dynamic window size
Omg, THAT took time to write. Comment and/or text me if you need
...
"Versace Pip-Boy, I'm a young gun coming up with no bankroll" 👻
∞
2-Year MA Multiplier [UAlgo]The 2-Year MA Multiplier is a technical analysis tool designed to assist traders and investors in identifying potential overbought and oversold conditions in the market. By plotting the 2-year moving average (MA) of an asset's closing price alongside an upper band set at five times this moving average, the indicator provides visual cues to assess long-term price trends and significant market movements.
🔶 Key Features
2-Year Moving Average (MA): Calculates the simple moving average of the asset's closing price over a 730-day period, representing approximately two years.
Visual Indicators: Plots the 2-year MA in forest green and the upper band in firebrick red for clear differentiation.
Fills the area between the 2-year MA and the upper band to highlight the normal trading range.
Uses color-coded fills to indicate overbought (tomato red) and oversold (cornflower blue) conditions based on the asset's closing price relative to the bands.
🔶 Idea
The concept behind the 2-Year MA Multiplier is rooted in the cyclical nature of markets, particularly in assets like Bitcoin. By analyzing long-term price movements, the indicator aims to identify periods of significant deviation from the norm, which may signal potential buying or selling opportunities.
2-year MA smooths out short-term volatility, providing a clearer view of the asset's long-term trend. This timeframe is substantial enough to capture major market cycles, making it a reliable baseline for analysis.
Multiplying the 2-year MA by five establishes an upper boundary that has historically correlated with market tops. When the asset's price exceeds this upper band, it may indicate overbought conditions, suggesting a potential for price correction. Conversely, when the price falls below the 2-year MA, it may signal oversold conditions, presenting potential buying opportunities.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
X4 Moving AverageThe X4 Moving Averages (X4MA) indicator is designed to provide traders with an enhanced view of market trends by combining multiple dimensions of price data. Unlike traditional moving averages that rely solely on closing prices, X4MA integrates high, low, open, and close values for a more nuanced analysis of market movements.
1- High-Low Average (HLAvg):
Captures the market's range during a given period:
HLAvg = (High + Low) / 2
2- Open-Close Average (OCAvg):
Reflects the directional momentum of the price during the same period:
OCAvg = (Open + Close) / 2
3- Combined Average (CMA):
Combines the range (HLAvg) and momentum (OCAvg) for a balanced view of price behavior:
CMA = (HLAvg + OCAvg) / 2
4- Exponential Moving Average (X4MA):
Smooths the combined average using an EMA for better responsiveness to recent price changes while filtering noise:
X4MA = EMA(CMA, Length)
Time Appliconic Macro | ForTF5m (Fixed)The Time Appliconic Macro (TAMcr) is a custom-built trading indicator designed for the 5-minute time frame (TF5m), providing traders with clear Buy and Sell signals based on precise technical conditions and specific time windows.
Key Features:
Dynamic Moving Average (MA):
The indicator utilizes a Simple Moving Average (SMA) to identify price trends.
Adjustable length for user customization.
Custom STARC Bands:
Upper and lower bands are calculated using the SMA and the Average True Range (ATR).
Includes a user-defined multiplier to adjust the band width for flexibility across different market conditions.
RSI Integration:
Signals are filtered using the Relative Strength Index (RSI), ensuring they align with overbought/oversold conditions.
Time-Based Signal Filtering:
Signals are generated only during specific time windows, allowing traders to focus on high-activity periods or times of personal preference.
Supports multiple custom time ranges with automatic adjustments for UTC-4 or UTC-5 offsets.
Clear Signal Visualization:
Buy Signals: Triggered when the price is below the lower band, RSI indicates oversold conditions, and the time is within the defined range.
Sell Signals: Triggered when the price is above the upper band, RSI indicates overbought conditions, and the time is within the defined range.
Signals are marked directly on the chart for easy identification.
Customizability:
Adjustable parameters for the Moving Average length, ATR length, and ATR multiplier.
Time zone selection and defined trading windows provide a tailored experience for global users.
Who is this Indicator For?
This indicator is perfect for intraday traders who operate in the 5-minute time frame and value clear, filtered signals based on price action, volatility, and momentum indicators. The time window functionality is ideal for traders focusing on specific market sessions or personal schedules.
How to Use:
Adjust the MA and ATR parameters to match your trading style or market conditions.
Set the desired time zone and time ranges to align with your preferred trading hours.
Monitor the chart for Buy (green) and Sell (red) signals, and use them as a guide for entering or exiting trades.
Auto-Support v 0.3The "Auto-Support v 0.3" indicator is designed to automatically detect and plot multiple levels of support and resistance on a chart. It aims to help traders identify key price levels where the market tends to reverse or consolidate. Here’s a breakdown of its functionality and goals:
Objective:
The primary objective of the Auto-Support v 0.3 indicator is to provide traders with a clear, visual representation of support and resistance levels. These levels are determined based on a predefined sensitivity parameter, which adjusts how tightly or loosely the indicator reacts to recent price movements. The indicator can be applied to any chart to assist in identifying potential entry and exit points for trades, enhancing technical analysis by displaying these important price zones.
Description:
Support and Resistance Calculation:
The indicator calculates multiple levels of support and resistance using the highest and lowest prices over a defined period. The "sensitivity" parameter, which ranges from 1 to 10, determines how sensitive the calculation is to recent price changes. A higher value increases the number of bars used to calculate these levels, making the levels more stable but less responsive to short-term price movements.
Visual Representation:
The support levels are drawn in green with a customizable transparency setting, while resistance levels are displayed in red with similar transparency controls. This visual representation helps traders identify these levels on the chart and see the strength or weakness of the support/resistance zones depending on the transparency setting.
Multiple Levels:
The indicator plots 10 distinct levels of support and resistance (from 1 to 10), which can offer a more granular view of price action. Traders can use these levels to assess potential breakout or breakdown points.
Customization:
Sensitivity: The sensitivity input allows traders to adjust how aggressively the indicator reacts to recent price data. This ensures flexibility, enabling the indicator to be tailored to different trading styles and market conditions.
Transparency: The transparency input adjusts the visual opacity of the support and resistance lines, making it easier to overlay the indicator without obscuring other chart elements.
Key Goals:
Dynamic Support/Resistance Identification: Automatically detect and display relevant support and resistance levels based on price history, removing the need for manual chart analysis.
Customizable Sensitivity: Offer a flexible method to adjust how the indicator identifies key levels, allowing it to fit different market conditions.
Clear Visualization: Provide easy-to-read support and resistance levels with customizable colors and transparencies, enhancing visual clarity and decision-making.
Multiple Levels: Display up to 10 levels of support and resistance, allowing traders to consider both short-term and longer-term price action when making trading decisions.
By using this indicator, traders can more effectively identify key price zones where price may reverse, consolidate, or break out, providing a solid foundation for developing trading strategies.
Ensemble Alerts█ OVERVIEW
This indicator creates highly customizable alert conditions and messages by combining several technical conditions into groups , which users can specify directly from the "Settings/Inputs" tab. It offers a flexible framework for building and testing complex alert conditions without requiring code modifications for each adjustment.
█ CONCEPTS
Ensemble analysis
Ensemble analysis is a form of data analysis that combines several "weaker" models to produce a potentially more robust model. In a trading context, one of the most prevalent forms of ensemble analysis is the aggregation (grouping) of several indicators to derive market insights and reinforce trading decisions. With this analysis, traders typically inspect multiple indicators, signaling trade actions when specific conditions or groups of conditions align.
Simplifying ensemble creation
Combining indicators into one or more ensembles can be challenging, especially for users without programming knowledge. It usually involves writing custom scripts to aggregate the indicators and trigger trading alerts based on the confluence of specific conditions. Making such scripts customizable via inputs poses an additional challenge, as it often involves complicated input menus and conditional logic.
This indicator addresses these challenges by providing a simple, flexible input menu where users can easily define alert criteria by listing groups of conditions from various technical indicators in simple text boxes . With this script, you can create complex alert conditions intuitively from the "Settings/Inputs" tab without ever writing or modifying a single line of code. This framework makes advanced alert setups more accessible to non-coders. Additionally, it can help Pine programmers save time and effort when testing various condition combinations.
█ FEATURES
Configurable alert direction
The "Direction" dropdown at the top of the "Settings/Inputs" tab specifies the allowed direction for the alert conditions. There are four possible options:
• Up only : The indicator only evaluates upward conditions.
• Down only : The indicator only evaluates downward conditions.
• Up and down (default): The indicator evaluates upward and downward conditions, creating alert triggers for both.
• Alternating : The indicator prevents alert triggers for consecutive conditions in the same direction. An upward condition must be the first occurrence after a downward condition to trigger an alert, and vice versa for downward conditions.
Flexible condition groups
This script features six text inputs where users can define distinct condition groups (ensembles) for their alerts. An alert trigger occurs if all the conditions in at least one group occur.
Each input accepts a comma-separated list of numbers with optional spaces (e.g., "1, 4, 8"). Each listed number, from 1 to 35, corresponds to a specific individual condition. Below are the conditions that the numbers represent:
1 — RSI above/below threshold
2 — RSI below/above threshold
3 — Stoch above/below threshold
4 — Stoch below/above threshold
5 — Stoch K over/under D
6 — Stoch K under/over D
7 — AO above/below threshold
8 — AO below/above threshold
9 — AO rising/falling
10 — AO falling/rising
11 — Supertrend up/down
12 — Supertrend down/up
13 — Close above/below MA
14 — Close below/above MA
15 — Close above/below open
16 — Close below/above open
17 — Close increase/decrease
18 — Close decrease/increase
19 — Close near Donchian top/bottom (Close > (Mid + HH) / 2)
20 — Close near Donchian bottom/top (Close < (Mid + LL) / 2)
21 — New Donchian high/low
22 — New Donchian low/high
23 — Rising volume
24 — Falling volume
25 — Volume above average (Volume > SMA(Volume, 20))
26 — Volume below average (Volume < SMA(Volume, 20))
27 — High body to range ratio (Abs(Close - Open) / (High - Low) > 0.5)
28 — Low body to range ratio (Abs(Close - Open) / (High - Low) < 0.5)
29 — High relative volatility (ATR(7) > ATR(40))
30 — Low relative volatility (ATR(7) < ATR(40))
31 — External condition 1
32 — External condition 2
33 — External condition 3
34 — External condition 4
35 — External condition 5
These constituent conditions fall into three distinct categories:
• Directional pairs : The numbers 1-22 correspond to pairs of opposing upward and downward conditions. For example, if one of the inputs includes "1" in the comma-separated list, that group uses the "RSI above/below threshold" condition pair. In this case, the RSI must be above a high threshold for the group to trigger an upward alert, and the RSI must be below a defined low threshold to trigger a downward alert.
• Non-directional filters : The numbers 23-30 correspond to conditions that do not represent directional information. These conditions act as filters for both upward and downward alerts. Traders often use non-directional conditions to refine trending or mean reversion signals. For instance, if one of the input lists includes "30", that group uses the "Low relative volatility" condition. The group can trigger an upward or downward alert only if the 7-period Average True Range (ATR) is below the 40-period ATR.
• External conditions : The numbers 31-35 correspond to external conditions based on the plots from other indicators on the chart. To set these conditions, use the source inputs in the "External conditions" section near the bottom of the "Settings/Inputs" tab. The external value can represent an upward, downward, or non-directional condition based on the following logic:
▫ Any value above 0 represents an upward condition.
▫ Any value below 0 represents a downward condition.
▫ If the checkbox next to the source input is selected, the condition becomes non-directional . Any group that uses the condition can trigger upward or downward alerts only if the source value is not 0.
To learn more about using plotted values from other indicators, see this article in our Help Center and the Source input section of our Pine Script™ User Manual.
Group markers
Each comma-separated list represents a distinct group , where all the listed conditions must occur to trigger an alert. This script assigns preset markers (names) to each condition group to make the active ensembles easily identifiable in the generated alert messages and labels. The markers assigned to each group use the format "M", where "M" is short for "Marker" and "x" is the group number. The titles of the inputs at the top of the "Settings/Inputs" tab show these markers for convenience.
For upward conditions, the labels and alert messages show group markers with upward triangles (e.g., "M1▲"). For downward conditions, they show markers with downward triangles (e.g., "M1▼").
NOTE: By default, this script populates the "M1" field with a pre-configured list for a mean reversion group ("2,18,24,28"). The other fields are empty. If any "M*" input does not contain a value, the indicator ignores it in the alert calculations.
Custom alert messages
By default, the indicator's alert message text contains the activated markers and their direction as a comma-separated list. Users can override this message for upward or downward alerts with the two text fields at the bottom of the "Settings/Inputs" tab. When the fields are not empty , the alerts use that text instead of the default marker list.
NOTE: This script generates alert triggers, not the alerts themselves. To set up an alert based on this script's conditions, open the "Create Alert" dialog box, then select the "Ensemble Alerts" and "Any alert() function call" options in the "Condition" tabs. See the Alerts FAQ in our Pine Script™ User Manual for more information.
Condition visualization
This script offers organized visualizations of its conditions, allowing users to inspect the behaviors of each condition alongside the specified groups. The key visual features include:
1) Conditional plots
• The indicator plots the history of each individual condition, excluding the external conditions, as circles at different levels. Opposite conditions appear at positive and negative levels with the same absolute value. The plots for each condition show values only on the bars where they occur.
• Each condition's plot is color-coded based on its type. Aqua and orange plots represent opposing directional conditions, and purple plots represent non-directional conditions. The titles of the plots also contain the condition numbers to which they apply.
• The plots in the separate pane can be turned on or off with the "Show plots in pane" checkbox near the top of the "Settings/Inputs" tab. This input only toggles the color-coded circles, which reduces the graphical load. If you deactivate these visuals, you can still inspect each condition from the script's status line and the Data Window.
• As a bonus, the indicator includes "Up alert" and "Down alert" plots in the Data Window, representing the combined upward and downward ensemble alert conditions. These plots are also usable in additional indicator-on-indicator calculations.
2) Dynamic labels
• The indicator draws a label on the main chart pane displaying the activated group markers (e.g., "M1▲") each time an alert condition occurs.
• The labels for upward alerts appear below chart bars. The labels for downward alerts appear above the bars.
NOTE: This indicator can display up to 500 labels because that is the maximum allowed for a single Pine script.
3) Background highlighting
• The indicator can highlight the main chart's background on bars where upward or downward condition groups activate. Use the "Highlight background" inputs in the "Settings/Inputs" tab to enable these highlights and customize their colors.
• Unlike the dynamic labels, these background highlights are available for all chart bars, irrespective of the number of condition occurrences.
█ NOTES
• This script uses Pine Script™ v6, the latest version of TradingView's programming language. See the Release notes and Migration guide to learn what's new in v6 and how to convert your scripts to this version.
• This script imports our new Alerts library, which features functions that provide high-level simplicity for working with complex compound conditions and alerts. We used the library's `compoundAlertMessage()` function in this indicator. It evaluates items from "bool" arrays in groups specified by an array of strings containing comma-separated index lists , returning a tuple of "string" values containing the marker of each activated group.
• The script imports the latest version of the ta library to calculate several technical indicators not included in the built-in `ta.*` namespace, including Double Exponential Moving Average (DEMA), Triple Exponential Moving Average (TEMA), Fractal Adaptive Moving Average (FRAMA), Tilson T3, Awesome Oscillator (AO), Full Stochastic (%K and %D), SuperTrend, and Donchian Channels.
• The script uses the `force_overlay` parameter in the label.new() and bgcolor() calls to display the drawings and background colors in the main chart pane.
• The plots and hlines use the available `display.*` constants to determine whether the visuals appear in the separate pane.
Look first. Then leap.
Adaptive ATR Trailing Stops█ Introduction
This script is based on the average true range (ATR) and has been improved with the HHV or LLV. The script supports the trader to have his stoploss trailed. In this case, the stoploss is dynamic and can be adjusted with each candleclose.
█ What Does This Indicator Do?
The ATR SL Trailing Indicator helps you dynamically adjust your stop-loss levels based on market movements. It uses market volatility to calculate trailing stop-loss levels, ensuring you can secure profits or minimize losses. The indicator creates two lines:
A green/red line for long positions (when you’re betting on prices going up).
A green/red line for short positions (when you’re betting on prices going down).
█ Key Concepts: How Does the Indicator Work?
The Average True Range (ATR) measures market volatility, showing how much the price moves over a specific period.
A high ATR indicates a volatile market (large price swings), while a low ATR indicates a quiet market (smaller price changes).
Why is ATR important? ATR helps dynamically adjust the distance between your stop-loss and the current price. In volatile markets, the stop-loss is placed further away to avoid being triggered by short-term fluctuations. In quieter markets, the stop-loss is set closer to the price.
The HHV is the highest price over a specific period. For long positions, the indicator uses the highest price minus an ATR-based value to determine the stop-loss level.
Why is HHV important? HHV ensures the stop-loss for long positions only moves up when the price reaches new highs. Once the price starts falling, the stop-loss remains unchanged to lock in profits or minimize losses.
The LLV is the lowest price over a specific period. For short positions, the indicator uses the lowest price plus an ATR-based value to determine the stop-loss level.
Why is LLV important? LLV ensures the stop-loss for short positions only moves down when the price reaches new lows. Once the price starts rising, the stop-loss remains unchanged to lock in profits or minimize losses.
█ How Does the Indicator Work?
For Long Positions:
The indicator sets the stop-loss below the current price, based on:
Market volatility (ATR).
The highest price over a specific period (HHV).
The line turns green when the current price is above the stop-loss.
The line turns red when the price drops below the stop-loss, signaling you may need to exit the trade.
For Short Positions:
The indicator sets the stop-loss above the current price, based on:
*Market volatility (ATR).
*The lowest price over a specific period (LLV).
*The line turns green when the current price is below the stop-loss.
*The line turns red when the price moves above the stop-loss, signaling you may need to exit the trade.
█ Advantages of the ATR SL Trailing Indicator
*Dynamic and adaptive: Automatically adjusts stop-loss levels based on market volatility.
*Visual clarity: Green and red lines clearly indicate whether your position is safe or at risk.
*Effective risk management: Helps you lock in profits and minimize losses without the need for constant manual adjustments.
█ When Should You Use This Indicator?
*If you practice trend-based trading and want your stop-losses to automatically adapt to market movements.
*In volatile markets, to avoid being stopped out by short-term fluctuations.
*When you want to implement efficient risk management without manually adjusting your positions.
█ Inputs
The user can set the indicator for both longs and shorts. This is particularly important because the calculation is different. The HHV is used for longs and the LLV for shorts. The user can therefore set the period/length for the ATR on the one hand and the HHV/LLV on the other. He also has a multiplier, which can also be customized. The multiplier multiplies the price change of each individual candle.
█ Color Change
If the SL is trailed and the price breaks a line, the color changes. In this case, it would have executed the SL on an open trade.
Upper and Lower bound for pairs/BTCUpper and Lower Bound for Pairs/BTC
This indicator provides dynamic upper and lower boundary levels for cryptocurrency pairs traded against BTC. It uses statistical or technical analysis methods, such as Z-Score, Bollinger Bands, or moving averages, to identify key resistance (upper bound) and support (lower bound) levels.
Key Features:
Dynamic Boundaries: Tracks real-time price fluctuations of selected pairs against BTC, adapting to market conditions.
Market Insights: Helps traders visualize potential overbought (upper bound) and oversold (lower bound) zones for pairs like ETH/BTC, DOGE/BTC, and others.
Customizable Settings: Allows users to configure lookback periods, standard deviations, or other parameters for boundary calculations.
Decision Support: Assists in identifying reversal or breakout points to refine entry and exit strategies.
This tool is ideal for traders seeking to optimize risk management and spot opportunities in BTC pair markets.
EMA Volatility Channel [QuantAlgo]EMA Volatility Channel 🌊📈
The EMA Volatility Channel by QuantAlgo is an advanced technical indicator designed to capture price volatility and trend dynamics through adaptive channels based on exponential moving averages. This sophisticated system combines EMA-based trend analysis with dynamic volatility-adjusted bands to help traders and investors identify trend direction, potential reversals, and market volatility conditions. By evaluating both price momentum and volatility together, this tool enables users to make informed trading decisions while adapting to changing market conditions.
💫 Dynamic Channel Architecture
The EMA Volatility Channel provides a unique framework for assessing market trends through a blend of exponential moving averages and volatility-based channel calculations. Unlike traditional channel indicators that use fixed-width bands, this system incorporates dynamic volatility measurements to adjust channel width automatically, helping users determine whether price movements are significant relative to current market conditions. By combining smooth EMA trends with adaptive volatility bands, it evaluates both directional movement and market volatility, while the smoothing parameters ensure stable yet responsive channel adjustments. This adaptive approach allows users to identify trending conditions while remaining aware of volatility expansions and contractions, enhancing both trend-following and reversal strategies.
📊 Indicator Components & Mechanics
The EMA Volatility Channel is composed of several technical components that create a dynamic channel system:
EMA Midline: Calculates a smoothed exponential moving average that serves as the channel's centerline, providing a clear reference for trend direction.
Volatility Measurement: Computes average price movement to determine dynamic channel width, adapting to changing market conditions automatically.
Smooth Band Calculation: Applies additional smoothing to the channel bands, reducing noise while maintaining responsiveness to significant price movements.
📈 Key Indicators and Features
The EMA Volatility Channel combines various technical tools to deliver a comprehensive analysis of market conditions.
The indicator utilizes exponential moving averages with customizable length and smoothing parameters to adapt to different trading styles. Volatility calculations are applied to determine channel width, providing context-aware boundaries for price movement. The trend detection component evaluates price action relative to the channel bands, helping validate trends and identify potential reversals.
The indicator incorporates multi-layered visualization with color-coded channels and bars to signal both trend direction and market position. These adaptive visual cues, combined with programmable alerts for channel breakouts, help traders and investors track both trend changes and volatility conditions, supporting both trend-following and mean-reversion strategies.
⚡️ Practical Applications and Examples
✅ Add the Indicator: Add the indicator to your TradingView chart by clicking on the star icon to add it to your favorites ⭐️
👀 Monitor Channel Position: Watch the price position relative to the channel bands to identify trend direction and potential reversals. When price moves outside the channel, consider potential trend changes or extreme conditions.
🔔 Set Alerts: Configure alerts for channel breakouts and trend changes, ensuring you can act on significant technical developments promptly.
🌟 Summary and Tips
The EMA Volatility Channel by QuantAlgo is a versatile technical tool, designed to support both trend following and volatility analysis across different market environments. By combining smooth EMA trends with dynamic volatility-based channels, it helps traders and investors identify significant price movements while measuring market volatility, providing reliable technical signals. The tool's adaptability across timeframes makes it suitable for both trend-following and reversal strategies, allowing users to capture opportunities while maintaining awareness of changing market conditions.
Kalman PredictorThe **Kalman Predictor** indicator is a powerful tool designed for traders looking to enhance their market analysis by smoothing price data and projecting future price movements. This script implements a Kalman filter, a statistical method for noise reduction, to dynamically estimate price trends and velocity. Combined with ATR-based confidence bands, it provides actionable insights into potential price movement, while offering clear trend and momentum visualization.
---
#### **Key Features**:
1. **Kalman Filter Smoothing**:
- Dynamically estimates the current price state and velocity to filter out market noise.
- Projects three future price levels (`Next Bar`, `Next +2`, `Next +3`) based on velocity.
2. **Dynamic Confidence Bands**:
- Confidence bands are calculated using ATR (Average True Range) to reflect market volatility.
- Visualizes potential price deviation from projected levels.
3. **Trend Visualization**:
- Color-coded prediction dots:
- **Green**: Indicates an upward trend (positive velocity).
- **Red**: Indicates a downward trend (negative velocity).
- Dynamically updated label displaying the current trend and velocity value.
4. **User Customization**:
- Inputs to adjust the process and measurement noise for the Kalman filter (`q` and `r`).
- Configurable ATR multiplier for confidence bands.
- Toggleable trend label with adjustable positioning.
---
#### **How It Works**:
1. **Kalman Filter Core**:
- The Kalman filter continuously updates the estimated price state and velocity based on real-time price changes.
- Projections are based on the current price trend (velocity) and extend into the future (Next Bar, +2, +3).
2. **Confidence Bands**:
- Calculated using ATR to provide a dynamic range around the projected future prices.
- Indicates potential volatility and helps traders assess risk-reward scenarios.
3. **Trend Label**:
- Updates dynamically on the last bar to show:
- Current trend direction (Up/Down).
- Velocity value, providing insight into the expected magnitude of the price movement.
---
#### **How to Use**:
- **Trend Analysis**:
- Observe the direction and spacing of the prediction dots relative to current candles.
- Larger spacing indicates a potential strong move, while clustering suggests consolidation.
- **Risk Management**:
- Use the confidence bands to gauge potential price volatility and set stop-loss or take-profit levels accordingly.
- **Pullback Detection**:
- Look for flattening or clustering of dots during trends as a signal of potential pullbacks or reversals.
---
#### **Customizable Inputs**:
- **Kalman Filter Parameters**:
- `lookback`: Adjusts the smoothing window.
- `q`: Process noise (higher values make the filter more reactive to changes).
- `r`: Measurement noise (controls sensitivity to price deviations).
- **Confidence Bands**:
- `band_multiplier`: Multiplies ATR to define the range of confidence bands.
- **Visualization**:
- `show_label`: Option to toggle the trend label.
- `label_offset`: Adjusts the label’s distance from the price for better visibility.
---
#### **Examples of Use**:
- **Scalping**: Use on lower timeframes (e.g., 1-minute, 5-minute) to detect short-term price trends and reversals.
- **Swing Trading**: Identify pullbacks or continuations on higher timeframes (e.g., 4-hour, daily) by observing the prediction dots and confidence bands.
- **Risk Assessment**: Confidence bands help visualize potential price volatility, aiding in the placement of stops and targets.
---
#### **Notes for Traders**:
- The **Kalman Predictor** does not predict the future with certainty but provides a statistically informed estimate of price movement.
- Confidence bands are based on historical volatility and should be used as guidelines, not guarantees.
- Always combine this tool with other analysis techniques for optimal results.
---
This script is open-source, and the Kalman filter logic has been implemented uniquely to integrate noise reduction with dynamic confidence band visualization. If you find this indicator useful, feel free to share your feedback and experiences!
---
#### **Credits**:
This script was developed leveraging the statistical principles of Kalman filtering and is entirely original. It incorporates ATR for dynamic confidence band calculations to enhance trader usability and market adaptability.
Chande Volatility-Based Trailing Stops This indicator is developed from a description outlined in the Chande - Kroll book, "The New Technical Trader". It is designed to help control risk by plotting two lines that function as long and short trailing stops.
How does it work?
"These stops are derived from recent highest high or lowest low. They adjust based on volatility. However, to avoid giving up a sizable chunk of profit before the stop is hit, it is modified in such a way that the stop can only advance with price, not retreat. This will lock in a greater portion of potential profits..."
Settings:
The default settings are those described in the book. They are described as being best for intermediate term trades. Use the multiplier to tighten or loosen the stop. A smaller multiplier will result in tighter stops. It is recommended to adjust this value for your preferred timeframe. You can toggle the trailing stop lines on or off as well as cross over marker.
Enhanced Swing Trading Strategy//@version=5
strategy("Enhanced Swing Trading Strategy", overlay=true)
// Input Parameters
smaShortLength = input.int(50, title="Short SMA Length")
smaLongLength = input.int(200, title="Long SMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
takeProfitPerc = input.float(2.0, title="Take Profit (%)")
stopLossPerc = input.float(1.0, title="Stop Loss (%)")
riskPerc = input.float(1.0, title="Risk per Trade (%)")
alertOnSignal = input.bool(true, title="Enable Alerts")
// Indicators
smaShort = ta.sma(close, smaShortLength)
smaLong = ta.sma(close, smaLongLength)
rsi = ta.rsi(close, rsiLength)
= ta.macd(close, 12, 26, 9)
// Conditions
longCondition = ta.crossover(smaShort, smaLong) and rsi > rsiOversold and macdLine > signalLine
shortCondition = ta.crossunder(smaShort, smaLong) and rsi < rsiOverbought and macdLine < signalLine
// Position Sizing based on Risk
capital = strategy.equity
riskAmount = capital * (riskPerc / 100)
stopLossValue = riskAmount / (stopLossPerc / 100)
positionSize = stopLossValue / close
// Entry Signals
if (longCondition)
strategy.entry("Long", strategy.long, qty=positionSize)
if alertOnSignal
alert("Swing Trading: Long Position Opened", alert.freq_once)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=positionSize)
if alertOnSignal
alert("Swing Trading: Short Position Opened", alert.freq_once)
// Exit Conditions
strategy.exit("Take Profit/Stop Loss",
from_entry="Long",
profit=takeProfitPerc,
loss=stopLossPerc)
strategy.exit("Take Profit/Stop Loss",
from_entry="Short",
profit=takeProfitPerc,
loss=stopLossPerc)
// Plotting
plot(smaShort, color=color.blue, title="SMA 50")
plot(smaLong, color=color.red, title="SMA 200")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(macdLine, color=color.green, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// Draw Entry and Exit Labels
if (strategy.position_size > 0)
label.new(bar_index, high, "Long Open", style=label.style_label_up, color=color.green)
if (strategy.position_size < 0)
label.new(bar_index, low, "Short Open", style=label.style_label_down, color=color.red)
Turtle Trade Channels Indicator with EMATurtle Trade Channels Indicator with EMA (TuTCI + EMA)
This custom indicator combines the classic Turtle Trading Channel strategy with an Exponential Moving Average (EMA) filter to provide clear entry and exit signals, as well as trend direction guidance.
Features:
Turtle Channels: The indicator calculates the upper and lower Turtle Trading Channels based on the highest and lowest values over a user-defined period ( Entry Length for the channel).
Entry/Exit Signals: Alerts you to potential buy and sell opportunities with visual signals on the chart.
Long Entry: When the price crosses above the upper channel.
Short Entry: When the price crosses below the lower channel.
Long Exit: When the price breaks below the exit line.
Short Exit: When the price breaks above the exit line.
EMA Filter: A 50-period Exponential Moving Average (EMA) is included to identify the overall trend. The background color turns green when the price is above the EMA (bullish trend) and red when the price is below the EMA (bearish trend).
Highlighter: Optional background highlighting for the most relevant signals, such as when the price crosses the upper or lower Turtle Channel. This feature helps to easily identify key market movements.
Visual Customization: Customize the EMA length, Entry/Exit lengths, and toggle signals and highlighting to suit your preferences.
How It Works:
The Turtle Trade Channels are designed to capture breakouts by identifying key price levels (highest high and lowest low) over a specified period. By combining this strategy with an EMA, the indicator ensures trades are aligned with the broader trend, increasing the probability of successful trades.
Uptrend: When the price is above the EMA, the indicator considers the trend to be bullish, and it highlights long entry signals.
Downtrend: When the price is below the EMA, the trend is considered bearish, and short entries are emphasized.
Customization:
Entry Length: Adjusts the period for calculating the Turtle Channel's entry levels.
Exit Length: Defines the period for calculating the exit levels.
EMA Length: The period for the Exponential Moving Average (default is set to 50).
Show Entry/Exit Signals: Toggle the visibility of entry/exit signals on the chart.
Highlighter On/Off: Toggle background highlighting for key signals.
This indicator is suitable for traders who follow trend-following strategies, particularly those influenced by the Turtle Trading methodology, and wish to use an EMA filter for better trend confirmation.
Use Cases:
Trend-following traders looking for clear entry/exit signals.
Breakout traders using the Turtle Trading concept to identify price breakouts.
Swing traders who want to incorporate trend analysis with price levels.