Gelişmiş SMA İndikatörü//@version=5
indicator("Gelişmiş SMA İndikatörü", overlay=true)
// Kullanıcıdan alınacak SMA periyotları
sma1_period = input.int(20, minval=1, title="SMA 1 Periyodu")
sma2_period = input.int(50, minval=1, title="SMA 2 Periyodu")
sma3_period = input.int(200, minval=1, title="SMA 3 Periyodu")
// Renk ve stil seçenekleri
sma1_color = input.color(color.blue, title="SMA 1 Rengi")
sma2_color = input.color(color.red, title="SMA 2 Rengi")
sma3_color = input.color(color.green, title="SMA 3 Rengi")
line_width = input.int(2, minval=1, title="Çizgi Kalınlığı")
// SMA hesaplamaları
sma1 = ta.sma(close, sma1_period)
sma2 = ta.sma(close, sma2_period)
sma3 = ta.sma(close, sma3_period)
// Çizimleri grafiğe ekleme
plot(sma1, color=sma1_color, linewidth=line_width, title="SMA 1")
plot(sma2, color=sma2_color, linewidth=line_width, title="SMA 2")
plot(sma3, color=sma3_color, linewidth=line_width, title="SMA 3")
// Alarm oluşturma (opsiyonel)
alertcondition(ta.cross(sma1, sma2), title="SMA 1 ve SMA 2 Kesişti", message="SMA 1 ve SMA 2 kesişimi oluştu!")
alertcondition(ta.cross(sma2, sma3), title="SMA 2 ve SMA 3 Kesişti", message="SMA 2 ve SMA 3 kesişimi oluştu!")
alertcondition(ta.cross(sma1, sma3), title="SMA 1 ve SMA 3 Kesişti", message="SMA 1 ve SMA 3 kesişimi oluştu!")
. Kullanıcı Tanımlı SMA Periyotları
SMA 1 Periyodu: Varsayılan 20 (kullanıcı tarafından değiştirilebilir).
SMA 2 Periyodu: Varsayılan 50 (kullanıcı tarafından değiştirilebilir).
SMA 3 Periyodu: Varsayılan 200 (kullanıcı tarafından değiştirilebilir).
2. Renk ve Çizgi Stilleri
Her bir SMA'nın rengini ayarlayabilirsiniz (varsayılan: mavi, kırmızı ve yeşil).
Çizgi kalınlığını seçebilirsiniz (varsayılan: 2 piksel).
3. Alarm Özelliği
SMA'ların kesişimi gerçekleştiğinde alarm kurulabilir:
SMA 1 ve SMA 2 kesişimi.
SMA 2 ve SMA 3 kesişimi.
SMA 1 ve SMA 3 kesişimi.
Alarm mesajı: "SMA kesişimi oluştu!" şeklinde gösterilir.
4. Kolay Kullanım ve Görsellik
Çizgiler doğrudan grafik üzerine eklenir (overlay=true).
Tüm ayarlar kullanıcı dostu bir arayüzle yapılabilir.
Moving_average
9/21 EMA_DSWThe 9 and 21 EMA strategy involves using the 9-day and 21-day exponential moving averages to identify potential buy and sell signals. A buy signal is generated when the 9 EMA crosses above the 21 EMA, and a sell signal is generated when the 9 EMA crosses below the 21 EMA.
9/21 EMA_DSWThe 9 and 21 EMA strategy involves using the 9-day and 21-day exponential moving averages to identify potential buy and sell signals. A buy signal is generated when the 9 EMA crosses above the 21 EMA, and a sell signal is generated when the 9 EMA crosses below the 21 EMA.
CHAKRA RISS ENGULFING CANDLESTICK STRATEGYChakra RISS Engulfing Candlestick Strategy
Type: Technical Indicator & Strategy
Platform: TradingView
Script Version: Pine Script v6
Overview:
The Chakra RISS Engulfing Candlestick Strategy combines a momentum-based approach using the Relative Strength Index (RSI) with Engulfing Candlestick Patterns to generate buy and sell signals. The strategy filters trades based on price movement relative to a 50-period Simple Moving Average (SMA), making it a trend-following strategy.
The indicator uses color-coded bars to visually represent market conditions, helping traders easily identify bullish and bearish trends. The strategy is designed to be dynamic, adapting to changing market conditions and filtering out noise using key technical indicators.
How It Works:
RSI-Based Color Conditions:
Green Bars: When the RSI crosses above a specified UpLevel (default: 50), indicating a bullish momentum and signaling potential buy conditions.
Red Bars: When the RSI crosses below a specified DownLevel (default: 50), indicating a bearish momentum and signaling potential sell conditions.
Buy Signal:
Triggered when the following conditions are met:
RSI crosses from below the UpLevel (default: 50) to above it, signaling increasing bullish momentum.
The close price is above the 50-period Simple Moving Average (SMA), confirming an uptrend.
The Buy Signal is plotted below the bar with a green arrow and a "BUY" label.
Sell Signal:
Triggered when the following conditions are met:
RSI crosses from above the DownLevel (default: 50) to below it, signaling increasing bearish momentum.
The close price is below the 50-period Simple Moving Average (SMA), confirming a downtrend.
The Sell Signal is plotted above the bar with a red arrow and a "SELL" label.
Stop Loss and Take Profit:
For long trades (buy signals), the stop loss is placed below the previous bar's low, and the take profit is set at 3% above the entry price.
For short trades (sell signals), the stop loss is placed above the previous bar's high, and the take profit is set at 3% below the entry price.
Dynamic Bar Coloring:
The bar colors change dynamically based on RSI levels:
Green Bars: Indicating a potential uptrend (bullish).
Red Bars: Indicating a potential downtrend (bearish).
These visual cues help traders quickly identify market trends and potential reversals.
Trend Filtering:
The 50-period Simple Moving Average (SMA) is used to filter trades based on the overall market trend:
Buy signals are only considered when the price is above the moving average, indicating an uptrend.
Sell signals are only considered when the price is below the moving average, indicating a downtrend.
Alerting System:
Alerts can be set for both buy and sell signals. These alerts notify traders in real-time when potential trades are generated, allowing them to act promptly.
Alerts can be configured to send notifications through email, SMS, or a webhook for integration with other services like IFTTT or Zapier.
Key Features:
RSI and Moving Average-Based Signals: Combines RSI with a moving average for more accurate trade signals.
Stop Loss and Take Profit: Dynamic risk management with custom stop loss and take profit levels based on previous high and low prices.
Buy and Sell Alerts: Provides real-time alerts when a buy or sell signal is triggered.
Trend Confirmation: Uses the 50-period Simple Moving Average to filter signals and confirm the direction of the trend.
Visual Bar Color Changes: Makes it easy to identify bullish or bearish trends with color-coded bars.
Usage:
This strategy is suitable for traders who prefer a trend-following approach and want to combine momentum indicators (RSI) with price action (Engulfing Candlestick patterns). It is particularly useful in volatile markets where quick identification of trend changes can lead to profitable trades.
Best Used For: Day trading, swing trading, and trend-following strategies.
Timeframes: Works well on various timeframes, from 1-minute charts for scalping to daily charts for swing trading.
Markets: Can be applied to any market with sufficient liquidity (stocks, forex, crypto, etc.).
Settings:
UpLevel: The RSI level above which the market is considered bullish (default: 50).
DownLevel: The RSI level below which the market is considered bearish (default: 50).
SMA Length: The period of the Simple Moving Average used to filter trades (default: 50).
Risk Management: Customizable stop loss and take profit settings based on price action (default: 3% above/below the entry price).
Machine Learning Moving Average [LuxAlgo]The Machine Learning Moving Average (MLMA) is a responsive moving average making use of the weighting function obtained Gaussian Process Regression method. Characteristic such as responsiveness and smoothness can be adjusted by the user from the settings.
The moving average also includes bands, used to highlight possible reversals.
🔶 USAGE
The Machine Learning Moving Average smooths out noisy variations from the price, directly estimating the underlying trend in the price.
A higher "Window" setting will return a longer-term moving average while increasing the "Forecast" setting will affect the responsiveness and smoothness of the moving average, with higher positive values returning a more responsive moving average and negative values returning a smoother but less responsive moving average.
Do note that an excessively high "Forecast" setting will result in overshoots, with the moving average having a poor fit with the price.
The moving average color is determined according to the estimated trend direction based on the bands described below, shifting to blue (default) in an uptrend and fushia (default) in downtrends.
The upper and lower extremities represent the range within which price movements likely fluctuate.
Signals are generated when the price crosses above or below the band extremities, with turning points being highlighted by colored circles on the chart.
🔶 SETTINGS
Window: Calculation period of the moving average. Higher values yield a smoother average, emphasizing long-term trends and filtering out short-term fluctuations.
Forecast: Sets the projection horizon for Gaussian Process Regression. Higher values create a more responsive moving average but will result in more overshoots, potentially worsening the fit with the price. Negative values will result in a smoother moving average.
Sigma: Controls the standard deviation of the Gaussian kernel, influencing weight distribution. Higher Sigma values return a longer-term moving average.
Multiplicative Factor: Adjusts the upper and lower extremity bounds, with higher values widening the bands and lowering the amount of returned turning points.
🔶 RELATED SCRIPTS
Machine-Learning-Gaussian-Process-Regression
SuperTrend-AI-Clustering
DemaRSI StrategyThis is a repost to a old script that cant be updated anymore, the request was made on Feb, 27, 2016.
Here's a engaging description for the tradingview script:
**DemaRSI Strategy: A Proven Trading System**
Join thousands of traders who have already experienced the power of this highly effective strategy. The DemaRSI system combines two powerful indicators - DEMA (Double Exponential Moving Average) and RSI (Relative Strength Index) - to generate profitable trades with minimal risk.
**Key Features:**
* **Trend-Following**: Our algorithm identifies strong trends using a combination of DEMA and RSI, allowing you to ride the waves of market momentum.
* **Risk Management**: The system includes built-in stop-loss and take-profit levels, ensuring that your gains are protected and losses are minimized.
* **Session-Based Trading**: Trade during specific sessions only (e.g., London or New York) for even more targeted results.
* **Customizable Settings**: Adjust the length of moving averages, RSI periods, and other parameters to suit your trading style.
**What You'll Get:**
* A comprehensive strategy that can be used with any broker or platform
* Easy-to-use interface with customizable settings
* Real-time performance metrics and backtesting capabilities
**Start Trading Like a Pro Today!**
This script is designed for intermediate to advanced traders who want to take their trading game to the next level. With its robust risk management features, this strategy can help you achieve consistent profits in various market conditions.
**Disclaimer:** This script is not intended as investment advice and should be used at your own discretion. Trading carries inherent risks, and losses are possible.
~Llama3
SMA Ribbon [A]SMA Ribbon with Adjustable MA200
20, 50, 100, and 200 -period Simple Moving Averages (SMAs) for trend analysis.
The SMA200 dynamically changes color based on its direction—green when rising and red when falling. Additionally, you can lock the SMA200 to the daily timeframe , allowing it to display the 200-day moving average on lower timeframes, such as 4-hour or 1-hour charts.
Features:
Dynamic SMA200 Color: Automatically adjusts to show upward (green) or downward (red) trends.
Daily SMA200 Option: Enables the SMA200 to represent the 200-day moving average on intraday charts for long-term trend insights.
Smart Adaptation: The daily SMA200 setting is automatically disabled on daily or higher timeframes, ensuring accurate period calculations.
How to Use:
Use this script to identify key support/resistance levels and overall market trends.
Adjust the "Daily MA for MA200" option in the settings to toggle between timeframe-specific and daily-locked SMA200.
This script is ideal for traders seeking a clean and customizable tool for long-term and short-term trend analysis.
300-Candle Weighted Average Zones w/50 EMA SignalsThis indicator is designed to deliver a more nuanced view of price dynamics by combining a custom, weighted price average with a volatility-based zone and a trend filter (in this case, a 50-period exponential moving average). The core concept revolves around capturing the overall price level over a relatively large lookback window (300 candles) but with an intentional bias toward recent market activity (the most recent 20 candles), thereby offering a balance between long-term context and short-term responsiveness. By smoothing this weighted average and establishing a “zone” of standard deviation bands around it, the indicator provides a refined visualization of both average price and its recent volatility envelope. Traders can then look for confluence with a standard trend filter, such as the 50 EMA, to identify meaningful crossover signals that may represent trend shifts or opportunities for entry and exit.
What the Indicator Does:
Weighted Price Average:
Instead of using a simple or exponential moving average, this indicator calculates a custom weighted average price over the past 300 candles. Most historical candles receive a base weight of 1.0, but the most recent 20 candles are assigned a higher weight (for example, a weight of 2.0). This weighting scheme ensures that the calculation is not simply a static lookback average; it actively emphasizes current market conditions. The effect is to generate an average line that is more sensitive to the most recent price swings while still maintaining the historical context of the previous 280 candles.
Smoothing of the Weighted Average:
Once the raw weighted average is computed, an exponential smoothing function (EMA) is applied to reduce noise and produce a cleaner, more stable average line. This smoothing helps traders avoid reacting prematurely to minor price fluctuations. By stabilizing the average line, traders can more confidently identify actual shifts in market direction.
Volatility Zone via Standard Deviation Bands:
To contextualize how far price can deviate from this weighted average, the indicator uses standard deviation. Standard deviation is a statistical measure of volatility—how spread out the price values are around the mean. By adding and subtracting one standard deviation from the smoothed weighted average, the indicator plots an upper band and a lower band, creating a zone or channel. The area between these bands is filled, often with a semi-transparent color, highlighting a volatility corridor within which price and the EMA might oscillate.
This zone is invaluable in visualizing “normal” price behavior. When the 50 EMA line and the weighted average line are both within this volatility zone, it indicates that the market’s short- to mid-term trend and its average pricing are aligned well within typical volatility bounds.
Incorporation of a 50-Period EMA:
The inclusion of a commonly used trend filter, the 50 EMA, adds another layer of context to the analysis. The 50 EMA, being a widely recognized moving average length, is often considered a baseline for intermediate trend bias. It reacts faster than a long-term average (like a 200 EMA) but is still stable enough to filter out the market “chop” seen in very short-term averages.
By overlaying the 50 EMA on this custom weighted average and the surrounding volatility zone, the trader gains a dual-dimensional perspective:
Trend Direction: If the 50 EMA is generally above the weighted average, the short-term trend is gaining bullish momentum; if it’s below, the short-term trend has a bearish tilt.
Volatility Normalization: The bands, constructed from standard deviations, provide a sense of whether the price and the 50 EMA are operating within a statistically “normal” range. If the EMA crosses the weighted average within this zone, it signals a potential trend initiation or meaningful shift, as opposed to a random price spike outside normal volatility boundaries.
Why a Trader Would Want to Use This Indicator:
Contextualized Price Level:
Standard MAs may not fully incorporate the most recent price dynamics in a large lookback window. By weighting the most recent candles more heavily, this indicator ensures that the trader is always anchored to what the market is currently doing, not just what it did 100 or 200 candles ago.
Reduced Whipsaw with Smoothing:
The smoothed weighted average line reduces noise, helping traders filter out inconsequential price movements. This makes it easier to spot genuine changes in trend or sentiment.
Visual Volatility Gauge:
The standard deviation bands create a visual representation of “normal” price movement. Traders can quickly assess if a breakout or breakdown is statistically significant or just another oscillation within the expected volatility range.
Clear Trade Signals with Confirmation:
By integrating the 50 EMA and designing signals that trigger only when the 50 EMA crosses above or below the weighted average while inside the zone, the indicator provides a refined entry/exit criterion. This avoids chasing breakouts that occur in abnormal volatility conditions and focuses on those crossovers likely to have staying power.
How to Use It in an Example Strategy:
Imagine you are a swing trader looking to identify medium-term trend changes. You apply this indicator to a chart of a popular currency pair or a leading tech stock. Over the past few days, the 50 EMA has been meandering around the weighted average line, both confined within the standard deviation zone.
Bullish Example:
Suddenly, the 50 EMA crosses decisively above the weighted average line while both are still hovering within the volatility zone. This might be your cue: you interpret this crossover as the 50 EMA acknowledging the recent upward shift in price dynamics that the weighted average has highlighted. Since it occurred inside the normal volatility range, it’s less likely to be a head-fake. You place a long position, setting an initial stop just below the lower band to protect against volatility.
If the price continues to rise and the EMA stays above the average, you have confirmation to hold the trade. As the price moves higher, the weighted average may follow, reinforcing your bullish stance.
Bearish Example:
On the flip side, if the 50 EMA crosses below the weighted average line within the zone, it suggests a subtle but meaningful change in trend direction to the downside. You might short the asset, placing your protective stop just above the upper band, expecting that the statistically “normal” level of volatility will contain the price action. If the price does break above those bands later, it’s a sign your trade may not work out as planned.
Other Indicators for Confluence:
To strengthen the reliability of the signals generated by this weighted average zone approach, traders may want to combine it with other technical studies:
Volume Indicators (e.g., Volume Profile, OBV):
Confirm that the trend crossover inside the volatility zone is supported by volume. For instance, an uptrend crossover combined with increasing On-Balance Volume (OBV) or volume spikes on up candles signals stronger buying pressure behind the price action.
Momentum Oscillators (e.g., RSI, Stochastics):
Before taking a crossover signal, check if the RSI is above 50 and rising for bullish entries, or if the Stochastics have turned down from overbought levels for bearish entries. Momentum confirmation can help ensure that the trend change is not just an isolated random event.
Market Structure Tools (e.g., Pivot Points, Swing High/Low Analysis):
Identify if the crossover event coincides with a break of a previous pivot high or low. A bullish crossover inside the zone aligned with a break above a recent swing high adds further strength to your conviction. Conversely, a bearish crossover confirmed by a breakdown below a previous swing low can make a short trade setup more compelling.
Volume-Weighted Average Price (VWAP):
Comparing where the weighted average zone lies relative to VWAP can provide institutional insight. If the bullish crossover happens while the price is also holding above VWAP, it can mean that the average participant in the market is in profit and that the trend is likely supported by strong hands.
This indicator serves as a tool to balance long-term perspective, short-term adaptability, and volatility normalization. It can be a valuable addition to a trader’s toolkit, offering enhanced clarity and precision in detecting meaningful shifts in trend, especially when combined with other technical indicators and robust risk management principles.
Boltzmann Weighted Moving average ( BWMA )Overview:
Introducing the Boltzmann Weighted Moving Average (BWMA) – a novel approach that draws inspiration from statistical mechanics to emphasize recent market data more than older data. By applying an exponential decay governed by a “temperature” parameter, BWMA provides a unique perspective on price trends and enhances noise filtering. An EMA-based smoothing is then applied for an even cleaner, more stable signal.
Key Features:
Boltzmann Weighting: The BWMA assigns weights to each data point based on a Boltzmann-like formula, giving more influence to recent bars and reducing the impact of older ones. This creates a dynamic, adaptive moving average that can quickly respond to market changes.
Adaptive Temperature Control: Users can adjust the “Temperature” (T) parameter. A lower T puts a stronger emphasis on the most recent data, while a higher T makes the weight distribution more uniform across the chosen period.
EMA Smoothing: After computing the weighted average, an EMA is applied to smooth out short-term noise, resulting in a cleaner trend indication.
Color-Coded Trend Indicator: The BWMA line changes color depending on its slope, allowing traders to quickly identify bullish (green) or bearish (red) conditions at a glance.
Parameters:
Period: Defines the lookback window over which the Boltzmann weights are calculated.
Temperature (T): Controls the steepness of the weight decay. Lower T emphasizes recency, while higher T spreads weights more evenly.
Alpha (Energy Scale): Adjusts how quickly “Energy” (and thus weight decay) increases with older data points.
Smoothing Period: Determines the EMA length for reducing noise after weighting, providing a more stable signal.
How It Works:
The BWMA calculates a weighted average of recent prices, where the weight for each data point i is given by:
weight = math.exp(-energy / (k_B * T))
Energy_i: Increases as the data point is further back in time.
k_B: A scaling constant, set to 1 for simplicity.
T: "Temperature" parameter that controls how quickly the weights decay. A lower T emphasizes more recent data strongly, while a higher T spreads out the emphasis more evenly.
Visuals:
BWMA Line: Plotted as a smooth line that changes color based on trend direction.
Green: BWMA is rising (bullish trend).
Red: BWMA is falling (bearish trend).
Usage:
The BWMA can be used similarly to traditional moving averages but offers greater flexibility and adaptability:
Adjust T and Alpha: Fine-tune the weighting profile to match your trading style, whether you prefer rapid response to recent changes or a more balanced view.
Trend Confirmation: Use color changes to confirm bullish or bearish momentum.
Filtering Noise: The combination of Boltzmann weighting and EMA smoothing can help reduce the impact of sudden price spikes and yield clearer trend signals.
By blending the concepts of statistical mechanics with classic technical analysis techniques, the Boltzmann Weighted Moving Average provides traders with an innovative tool for revealing underlying market trends.
Trend AnalyzerThe Trend Analyzer is designed to help traders identify and analyze market trends. Here's a simple explanation of its logic:
Main Features
Customizable Moving Average: The indicator plots a moving average on the chart. Users can choose from various types (SMA, EMA, WMA, VWMA, HMA, SMMA, TMA) and set the period. This flexibility allows traders to adapt the indicator to different trading styles and timeframes.
Trend Detection: It determines whether the current price is above or below the moving average, providing a clear visual representation of the current trend direction.
Sequence Counter: The indicator counts consecutive candles above or below the moving average. This feature helps traders identify trend strength and persistence, which can be crucial for timing entries and exits.
Statistical Analysis: It calculates probabilities for the next candle's direction based on historical data. This unique feature gives traders a statistical edge in predicting short-term price movements.
Visual Candle Counter: An optional feature that displays the number of consecutive candles above or below the moving average directly on the chart, enhancing visual analysis.
How It Works
The indicator continuously tracks the position of price relative to the chosen moving average.
It maintains a count of how many candles in a row have been above or below the moving average.
For each sequence length, it records historical data on how often the trend continued or reversed in the past.
This historical data is used to calculate probabilities for the next candle's direction, providing a statistical insight into potential price movements.
The indicator displays this information directly on the chart, allowing for quick and easy interpretation.
Practical Applications
Trend Confirmation: Use the indicator to confirm the strength and direction of current trends.
Entry and Exit Signals: The sequence counter and probability calculations can help in timing trades more effectively.
Risk Management: Understanding the statistical likelihood of trend continuation can aid in setting appropriate stop-loss and take-profit levels.
Market Analysis: The indicator provides valuable insights into market behavior and can be used for both short-term and long-term analysis.
While the Trend Analyzer provides valuable insights based on historical data and statistical analysis, it's important to remember that past performance does not guarantee future results. The financial markets are complex and influenced by numerous factors. This indicator should be used as part of a comprehensive trading strategy and not as a sole decision-making tool. Always practice proper risk management and consider seeking advice from financial professionals before making investment decisions.
Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Daily Moving Averages on Intraday ChartsThis moving average script displays the chosen 5 daily moving averages on intraday (minute) charts. It automatically adjusts the intervals to show the proper moving averages.
In a day there are 375 trading minutes from 9:15 AM to 3:30PM in Indian market. In 5 days there are 1875 minutes. For other markets adjust this data accordingly.
If 5DMA is chosen on a five minute chart the moving average will use 375 interval values (1875/5 = 375) of 5minute chart to calculate moving average. Same 5DMA on 25minute chart will use 75 interval values (1875/25 = 75).
On a 1minute chart the 5DMA plot will use 1875 interval values to arrive at the moving average.
Since tradingview only allows 5000 intervals to lookback, if a particular daily moving average on intraday chart needs more than 5000 candle data it won't be shown. E.g 200DMA on 5minute chart needs 15000 candles data to plot a correct 200DMA line. Anything less than that would give incorrect moving average and hence it won't be shown on the chart.
MA crossover for the first two MAs is provided. If you want to use that option, make sure you give the moving averages in the correct order.
You can enhance this script and use it in any way you please as long as you make it opensource on TradingView. Feedback and improvement suggestions are welcome.
Special thanks to @JohnMuchow for his moving averages script for all timeframes.
ArrayMovingAveragesLibrary "ArrayMovingAverages"
This library adds several moving average methods to arrays, so you can call, eg.:
myArray.ema(3)
method emaArray(id, length)
Calculate Exponential Moving Average (EMA) for Arrays
Namespace types: array
Parameters:
id (array) : (array) Input array
length (int) : (int) Length of the EMA
Returns: (array) Array of EMA values
method ema(id, length)
Get the last value of the EMA array
Namespace types: array
Parameters:
id (array) : (array) Input array
length (int) : (int) Length of the EMA
Returns: (float) Last EMA value or na if empty
method rmaArray(id, length)
Calculate Rolling Moving Average (RMA) for Arrays
Namespace types: array
Parameters:
id (array) : (array) Input array
length (int) : (int) Length of the RMA
Returns: (array) Array of RMA values
method rma(id, length)
Get the last value of the RMA array
Namespace types: array
Parameters:
id (array) : (array) Input array
length (int) : (int) Length of the RMA
Returns: (float) Last RMA value or na if empty
method smaArray(id, windowSize)
Calculate Simple Moving Average (SMA) for Arrays
Namespace types: array
Parameters:
id (array) : (array) Input array
windowSize (int) : (int) Window size for calculation, defaults to array size
Returns: (array) Array of SMA values
method sma(id, windowSize)
Get the last value of the SMA array
Namespace types: array
Parameters:
id (array) : (array) Input array
windowSize (int) : (int) Window size for calculation, defaults to array size
Returns: (float) Last SMA value or na if empty
method wmaArray(id, windowSize)
Calculate Weighted Moving Average (WMA) for Arrays
Namespace types: array
Parameters:
id (array) : (array) Input array
windowSize (int) : (int) Window size for calculation, defaults to array size
Returns: (array) Array of WMA values
method wma(id, windowSize)
Get the last value of the WMA array
Namespace types: array
Parameters:
id (array) : (array) Input array
windowSize (int) : (int) Window size for calculation, defaults to array size
Returns: (float) Last WMA value or na if empty
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
4-Hour Moving AveragesTitle: 4-Hour Moving Averages Indicator
Description:
The "4-Hour Moving Averages" indicator is designed to help traders easily visualize key moving averages derived from the 4-hour timeframe, regardless of the chart interval they are using. This indicator plots four moving averages: a 15-period SMA (Short-Term), a 35-period SMA (Intermediate-Term), an 80-period SMA (Long-Term), and a 130-period SMA (Confirmation).
These moving averages provide a balanced approach for identifying short, medium, and long-term trends, as well as confirming significant market movements. Ideal for swing traders and those looking for clear trend signals, the indicator can be used for various markets, including stocks, forex, and cryptocurrencies.
The 4-hour moving averages overlay directly on the price chart, allowing for easy analysis of current price movements relative to important trend indicators. Use this script to enhance your trading decisions, identify opportunities, and avoid market traps by relying on consistent moving average trends.
Features:
- 15 SMA for Short-Term Trends (in red)
- 35 SMA for Intermediate-Term Trends (in orange)
- 80 SMA for Long-Term Trends (in green)
- 130 SMA for Confirmation (in blue)
Feel free to modify the settings to suit your specific strategy and market conditions.
Adaptive Moving AveragesThe Adaptive Moving Averages indicator stands out with several unique features that set it apart from traditional moving average indicators. Its most remarkable characteristic is the ability to automatically adjust the length of moving averages based on the chosen timeframe. This ensures consistency in analysis regardless of the time scale used, eliminating the need for manual recalculation of appropriate periods for each timeframe. It allows for a more fluid and accurate multi-temporal analysis.
Another innovative aspect is the indicator's consideration of different market types (stocks, forex, crypto). This approach recognizes the fundamental differences between these markets in terms of trading hours, allowing for more precise and representative calculations for each asset class. It offers increased flexibility for traders operating across various markets.
The method for calculating periods for different moving averages (week, month, quarter, semester, year) is particularly sophisticated. It takes into account the specifics of each market, such as trading days and opening hours, automatically adapting to timeframe changes. This ensures a more accurate representation of actual trading periods rather than arbitrary approximations.
The indicator offers a wide choice of moving average types, allowing traders to use their preferred method or compare different approaches. This flexibility adapts to various trading styles and technical analysis strategies, offering the possibility to experiment and find the most effective combination for each market or asset.
In conclusion, this indicator distinguishes itself through its ability to intelligently adapt to different trading contexts, offering a versatile and sophisticated solution for technical analysis. Its flexibility and adaptive approach make it a particularly interesting tool for traders seeking consistent analysis across different markets and time scales.
VD Zig Zag with SMAIntroduction
The VD Zig Zag with SMA indicator is a powerful tool designed to streamline technical analysis by combining Zig Zag swing lines with a Simple Moving Average (SMA). It offers traders a clear and intuitive way to analyze price trends, market structure, and potential reversals, all within a customizable framework.
Definition
The Zig Zag indicator is a trend-following tool that highlights significant price movements by filtering out smaller fluctuations. It visually connects swing highs and lows to reveal the underlying market structure. When paired with an SMA, it provides an additional layer of trend confirmation, helping traders align their strategies with market momentum.
Calculations
Zig Zag Logic:
Swing highs and lows are determined using a user-defined length parameter.
The highest and lowest points within the specified range are identified using the ta.highest() and ta.lowest() functions.
Zig Zag lines dynamically connect these swing points to visually map price movements.
SMA Logic:
The SMA is calculated using the closing prices over a user-defined period.
It smooths out price action to provide a clearer view of the prevailing trend.
The indicator allows traders to adjust the Zig Zag length and SMA period to suit their preferred trading timeframe and strategy.
Takeaways
Enhanced Trend Analysis: The Zig Zag lines clearly define the market's structural highs and lows, helping traders identify trends and reversals.
Customizable Parameters: Both the swing length and SMA period can be tailored for short-term or long-term trading strategies.
Visual Clarity: By filtering out noise, the indicator simplifies chart analysis and enables better decision-making.
Multi-Timeframe Support: Adapts seamlessly to the chart's timeframe, ensuring usability across all trading horizons.
Limitations
Lagging Nature: As with any indicator, the Zig Zag and SMA components are reactive and may lag during sudden price movements.
Sensitivity to Parameters: Improper parameter settings can lead to overfitting, where the indicator reacts too sensitively or misses significant trends.
Does Not Predict: This indicator identifies trends and structure but does not provide forward-looking predictions.
Summary
The VD Zig Zag with SMA indicator is a versatile and easy-to-use tool that combines the strengths of Zig Zag swing analysis and moving average trends. It helps traders filter market noise, visualize structural patterns, and confirm trends with greater confidence. While it comes with limitations inherent to all technical tools, its customizable features and multi-timeframe adaptability make it an excellent addition to any trader’s toolkit.
Additional Features
Have an idea or a feature you'd like to see added?
Feel free to reach out or share your suggestions here—I’m always open to updates!
ToolsLibrary "Tools"
Common tools
movingAverage(maType, maSource, maLength)
dynamically returns MA
Parameters:
maType (string) : ma type
maSource (float) : ma source
maLength (simple int) : ma length
Returns: ta.{sma,rma,ema,wma,vwma,hma}
Moving AveragesWhile this "Moving Averages" indicator may not revolutionize technical analysis, it certainly offers a valuable and efficient solution for traders seeking to streamline their chart analysis process. This all-in-one tool addresses a common frustration among traders: the need to constantly search for and compare different types and lengths of moving averages.
Key Features
The indicator allows for the configuration of up to 5 moving averages simultaneously, providing a comprehensive view of price trends. Users can choose from 7 types of moving averages for each line, including SMA, EMA, WMA, VWMA, HMA, SMMA, and TMA. This variety ensures that traders can apply their preferred moving average types without the need for multiple indicators.
Each moving average can be fully customized in terms of length, color, line style, and thickness, allowing for clear visual differentiation. However, what sets this indicator apart is its "Smart Opacity" feature. When activated, this option dynamically adjusts the transparency of the moving average lines based on their direction, with ascending lines appearing more opaque and descending lines more transparent. This subtle yet effective visual cue aids in quickly identifying trend changes and potential trading signals.
Advantages
The primary benefit of this indicator lies in its convenience. By consolidating multiple moving averages into a single, customizable tool, it saves traders valuable time and reduces chart clutter. The Smart Opacity feature, while not groundbreaking, does offer an intuitive way to visualize trend strength and direction at a glance.
Moreover, the indicator's flexibility makes it suitable for various trading styles and experience levels. Whether you're a novice trader learning to interpret basic trend signals or an experienced analyst fine-tuning a complex strategy, this tool can adapt to your needs.
In conclusion, while this "Moving Averages" indicator may not be a game-changer in the world of technical analysis, it represents a thoughtful refinement of a fundamental trading tool. By focusing on user convenience and visual clarity, it offers a practical solution for traders looking to optimize their chart analysis process and make more 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.
Multi-timeframe 24 moving averages + BB+SAR+Supertrend+VWAP █ OVERVIEW
The script allows to display up to 24 moving averages ("MA"'s) across 5 timeframes plus two bands (Bollinger Bands or Supertrend or Parabolic SAR or VWAP bands) each from its own timeframe.
The main difference of this script from many similar ones is the flexibility of its settings:
- Bulk enable/disable and/or change properties of several MAs at once.
- Save 3 of your frequently used templates as presets using CSV text configurations.
█ HOW TO USE
Some use examples:
In order to "show 31, 50, 200 EMAs and 20, 100, 200 SMAs for each of 1H, 4H, D, W, M timeframes using blue for short MA, yellow for mid MA and red for long MA" use the settings as shown on a screenshot below.
In order to "Show a band of chart timeframe MA's of lengths 5, 8, 13, 21, 34, 55, 100 and 200 plus some 1H, 4H, D and W MAs. Be able to quickly switch off the band of chart tf's MAs. For chart timeframe MA's only show labels for 21, 100 and 200 EMAs". You can set TF1 and TF2 to chart's TF and set you fib MAs there and configure fixed higher timeframe MAs using TF3, TF4 and TF5 (e.g. using 1H, D and W timeframes and using 1H 800 in place of 4H 200 MA). However, quicker way may be using CSV - the syntax is very simple and intuitive, see Preset 2 as it comes in the script. You can easily switch chart tf's band of MAs by toggling on/off your chart timeframe TF's (in our example, TF1 and TF2).
The settings are either obvious or explained in tooltips.
Note 1: When using group settings and CSV presets do not forget that individual setting affected will no have any effect. So, if some setting does not work, check whether it is overridden with some group setting or a CSV preset.
Note 2: Sometimes you can notice parts of MA's hanging in the air, not lasting up to the last bar. This is not a bug as explained on this screenshot:
█ FOR DEVELOPERS
The script is a use case of my CSVParser library, which in turn uses Autotable library, both of which I hope will be quite helpful. Autotable is so powerful and comprehensive that you will hardly ever wish to use normal table functions again for complex tables.
The indicator was inspired by Pablo Limonetti's url=https://www.tradingview.com/script/nFs56VUZ/]Multi Timeframe Moving Averages and Raging @RagingRocketBull's # Multi SMA EMA WMA HMA BB (5x8 MAs Bollinger Bands) MAX MTF - RRB
HTFMAs█ OVERVIEW
Contains a type HTFMA used to return data on six moving averages from a higher timeframe.
Several types of MA's are supported.
█ HOW TO USE
Please see instructions in the code (in library description). (Important: first fold all sections of the script: press Cmd + K then Cmd + - (for Windows Ctrl + K then Ctrl + -)
█ FULL LIST OF FUNCTIONS AND PARAMETERS
method getMaType(this)
Enumerator function, given a key returns `enum MaTypes` value
Namespace types: series string, simple string, input string, const string
Parameters:
this (string)
method init(this, enableAll, ma1Enabled, ma1MaType, ma1Src, ma1Prd, ma2Enabled, ma2MaType, ma2Src, ma2Prd, ma3Enabled, ma3MaType, ma3Src, ma3Prd, ma4Enabled, ma4MaType, ma4Src, ma4Prd, ma5Enabled, ma5MaType, ma5Src, ma5Prd, ma6Enabled, ma6MaType, ma6Src, ma6Prd)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs)
enableAll (simple MaEnable)
ma1Enabled (bool)
ma1MaType (series MaTypes)
ma1Src (string)
ma1Prd (int)
ma2Enabled (bool)
ma2MaType (series MaTypes)
ma2Src (string)
ma2Prd (int)
ma3Enabled (bool)
ma3MaType (series MaTypes)
ma3Src (string)
ma3Prd (int)
ma4Enabled (bool)
ma4MaType (series MaTypes)
ma4Src (string)
ma4Prd (int)
ma5Enabled (bool)
ma5MaType (series MaTypes)
ma5Src (string)
ma5Prd (int)
ma6Enabled (bool)
ma6MaType (series MaTypes)
ma6Src (string)
ma6Prd (int)
method init(this, enableAll, tf, rngAtrQ, showRecentBars, lblsOffset, lblsShow, lnOffset, lblSize, lblStyle, smoothen, ma1lnClr, ma1lnWidth, ma1lnStyle, ma2lnClr, ma2lnWidth, ma2lnStyle, ma3lnClr, ma3lnWidth, ma3lnStyle, ma4lnClr, ma4lnWidth, ma4lnStyle, ma5lnClr, ma5lnWidth, ma5lnStyle, ma6lnClr, ma6lnWidth, ma6lnStyle, ma1ShowHistory, ma2ShowHistory, ma3ShowHistory, ma4ShowHistory, ma5ShowHistory, ma6ShowHistory, ma1ShowLabel, ma2ShowLabel, ma3ShowLabel, ma4ShowLabel, ma5ShowLabel, ma6ShowLabel)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
enableAll (series MaEnable)
tf (string)
rngAtrQ (int)
showRecentBars (int)
lblsOffset (int)
lblsShow (bool)
lnOffset (int)
lblSize (string)
lblStyle (string)
smoothen (bool)
ma1lnClr (color)
ma1lnWidth (int)
ma1lnStyle (string)
ma2lnClr (color)
ma2lnWidth (int)
ma2lnStyle (string)
ma3lnClr (color)
ma3lnWidth (int)
ma3lnStyle (string)
ma4lnClr (color)
ma4lnWidth (int)
ma4lnStyle (string)
ma5lnClr (color)
ma5lnWidth (int)
ma5lnStyle (string)
ma6lnClr (color)
ma6lnWidth (int)
ma6lnStyle (string)
ma1ShowHistory (bool)
ma2ShowHistory (bool)
ma3ShowHistory (bool)
ma4ShowHistory (bool)
ma5ShowHistory (bool)
ma6ShowHistory (bool)
ma1ShowLabel (bool)
ma2ShowLabel (bool)
ma3ShowLabel (bool)
ma4ShowLabel (bool)
ma5ShowLabel (bool)
ma6ShowLabel (bool)
method get(this, id)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs)
id (int)
method set(this, id, prop, val)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs)
id (int)
prop (string)
val (string)
method set(this, id, prop, val)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
id (int)
prop (string)
val (string)
method htfUpdateTuple(rsParams, repaint)
Namespace types: RsParamsMAs
Parameters:
rsParams (RsParamsMAs)
repaint (bool)
method clear(this)
Namespace types: MaDrawing
Parameters:
this (MaDrawing)
method importRsRetTuple(this, htfBi, ma1, ma2, ma3, ma4, ma5, ma6)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
htfBi (int)
ma1 (float)
ma2 (float)
ma3 (float)
ma4 (float)
ma5 (float)
ma6 (float)
method getDrw(this, id)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
id (int)
method setDrwProp(this, id, prop, val)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
id (int)
prop (string)
val (string)
method initDrawings(this, rsPrms, dispBandWidth)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
rsPrms (RsParamsMAs)
dispBandWidth (float)
method updateDrawings(this, rsPrms, dispBandWidth)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
rsPrms (RsParamsMAs)
dispBandWidth (float)
method update(this)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps0 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps1 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps2 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps3 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps4 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps5 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `RsParamsMAs` child `RsMaCalcParams` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (RsParamsMAs) Target object to import prop values to.
oCfg (objProps6 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs)
oCfg (objProps7 type from moebius1977/CSVParser/1)
maCount (int)
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: RsParamsMAs
Parameters:
this (RsParamsMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps8 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps0 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps1 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps2 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps3 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps4 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps5 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Imports HTF MAs settings from objProps (of any level) into `HTFMAs` child `MaDrawing` objects (into the first first `maCount` of them)
Namespace types: HTFMAs
Parameters:
this (HTFMAs) : (HTFMAs) Target object to import prop values to.
oCfg (objProps6 type from moebius1977/CSVParser/1) : (CSVP.objProps) (one of objProps types) an objProps, ... opjProps8 containing properties' values in a child objProps objects
maCount (int) : (int) Number of tgtObj's RsMaCalcParams childs of tgtObj to set (1 to 6, starting from 1)
Returns: this
method importConfig(this, oCfg, maCount)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
oCfg (objProps7 type from moebius1977/CSVParser/1)
maCount (int)
method importConfig(this, oCfg, maCount)
Namespace types: HTFMAs
Parameters:
this (HTFMAs)
oCfg (objProps8 type from moebius1977/CSVParser/1)
maCount (int)
method newRsParamsMAs(this)
Namespace types: LO
Parameters:
this (LO)
method newHTFMAs(this)
Namespace types: LO
Parameters:
this (LO)
RsMaCalcParams
Parameters of one MA (only calculation params needed within req.sec(), visual parameters are within htfMAs type)
Fields:
enabled (series bool)
maType (series MaTypes) : MA type options: SMA / EMA / WMA / ...
src (series string)
prd (series int) : MA period
RsParamsMAs
Collection of parameters of 6 MAs. Used to pass params to req.sec()
Fields:
ma1CalcParams (RsMaCalcParams)
ma2CalcParams (RsMaCalcParams)
ma3CalcParams (RsMaCalcParams)
ma4CalcParams (RsMaCalcParams)
ma5CalcParams (RsMaCalcParams)
ma6CalcParams (RsMaCalcParams)
RsReturnMAs
Used to return data from req.sec().
Fields:
htfBi (series int)
ma1 (series float)
ma2 (series float)
ma3 (series float)
ma4 (series float)
ma5 (series float)
ma6 (series float)
MaDrawing
MA's plot parameters plus drawing objects for MA's current level (line and label).
Fields:
lnClr (series color) : (color) MA plot line color (like in plot())
lnWidth (series int) : (int) MA plot line width (like in plot())
lnStyle (series string) : (string) MA plot line style (like in plot())
showHistory (series bool) : (bool) Whether to plot the MA on historical bars or only show current level to the right of the latest bar.
showLabel (series bool) : (bool) Whether to show the name of the MA to the right of the MA's level
ln (series line) : (line) line to show MA"s current level
lbl (series label) : (label) label showing MA's name
HTFMAs
Contains data and drawing parameters for MA's of one timeframe (MA calculation parameters for MA's of one timeframe are in a separate object RsParamsMAs)
Fields:
rsRet (RsReturnMAs) : (RsReturnMAs) Contains data returned from req.sec(). Is set to na in between HTF bar changes if smoothing is enabled.
rsRetLast (RsReturnMAs) : (RsReturnMAs) Contains a copy of data returned from req.sec() in case rsRet is set to na for smoothing.
rsRetNaObj (RsReturnMAs) : (RsReturnMAs) An empty object as `na` placeholder
ma1Drawing (MaDrawing) : (MaDrawing) MA drawing properties
ma2Drawing (MaDrawing) : (MaDrawing) MA drawing properties
ma3Drawing (MaDrawing) : (MaDrawing) MA drawing properties
ma4Drawing (MaDrawing) : (MaDrawing) MA drawing properties
ma5Drawing (MaDrawing) : (MaDrawing) MA drawing properties
ma6Drawing (MaDrawing) : (MaDrawing) MA drawing properties
enabled (series bool) : (bool ) Enables/disables all of the MAs of one timeframe.
tf (series string) : (string) Timeframe
showHistory (series bool) : (bool ) Plot MA line on historical bars
rngAtrQ (series int) : (int ) A multiplier for atr(14). Determines a range within which the MA's will be plotted. MA's too far away will not be plotted.
showRecentBars (series int) : (int ) Only plot MA on these recent bars
smoothen (series bool) : (bool ) Smoothen MA plot. If false the same HTF value is returned on all chart bars within a HTF bar (intrabars), so the plot looks like steps.
lblsOffset (series int) : (int ) Show MA name this number of bars to the right off last bar.
lblsShow (series bool) : (bool ) Show MA name
lnOffset (series int) : (int ) Start line showing current level of the MA this number of bars to the right off the last bar.
lblSize (series string) : (string) Label size
lblStyle (series string) : (string) Label style
lblTxtAlign (series string) : (string) Label text align
bPopupLabel (series bool) : (bool ) Show current MA value as a tooltip to MA's name.
LO
LO Library object, whose only purpose is to serve as a shorthand for library name in script code.
Fields:
dummy (series string)
EMA Volume [MacroGlide]EMA Volume is a versatile tool designed to track and analyze market volumes by calculating the Exponential Moving Averages (EMAs) of total, bullish, and bearish volumes. This indicator helps traders visualize volume dynamics, identify buying and selling pressure, and make informed trading decisions based on volume activity.
Key Features:
• Volume EMAs: The indicator calculates the EMAs of total, bullish, and bearish volumes, allowing users to observe how volume trends evolve over time. This helps identify shifts in market sentiment and potential reversals.
• Separation of Bullish and Bearish Volumes: By separating bullish and bearish volumes, the indicator provides a clear view of buying versus selling activity. This distinction is valuable for understanding the market's underlying momentum and direction.
• Customizable Visuals: Users can customize the line style and color for each volume type, allowing them to tailor the display of the indicator to their personal preferences and enhance the visual interpretation of the data.
How to Use:
• Add the indicator to your chart and adjust the EMA settings and display parameters according to your needs.
• Use the difference between bullish and bearish volumes to assess current market sentiment and analyze potential trend changes.
• Monitor the EMA of total volume to identify overall volume trends that can serve as additional signals for entering or exiting positions.
Methodology:
The indicator calculates the EMAs for total, bullish, and bearish volumes based on the trading volumes associated with price increases or decreases. This tool helps evaluate the strength of buying and selling at different times, making it especially useful for volume and market dynamics analysis.
Originality and Usefulness:
EMA Volume stands out for its ability to separate buying and selling volumes and present them in a clear visual format, significantly simplifying the analysis of market activity and decision-making in trading.
Charts:
The indicator displays clean and clear charts, where each type of volume is represented by its own line and color, making visual interpretation easier. The charts focus solely on key information for analysis: EMAs of total, bullish, and bearish volumes. These features make the charts highly useful for quick analysis and trading decision-making.
Enjoy the game!