SMA Trend Spectrum [InvestorUnknown]The SMA Trend Spectrum indicator is designed to visually represent market trends and momentum by using a series of Simple Moving Averages (SMAs) to create a color-coded spectrum or heatmap. This tool helps traders identify the strength and direction of market trends across various time frames within one chart.
Functionality:
SMA Calculation: The indicator calculates multiple SMAs starting from a user-defined base period (Starting Period) and increasing by a specified increment (Period Increment). This creates a sequence of moving averages that span from short-term to long-term perspectives.
Trend Analysis: Each segment of the spectrum compares three SMAs to determine the market's trend strength: Bullish (color-coded green) when the current price is above all three SMAs. Neutral (color-coded purple) when the price is above some but not all SMAs. Bearish (color-coded red) when the price is below all three SMAs.
f_col(x1, x2, x3) =>
min = ta.sma(src, x1)
mid = ta.sma(src, x2)
max = ta.sma(src, x3)
c = src > min and src > mid and src > max ? bull : src > min or src > mid or src > max ? ncol : bear
Heatmap Visualization: The indicator plots these trends as a vertical spectrum where each row represents a different set of SMAs, forming a heatmap-like display. The color of each segment in the heatmap directly correlates with market conditions, providing an intuitive view of market sentiment.
Signal Smoothing: Users can choose to smooth the trend signal using either a Simple Moving Average (SMA), Exponential Moving Average (EMA), or leave it as raw data (Signal Smoothing). The length of smoothing can be adjusted (Smoothing Length). The signal is displayed in a scaled way to automatically adjust for the best visual experience, ensuring that the trend is clear and easily interpretable across different chart scales and time frames
Additional Features:
Plot Signal: Optionally plots a line representing the average trend across all calculated SMAs. This line helps in identifying the overall market direction based on the spectrum data.
Bar Coloring: Bars on the chart can be colored according to the average trend strength, providing a quick visual cue of market conditions.
Usage:
Trend Identification: Use the heatmap to quickly assess if the market is trending strongly in one direction or if it's in a consolidation phase.
Entry/Exit Points: Look for shifts in color patterns to anticipate potential trend changes or confirmations for entry or exit points.
Momentum Analysis: The gradient from bearish to bullish across the spectrum can be used to gauge momentum and potentially forecast future price movements.
Notes:
The effectiveness of this indicator can vary based on market conditions, asset volatility, and the chosen SMA periods and increments.
It's advisable to combine this tool with other technical indicators or fundamental analysis for more robust trading decisions.
Disclaimer: Past performance does not guarantee future results. Always use this indicator as part of a broader trading strategy.
在腳本中搜尋"bear"
Bitcoin Logarithmic Regression BandsOverview
This indicator displays logarithmic regression bands for Bitcoin. Logarithmic regression is a statistical method used to model data where growth slows down over time. I initially created these bands in 2019 using a spreadsheet, and later coded them in TradingView in 2021. Over time, the bands proved effective at capturing Bitcoin's bull market peaks and bear market lows. In 2024, I decided to share this indicator because I believe these logarithmic regression bands offer the best fit for the Bitcoin chart.
How It Works
The logarithmic regression lines are fitted to the Bitcoin (BTCUSD) chart using two key factors: the 'a' factor (slope) and the 'b' factor (intercept). The two lines in the upper and lower bands share the same 'a' factor, but I adjust the 'b' factor by 0.2 to more accurately capture the bull market peaks and bear market lows. The formula for logaritmic regression is 10^((a * ln) - b).
How to Use the Logarithmic Regression Bands
1. Lower Band (Support Band):
The two lines in the lower band create a potential support area for Bitcoin’s price. Historically, Bitcoin’s price has always found its lows within this band during past market cycles. When the price is within the lower band, it suggests that Bitcoin is undervalued and could be set for a rebound.
2. Upper Band (Resistance Band):
The two lines in the upper band create a potential resistance area for Bitcoin’s price. Bitcoin has consistently reached its highs in this band during previous market cycles. If the price is within the upper band, it indicates that Bitcoin is overvalued, and a potential price correction may be imminent.
Use Cases
- Price Bottoming:
Bitcoin tends to bottom out at the lower band before entering a prolonged bull market or a period of sideways movement.
- Price Topping:
In reverse, Bitcoin tends to top out at the upper band before entering a bear market phase.
- Profitable Strategy:
Buying at the lower band and selling at the upper band can be a profitable trading strategy, as these bands often indicate key price levels for Bitcoin’s market cycles.
Fair Value Gap DetectorHow this indicator works:
It detects two types of FVGs:
Bullish FVG: Occurs when the low of the current candle is higher than the high of the candle from 2 bars ago (creates an upward gap)
Bearish FVG: Occurs when the high of the current candle is lower than the low of the candle from 2 bars ago (creates a downward gap)
Features:
Allows users to toggle both bullish and bearish FVG detection independently
Customizable colors for both bullish (default green) and bearish (default red) FVGs
Visualizes FVGs using:
Boxes that highlight the gap area (with 80% transparency)
Labels that mark each FVG ("Bull FVG" or "Bear FVG")
Visual representation:
Bullish FVGs are marked with green boxes and downward-pointing labels
Bearish FVGs are marked with red boxes and upward-pointing labels
This indicator can be useful for :
Identifying potential areas where price might return to
Finding potential support and resistance zones
Understanding market structure and momentum shifts
CandleCandle: A Comprehensive Pine Script™ Library for Candlestick Analysis
Overview
The Candle library, developed in Pine Script™, provides traders and developers with a robust toolkit for analyzing candlestick data. By offering easy access to fundamental candlestick components like open, high, low, and close prices, along with advanced derived metrics such as body-to-wick ratios, percentage calculations, and volatility analysis, this library enables detailed insights into market behavior.
This library is ideal for creating custom indicators, trading strategies, and backtesting frameworks, making it a powerful resource for any Pine Script™ developer.
Key Features
1. Core Candlestick Data
• Open : Access the opening price of the current candle.
• High : Retrieve the highest price.
• Low : Retrieve the lowest price.
• Close : Access the closing price.
2. Candle Metrics
• Full Size : Calculates the total range of the candle (high - low).
• Body Size : Computes the size of the candle’s body (open - close).
• Wick Size : Provides the combined size of the upper and lower wicks.
3. Wick and Body Ratios
• Upper Wick Size and Lower Wick Size .
• Body-to-Wick Ratio and Wick-to-Body Ratio .
4. Percentage Calculations
• Upper Wick Percentage : The proportion of the upper wick size relative to the full candle size.
• Lower Wick Percentage : The proportion of the lower wick size relative to the full candle size.
• Body Percentage and Wick Percentage relative to the candle’s range.
5. Candle Direction Analysis
• Determines if a candle is "Bullish" or "Bearish" based on its closing and opening prices.
6. Price Metrics
• Average Price : The mean of the open, high, low, and close prices.
• Midpoint Price : The midpoint between the high and low prices.
7. Volatility Measurement
• Calculates the standard deviation of the OHLC prices, providing a volatility metric for the current candle.
Code Architecture
Example Functionality
The library employs a modular structure, exporting various functions that can be used independently or in combination. For instance:
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © DevArjun
//@version=6
indicator("Candle Data", overlay = true)
import DevArjun/Candle/1 as Candle
// Body Size %
bodySize = Candle.BodySize()
// Determining the candle direction
candleDirection = Candle.CandleDirection()
// Calculating the volatility of the current candle
volatility = Candle.Volatility()
// Plotting the metrics (for demonstration)
plot(bodySize, title="Body Size", color=color.blue)
label.new(bar_index, high, candleDirection, style=label.style_circle)
Scalability
The modularity of the Candle library allows seamless integration into more extensive trading systems. Functions can be mixed and matched to suit specific analytical or strategic needs.
Use Cases
Trading Strategies
Developers can use the library to create strategies based on candle properties such as:
• Identifying long-bodied candles (momentum signals).
• Detecting wicks as potential reversal zones.
• Filtering trades based on candle ratios.
Visualization
Plotting components like body size, wick size, and directional labels helps visualize market behavior and identify patterns.
Backtesting
By incorporating volatility and ratio metrics, traders can design and test strategies on historical data, ensuring robust performance before live trading.
Education
This library is a great tool for teaching candlestick analysis and how each component contributes to market behavior.
Portfolio Highlights
Project Objective
To create a Pine Script™ library that simplifies candlestick analysis by providing comprehensive metrics and insights, empowering traders and developers with advanced tools for market analysis.
Development Challenges and Solutions
• Challenge : Achieving high precision in calculating ratios and percentages.
• Solution : Implemented robust mathematical operations and safeguarded against division-by-zero errors.
• Challenge : Ensuring modularity and scalability.
• Solution : Designed functions as independent modules, allowing flexible integration.
Impact
• Efficiency : The library reduces the time required to calculate complex candlestick metrics.
• Versatility : Supports various trading styles, from scalping to swing trading.
• Clarity : Clean code and detailed documentation ensure usability for developers of all levels.
Conclusion
The Candle library exemplifies the power of Pine Script™ in simplifying and enhancing candlestick analysis. By including this project in your portfolio, you showcase your expertise in:
• Financial data analysis.
• Pine Script™ development.
• Creating tools that solve real-world trading challenges.
This project demonstrates both technical proficiency and a keen understanding of market analysis, making it an excellent addition to your professional portfolio.
Library "Candle"
A comprehensive library to access and analyze the basic components of a candlestick, including open, high, low, close prices, and various derived metrics such as full size, body size, wick sizes, ratios, percentages, and additional analysis metrics.
Open()
Open
@description Returns the opening price of the current candle.
Returns: float - The opening price of the current candle.
High()
High
@description Returns the highest price of the current candle.
Returns: float - The highest price of the current candle.
Low()
Low
@description Returns the lowest price of the current candle.
Returns: float - The lowest price of the current candle.
Close()
Close
@description Returns the closing price of the current candle.
Returns: float - The closing price of the current candle.
FullSize()
FullSize
@description Returns the full size (range) of the current candle (high - low).
Returns: float - The full size of the current candle.
BodySize()
BodySize
@description Returns the body size of the current candle (open - close).
Returns: float - The body size of the current candle.
WickSize()
WickSize
@description Returns the size of the wicks of the current candle (full size - body size).
Returns: float - The size of the wicks of the current candle.
UpperWickSize()
UpperWickSize
@description Returns the size of the upper wick of the current candle.
Returns: float - The size of the upper wick of the current candle.
LowerWickSize()
LowerWickSize
@description Returns the size of the lower wick of the current candle.
Returns: float - The size of the lower wick of the current candle.
BodyToWickRatio()
BodyToWickRatio
@description Returns the ratio of the body size to the wick size of the current candle.
Returns: float - The body to wick ratio of the current candle.
UpperWickPercentage()
UpperWickPercentage
@description Returns the percentage of the upper wick size relative to the full size of the current candle.
Returns: float - The percentage of the upper wick size relative to the full size of the current candle.
LowerWickPercentage()
LowerWickPercentage
@description Returns the percentage of the lower wick size relative to the full size of the current candle.
Returns: float - The percentage of the lower wick size relative to the full size of the current candle.
WickToBodyRatio()
WickToBodyRatio
@description Returns the ratio of the wick size to the body size of the current candle.
Returns: float - The wick to body ratio of the current candle.
BodyPercentage()
BodyPercentage
@description Returns the percentage of the body size relative to the full size of the current candle.
Returns: float - The percentage of the body size relative to the full size of the current candle.
WickPercentage()
WickPercentage
@description Returns the percentage of the wick size relative to the full size of the current candle.
Returns: float - The percentage of the wick size relative to the full size of the current candle.
CandleDirection()
CandleDirection
@description Returns the direction of the current candle.
Returns: string - "Bullish" if the candle is bullish, "Bearish" if the candle is bearish.
AveragePrice()
AveragePrice
@description Returns the average price of the current candle (mean of open, high, low, and close).
Returns: float - The average price of the current candle.
MidpointPrice()
MidpointPrice
@description Returns the midpoint price of the current candle (mean of high and low).
Returns: float - The midpoint price of the current candle.
Volatility()
Volatility
@description Returns the standard deviation of the OHLC prices of the current candle.
Returns: float - The volatility of the current candle.
DAILY Supertrend + EMA Crossover with RSI FilterThis strategy is a technical trading approach that combines multiple indicators—Supertrend, Exponential Moving Averages (EMAs), and the Relative Strength Index (RSI)—to identify and manage trades.
Core Components:
1. Exponential Moving Averages (EMAs):
Two EMAs, one with a shorter period (fast) and one with a longer period (slow), are calculated. The idea is to spot when the faster EMA crosses above or below the slower EMA. A fast EMA crossing above the slow EMA often suggests upward momentum, while crossing below suggests downward momentum.
2. Supertrend Indicator:
The Supertrend uses Average True Range (ATR) to establish dynamic support and resistance lines. These lines shift above or below price depending on the prevailing trend. When price is above the Supertrend line, the trend is considered bullish; when below, it’s considered bearish. This helps ensure that the strategy trades only in the direction of the overall trend rather than against it.
3. RSI Filter:
The RSI measures momentum. It helps avoid buying into markets that are already overbought or selling into markets that are oversold. For example, when going long (buying), the strategy only proceeds if the RSI is not too high, and when going short (selling), it only proceeds if the RSI is not too low. This filter is meant to improve the quality of the trades by reducing the chance of entering right before a reversal.
4. Time Filters:
The strategy only triggers entries during user-specified date and time ranges. This is useful if one wants to limit trading activity to certain trading sessions or periods with higher market liquidity.
5. Risk Management via ATR-based Stops and Targets:
Both stop loss and take profit levels are set as multiples of the ATR. ATR measures volatility, so when volatility is higher, both stops and profit targets adjust to give the trade more breathing room. Conversely, when volatility is low, stops and targets tighten. This dynamic approach helps maintain consistent risk management regardless of market conditions.
Overall Logic Flow:
- First, the market conditions are analyzed through EMAs, Supertrend, and RSI.
- When a buy (long) condition is met—meaning the fast EMA crosses above the slow EMA, the trend is bullish according to Supertrend, and RSI is below the specified “overbought” threshold—the strategy initiates or adds to a long position.
- Similarly, when a sell (short) condition is met—meaning the fast EMA crosses below the slow EMA, the trend is bearish, and RSI is above the specified “oversold” threshold—it initiates or adds to a short position.
- Each position is protected by an automatically calculated stop loss and a take profit level based on ATR multiples.
Intended Result:
By blending trend detection, momentum filtering, and volatility-adjusted risk management, the strategy aims to capture moves in the primary trend direction while avoiding entries at excessively stretched prices. Allowing multiple entries can potentially amplify gains in strong trends but also increases exposure, which traders should consider in their risk management approach.
In essence, this strategy tries to ride established trends as indicated by the Supertrend and EMAs, filter out poor-quality entries using RSI, and dynamically manage trade risk through ATR-based stops and targets.
20/50 SMA Cross 200 SMAThis Pine Script code is designed to identify and visualize crossovers of two shorter-term Simple Moving Averages (SMAs), a 20-period SMA and a 50-period SMA, with a longer-term 200-period SMA on a price chart. It also includes alerts for these crossover events. Here's a breakdown:
**Purpose:**
The core idea behind this script is to detect potential trend changes. Crossovers of shorter-term moving averages over a longer-term moving average are often interpreted as bullish signals, while crossovers below are considered bearish.
**Key Components:**
1. **Moving Average Calculation:**
* `sma20 = ta.sma(close, 20)`: Calculates the 20-period SMA of the closing price.
* `sma50 = ta.sma(close, 50)`: Calculates the 50-period SMA of the closing price.
* `sma200 = ta.sma(close, 200)`: Calculates the 200-period SMA of the closing price.
2. **Crossover Detection:**
* `crossUp20 = ta.crossover(sma20, sma200)`: Returns `true` when the 20-period SMA crosses above the 200-period SMA.
* `crossDown20 = ta.crossunder(sma20, sma200)`: Returns `true` when the 20-period SMA crosses below the 200-period SMA.
* Similar logic applies for `crossUp50` and `crossDown50` with the 50-period SMA.
3. **Recent Crossover Tracking (Crucial Improvement):**
* `lookback = 7`: Defines a lookback period of 7 bars.
* `var bool hasCrossedUp20 = false`, etc.: Declares `var` (persistent) boolean variables to track if a crossover has occurred *within* the last 7 bars. This is the most important correction from previous versions.
* The logic using `ta.barssince()` is the key:
* If a crossover happens (`crossUp20` is true), the corresponding `hasCrossedUp20` is set to `true`.
* If no crossover happens on the current bar, it checks if a crossover happened within the last 7 bars using `ta.barssince(crossUp20) <= lookback`. If so, it keeps `hasCrossedUp20` as `true`. After 7 bars, it becomes `false`.
4. **Plotting Crossovers:**
* `plotshape(...)`: Plots circles on the chart to visually mark the crossovers.
* Green circles below the bars for bullish crossovers (20 and 50).
* Red circles above the bars for bearish crossovers (20 and 50).
* Different shades of green/red (green/lime, red/maroon) distinguish between 20 and 50 SMA crossovers.
5. **Plotting Moving Averages (Optional but Helpful):**
* `plot(sma20, color=color.blue, linewidth=1)`: Plots the 20-period SMA in blue.
* Similar logic for the 50-period SMA (orange) and 200-period SMA (gray).
6. **Alerts:**
* `alertcondition(...)`: Triggers alerts when crossovers occur. This is essential for real-time trading signals.
**How it Works (in Simple Terms):**
The script continuously calculates the 20, 50, and 200 SMAs. It then monitors for instances where the 20 or 50 SMA crosses the 200 SMA. When such a crossover happens, a colored circle is plotted on the chart, and an alert is triggered. The key improvement is that it remembers if a crossover occurred in the last 7 bars and continues to display the circle during that period.
**Use Case:**
Traders use this type of indicator to identify potential entry and exit points in the market. A bullish crossover (shorter SMA crossing above the longer SMA) might be a signal to buy, while a bearish crossover might be a signal to sell.
**Key Improvements over Previous Versions:**
* **Correct Lookback Implementation:** The use of `ta.barssince()` and `var` variables is the correct and efficient way to check for crossovers within a lookback period. This fixes the major flaw in earlier versions.
* **Clear Visualizations:** The use of `plotshape` with distinct colors makes it easy to distinguish between 20 and 50 SMA crossovers.
* **Alerts:** The inclusion of alerts makes the script much more practical for real-time trading.
This improved version provides a robust and useful tool for identifying and tracking SMA crossovers.
Crypto$ure EMA with 4H Trend TableThe Crypto AMEX:URE EMA indicator provides a clear, multi-timeframe confirmation setup to help you align your shorter-term trades with the broader market trend.
Key Features:
4-Hour EMA Trend Insight:
A table, displayed at the top-right corner of your chart, shows the current 4-hour EMA value and whether the 4-hour trend is Bullish, Bearish, or Neutral. This gives you a reliable, higher-timeframe perspective, making it easier to understand the general market direction.
Lower Timeframe Signals (e.g., 25m or 15m):
On your chosen chart timeframe, the indicator plots two EMAs (Fast and Slow).
A Buy Signal (an up arrow) appears when the Fast EMA crosses above the Slow EMA, indicating potential upward momentum.
A Sell Signal (a down arrow) appears when the Fast EMA crosses below the Slow EMA, indicating potential downward momentum.
Manual Confirmation for Better Accuracy:
While the Buy/Sell signals come directly from the shorter timeframe, you can use the 4-hour trend information from the table to confirm or filter these signals. For example, if the 4-hour trend is Bullish, the Buy signals on the shorter timeframe may carry more weight. If it’s Bearish, then the Sell signals might be more reliable.
How to Use:
Add the Crypto AMEX:URE EMA indicator to your chart.
Check the top-right table to see the current 4-hour EMA trend.
Watch for Buy (up arrow) or Sell (down arrow) signals on your current timeframe.
For added confidence, consider taking Buy signals only when the 4-hour trend is Bullish and Sell signals when the 4-hour trend is Bearish.
Note:
This indicator does not generate trading orders. Instead, it provides actionable insights to help guide your discretionary decision-making. Always consider additional market context, risk management practices, and personal trading rules before acting on any signal.
DonAlt - Smart Money Toolkit [BigBeluga]DonAlt - Smart Money Toolkit is inspired by the analytical insights of popular crypto influencer DonAlt.
This advanced toolkit integrates smart money concepts with key technical analysis elements to enhance your trading decisions.
🔵 KEY FEATURES:
SUPPORT AND RESISTANCE LEVELS Automatically identifies critical market turning points with significant volume. Levels turn green when the price is above them and red when below, providing a visual cue for key market thresholds.
ORDER BLOCKS: Highlights significant price zones preceding major price movements.
- If the move is down , it searches for the last bullish candle and plots a block from its body.
- If the move is up , it searches for the last bearish candle and creates a block from its body.
These blocks help identify areas of institutional interest and potential reversals.
TRENDLINES: Automatically plots trendlines to identify breakout zones or price accumulation areas.
• Bullish trendlines accumulation form when the current low is higher than the previous low.
• Bearish trendlines accumulation emerge when the current high is lower than the previous high.
• Bullish trendlines Breakout form when the price break above it.
• Bearish trendlines Breakout form when the price break below it.
Volatility Integration: The levels incorporate normalized volatility to ensure only significant zones are highlighted, filtering noise and emphasizing meaningful data.
🔵 WHEN TO USE:
This toolkit is ideal for traders seeking to align with "smart money" strategies by identifying key areas of institutional activity, strong support and resistance zones, and potential breakout setups.
🔵 CUSTOMIZATION:
Toggle the visibility of levels, order blocks, or trendlines to match your trading style and focus.
Colors of the Bull and Bear key features
Extend trendline
CauchyTrend [InvestorUnknown]The CauchyTrend is an experimental tool that leverages a Cauchy-weighted moving average combined with a modified Supertrend calculation. This unique approach provides traders with insight into trend direction, while also offering an optional ATR-based range analysis to understand how often the market closes within, above, or below a defined volatility band.
Core Concepts
Cauchy Distribution and Gamma Parameter
The Cauchy distribution is a probability distribution known for its heavy tails and lack of a defined mean or variance. It is characterized by two parameters: a location parameter (x0, often 0 in our usage) and a scale parameter (γ, "gamma").
Gamma (γ): Determines the "width" or scale of the distribution. Smaller gamma values produce a distribution more concentrated near the center, giving more weight to recent data points, while larger gamma values spread the weight more evenly across the sample.
In this indicator, gamma influences how much emphasis is placed on values closer to the current price versus those further away in time. This makes the resulting weighted average either more reactive or smoother, depending on gamma’s value.
// Cauchy PDF formula used for weighting:
// f(x; γ) = (1/(π*γ)) *
f_cauchyPDF(offset, gamma) =>
numerator = gamma * gamma
denominator = (offset * offset) + (gamma * gamma)
pdf = (1 / (math.pi * gamma)) * (numerator / denominator)
pdf
A chart showing different Cauchy PDFs with various gamma values, illustrating how gamma affects the weight distribution.
Cauchy-Weighted Moving Average (CWMA)
Using the Cauchy PDF, we calculate normalized weights to create a custom Weighted Moving Average. Each bar in the lookback period receives a weight according to the Cauchy PDF. The result is a Cauchy Weighted Average (cwm_avg) that differs from typical moving averages, potentially offering unique sensitivity to price movements.
// Summation of weighted prices using Cauchy distribution weights
cwm_avg = 0.0
for i = 0 to length - 1
w_norm = array.get(weights, i) / sum_w
cwm_avg += array.get(values, i) * w_norm
Supertrend with a Cauchy Twist
The indicator integrates a modified Supertrend calculation using the cwm_avg as its reference point. The Supertrend logic typically sets upper and lower bands based on volatility (ATR), and flips direction when price crosses these bands.
In this case, the Cauchy-based average replaces the usual baseline, aiming to capture trend direction via a different weighting mechanism.
When price closes above the upper band, the trend is considered bullish; closing below the lower band signals a bearish trend.
ATR Stats Range (Optional)
Beyond the fundamental trend detection, the indicator optionally computes ATR-based stats to understand price distribution relative to a volatility corridor centered on the cwm_avg line:
Volatility Range:
Defined as cwm_avg ± (ATR * atr_mult), this range creates upper and lower bands. Turning on atr_stats computes how often the daily close falls: Within the range, Above the upper ATR boundary, Below the lower ATR boundary, Within the range but above cwm_avg, Within the range but below cwm_avg
These statistics can help traders gauge how the market behaves relative to this volatility envelope and possibly identify if the market tends to revert to the mean or break out more often.
Backtesting and Performance Metrics
The code is integrated with a backtesting library that allows users to assess strategy performance historically:
Equity Curve Calculation: Compares CauchyTrend-based signals against the underlying asset.
Performance Metrics Table: Once enabled, displays key metrics such as mean returns, Sharpe Ratio, Sortino Ratio, and more, comparing the strategy to a simple Buy & Hold approach.
Alerts and Notifications
The indicator provides Alerts for key events:
Long Alert: Triggered when the trend flips bullish.
Short Alert: Triggered when the trend flips bearish.
Customization and Calibration
Important: The default parameters are not optimized for any specific instrument or time frame. Traders should:
Adjust the length and gamma parameters to influence how sharply or broadly the cwm_avg reacts to price changes.
Tune the atr_len and atr_mult for the Supertrend logic to better match the asset’s volatility characteristics.
Experiment with atr_stats on/off to see if that additional volatility distribution information provides helpful insights.
Traders may find certain sets of parameters that align better with their preferred trading style, risk tolerance, or asset volatility profile.
Disclaimer: This indicator is for educational and informational purposes only. Past performance in backtesting does not guarantee future results. Always perform due diligence, and consider consulting a qualified financial advisor before trading.
ATR HEMA [SeerQuant]What is the ATR Holt Moving Average (HEMA)?
The ATR Holt Moving Average (HEMA) is an advanced smoothing technique that incorporates the Holt exponential smoothing method. Unlike traditional moving averages, HEMA uses two smoothing factors (alpha and gamma) to forecast both the current trend and the trend change rate. This dual-layer approach improves the responsiveness of the moving average to both stable trends and volatile price swings.
When paired with the Average True Range (ATR), the HEMA becomes even more powerful. The ATR acts as a volatility filter, defining a "neutral zone" where minor price fluctuations are ignored. This allows traders to focus on significant market movements while reducing the impact of noise.
⚙️ How the Code Works
The ATR Holt Moving Average (HEMA) combines trend smoothing with volatility filtering to provide traders with dynamic signals. Here's how it functions step by step:
User Inputs and Customization:
Traders can customize the lengths for HEMA's smoothing factors (alphaL and gammaL), the ATR calculation length, and the neutral zone multiplier (atrMult).
The src input allows users to choose the price source for calculations (e.g., hl2), while the col input offers various color themes (Default, Modern, Warm, Cool).
Holt Exponential Moving Average (HEMA) Calculation:
Alpha and Gamma Smoothing Factors:
alpha controls how much weight is given to the current price versus past prices.
gamma smooths the trend change rate, reducing noise. The HEMA formula combines the current price, the previous HEMA value, and a trend adjustment (via the b variable) to create a smooth yet responsive average. The b variable tracks the rate of change in the HEMA over time, further refining the trend detection.
ATR-Based Neutral Zone:
If the change in HEMA (hemaChange) falls within the neutral zone, it is considered insignificant, and the trend color remains unchanged.
Color and Signal Detection:
Bullish Trend: The color is set to bull when HEMA rises above the neutral zone.
Bearish Trend: The color is set to bear when HEMA falls below the neutral zone.
Neutral Zone: The color remains unchanged, signalling no significant trend.
🚀 Summary
This indicator enhances traditional moving averages by combining the Holt smoothing method with ATR-based volatility filtering. The HEMA adapts to market conditions, detecting trends and transitions while filtering out insignificant price changes. The result is a versatile tool for:
The ATR Holt Moving Average (HEMA) is ideal for traders seeking a balance between responsiveness and stability, offering precise signals in both trending and volatile markets.
📜 Disclaimer
The information provided by this script is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Past performance of any trading system or indicator, including this one, is not indicative of future results. Trading and investing in financial markets involve risk, and it is possible to lose your entire investment.
Users are advised to perform their own due diligence and consult with a licensed financial advisor before making any trading or investment decisions. The creator of this script is not responsible for any trading or investment decisions made based on the use of this script.
This script complies with TradingView's guidelines and is provided as-is, without any guarantee of accuracy, reliability, or performance. Use at your own risk.
MACD, ADX & RSI -> for altcoins# MACD + ADX + RSI Combined Indicator
## Overview
This advanced technical analysis tool combines three powerful indicators (MACD, ADX, and RSI) into a single view, providing a comprehensive analysis of trend, momentum, and divergence signals. The indicator is designed to help traders identify potential trading opportunities by analyzing multiple aspects of price action simultaneously.
## Components
### 1. MACD (Moving Average Convergence Divergence)
- **Purpose**: Identifies trend direction and momentum
- **Components**:
- Fast EMA (default: 12 periods)
- Slow EMA (default: 26 periods)
- Signal Line (default: 9 periods)
- Histogram showing the difference between MACD and Signal line
- **Visual**:
- Blue line: MACD line
- Orange line: Signal line
- Green/Red histogram: MACD histogram
- **Interpretation**:
- Histogram color changes indicate potential trend shifts
- Crossovers between MACD and Signal lines suggest entry/exit points
### 2. ADX (Average Directional Index)
- **Purpose**: Measures trend strength and direction
- **Components**:
- ADX line (default threshold: 20)
- DI+ (Positive Directional Indicator)
- DI- (Negative Directional Indicator)
- **Visual**:
- Navy blue line: ADX
- Green line: DI+
- Red line: DI-
- **Interpretation**:
- ADX > 20 indicates a strong trend
- DI+ crossing above DI- suggests bullish momentum
- DI- crossing above DI+ suggests bearish momentum
### 3. RSI (Relative Strength Index)
- **Purpose**: Identifies overbought/oversold conditions and divergences
- **Components**:
- RSI line (default: 14 periods)
- Divergence detection
- **Visual**:
- Purple line: RSI
- Horizontal lines at 70 (overbought) and 30 (oversold)
- Divergence labels ("Bull" and "Bear")
- **Interpretation**:
- RSI > 70: Potentially overbought
- RSI < 30: Potentially oversold
- Bullish/Bearish divergences indicate potential trend reversals
## Alert System
The indicator includes several automated alerts:
1. **MACD Alerts**:
- Rising to falling histogram transitions
- Falling to rising histogram transitions
2. **RSI Divergence Alerts**:
- Bullish divergence formations
- Bearish divergence formations
3. **ADX Trend Alerts**:
- Strong trend development (ADX crossing threshold)
- DI+ crossing above DI- (bullish)
- DI- crossing above DI+ (bearish)
## Settings Customization
All components can be fine-tuned through the settings panel:
### MACD Settings
- Fast Length
- Slow Length
- Signal Smoothing
- Source
- MA Type options (SMA/EMA)
### ADX Settings
- Length
- Threshold level
### RSI Settings
- RSI Length
- Source
- Divergence calculation toggle
## Usage Guidelines
### Entry Signals
Strong entry signals typically occur when multiple components align:
1. MACD histogram color change
2. ADX showing strong trend (>20)
3. RSI showing divergence or leaving oversold/overbought zones
### Exit Signals
Consider exits when:
1. MACD crosses signal line in opposite direction
2. ADX shows weakening trend
3. RSI reaches extreme levels with divergence
### Risk Management
- Use the indicator as part of a complete trading strategy
- Combine with price action and support/resistance levels
- Consider multiple timeframe analysis for confirmation
- Don't rely solely on any single component
## Technical Notes
- Built for TradingView using Pine Script v5
- Compatible with all timeframes
- Optimized for real-time calculation
- Includes proper error handling and NA value management
- Memory-efficient calculations for smooth performance
## Installation
1. Copy the provided Pine Script code
2. Open TradingView Chart
3. Create New Indicator -> Pine Editor
4. Paste the code and click "Add to Chart"
5. Adjust settings as needed through the indicator settings panel
## Version Information
- Version: 2.0
- Last Updated: November 2024
- Platform: TradingView
- Language: Pine Script v5
Simple Moving Average with Regime Detection by iGrey.TradingThis indicator helps traders identify market regimes using the powerful combination of 50 and 200 SMAs. It provides clear visual signals and detailed metrics for trend-following strategies.
Key Features:
- Dual SMA System (50/200) for regime identification
- Colour-coded candles for easy trend visualisation
- Metrics dashboard
Core Signals:
- Bullish Regime: Price < 200 SMA
- Bearish Regime: Price > 200 SMA
- Additional confirmation: 50 SMA Cross-over or Cross-under (golden cross or death cross)
Metrics Dashboard:
- Current Regime Status (Bull/Bear)
- SMA Distance (% from price to 50 SMA)
- Regime Distance (% from price to 200 SMA)
- Regime Duration (bars in current regime)
Usage Instructions:
1. Apply the indicator to your chart
2. Configure the SMA lengths if desired (default: 50/200)
3. Monitor the color-coded candles:
- Green: Bullish regime
- Red: Bearish regime
4. Use the metrics dashboard for detailed analysis
Settings Guide:
- Length: Short-term SMA period (default: 50)
- Source: Price calculation source (default: close)
- Regime Filter Length: Long-term SMA period (default: 200)
- Regime Filter Source: Price source for regime calculation (default: close)
Trading Tips:
- Use bullish regimes for long positions
- Use bearish regimes for capital preservation or short positions
- Consider regime duration for trend strength
- Monitor distance metrics for potential reversals
- Combine with other systems for confluence
#trend-following #moving average #regime #sma #momentum
Risk Management:
- Not a standalone trading system
- Should be used with proper position sizing
- Consider market conditions and volatility
- Always use stop losses
Best Practices:
- Monitor multiple timeframes
- Use with other confirmation tools
- Consider fundamental factors
Version: 1.0
Created by: iGREY.Trading
Release Notes
// v1.1 Allows table overlay customisation
// v1.2 Update to v6 pinescript
LiquidFusion SignalPro [CHE] LiquidFusion SignalPro – Indicator Overview
The LiquidFusion SignalPro is a powerful and sophisticated TradingView indicator designed to identify high-quality trade entries and exits. By combining seven unique sub-indicators, it provides comprehensive market analysis, ensuring traders can make informed decisions. This tool is suitable for all market conditions and supports customization to fit individual trading strategies.
Key Components (Sub-Indicators):
1. RPM (Relative Price Momentum):
- Measures cumulative price momentum over a specified period.
- Provides insights into price strength and directional bias.
- Input Customization:
- Source: Data for momentum calculation.
- Period: Length for momentum measurement.
- Resolution: Timeframe for data fetching.
2. BBO (Bull-Bear Oscillator):
- Calculates the strength of bullish or bearish momentum based on price movement and RSI conditions.
- Uses a super-smoothing technique for reliable signals.
- Customizable parameters include the oscillator's period and repainting options.
3. MACD (Moving Average Convergence Divergence):
- A classic momentum indicator for trend direction and strength.
- Provides buy/sell signals based on the crossover of the MACD line and signal line.
- Input Customization:
- Fast/Slow EMA Periods.
- Signal Line Period.
- Resolution and Source Data.
4. RSI (Relative Strength Index):
- Tracks overbought and oversold conditions.
- A key tool to validate trend continuation or reversals.
- Customizable period, resolution, and source.
5. CCI (Commodity Channel Index):
- Measures the deviation of price from its average.
- Useful for identifying cyclical trends.
- Input Customization includes period, resolution, and source.
6. Stochastic Oscillator:
- Indicates momentum by comparing closing prices to a range of highs and lows.
- Includes smoothing factors for %K and %D lines.
- Customizable parameters:
- %K Length and Smoothing.
- Resolution and Repainting Options.
7. Supertrend:
- A trailing stop-and-reverse system for trend-following strategies.
- Excellent for identifying strong trends and potential reversals.
- Inputs include the multiplier factor and period for ATR-like calculations.
Inputs Overview:
The indicator supports extensive customization for each sub-indicator, grouped under intuitive categories:
- Color Settings: Define bullish and bearish plot colors.
- RPM, BBO, MACD, RSI, CCI, Stochastic, and Supertrend Settings: Tailor each sub-indicator's behavior with adjustable parameters.
- UI Options: Toggle features such as bar coloring, indicator names, and plotted candles.
Trade Signals:
- Long Signal:
- All indicators align in a bullish state:
- RPM > 0, MACD > 0, RSI > 50, Stochastic > 50, CCI > 0, BBO > 0, Supertrend below price.
- Plot: Green triangle below the candle.
- Alert: Notifies the trader of a potential long entry.
- Short Signal:
- All indicators align in a bearish state:
- RPM < 0, MACD < 0, RSI < 50, Stochastic < 50, CCI < 0, BBO < 0, Supertrend above price.
- Plot: Red triangle above the candle.
- Alert: Notifies the trader of a potential short entry.
Features:
- Enhanced Visuals: Plots sub-indicator statuses using labels and color-coded shapes for clarity.
- Alerts: Integrated alert conditions for both long and short trades.
- Bar Coloring: Provides overall trend bias with green (bullish), red (bearish), or gray (neutral) bars.
- Customizable Table: Displays the indicator's status in the chart’s top-right corner.
Trading Benefits:
The LiquidFusion SignalPro excels in generating high-quality entries and exits by:
- Reducing noise through multiple indicator alignment.
- Supporting multiple timeframes and resolutions for flexibility.
- Offering customizable inputs for personalized trading strategies.
Use this tool to enhance your market analysis and improve your trading performance.
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
This indicator is inspired by the Super 6x Indicators: RSI, MACD, Stochastic, Loxxer, CCI, and Velocity . A special thanks to Loxx for their relentless effort, creativity, and contributions to the TradingView community, which served as a foundation for this work.
Happy trading and best regards
Chervolino
Fractal Trend Detector [Skyrexio]Introduction
Fractal Trend Detector leverages the combination of Williams fractals and Alligator Indicator to help traders to understand with the high probability what is the current trend: bullish or bearish. It visualizes the potential uptrend with the coloring bars in green, downtrend - in red color. Indicator also contains two additional visualizations, the strong uptrend and downtrend as the green and red zones and the white line - trend invalidation level (more information in "Methodology and it's justification" paragraph)
Features
Optional strong up and downtrends visualization: with the specified parameter in settings user can add/hide the green and red zones of the strong up and downtrends.
Optional trend invalidation level visualization: with the specified parameter in settings user can add/hide the white line which shows the current trend invalidation price.
Alerts: user can set up the alert and have notifications when uptrend/downtrend has been started, strong uptrend/downtrend started.
Methodology and it's justification
In this script we apply the concept of trend given by Bill Williams in his book "Trading Chaos". This approach leverages the Alligator and Fractals in conjunction. Let's briefly explain these two components.
The Williams Alligator, created by Bill Williams, is a technical analysis tool used to identify trends and potential market reversals. It consists of three moving averages, called the jaw, teeth, and lips, which represent different time periods:
Jaw (Blue Line): The slowest line, showing a 13-period smoothed moving average shifted 8 bars forward.
Teeth (Red Line): The medium-speed line, an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, a 5-period smoothed moving average shifted 3 bars forward.
When the lines are spread apart and aligned, the "alligator" is "awake," indicating a strong trend. When the lines intertwine, the "alligator" is "sleeping," signaling a non-trending or range-bound market. This indicator helps traders identify when to enter or avoid trades.
Williams Fractals, introduced by Bill Williams, are a technical analysis tool used to identify potential reversal points on a price chart. A fractal is a series of at least five consecutive bars where the middle bar has the highest high (for a up fractal) or the lowest low (for a down fractal), compared to the two bars on either side.
Key Points:
Up fractal: Formed when the middle bar shows a higher high than the two preceding and two following bars, signaling a potential turning point downward.
Down fractal: Formed when the middle bar has a lower low than the two surrounding bars, indicating a potential upward reversal.
Fractals are often used with other indicators to confirm trend direction or reversal, helping traders make more informed trading decisions.
How we can use its combination? Let's explain the uptrend example. The up fractal breakout to the upside can be interpret as bullish sign, there is a high probability that uptrend has just been started. It can be explained as following: the up fractal created is the potential change in market's behavior. A lot of traders made a decision to sell and it created the pullback with the fractal at the top. But if price is able to reach the fractal's top and break it, this is a high probability sign that market "changed his opinion" and bullish trend has been started. The moment of breaking is the potential changing to the uptrend. Here is another one important point, this breakout shall happen above the Alligator's teeth line. If not, this crossover doesn't count and the downtrend potentially remaining. The inverted logic is true for the down fractals and downtrend.
According to this methodology we received the high probability up and downtrend changes, but we can even add it. If current trend established by the indicator as the uptrend and alligator's lines have the following order: lips is higher than teeth, teeth is higher than jaw, script count it as a strong uptrend and start print the green zone - zone between lips and jaw. It can be used as a high probability support of the current bull market. The inverted logic can be used for bearish trend and red zones: if lips is lower than teeth and teeth is lower than jaw it's interpreted by the indicator as a strong down trend.
Indicator also has the trend invalidation line (white line). If current bar is green and market condition is interpreted by the script as an uptrend you will see the invalidation line below current price. This is the price level which shall be crossed by the price to change up trend to down trend according to algorithm. This level is recalculated on every candle. The inverted logic is valid for downtrend.
How to use indicator
Apply it to desired chart and time frame. It works on every time frame.
Setup the settings with enabling/disabling visualization of strong up/downtrend zones and trend invalidation line. "Show Strong Bullish/Bearish Trends" and "Show Trend Invalidation Price" checkboxes in the settings. By default they are turned on.
Analyze the price action. Indicator colored candle in green if it's more likely that current state is uptrend, in red if downtrend has the high probability to be now. Green zones between two lines showing if current uptrend is likely to be strong. This zone can be used as a high probability support on the uptrend. The red zone show high probability of strong downtrend and can be used as a resistance. White line is showing the level where uptrend or downtrend is going be invalidated according to indicator's algorithm. If current bar is green invalidation line will be below the current price, if red - above the current price.
Set up the alerts if it's needed. Indicator has four custom alerts called "Uptrend has been started" when current bar closed as green and the previous was not green, "Downtrend has been started" when current bar closed red and the previous was not red, "Uptrend became strong" if script started printing the green zone "Downtrend became strong" if script started printing the red zone.
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test indicators before live implementation.
RawCuts_01Library "RawCuts_01"
A collection of functions by:
mutantdog
The majority of these are used within published projects, some useful variants have been included here aswell.
This is volume one consisting mainly of smaller functions, predominantly the filters and standard deviations from Weight Gain 4000.
Also included at the bottom are various snippets of related code for demonstration. These can be copied and adjusted according to your needs.
A full up-to-date table of contents is located at the top of the main script.
WEIGHT GAIN FILTERS
A collection of moving average type filters with adjustable volume weighting.
Based upon the two most common methods of volume weighting.
'Simple' uses the standard method in which a basic VWMA is analogous to SMA.
'Elastic' uses exponential method found in EVWMA which is analogous to RMA.
Volume weighting is applied according to an exponent multiplier of input volume.
0 >> volume^0 (unweighted), 1 >> volume^1 (fully weighted), use float values for intermediate weighting.
Additional volume filter switch for smoothing of outlier events.
DIVA MODULAR DEVIATIONS
A small collection of standard and absolute deviations.
Includes the weightgain functionality as above.
Basic modular functionality for more creative uses.
Optional input (ct) for external central tendency (aka: estimator).
Can be assigned to alternative filter or any float value. Will default to internal filter when no ct input is received.
Some other useful or related functions included at the bottom along with basic demonstration use.
weightgain_sma(src, len, xVol, fVol)
Simple Moving Average (SMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Standard Simple Moving Average with Simple Weight Gain applied.
weightgain_hsma(src, len, xVol, fVol)
Harmonic Simple Moving Average (hSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Harmonic Simple Moving Average with Simple Weight Gain applied.
weightgain_gsma(src, len, xVol, fVol)
Geometric Simple Moving Average (gSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Geometric Simple Moving Average with Simple Weight Gain applied.
weightgain_wma(src, len, xVol, fVol)
Linear Weighted Moving Average (WMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Linear Weighted Moving Average with Simple Weight Gain applied.
weightgain_hma(src, len, xVol, fVol)
Hull Moving Average (HMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Hull Moving Average with Simple Weight Gain applied.
diva_sd_sma(src, len, xVol, fVol, ct)
Standard Deviation (SD SMA): Diva / Weight Gain (Simple Volume)
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_sd_wma(src, len, xVol, fVol, ct)
Standard Deviation (SD WMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
diva_aad_sma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD SMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_aad_wma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD WMA): Diva / Weight Gain (Simple Volume) .
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
weightgain_ema(src, len, xVol, fVol)
Exponential Moving Average (EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Exponential Moving Average with Elastic Weight Gain applied.
weightgain_dema(src, len, xVol, fVol)
Double Exponential Moving Average (DEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Exponential Moving Average with Elastic Weight Gain applied.
weightgain_tema(src, len, xVol, fVol)
Triple Exponential Moving Average (TEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Exponential Moving Average with Elastic Weight Gain applied.
weightgain_rma(src, len, xVol, fVol)
Rolling Moving Average (RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Rolling Moving Average with Elastic Weight Gain applied.
weightgain_drma(src, len, xVol, fVol)
Double Rolling Moving Average (DRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Rolling Moving Average with Elastic Weight Gain applied.
weightgain_trma(src, len, xVol, fVol)
Triple Rolling Moving Average (TRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Rolling Moving Average with Elastic Weight Gain applied.
diva_sd_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_ema().
Returns:
diva_sd_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_rma().
Returns:
weightgain_vidya_rma(src, len, xVol, fVol)
VIDYA v1 RMA base (VIDYA-RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, RMA base with Elastic Weight Gain applied.
weightgain_vidya_ema(src, len, xVol, fVol)
VIDYA v1 EMA base (VIDYA-EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, EMA base with Elastic Weight Gain applied.
diva_sd_vidya_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_rma().
Returns:
diva_sd_vidya_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_ema().
Returns:
weightgain_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_sd_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_mad_mm(src, len, ct)
Median Absolute Deviation (MAD MM): Diva (no volume weighting).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
ct (float) : Central tendency (optional, na = bypass). Internal: ta.median()
Returns:
source_switch(slct, aux1, aux2, aux3, aux4)
Custom Source Selector/Switch function. Features standard & custom 'weighted' sources with additional aux inputs.
Parameters:
slct (string) : Choose from custom set of string values.
aux1 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux2 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux3 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux4 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
Returns: Float value, to be used as src input for other functions.
colour_gradient_ma_div(ma1, ma2, div, bull, bear, mid, mult)
Colour Gradient for plot fill between two moving averages etc, with seperate bull/bear and divergence strength.
Parameters:
ma1 (float) : Input for fast moving average (eg: bullish when above ma2).
ma2 (float) : Input for slow moving average (eg: bullish when below ma1).
div (float) : Input deviation/divergence value used to calculate strength of colour.
bull (color) : Colour when ma1 above ma2.
bear (color) : Colour when ma1 below ma2.
mid (color) : Neutral colour when ma1 = ma2.
mult (int) : Opacity multiplier. 100 = maximum, 0 = transparent.
Returns: Colour with transparency (according to specified inputs)
Stoch RSI and RSI Buy/Sell Signals with MACD Trend FilterDescription of the Indicator
This Pine Script is designed to provide traders with buy and sell signals based on the combination of Stochastic RSI, RSI, and MACD indicators, enhanced by the confirmation of candle colors. The primary goal is to facilitate informed trading decisions in various market conditions by utilizing different indicators and their interactions. The script allows customization of various parameters, providing flexibility for traders to adapt it to their specific trading styles.
Usefulness
This indicator is not just a mashup of existing indicators; it integrates the functionality of multiple momentum and trend-detection methods into a cohesive trading tool. The combination of Stochastic RSI, RSI, and MACD offers a well-rounded approach to analyzing market conditions, allowing traders to identify entry and exit points effectively. The inclusion of color-coded signals (strong vs. weak) further enhances its utility by providing visual cues about the strength of the signals.
How to Use This Indicator
Input Settings: Adjust the parameters for the Stochastic RSI, RSI, and MACD to fit your trading style. Set the overbought/oversold levels according to your risk tolerance.
Signal Colors:
Strong Buy Signal: Indicated by a green label and confirmed by a green candle (close > open).
Weak Buy Signal: Indicated by a blue label and confirmed by a green candle (close > open).
Strong Sell Signal: Indicated by a red label and confirmed by a red candle (close < open).
Weak Sell Signal: Indicated by an orange label and confirmed by a red candle (close < open).
Example Trading Strategy Using This Indicator
To effectively use this indicator as part of your trading strategy, follow these detailed steps:
Setup:
Timeframe : Select a timeframe that aligns with your trading style (e.g., 15-minute for intraday, 1-hour for swing trading, or daily for longer-term positions).
Indicator Settings : Customize the Stochastic RSI, RSI, and MACD parameters to suit your trading approach. Adjust overbought/oversold levels to match your risk tolerance.
Strategy:
1. Strong Buy Entry Criteria :
Wait for a strong buy signal (green label) when the RSI is at or below the oversold level (e.g., ≤ 35), indicating a deeply oversold market. Confirm that the MACD shows a decreasing trend (bearish momentum weakening) to validate a potential reversal. Ensure the current candle is green (close > open) if candle color confirmation is enabled.
Example Use : On a 1-hour chart, if the RSI drops below 35, MACD shows three consecutive bars of decreasing negative momentum, and a green candle forms, enter a buy position. This setup signals a robust entry with strong momentum backing it.
2. Weak Buy Entry Criteria :
Monitor for weak buy signals (blue label) when RSI is above the oversold level but still below the neutral (e.g., between 36 and 50). This indicates a market recovering from an oversold state but not fully reversing yet. These signals can be used for early entries with additional confirmations, such as support levels or higher timeframe trends.
Example Use : On the same 1-hour chart, if RSI is at 45, the MACD shows momentum stabilizing (not necessarily negative), and a green candle appears, consider a partial or cautious entry. Use this as an early warning for a potential bullish move, especially when higher timeframe indicators align.
3. Strong Sell Entry Criteria :
Look for a strong sell signal (red label) when RSI is at or above the overbought level (e.g., ≥ 65), signaling a strong overbought condition. The MACD should show three consecutive bars of increasing positive momentum to indicate that the bullish trend is weakening. Ensure the current candle is red (close < open) if candle color confirmation is enabled.
Example Use : If RSI reaches 70, MACD shows increasing momentum that starts to level off, and a red candle forms on a 1-hour chart, initiate a short position with a stop loss set above recent resistance. This is a high-confidence signal for potential price reversal or pullback.
4. Weak Sell Entry Criteria :
Use weak sell signals (orange label) when RSI is between the neutral and overbought levels (e.g., between 50 and 64). These can indicate potential short opportunities that might not yet be fully mature but are worth monitoring. Look for other confirmations like resistance levels or trendline touches to strengthen the signal.
Example Use : If RSI reads 60 on a 1-hour chart, and the MACD shows slight positive momentum with signs of slowing down, place a cautious sell position or scale out of existing long positions. This setup allows you to prepare for a possible downtrend.
Trade Management:
Stop Loss : For buy trades, place stop losses below recent swing lows. For sell trades, set stops above recent swing highs to manage risk effectively.
Take Profit : Target nearby resistance or support levels, apply risk-to-reward ratios (e.g., 1:2), or use trailing stops to lock in profits as price moves in your favor.
Confirmation : Align these signals with broader trends on higher timeframes. For example, if you receive a weak buy signal on a 15-minute chart, check the 1-hour or daily chart to ensure the overall trend is not bearish.
Real-World Example: Imagine trading on a 15-minute chart :
For a buy:
A strong buy signal (green) appears when the RSI dips to 32, MACD shows declining bearish momentum, and a green candle forms. Enter a buy position with a stop loss below the most recent support level.
Alternatively, a weak buy signal (blue) appears when RSI is at 47. Use this as a signal to start monitoring the market closely or enter a smaller position if other indicators (like support and volume analysis) align.
For a sell:
A strong sell signal (red) with RSI at 72 and a red candle signals to short with conviction. Place your stop loss just above the last peak.
A weak sell signal (orange) with RSI at 62 might prompt caution but can still be acted on if confirmed by declining volume or touching a resistance level.
These strategies show how to blend both strong and weak signals into your trading for more nuanced decision-making.
Technical Analysis of the Code
1. Stochastic RSI Calculation:
The script calculates the Stochastic RSI (stochRsiK) using the RSI as input and smooths it with a moving average (stochRsiD).
Code Explanation : ta.stoch(rsi, rsi, rsi, stochLength) computes the Stochastic RSI, and ta.sma(stochRsiK, stochSmoothing) applies smoothing.
2. RSI Calculation :
The RSI is computed over a user-defined period and checks for overbought or oversold conditions.
Code Explanation : rsi = ta.rsi(close, rsiLength) calculates RSI values.
3. MACD Trend Filter :
MACD is calculated with fast, slow, and signal lengths, identifying trends via three consecutive bars moving in the same direction.
Code Explanation : = ta.macd(close, macdLengthFast, macdLengthSlow, macdSignalLength) sets MACD values. Conditions like macdLine < macdLine confirm trends.
4. Buy and Sell Conditions :
The script checks Stochastic RSI, RSI, and MACD values to set buy/sell flags. Candle color filters further confirm valid entries.
Code Explanation : buyConditionMet and sellConditionMet logically check all conditions and toggles (enableStochCondition, enableRSICondition, etc.).
5. Signal Flags and Confirmation :
Flags track when conditions are met and ensure signals only appear on appropriate candle colors.
Code Explanation : Conditional blocks (if statements) update buyFlag and sellFlag.
6. Labels and Alerts :
The indicator plots "BUY" or "SELL" labels with the RSI value when signals trigger and sets alerts through alertcondition().
Code Explanation : label.new() displays the signal, color-coded for strength based on RSI.
NOTE : All strategies can be enabled or disabled in the settings, allowing traders to customize the indicator to their preferences and trading styles.
Ultimate Multi Indicator - by SachaThe Ultimate Multi Indicator: The Ultimate Guide To Profit
This custom indicator, the Ultimate Multi Indicator , integrates multiple trading indicators to have powerful buy and sell signals. I combined MACD, EMA, RSI, Bollinger Bands, Volume Profile, and Ichimoku Cloud indicators to help traders analyze both short-term and long-term price movements.
Key Components and How to Use Them
- MACD (Moving Average Convergence Divergence):
- Use for trend direction and potentiality of reversals.
- The blue line (MACD Line) crossing above the orange line (Signal Line) indicates a bullish reversal; the opposite signals a bearish reversal.
- Watch for crossovers to confirm the direction of smaller price movements.
- 200 EMA (Long) (Exponential Moving Average):
- Use to indicate a long-term trend direction.
- If the price is above the 200 EMA, the market is in an uptrend; below it suggests a downtrend.
- The chart’s background color shifts subtly green (uptrend) or red (downtrend) depending on the EMA's relative position.
- RSI (Relative Strength Index):
- Tracks momentum and overbought/oversold levels.
- RSI over 70 signifies overbought conditions; under 30 indicates oversold.
- Look for RSI turning points around these levels to identify potential reversals.
- Bollinger Bands :
- The price touching or crossing the upper Bollinger Band may mean overbought conditions are filled, while a touch at the lower band indicates oversold.
- Bollinger Band interactions often align with key reversal points, especially when combined with other signals.
- Volume Profile :
- A yellow VP line on the chart represents significant trading volume occurred.
- This line can be used as both a support and resistance level, and especially during consolidations or trend changes.
- Ichimoku Cloud :
- Identifies support/resistance levels and trend direction.
- Green and red cloud regions visually show if the price is above (bullish) or below (bearish) key levels.
- Price above the cloud (green) confirms a bullish market, while below (red) signals bearish.
Signal Conditions and Visualization
- Buy Signals :
- This is triggered right away when MACD crosses up, RSI is oversold, or price touches the lower Bollinger Band, provided price is above both the Ichimoku Cloud and the 200 EMA.
- A green “BUY” label appears below the bar, suggesting a potential entry.
- Sell Signals :
- This signal is generated when MACD crosses down, RSI is overbought, or price touches the upper Bollinger Band, and price is below the Ichimoku Cloud and the 200 EMA.
- A red “SELL” label is shown above the bar, indicating a potential exit.
Tips & Tricks
- Confirm Signals : Use multiple signals to confirm entries and exits. For example, if both the MACD and RSI align with the Ichimoku Cloud direction, the trade setup is stronger.
- Trend Directions : Only take buy signals if the price is above the 200 EMA, and sell signals if it is below, aligning trades with the overall trend.
- Adjust for Volatility : In high-volatility markets, especially in the crypto markets, pay close attention to the Bollinger Bands for breakout potential.
- Ichimoku as a Trend Guide : Use the Ichimoku Cloud as a guide for long-term support and resistance levels, especially for swing trades.
This multi-layered indicator gives a balanced blend of short-term signals and long-term trend insights, making it a versatile tool for day trading, swing trading, or even longer-term analysis.
Remember that indicators that will make you rich instantly don't exist. To expect minimum profit from them, you shouldn't trade all you have at the same time but only trade with the money you can afford to lose.
After that being said, I wish you traders luck with the Ultimate Multi Indicator!
Vishnu's Magics**Vishnu's Magics** is a powerful RSI (Relative Strength Index) indicator designed to enhance trading strategies through effective divergence detection and alerting features. This indicator provides the following key functionalities:
1. **RSI Calculation**: Calculates the RSI over a customizable length, allowing traders to identify overbought and oversold conditions.
2. **Customizable Bands**: Users can set multiple upper and lower bands to define different overbought and oversold levels, facilitating precise trading decisions.
3. **Divergence Detection**: The indicator identifies both bullish and bearish divergences by comparing price action with RSI movements. It highlights these divergences on the chart, helping traders anticipate potential reversals.
4. **Visual Alerts**: When divergences are detected, the indicator visually marks the points on the chart with labeled shapes ("Bull" for bullish divergence and "Bear" for bearish divergence) and changes the background color to indicate the condition.
5. **Alert System**: Users can set alerts for significant events, such as crossing specified bands or detecting divergences, ensuring timely notifications for trading opportunities.
6. **Custom Line Values**: Traders can edit the values for the divergence lines, providing flexibility to tailor the indicator according to their trading strategies.
Overall, **Vishnu's Magics** serves as an intuitive tool for traders looking to leverage RSI analysis and divergence strategies for informed trading decisions.
$TUBR: 7-25-99 Moving Average7, 25, and 99 Period Moving Averages
This indicator plots three moving averages: the 7-period, 25-period, and 99-period Simple Moving Averages (SMA). These moving averages are widely used to smooth out price action and help traders identify trends over different time frames. Let's break down the significance of these specific moving averages from both supply and demand perspectives and a price action perspective.
1. Supply and Demand Perspective:
- 7-period Moving Average (Short-Term) :
The 7-period moving average represents the short-term sentiment in the market. It captures the rapid fluctuations in price and is heavily influenced by recent supply and demand changes. Traders often look to the 7-period SMA for immediate price momentum, with price moving above or below this line signaling short-term strength or weakness.
- Bullish Supply/Demand : When price is above the 7-period SMA, it suggests that buyers are currently in control and demand is higher than supply. Conversely, price falling below this line indicates that supply is overpowering demand, leading to a short-term downtrend.
Is current price > average price in past 7 candles (depending on timeframe)? This will tell you how aggressive buyers are in short term.
- Key Supply/Demand Zones : The 7-period SMA often acts as dynamic support or resistance in a trending market, where traders might use it to enter or exit positions based on how price interacts with this level.
- 25-period Moving Average (Medium-Term) :
The 25-period SMA smooths out more of the noise compared to the 7-period, providing a more stable indication of intermediate trends. This moving average is often used to gauge the market's supply and demand balance over a broader timeframe than the short-term 7-period SMA.
- Supply/Demand Balance : The 25-period SMA reflects the medium-term equilibrium between supply and demand. A crossover between the price and the 25-period SMA may indicate a shift in this balance. When price sustains above the 25-period SMA, it shows that demand is strong enough to maintain an upward trend. Conversely, if the price stays below it, supply is likely exceeding demand.
Is current price > average price in past 25 candles (depending on timeframe)? This will tell you how aggressive buyers are in mid term.
- Momentum Shift : Crossovers between the 7-period and 25-period SMAs can indicate momentum shifts between short-term and medium-term demand. For example, if the 7-period crosses above the 25-period, it often signifies growing short-term demand relative to the medium-term trend, signaling potential buy opportunities. What this crossover means is that if 7MA > 25MA that means in past 7 candles average price is more than past 25 candles.
- 99-period Moving Average (Long-Term):
The 99-period SMA represents the long-term trend and reflects the market's supply and demand over an extended period. This moving average filters out short-term fluctuations and highlights the market's overall trajectory.
- Long-Term Supply/Demand Dynamics : The 99-period SMA is slower to react to changes in supply and demand, providing a more stable view of the market's overall trend. Price staying above this line shows sustained demand dominance, while price consistently staying below reflects ongoing supply pressure.
Is current price > average price in past 99 candles (depending on timeframe)? This will tell you how aggressive buyers are in long term.
- Market Trend Confirmation : When both the 7-period and 25-period SMAs are above the 99-period SMA, it signals a strong bullish trend with demand outweighing supply across all timeframes. If all three SMAs are below the 99-period SMA, it points to a bear market where supply is overpowering demand in both the short and long term.
2. Price Action Perspective :
- 7-period Moving Average (Short-Term Trends):
The 7-period moving average closely tracks price action, making it highly responsive to quick shifts in price. Traders often use it to confirm short-term reversals or continuations in price action. In an uptrend, price typically stays above the 7-period SMA, whereas in a downtrend, price stays below it.
- Short-Term Price Reversals : Crossovers between the price and the 7-period SMA often indicate short-term reversals. When price breaks above the 7-period SMA after staying below it, it suggests a potential bullish reversal. Conversely, a price breakdown below the 7-period SMA could signal a bearish reversal.
- 25-period Moving Average (Medium-Term Trends) :
The 25-period SMA helps identify the medium-term price action trend. It balances short-term volatility and longer-term stability, providing insight into the more persistent trend. Price pullbacks to the 25-period SMA during an uptrend can act as a buying opportunity for trend traders, while pullbacks during a downtrend may offer shorting opportunities.
- Pullback and Continuation: In trending markets, price often retraces to the 25-period SMA before continuing in the direction of the trend. For instance, if the price is in a bullish trend, traders may look for support at the 25-period SMA for potential continuation trades.
- 99-period Moving Average (Long-Term Trend and Market Sentiment ):
The 99-period SMA is the most critical for identifying the overall market trend. Price consistently trading above the 99-period SMA indicates long-term bullish momentum, while price staying below the 99-period SMA suggests bearish sentiment.
- Trend Confirmation : Price action above the 99-period SMA confirms long-term upward momentum, while price action below it confirms a downtrend. The space between the shorter moving averages (7 and 25) and the 99-period SMA gives a sense of the strength or weakness of the trend. Larger gaps between the 7 and 99 SMAs suggest strong bullish momentum, while close proximity indicates consolidation or potential reversals.
- Price Action in Trending Markets : Traders often use the 99-period SMA as a dynamic support/resistance level. In strong trends, price tends to stay on one side of the 99-period SMA for extended periods, with breaks above or below signaling major changes in market sentiment.
Why These Numbers Matter:
7-Period MA : The 7-period moving average is a popular choice among short-term traders who want to capture quick momentum changes. It helps visualize immediate market sentiment and is often used in conjunction with price action to time entries or exits.
- 25-Period MA: The 25-period MA is a key indicator for swing traders. It balances sensitivity and stability, providing a clearer picture of the intermediate trend. It helps traders stay in trades longer by filtering out short-term noise, while still being reactive enough to detect reversals.
- 99-Period MA : The 99-period moving average provides a broad view of the market's direction, filtering out much of the short- and medium-term noise. It is crucial for identifying long-term trends and assessing whether the market is bullish or bearish overall. It acts as a key reference point for longer-term trend followers, helping them stay with the broader market sentiment.
Conclusion:
From a supply and demand perspective, the 7, 25, and 99-period moving averages help traders visualize shifts in the balance between buyers and sellers over different time horizons. The price action interaction with these moving averages provides valuable insight into short-term momentum, intermediate trends, and long-term market sentiment. Using these three MAs together gives a more comprehensive understanding of market conditions, helping traders align their strategies with prevailing trends across various timeframes.
------------- RULE BASED SYSTEM ---------------
Overview of the Rule-Based System:
This system will use the following moving averages:
7-period MA: Represents short-term price action.
25-period MA: Represents medium-term price action.
99-period MA: Represents long-term price action.
1. Trend Identification Rules:
Bullish Trend:
The 7-period MA is above the 25-period MA, and the 25-period MA is above the 99-period MA.
This structure shows that short, medium, and long-term trends are aligned in an upward direction, indicating strong bullish momentum.
Bearish Trend:
The 7-period MA is below the 25-period MA, and the 25-period MA is below the 99-period MA.
This suggests that the market is in a downtrend, with bearish momentum dominating across timeframes.
Neutral/Consolidation:
The 7-period MA and 25-period MA are flat or crossing frequently with the 99-period MA, and they are close to each other.
This indicates a sideways or consolidating market where there’s no strong trend direction.
2. Entry Rules:
Bullish Entry (Buy Signals):
Primary Buy Signal:
The price crosses above the 7-period MA, AND the 7-period MA is above the 25-period MA, AND the 25-period MA is above the 99-period MA.
This indicates the start of a new upward trend, with alignment across the short, medium, and long-term trends.
Pullback Buy Signal (for trend continuation):
The price pulls back to the 25-period MA, and the 7-period MA remains above the 25-period MA.
This indica
tes that the pullback is a temporary correction in an uptrend, and buyers may re-enter the market as price approaches the 25-period MA.
You can further confirm the signal by waiting for price action (e.g., bullish candlestick patterns) at the 25-period MA level.
Breakout Buy Signal:
The price crosses above the 99-period MA, and the 7-period and 25-period MAs are also both above the 99-period MA.
This confirms a strong bullish breakout after consolidation or a long-term downtrend.
Bearish Entry (Sell Signals):
Primary Sell Signal:
The price crosses below the 7-period MA, AND the 7-period MA is below the 25-period MA, AND the 25-period MA is below the 99-period MA.
This indicates the start of a new downtrend with alignment across the short, medium, and long-term trends.
Pullback Sell Signal (for trend continuation):
The price pulls back to the 25-period MA, and the 7-period MA remains below the 25-period MA.
This indicates that the pullback is a temporary retracement in a downtrend, providing an opportunity to sell as price meets resistance at the 25-period MA.
Breakdown Sell Signal:
The price breaks below the 99-period MA, and the 7-period and 25-period MAs are also below the 99-period MA.
This confirms a strong bearish breakdown after consolidation or a long-term uptrend reversal.
3. Exit Rules:
Bullish Exit (for long positions):
Short-Term Exit:
The price closes below the 7-period MA, and the 7-period MA starts crossing below the 25-period MA.
This indicates weakening momentum in the uptrend, suggesting an exit from the long position.
Stop-Loss Trigger:
The price falls below the 99-period MA, signaling the breakdown of the long-term trend.
This can act as a final exit signal to minimize losses if the long-term uptrend is invalidated.
Bearish Exit (for short positions):
Short-Term Exit:
The price closes above the 7-period MA, and the 7-period MA starts crossing above the 25-period MA.
This indicates a potential weakening of the downtrend and signals an exit from the short position.
Stop-Loss Trigger:
The price breaks above the 99-period MA, invalidating the bearish trend.
This signals that the market may be reversing to the upside, and exiting short positions would be prudent.
Value at Risk [OmegaTools]The "Value at Risk" (VaR) indicator is a powerful financial risk management tool that helps traders estimate the potential losses in a portfolio over a specified period of time, given a certain level of confidence. VaR is widely used by financial institutions, traders, and risk managers to assess the probability of portfolio losses in both normal and volatile market conditions. This TradingView script implements a comprehensive VaR calculation using several models, allowing users to visualize different risk scenarios and adjust their trading strategies accordingly.
Concept of Value at Risk
Value at Risk (VaR) is a statistical technique used to measure the likelihood of losses in a portfolio or financial asset due to market risks. In essence, it answers the question: "What is the maximum potential loss that could occur in a given portfolio over a specific time horizon, with a certain confidence level?" For instance, if a portfolio has a one-day 95% VaR of $10,000, it means that there is a 95% chance the portfolio will not lose more than $10,000 in a single day. Conversely, there is a 5% chance of losing more than $10,000. VaR is a key risk management tool for portfolio managers and traders because it quantifies potential losses in monetary terms, allowing for better-informed decision-making.
There are several ways to calculate VaR, and this indicator script incorporates three of the most commonly used models:
Historical VaR: This approach uses historical returns to estimate potential losses. It is based purely on past price data, assuming that the past distribution of returns is indicative of future risks.
Variance-Covariance VaR: This model assumes that asset returns follow a normal distribution and that the risk can be summarized using the mean and standard deviation of past returns. It is a parametric method that is widely used in financial risk management.
Exponentially Weighted Moving Average (EWMA) VaR: In this model, recent data points are given more weight than older data. This dynamic approach allows the VaR estimation to react more quickly to changes in market volatility, which is particularly useful during periods of market stress. This model uses the Exponential Weighted Moving Average Volatility Model.
How the Script Works
The script starts by offering users a set of customizable input settings. The first input allows the user to choose between two main calculation modes: "All" or "OCT" (Only Current Timeframe). In the "All" mode, the script calculates VaR using all available methodologies—Historical, Variance-Covariance, and EWMA—providing a comprehensive risk overview. The "OCT" mode narrows the calculation to the current timeframe, which can be particularly useful for intraday traders who need a more focused view of risk.
The next input is the lookback window, which defines the number of historical periods used to calculate VaR. Commonly used lookback periods include 21 days (approximately one month), 63 days (about three months), and 252 days (roughly one year), with the script supporting up to 504 days for more extended historical analysis. A longer lookback period provides a more comprehensive picture of risk but may be less responsive to recent market conditions.
The confidence level is another important setting in the script. This represents the probability that the loss will not exceed the VaR estimate. Standard confidence levels are 90%, 95%, and 99%. A higher confidence level results in a more conservative risk estimate, meaning that the calculated VaR will reflect a more extreme loss scenario.
In addition to these core settings, the script allows users to customize the visual appearance of the indicator. For example, traders can choose different colors for "Bullish" (Risk On), "Bearish" (Risk Off), and "Neutral" phases, as well as colors for highlighting "Breaks" in the data, where returns exceed the calculated VaR. These visual cues make it easy to identify periods of heightened risk at a glance.
The actual VaR calculation is broken down into several models, starting with the Historical VaR calculation. This is done by computing the logarithmic returns of the asset's closing prices and then using linear interpolation to determine the percentile corresponding to the desired confidence level. This percentile represents the potential loss in the asset over the lookback period.
Next, the script calculates Variance-Covariance VaR using the mean and standard deviation of the historical returns. The standard deviation is multiplied by a z-score corresponding to the chosen confidence level (e.g., 1.645 for 95% confidence), and the resulting value is subtracted from the mean return to arrive at the VaR estimate.
The EWMA VaR model uses the EWMA for the sigma parameter, the standard deviation, obtaining a specific dynamic in the volatility. It is particularly useful in volatile markets where recent price behavior is more indicative of future risk than older data.
For traders interested in intraday risk management, the script provides several methods to adjust VaR calculations for lower timeframes. By using intraday returns and scaling them according to the chosen timeframe, the script provides a dynamic view of risk throughout the trading day. This is especially important for short-term traders who need to manage their exposure during high-volatility periods within the same day. The script also incorporates an EWMA model for intraday data, which gives greater weight to the most recent intraday price movements.
In addition to calculating VaR, the script also attempts to detect periods where the asset's returns exceed the estimated VaR threshold, referred to as "Breaks." When the returns breach the VaR limit, the script highlights these instances on the chart, allowing traders to quickly identify periods of extreme risk. The script also calculates the average of these breaks and displays it for comparison, helping traders understand how frequently these high-risk periods occur.
The script further visualizes the risk scenario using a risk phase classification system. Depending on the level of risk, the script categorizes the market as either "Risk On," "Risk Off," or "Risk Neutral." In "Risk On" mode, the market is considered bullish, and the indicator displays a green background. In "Risk Off" mode, the market is bearish, and the background turns red. If the market is neither strongly bullish nor bearish, the background turns neutral, signaling a balanced risk environment.
Traders can customize whether they want to see this risk phase background, along with toggling the display of the various VaR models, the intraday methods, and the break signals. This flexibility allows traders to tailor the indicator to their specific needs, whether they are day traders looking for quick intraday insights or longer-term investors focused on historical risk analysis.
The "Risk On" and "Risk Off" phases calculated by this Value at Risk (VaR) script introduce a novel approach to market risk assessment, offering traders an advanced toolset to gauge market sentiment and potential risk levels dynamically. These risk phases are built on a combination of traditional VaR methodologies and proprietary logic to create a more responsive and intuitive way to manage exposure in both normal and volatile market conditions. This method of classifying market conditions into "Risk On," "Risk Off," or "Risk Neutral" is not something that has been traditionally associated with VaR, making it a groundbreaking addition to this indicator.
How the "Risk On" and "Risk Off" Phases Are Calculated
In typical VaR implementations, the focus is on calculating the potential losses at a given confidence level without providing an overall market outlook. This script, however, introduces a unique risk classification system that takes the output of various VaR models and translates it into actionable signals for traders, marking whether the market is in a Risk On, Risk Off, or Risk Neutral phase.
The Risk On and Risk Off phases are primarily determined by comparing the current returns of the asset to the average VaR calculated across several different methods, including Historical VaR, Variance-Covariance VaR, and EWMA VaR. Here's how the process works:
1. Threshold Setting and Effect Calculation: The script first computes the average VaR using the selected models. It then checks whether the current returns (expressed as a negative value to signify loss) exceed the average VaR value. If the current returns surpass the calculated VaR threshold, this indicates that the actual market risk is higher than expected, signaling a potential shift in market conditions.
2. Break Analysis: In addition to monitoring whether returns exceed the average VaR, the script counts the number of instances within the lookback period where this breach occurs. This is referred to as the "break effect." For each period in the lookback window, the script checks whether the returns surpass the calculated VaR threshold and increments a counter. The percentage of periods where this breach occurs is then calculated as the "effect" or break percentage.
3. Dual Effect Check (if "Double" Risk Scenario is selected): When the user chooses the "Double" risk scenario mode, the script performs two layers of analysis. First, it calculates the effect of returns exceeding the VaR threshold for the current timeframe. Then, it calculates the effect for the lower intraday timeframe as well. Both effects are compared to the user-defined confidence level (e.g., 95%). If both effects exceed the confidence level, the market is deemed to be in a high-risk situation, thus triggering a Risk Off phase. If both effects fall below the confidence level, the market is classified as Risk On.
4. Risk Phases Determination: The final risk phase is determined by analyzing these effects in relation to the confidence level:
- Risk On: If the calculated effect of breaks is lower than the confidence level (e.g., fewer than 5% of periods show returns exceeding the VaR threshold for a 95% confidence level), the market is considered to be in a relatively safe state, and the script signals a "Risk On" phase. This is indicative of bullish conditions where the potential for extreme loss is minimal.
- Risk Off: If the break effect exceeds the confidence level (e.g., more than 5% of periods show returns breaching the VaR threshold), the market is deemed to be in a high-risk state, and the script signals a "Risk Off" phase. This indicates bearish market conditions where the likelihood of significant losses is higher.
- Risk Neutral: If the break effect hovers near the confidence level or if there is no clear trend indicating a shift toward either extreme, the market is classified as "Risk Neutral." In this phase, neither bulls nor bears are dominant, and traders should remain cautious.
The phase color that the script uses helps visualize these risk phases. The background will turn green in Risk On conditions, red in Risk Off conditions, and gray in Risk Neutral phases, providing immediate visual feedback on market risk. In addition to this, when the "Double" risk scenario is selected, the background will only turn green or red if both the current and intraday timeframes confirm the respective risk phase. This double-checking process ensures that traders are only given a strong signal when both longer-term and short-term risks align, reducing the likelihood of false signals.
A New Way of Using Value at Risk
This innovative Risk On/Risk Off classification, based on the interaction between VaR thresholds and market returns, represents a significant departure from the traditional use of Value at Risk as a pure risk measurement tool. Typically, VaR is employed as a backward-looking measure of risk, providing a static estimate of potential losses over a given timeframe with no immediate actionable feedback on current market conditions. This script, however, dynamically interprets VaR results to create a forward-looking, real-time signal that informs traders whether they are operating in a favorable (Risk On) or unfavorable (Risk Off) environment.
By incorporating the "break effect" analysis and allowing users to view the VaR breaches as a percentage of past occurrences, the script adds a predictive element that can be used to time market entries and exits more effectively. This **dual-layer risk analysis**, particularly when using the "Double" scenario mode, adds further granularity by considering both current timeframe and intraday risks. Traders can therefore make more informed decisions not just based on historical risk data, but on how the market is behaving in real-time relative to those risk benchmarks.
This approach transforms the VaR indicator from a risk monitoring tool into a decision-making system that helps identify favorable trading opportunities while alerting users to potential market downturns. It provides a more holistic view of market conditions by combining both statistical risk measurement and intuitive phase-based market analysis. This level of integration between VaR methodologies and real-time signal generation has not been widely seen in the world of trading indicators, marking this script as a cutting-edge tool for risk management and market sentiment analysis.
I would like to express my sincere gratitude to @skewedzeta for his invaluable contribution to the final script. From generating fresh ideas to applying his expertise in reviewing the formula, his support has been instrumental in refining the outcome.
XAUUSD Multi-Timeframe Trend AnalyzerOverview
The "XAUUSD Multi-Timeframe Trend Analyzer" is an advanced script designed to provide a comprehensive analysis of the XAUUSD (Gold/US Dollar) trend across multiple timeframes simultaneously. By combining several key technical indicators, this tool helps traders quickly assess the market direction and trend strength for M15, M30, H1, H4, and D1 timeframes.
Multi-Timeframe Analysis: Displays the trend direction and strength across M15, M30, H1, H4, and D1 timeframes, allowing for a complete overview in a single glance.
Comprehensive Indicator Blend: Utilizes six popular technical indicators to determine the trend—Moving Averages, RSI, MACD, Bollinger Bands, DMI, and Parabolic SAR.
Trend Strength Scoring: Provides a numerical trend strength score (from -6 to 6) based on the alignment of the indicators, with positive values indicating uptrends and negative values for downtrends.
Visual Table Display: Displays results in a color-coded table (green for uptrend, red for downtrend, yellow for neutral) with a strength score for each timeframe, helping traders quickly assess market conditions.
How It Works
This script calculates the overall trend and its strength for each selected timeframe by analyzing six widely-used technical indicators:
Moving Averages (MA): The script uses a Fast and a Slow Moving Average. When the Fast MA crosses above the Slow MA, it indicates an uptrend. When the Fast MA crosses below, it signals a downtrend.
Relative Strength Index (RSI): The RSI is used to assess momentum. An RSI value above 50 suggests bullish momentum, while a value below 50 suggests bearish momentum.
Moving Average Convergence Divergence (MACD): MACD measures momentum and trend direction. When the MACD line crosses above the signal line, it signals bullish momentum; when it crosses below, it signals bearish momentum.
Bollinger Bands: These measure price volatility. When the price is above the middle Bollinger Band, the script considers the trend to be bullish, and when it's below, bearish.
Directional Movement Index (DMI): The DMI compares positive directional movement (DI+) and negative directional movement (DI-). A stronger DI+ over DI- signals an uptrend and vice versa.
Parabolic SAR: This indicator is used for determining potential trend reversals and setting stop-loss levels. If the price is above the Parabolic SAR, it indicates an uptrend, and if below, a downtrend.
Trend Strength Calculation
The script calculates a trend strength score for each timeframe:
Each indicator adds or subtracts 1 to the score based on whether it aligns with an uptrend or a downtrend.
A score of 6 indicates a Strong Uptrend, with all indicators aligned bullishly.
A score of -6 indicates a Strong Downtrend, with all indicators aligned bearishly.
Intermediate scores (e.g., 2 or -2) indicate Weak Uptrend or Weak Downtrend, suggesting that not all indicators are in agreement.
A score between 1 and -1 indicates a Neutral trend, suggesting uncertainty in the market.
How to Use
Assess Trend Direction and Strength: The table provides an easy-to-read summary of the trend and its strength on different timeframes. Look for timeframes where the strength is high (either 6 for a strong uptrend or -6 for a strong downtrend) to confirm the market’s overall direction.
Use in Conjunction with Other Strategies: This indicator is designed to provide a comprehensive view of the market. Traders should combine it with other strategies, such as price action analysis or candlestick patterns, to further confirm their trades.
Trend Reversal or Continuation: A weak trend (e.g., a strength of 2 or -2) could signal a possible reversal or a trend that has lost momentum. Strong trends (with a strength of 6 or -6) indicate higher confidence in trend continuation.
Multiple Timeframe Confirmation: Look for alignment across multiple timeframes to confirm the strength and direction of the trend before entering trades. For example, if M15, M30, and H1 are all showing a strong uptrend, it suggests a higher probability of the trend continuing.
Customization Options
- Adjustable Indicators: Users can modify the length and parameters of the Moving Averages, RSI, MACD, Bollinger Bands, DMI, and Parabolic SAR to suit their trading style.
- Flexible Timeframes: You can toggle between different timeframes (M15, M30, H1, H4, D1) to focus on the intervals most relevant to your strategy.
Ideal For
- Traders looking for a detailed, multi-timeframe trend analysis tool for XAUUSD.
- Traders who rely on trend-following strategies and need confirmation across multiple timeframes.
- Those who prefer a multi-indicator approach to avoid false signals and improve the accuracy of their trades.
Disclaimer
This indicator is for informational and educational purposes only. It is recommended to combine this with proper risk management strategies and your own analysis. Past performance does not guarantee future results. Always perform your own due diligence before making trading decisions.
Leonid's Bitcoin Full Cycle Simple SMA IndicatorThis is a straight-forward and customizable indicator to track Bitcoin cycles, specifically used for helping investors understand where to buy and sell. This is done by using a two year SMA period as the base calculation. With that calculation you create lower and upper bounds for bull market peaks and bear market bottoms.
The novel idea here is that you can customize the SMA "strength" for both the upper and lower bounds as alpha decays over time and price get's less volatile with adoption increasing. The multiples are customizable for both the upper and lower bounds along with a mid-line that will adjust based on the settings input.
Indicators don't always have to rely on crazy math or outlandish ideas to be useful, sometimes even the simplest of inputs can give investors (especially those that are new) a great base case for their strategy. Something being simple does not diminish the idea or strength behind the data.
How to use this indicator: This script must be used on INDEX:BTCUSD (Bitcoin All-Time History Index) with the y-axis being set to Logarithmic scale.
Details & how to interpret: The price is colored green when Bitcoin enters a "value zone" meaning it is heavily oversold and likely near a bottom for the bear market cycle. The price is colored red when Bitcoin enters an "overbought zone" meaning it is heavily overbought and is likely near a top for the bull market cycle.
Along with the upper and lower bound I have plotted a mid-line (in orange) to establish a neutral zone which helps depict what phase of the cycle we're in (under mid-line = bearish/accumulation phase, over mid-line = bullish/distribution phase).
The inputs for the upper and lower bound are customizable and will need to be adjusted over time as alpha decay will occur as time goes on. Currently the numbers are as follows:
0.2 for the lower bound
4.675 for the upper bound
Both inputs can be modified depending on your risk tolerance. Mathematically it is safe to assume these numbers will decrease as time goes on and volatility during cycle peaks & troughs is reduced.
I've also plotted an upper bound "heat zone" which is shaded in green, this area is great for signaling when you should be preparing to begin taking profits. It takes the upper bound and subtracts the lower bound to derive the band.
All the colors are customizable and this indicator is best used on a line chart but can be customized to use on a bar chart/candlestick as well.
Simple Moving Averages are a very basic indicator but are often extremely powerful because the majority of traders/investors are looking at such levels which creates a psychological/herd effect. Another good example is the law of round numbers.
Regardless this script can be adapted with EMAs or additional standard deviations if necessary. If you have any questions or concerns please don't hesitate to message me.
Prometheus Fractal WaveThe Fractal Wave is an indicator that uses a fractal analysis to determine where reversals may happen. This is done through a Fractal process, making sure a price point is in a certain set and then getting a Distance metric.
Calculation:
A bullish Fractal is defined by the current bar’s high being less than the last bar’s high, and the last bar’s high being greater than the second to last bar’s high, and the last bar’s high being greater than the third to last bar’s high.
A bearish Fractal is defined by the current low being greater than the last bar’s low, and the last bar’s low being less than the second to last bar’s low, and the last bar’s low being less than the third to last bar’s low.
When there is that bullish or bearish fractal the value we store is either the last bar’s high or low respective to bullish or bearish fractal.
Once we have that value stored we either subtract the last bar’s low from the bullish Fractal value, and subtract the last bar’s high from the bearish Fractal value. Those are our Distances.
Code:
isBullishFractal() =>
high > high and high < high and high > high
isBearishFractal() =>
low < low and low > low and low < low
var float lastBullishFractal = na
var float lastBearishFractal = na
if isBullishFractal() and barstate.isconfirmed
lastBullishFractal := high
if isBearishFractal() and barstate.isconfirmed
lastBearishFractal := low
//------------------------------
//-------CACLULATION------------
//------------------------------
bullWaveDistance = na(lastBullishFractal) ? na : lastBullishFractal - low
bearWaveDistance = na(lastBearishFractal) ? na : high - lastBearishFractal
We then plot the bullish distance and the negative bearish distance.
The trade scenarios come from when one breaks the zero line and then goes back above or below. So if the last bullish distance was below 0 and is now above, or if the last negative bearish distance was above 0 and now below. We plot a green label below a candle for a bullish scenario, or a red label above a candle for a bearish one, you can turn them on or off.
Code:
plot(bullWaveDistance, color=color.green, title="Bull Wave Distance", linewidth=2)
plot(-bearWaveDistance, color=color.red, title="Bear Wave Distance", linewidth=2)
plot(0, "Zero Line", color=color.gray, display = display.pane)
bearish_reversal = plot_labels ? bullWaveDistance < 0 and bullWaveDistance > 0 : na
bullish_reversal = plot_labels ? -bearWaveDistance > 0 and -bearWaveDistance < 0 : na
plotshape(bullish_reversal, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Fractal", text="↑", display = display.all - display.status_line, force_overlay = true)
plotshape(bearish_reversal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Fractal", text="↓", display = display.all - display.status_line, force_overlay = true)
We can see in this daily NASDAQ:QQQ chart that the indicator gives us marks that can either be used as Reversal signals or as breathers in the trend.
Since it is designed to provide reversals, on something like Gold where the uptrend has been strong, the signals may be just short breathers, not full blown strong reversal signs.
The indicator works just as well intra day as it does on larger timeframes.
We encourage traders to not follow indicators blindly, none are 100% accurate. Please comment on any desired updates, all criticism is welcome!