12 indicators Multi Timeframe : MACD,RSI,PIVOT,EMA-CROSS,TD9,EMAThis is the open source of the previous indicator "10 indicators in 1 : MACD RSI PIVOT EMA-CROSS and 7 EMA/SMA"
+ Upgraded to Multi-Timeframe indicator.
This upgrade empowers you to find optimal entry points within any trend on the timeframe of your choice. Let's recapitulate and see how it works:
🛠 Utility of the Pullback Signal Feature
Flexible Timeframe Selection:
You can now choose the timeframe that best fits your trading style—whether it’s a 5-minute chart for quick entries or a daily chart for longer-term setups.
Optimized Trend Entries:
The script identifies the trend direction (Histogram & Table) and marks pullback entry points within that trend with clear green and red arrows on the chart.
Green Arrows in an uptrend indicate potential entry points for long positions.
Red Arrows in a downtrend signal potential entry points for short positions.
Integrated Indicators:
With indicators like MACD, RSI, Pivot Points, 13/48 EMA Crosses, and , the script provides a comprehensive market overview. These indicators are displayed in a Histogram for easy trend and momentum analysis .
📈 How to Use the Pullback Signal with Custom Timeframes
Select Your Preferred Timeframe:
Choose the timeframe that aligns with your trading strategy, whether for scalping, day trading, or swing trading.
Identify the Trend and Enter on Pullbacks:
Check the histogram and table to determine the overall trend.
Enter on green pullback signals in an uptrend for long trades, or on red pullback signals in a downtrend for short trades.
Confirm Signals with Indicators:
Review the Histogram/Table panel (MACD, RSI, EMA Crossovers, etc.) to confirm the strength of the pullback signal. This gives you added confidence before taking a position.
This update makes the indicator adaptable for different trading styles and market conditions. By allowing you to choose a specific timeframe. This feature helps reduce the risk of entering at extreme highs or lows, and instead focuses on pullbacks in a chosen trend.
المؤشرات والاستراتيجيات
namdarimajid@gmail.com-Iranسلام
بهت درصد خوبی میده، حالا توضیحاتش رو پایین می نویسم.
به عشق فارسی زبون ها
اول از همه این اندیکاتور اندیکاتور نوعی نیست فقط مخلوطی از 3 اندیکاتور و کانفیگ شده هست. این کار رو با توجه به محدودیت تعداد اندیکاتور انجام دادم
من دو تا MA دارم و یه نوار که تشکیل شده از سه خط ( خط میانی و دو خط کناری ) و همینطور ناحیه هایی که احتمال واکنش قیمت زیاد.
دو خط MA اگر خط میانی رو به پایین شکستن و خطوط سه تایی هم سبز شد با شرط اینکه قیمت پایین خط میانی باشه وارد پوزیشن buy بشین در غیر این صورت منتظر باشید که قیمت به پایین خط میانی برگردد، برای پوزیشن sell هم بالعکس
امیدوارم بهتون جواب بده
Power Core MAThe Power Core MA indicator is a powerful tool designed to identify the most significant moving average (MA) in a given price chart. This indicator analyzes a wide range of moving averages, from 50 to 400 periods, to determine which one has the strongest influence on the current price action.
The blue line plotted on the chart represents the "Current Core MA," which is the moving average that is most closely aligned with other nearby moving averages. This line indicates the current trend and potential support or resistance levels.
The table displayed on the chart provides two important pieces of information. The "Current Core MA" value shows the length of the moving average that is currently most influential. The "Historical Core MA" value represents the average length of the most influential moving averages over time.
This indicator is particularly useful for traders and analysts who want to identify the most relevant moving average for their analysis. By focusing on the moving average that has the strongest historical significance, users can make more informed decisions about trend direction, support and resistance levels, and potential entry or exit points.
The Power Core MA is an excellent tool for those interested in finding the strongest moving average in the price history. It simplifies the process of analyzing multiple moving averages by automatically identifying the most influential one, saving time and providing valuable insights into market dynamics.
By combining current and historical data, this indicator offers a comprehensive view of the market's behavior, helping traders to adapt their strategies to the most relevant timeframes and trend strengths.
Price Action Plus [tambangEA]Price Action Plus is all-in-one indicator toolkit which includes various features specifically based on Price Action Plus Moving Average.
Order Blocks with volumetric data, real-time market structure, a MTF dashboard, and much more detailed customization to get an edge trading price action automatically.
Mostly all of the features within this script are generated purely from price action with moving averages as a trend indicator, which allows users to automate their analysis of price action for any market / timeframe.
🔶 FEATURES
This script includes many features based on Price Action; these are highlighted below:
Market structure (BOS, CHoCH, CHoCH+) (Internal & Swing)
Volumetric Order Blocks (Bullish & Bearish)
Previous Highs/Lows (Daily, Weekly, Monthly, Quarterly)
Premium & Discount Zones
Fair Value Gaps
Multi-Timeframe Dashboard
EMA Multi Timeframe Settings
Fibonacci : Volume , Levels
Multi-Timeframe with TrendLine Cross and Fibonacci LevelsCombined Fib with trendline cross.
FIB Levels automatically calculated based on bar lookback.
From AleSaira:
This indicator "TrendLine Cross", is designed to plot trend lines so you can spot potential trend reversal points on the charts. The main function is to draw several lines on the chart and identify the crossings between these lines, which can be significant indicators for trading. The lines are based on different periods which can be changed in the settings tabs.
Let's see the characteristics of the trend lines:
_Low Line Color(Green Line): This line connects the lowest point of low prices in the "low_time" period with the lowest point of low prices in the "high_time" period. Indicates a possible short-term support level on the chart.
_Liquidity Up Line Color (Golden Line): This line connects the lowest point of low prices in the "low_time" period with the highest point of low prices in the same period. It represents a liquidity zone and an important resistance in the chart.
_Lower Line Color (Blue Line): This horizontal line connects the lowest point of low prices in the "LowerLine_period" with the lowest point of low prices in the "high_time" period. Indicates a possible long-term support level.
_Upper Line Colorr: This line represents a connection between the highest points of the "high_time" period and the lowest point of the "LowerLine_period". Indicates a possible long-term resistance level.
_Up Line Color (Red Line): This line connects the highest point of high prices in the "high_time" period with the highest point of high prices in the "LowerLine_period". It represents a possible long-term resistance level.
_Liquidity Down Line Color(Golden Line): This line connects the highest point of high prices in the "high_time" period with the highest point of low prices in the "low_time" period. It represents a liquidity point and an important support zone.
The indicator becomes particularly interesting when the lines make crossings. These crossovers could suggest a potential trend change in the market. For example:
Change from Bearish to Bullish: If the "long-term" line (black) crosses the "short- or long-term" line (green or blue) from top to bottom, it could indicate a shift from a bearish to a bullish market , suggesting the opportunity for long positions.
_Changing from Bullish to Bearish: If the "long-term" line (blue) crosses the "short-term" line (red or black) from bottom to top, it could indicate a shift from a bullish to a bearish market, suggesting the opportunity for short positions.
Generally speaking, crossings between these lines can be key points of interest for traders, as they can signal significant changes in price direction.
Rule No.1: Advanced Trading IndicatorRule No.1: Advanced Trading Indicator
This indicator combines multiple trading strategies and tools to assist traders in making informed decisions. Key features include:
EMA Crossovers: Identifies buy and sell signals based on short and long EMA crossovers.
Supertrend Signals: Provides Supertrend-based buy and sell signals.
RSI Alerts: Highlights overbought and oversold conditions using RSI.
Support and Resistance Lines: Automatically plots liquidity swing highs and lows.
Smart Money Concepts: Displays higher highs (HH) and lower lows (LL) for trend analysis.
Risk Management Tools: Calculates and displays Take Profit (TP) and Stop Loss (SL) levels based on ATR or percentage methods.
Volume Oscillator Alerts: Detects volume spikes that may indicate significant market moves.
Customizable Alerts: Allows users to enable or disable specific alerts according to their trading preferences.
How to Use:
Settings: Customize the indicator settings to fit your trading style.
Entry Price: Manually set an entry price to calculate TP and SL levels.
Alerts: Enable the desired alerts to receive notifications on trading signals.
Disclaimer:
This indicator is a tool to assist in technical analysis and should not be considered as financial advice. Always conduct your own analysis before making trading decisions.
Trade Mavrix: Elite Trade NavigatorYour ultimate trading companion that helps you spot profitable breakouts, perfect pullbacks, and crucial support & resistance levels. Ready to take your trading to the next level? Let's dive in!
Support & Resistance AI LevelScopeSupport & Resistance AI LevelScope
Support & Resistance AI LevelScope is an advanced, AI-driven tool that automatically detects and highlights key support and resistance levels on your chart. This indicator leverages smart algorithms to pinpoint the most impactful levels, providing traders with a precise, real-time view of critical price boundaries. Save time and enhance your trading edge with effortless, intelligent support and resistance identification.
Key Features:
AI-Powered Level Detection: The LevelScope algorithm continuously analyzes price action, dynamically plotting support and resistance levels based on recent highs and lows across your chosen timeframe.
Sensitivity Control: Customize the sensitivity to display either major levels for a macro view or more frequent levels for detailed intraday analysis. Easily adjust to suit any trading style or market condition.
Level Strength Differentiation: Instantly recognize the strength of each level with visual cues based on how often price has touched each one. Stronger levels are emphasized, highlighting areas with higher significance, while weaker levels are marked subtly.
Customizable Visuals: Tailor the look of your chart with customizable color schemes and line thickness options for strong and weak levels, ensuring clear visibility without clutter.
Proximity Alerts: Receive alerts when price approaches key support or resistance, giving you a heads-up for potential market reactions and trading opportunities.
Who It’s For:
Whether you're a day trader, swing trader, or just want a quick, AI-driven way to identify high-probability levels on your chart, Support & Resistance AI LevelScope is designed to keep you focused and informed. This indicator is the perfect addition to any trader’s toolkit, empowering you to make more confident, data-backed trading decisions with ease.
Upgrade your analysis with AI-powered support and resistance—no more manual lines, only smart levels!
Strong 3rd Wave Signal with Filter By DemirkanUsage Explanation:
The Strong 3rd Wave Signal with Filter indicator is designed to help traders identify high-quality entry points for the beginning of strong uptrends, particularly in the context of Elliott Wave Theory. This indicator integrates multiple technical analysis tools to ensure that only the most reliable signals are generated, avoiding noise and weak trends.
This indicator is built on the following key components:
HMA (Hull Moving Average): The Hull Moving Average is used to capture the trend direction, filtering out market noise. A rising HMA indicates an uptrend, while a falling HMA signals a downtrend.
RSI (Relative Strength Index): RSI is used to confirm that the market is not in an overbought condition when a buy signal is generated. The indicator ensures that the RSI stays within a neutral range, indicating a healthy market condition for potential trend continuation.
ADX (Average Directional Index): ADX is employed to confirm whether the market is in a strong trend. The indicator ensures that only strong trends with a sufficient level of momentum are considered, filtering out weak or sideways markets.
Volume Filter: The indicator uses volume analysis to confirm that the price movement is supported by sufficient market participation. Buy signals are only triggered when the volume exceeds the average volume by a specified multiplier.
EMA 200 and SMA 50: The 200-period Exponential Moving Average (EMA) is used to identify the long-term market trend, while the 50-period Simple Moving Average (SMA) helps in filtering out signals that occur outside of a favorable trend zone. The indicator only generates buy signals when the price is below the EMA 200 but above the SMA 50, ensuring that the market is in a mid-term bullish trend.
How to Use:
Buy Signals: The indicator will plot a Buy Signal when the following conditions are met:
Price is above the 50-period SMA and below the 200-period EMA, indicating a potential uptrend within a mid-term bullish trend.
The Hull Moving Average is rising, signaling an uptrend.
RSI is in a neutral zone (not overbought).
Volume exceeds the average volume, confirming the strength of the move.
Price is making higher highs compared to the last 10 bars, showing increasing buying momentum.
Trend Confirmation: The indicator is designed to avoid generating false signals during weak or sideways trends. By using ADX and volume filters, it ensures that signals are only triggered during strong, trending markets, reducing the likelihood of false breakouts or reversals.
Risk Management: While this indicator helps you identify the most promising trends, it's always recommended to use additional risk management strategies like stop-loss and take-profit levels to protect your investments.
Target Audience:
This indicator is suitable for traders who prefer to trade with the trend and are looking for high-quality, filtered signals that align with the Elliott Wave Theory. It is especially useful for those who focus on medium- to long-term trades and wish to avoid choppy, low-volume market conditions.
Key Benefits:
Helps identify strong uptrends with high probability.
Avoids weak and sideways markets.
Integrates multiple filters like HMA, RSI, ADX, Volume, and EMA/SMA to ensure the quality of the signals.
Focuses on confirming strong trends based on Elliott Wave principles, providing a structured approach for trend-following strategies.
By using this indicator, traders can focus on high-quality setups and improve their decision-making process by filtering out noise and low-probability trades.
Higher Time Frame Support/Resistance [BigBeluga]The Higher Time Frame Support/Resistance indicator is a tool designed to display pivot points derived from higher timeframes on your current chart. These pivot points are calculated based on the highs and lows of price action in different timeframes, and the indicator draws horizontal lines to represent these levels. These lines act as potential support and resistance zones, giving traders key market levels that may influence future price movement.
Each pivot line is color-coded and labeled with its price value and the timeframe it originates from. This allows traders to clearly differentiate between the significance of the levels based on their timeframe. For example, weekly pivot levels may represent stronger, more long-term support and resistance, while hourly pivots offer more immediate, short-term levels to watch.
🔵 IDEA
The Higher Time Frame Support/Resistance indicator is designed to simplify the process of tracking key support and resistance levels across multiple timeframes. Pivot points, which represent turning points in the market, are essential for identifying areas where price might reverse or break out. By displaying these levels from higher timeframes directly on the current chart, traders can quickly identify and react to critical areas in the market without needing to switch between different timeframe charts.
The indicator labels each pivot point with the specific timeframe it comes from (e.g., 4H, 1D, 1W), making it easy for traders to assess the relative strength of each level. Stronger levels from higher timeframes are likely to act as more significant barriers or support zones, while lower timeframe levels can be used for more precise entries and exits.
🔵 KEY FEATURES
Pivot Levels from Multiple Timeframes:
The indicator calculates pivot highs and lows from various higher timeframes (e.g., 4H, 1D, 1W) and plots these levels on the current chart. These pivot points are represented by horizontal lines that extend across the chart, serving as potential support and resistance zones.
Color-Coded Support and Resistance Lines:
Each pivot level is color-coded based on its timeframe, helping traders quickly differentiate between short-term and long-term support and resistance. This visual aid simplifies the analysis and allows for a clearer understanding of key market levels.
Price Labels and Timeframe Information:
In addition to the pivot lines, the indicator displays labels at each level with the corresponding price and timeframe. For example, a label may show "D Pivot High" followed by the exact price. This helps traders understand the origin and significance of each line, allowing for more informed trading decisions.
Labels up and down mark highs and lows from higher timeframes:
Pivot Shadows for Enhanced Clarity:
The indicator can also draw shadow lines that represent the pivot points but with increased transparency. These shadows allow traders to keep track of previous pivots without cluttering the chart with too many solid lines. The width and transparency of these shadows can be customized in the settings.
🔵 HOW TO USE
🔵 CUSTOMIZATION
Timeframes and Pivot Length: Customize which higher timeframes (e.g., 4H, 1D, 1W) you want to display pivot levels from. Adjust the pivot length to control how sensitive the indicator is in detecting market highs and lows.
Line Style and Colors: Adjust the line style (solid, dashed, dotted) and colors for each timeframe to match your personal preference or chart theme. This customization helps in maintaining a clear and visually appealing chart.
Shadow Line Width and Transparency: Control the width and transparency of the shadow pivot lines to reduce chart clutter while still keeping track of key historical levels.
No Trade Zone Indicator [CHE]No Trade Zone Indicator
The "No Trade Zone Indicator " is a powerful tool designed to help traders identify periods when the market may not present favorable trading opportunities. By analyzing the percentage change in the 20-period Simple Moving Average (SMA20) relative to a dynamically adjusted threshold based on market volatility, this indicator highlights times when it's prudent to stay out of the market.
Why Knowing When Not to Trade Is Important
Understanding when not to trade is just as crucial as knowing when to enter or exit a position. Trading during periods of low volatility or uncertain market direction can lead to unnecessary risks and potential losses. By recognizing these "No Trade Zones," you can:
- Avoid Low-Probability Trades: Reduce the chances of entering trades with unfavorable risk-to-reward ratios.
- Preserve Capital: Protect your investment from unpredictable market movements.
- Enhance Focus: Concentrate on high-quality trading opportunities that align with your strategy.
How the Indicator Works
- SMA20 Calculation: Computes the 20-period Simple Moving Average of closing prices to identify the market's short-term trend.
- ATR Measurement: Calculates the Average True Range (ATR) over a user-defined period (default is 14) to assess market volatility.
- Dynamic Threshold: Determines an adjusted threshold by multiplying the ATR percentage by a Threshold Adjustment Factor (default is 0.05).
- Trend Analysis: Compares the percentage change of the SMA20 against the adjusted threshold to evaluate market momentum.
- Status Identification:
- Long: Indicates a rising SMA20 above the threshold—suggesting a potential upward trend.
- Short: Indicates a falling SMA20 above the threshold—suggesting a potential downward trend.
- No Trade: Signals when the SMA20 change is below the threshold, marking a period of low volatility or indecision.
Features
- Customizable Settings: Adjust the ATR period and Threshold Adjustment Factor to suit different trading styles and market conditions.
- Visual Indicators: Colored columns represent market status—green for "Long," red for "Short," and gray for "No Trade."
- On-Chart Table: An optional table displays the current market status directly on your chart for quick reference.
- Alerts: Set up alerts to receive notifications when the market enters a "No Trade Zone," helping you stay informed without constant monitoring.
How to Use the Indicator
1. Add to Chart: Apply the "No Trade Zone Indicator " to your preferred trading chart on TradingView.
2. Configure Settings: Customize the ATR period and Threshold Adjustment Factor based on your analysis and risk tolerance.
3. Interpret Signals:
- Green Columns: Consider looking for buying opportunities as the market shows upward momentum.
- Red Columns: Consider looking for selling opportunities as the market shows downward momentum.
- Gray Columns: Refrain from trading as the market lacks clear direction.
4. Monitor Alerts: Use the alert feature to get notified when the market status changes, allowing you to make timely decisions.
Conclusion
Incorporating the "No Trade Zone Indicator " into your trading toolkit can enhance your decision-making process by clearly indicating when the market may not be conducive to trading. By focusing on periods with favorable conditions and avoiding low-volatility times, you can improve your trading performance and achieve better results over the long term.
*Trade wisely, and remember—the best trade can sometimes be no trade at all.*
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.
best regards
Chervolino
MACD+RSI+BBDESCRIPTION
The MACD + RSI + Bollinger Bands Indicator is a comprehensive technical analysis tool designed for traders and investors to identify potential market trends and reversals. This script combines three indicators: the Moving Average Convergence Divergence (MACD), the Relative Strength Index (RSI), and Bollinger Bands. Each of these indicators provides unique insights into market behavior.
FEATURES
MACD (Moving Average Convergence Divergence)
The MACD is a trend-following momentum indicator that shows the relationship between two moving averages of a security’s price.
The script calculates the MACD line, the signal line, and the histogram, which visually represents the difference between the MACD line and the signal line.
RSI (Relative Strength Index)
The RSI is a momentum oscillator that measures the speed and change of price movements. It ranges from 0 to 100 and is typically used to identify overbought or oversold conditions.
The script allows users to set custom upper and lower thresholds for the RSI, with default values of 70 and 30, respectively.
Bollinger Bands
Bollinger Bands consist of a middle band (EMA) and two outer bands (standard deviations away from the EMA). They help traders identify volatility and potential price reversals.
The script allows users to customize the length of the Bollinger Bands and the multiplier for the standard deviation.
Color-Coding Logic
The histogram color changes based on the following conditions:
Black: If the RSI is above the upper threshold and the closing price is above the upper Bollinger Band, or if the RSI is below the lower threshold and the closing price is below the lower Bollinger Band.
Green (#4caf50): If the RSI is above the upper threshold but the closing price is not above the upper Bollinger Band.
Light Green (#a5d6a7): If the histogram is positive and the RSI is not above the upper threshold.
Red (#f23645): If the RSI is below the lower threshold but the closing price is not below the lower Bollinger Band.
Light Red (#faa1a4): If the histogram is negative and the RSI is not below the lower threshold.
Inputs
Bollinger Bands Settings
Length: The number of periods for the moving average.
Basis MA Type: The type of moving average (SMA, EMA, SMMA, WMA, VWMA).
Source: The price source for the Bollinger Bands calculation.
StdDev: The multiplier for the standard deviation.
RSI Settings
RSI Length: The number of periods for the RSI calculation.
RSI Upper: The upper threshold for the RSI.
RSI Lower: The lower threshold for the RSI.
Source: The price source for the RSI calculation.
MACD Settings
Fast Length: The length for the fast moving average.
Slow Length: The length for the slow moving average.
Signal Smoothing: The length for the signal line smoothing.
Oscillator MA Type: The type of moving average for the MACD calculation.
Signal Line MA Type: The type of moving average for the signal line.
Usage
This indicator is suitable for various trading strategies, including day trading, swing trading, and long-term investing.
Traders can use the MACD histogram to identify potential buy and sell signals, while the RSI can help confirm overbought or oversold conditions.
The Bollinger Bands provide context for price volatility and potential breakout or reversal points.
Example:
From the example, it can clearly see that the Selling Climax and Buying Climax, marked as orange circle when a black histogram occurs.
Conclusion
The MACD + RSI + Bollinger Bands Indicator is a versatile tool that combines multiple technical analysis methods to provide traders with a comprehensive view of market conditions. By utilizing this script, traders can enhance their analysis and improve their decision-making process.
HTF Candle Projections and BoxesThe HTF Candle Projections with Labels indicator builds on the power of previous tools: HTF Candle Projections and HTF Candle Boxes for LTF Charts . This versatile indicator combines advanced features from both indicators into an improved version, allowing you to display multiple Higher Time Frame (HTF) candles directly on a Lower Time Frame (LTF) chart, with enhanced functionality for improved visualization and analysis.
Key Features
Multiple HTF Candle Projections
Project a customizable number of HTF candles to the right of the current time frame. Easily compare HTF and LTF data without constantly switching between charts.
Customizable Projection Types
Choose between traditional candles or Heikin Ashi for your projections, adapting to your preferred analysis method.
Real-Time Open/High/Low/Close Projections
Dynamic updates ensure you always have the most current levels visible. Includes optional lines for Open, High, Low, and Close values, with selectable styles (solid, dotted, dashed).
Enhanced Visualization
Display HTF candles in the background as shaded areas, with transparent color options for up and down candles—offering intuitive context for recent market movements.
OHLC Labels
View key OHLC values beside each projected candle for quick and easy reference.
Time Frame Display Table
Added visual labels to clearly indicate which HTF is being displayed—no more guessing.
Box Options for Candle Range and Body
Box the entire candle range (High to Low) or just the body (Open to Close), inspired by Kevin Rollo's HTF Candle Boxes.
Pip Range Labels
Label the pip range from High to Low or Open to Close, providing better insight into volatility and price movement within the HTF candle.
This indicator is perfect for traders seeking a combined high-level overview with detailed precision for better decision-making. HTF Candle Projections and Boxes keep the macro perspective in view while focusing on the finer details—all in one chart. Free, open-source, and community-inspired, this tool is a comprehensive solution for time frame analysis.
Released under TradingView's default license (Mozilla Public License 2.0).
Inversion Fair Value Gap Oscillator | Flux Charts💎 GENERAL OVERVIEW
Introducing the new Inversion Fair Value Gap Oscillator (IFVG Oscillator) indicator! This unique indicator identifies and tracks Inversion Fair Value Gaps (IFVGs) in price action, presenting them in an oscillator format to reveal market momentum based on IFVG strength. It highlights bullish and bearish IFVGs while enabling traders to adjust detection sensitivity and apply volume and ATR-based filters for more precise setups. For more information about the process, check the "📌 HOW DOES IT WORK" section.
Features of the new IFVG Oscillator:
Fully Customizable FVG & IFVG Detection
An Oscillator Approach To IFVGs
Divergence Markers For Potential Reversals
Alerts For Divergence Labels
Customizable Styling
📌 HOW DOES IT WORK?
Fair Value Gaps are price gaps within bars that indicate inefficiencies, often filled as the market retraces. An Inversion Fair Value Gap is created in the opposite direction once a FVG gets invalidated. The IFVG Oscillator scans historical bars to identify these gaps, then filters them based on ATR or volume. Each IFVG is marked as bullish or bearish according to the opposite direction of the original FVG that got invalidated.
An oscillator is calculated using recent IFVGs with this formula :
1. The Oscillator starts as 0.
2. When a new IFVG Appears, it contributes (IFVG Width / ATR) to the oscillator of the corresponding type.
3. Each confirmed bar, the oscillator is recalculated as OSC = OSC * (1 - Decay Coefficient)
The oscillator aggregates and decays past IFVGs, allowing recent IFVG activity to dominate the signal. This approach emphasizes current market momentum, with oscillations moving bullish or bearish based on IFVG intensity. Divergences are marked where IFVG oscillations suggest potential reversals. Bullish Divergence conditions are as follows :
1. The current candlestick low must be the lowest of last 25 bars.
2. Net Oscillator (Shown in gray line by default) must be > 0.
3. The current Bullish IFVG Oscillator value should be no more than 0.1 below the highest value from the last 25 bars.
Traders can use divergence signals to get an idea of potential reversals, and use the Net IFVG Oscillator as a trend following marker.
🚩 UNIQUENESS
The Inversion Fair Value Gap Oscillator stands out by converting IFVG activity into an oscillator format, providing a momentum-based visualization of IFVGs that reveals market sentiment dynamically. Unlike traditional indicators that statically mark IFVG zones, the oscillator decays older IFVGs over time, showing only the most recent, relevant activity. This approach allows for real-time insight into market conditions and potential reversals based on oscillating IFVG strength, making it both intuitive and powerful for momentum trading.
Another unique feature is the combination of customizable ATR and volume filters, letting traders adapt the indicator to match their strategy and market type. You can also set-up alerts for bullish & bearish divergences.
⚙️ SETTINGS
1. General Configuration
Decay Coefficient -> The decay coefficient for oscillators. Increasing this setting will result in oscillators giving the weight to recent IFVGs, while decreasing it will distribute the weight equally to the past and recent IFVGs.
2. Fair Value Gaps
Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
3. Inversion Fair Value Gaps
Zone Invalidation -> Select between Wick & Close price for IFVG Zone Invalidation.
4. Style
Divergence Labels On -> You can switch divergence labels to show up on the chart or the oscillator plot.
Humble Linear Regression Candles & UT Bot Alerts compilationLinear Regression Candles by ugurvu & UT Bot Alerts by QuantNomad are the codes created by respective owners. I have compiled both codes into one indicator. For any further information / clarification check with respective individual indicator's scripts.
Fractals CheckerBasically, this indicator helps to identify upper and lower fractals (red/green) of three candles.
This fractal checker marks all candles with a triangle below/above the candle that fall into this category and draws a line until the fractal is closed.
Bolvoman by Dragon.3 Chiến lược giao dịch t là một hệ thống khá phức tạp, kết hợp nhiều chỉ báo và điều kiện khác nhau để xác định tín hiệu mua và bán. Dưới đây là phần giải thích chi tiết từng phần:
EMA (Exponential Moving Averages)
Mã sử dụng ba đường EMA:
Signal EMA là EMA chu kỳ ngắn, thường là 21 hoặc 10.
Trend EMA là EMA 55, dùng để xác định xu hướng chính.
Supper Trend EMA là EMA dùng để hỗ trợ xác định xu hướng, tương tự như trailing stop.
Màu sắc và Điều kiện xu hướng
Khi Signal EMA nằm trên Trend EMA, mã sẽ hiển thị màu xanh để báo hiệu xu hướng tăng.
Khi Signal EMA nằm dưới Trend EMA, mã sẽ hiển thị màu đỏ báo hiệu xu hướng giảm.
Keltner Channel
Keltner Channel được tạo bằng cách sử dụng ATR (Average True Range) làm độ rộng kênh, nhằm xác định các vùng mua và bán.
Kênh trên (upperKC) và kênh dưới (lowerKC) được hiển thị khi người dùng bật Show KC.
Phân tích Mô Hình Nến và Khối Lượng
Mã xác định các mô hình nến như Bullish Engulfing, Bearish Engulfing, Bullish Pinbar, và Bearish Pinbar.
Nếu một trong các mô hình này xuất hiện trong điều kiện xu hướng tăng/giảm (EMA cắt lên/xuống), và khối lượng lớn hơn khối lượng trung bình của 14 phiên trước đó, thì tín hiệu mua hoặc bán sẽ được đưa ra.
Dynamic Levels Breakout
Mã có thể xác định các mức kháng cự và hỗ trợ động dựa trên các điểm pivot, dùng Pivot Point Period và ATR Factor.
Các mức kháng cự và hỗ trợ động sẽ giúp xác định điểm vào lệnh tiềm năng khi giá phá vỡ các mức này.
SuperTrend AI Dựa Trên Machine Learning
Phần này của mã nhằm phân tích và phân loại các vùng biến động cao, trung bình, và thấp dựa trên ATR.
Dựa trên AI Supper Trend, mã tính toán các trung tâm cụm dữ liệu và tạo các dải SuperTrend để chỉ ra sự biến động, hỗ trợ trader trong việc nắm bắt cơ hội giao dịch trong các điều kiện thị trường khác nhau.
Đường Zigzag và Double Bottom/Double Top
Mã có tích hợp đường zigzag để hiển thị các đỉnh và đáy, từ đó giúp xác định các mô hình đảo chiều như Double Bottom hoặc Double Top.
Điều kiện Mua/Bán chính
Mua khi Signal EMA cắt lên Trend EMA, xuất hiện Bullish Engulfing hoặc Bullish Pinbar, và giá đóng cửa trên Signal EMA kèm khối lượng lớn hơn trung bình 14 phiên.
Bán khi Signal EMA cắt xuống Trend EMA, xuất hiện Bearish Engulfing hoặc Bearish Pinbar, và giá đóng cửa dưới Signal EMA kèm khối lượng lớn hơn trung bình 14 phiên.
Chiến lược này hướng đến việc kết hợp các chỉ báo kỹ thuật và mô hình nến để tăng độ chính xác cho tín hiệu giao dịch. Với các chỉ báo như EMA, Keltner Channel, SuperTrend AI, và phân tích khối lượng, mã cho phép các trader nhận diện các cơ hội giao dịch tốt trong xu hướng và các điểm phá vỡ quan trọng.
Chart VWAPChart VWAP 2 for testing reason that allow as to know if trading view allow us using pine editor in cutome web page
Yorks RSI Combined Bull and Bear Zone with Adjustable TimeframeBased on 'RSI with Divergences, Reverse Formulas, and Bull/Bear Zones by @kylealberry
I have combined two of Kyle's script together with the option of having one set to current time frame and a second on a higher time frame. You can choose your own theshold's for bull/bear zones on both time frames. When both time frames are in agreement the indicator will show either a green (bull zone) or red (bear zone) background. When the two time frame bull/bear zones are not in agreement the indicator will show a grey background (no trade zone).
For example if you have rsi 1 thresholds set to 35 and 65 and rsi 2 thresholds both set to 50 on your chosen higher time frame, when rsi is in a bull zone (rsi has crossed above 65 and not yet crossed below 35) and rsi 2 is above 50 on higher time frame the indicator background will be green. If rsi drops below 50 the background will turn grey.
My idea for use it is in either a red or green background wait for a pullback (background must remain red or green) and use your favourite entry trigger. Avoid trading when the indicator is showing a grey background.
Volumetric Rejection Blocks [UAlgo]The Volumetric Rejection Blocks is designed to help traders identify and visualize key price levels where volumetric rejections occur, which may indicate a shift in market sentiment. These rejections can signal potential trend reversals or areas where price action is likely to face support or resistance. By drawing rejection blocks based on volumetric strength, the indicator allows users to observe where significant buying or selling pressure has been exerted, which can be used as a reference point for future price action.
Also indicator dynamically calculates swing highs and lows, analyzes bullish and bearish strengths based on volume-weighted price movements, and displays rejection blocks on the chart. Each rejection block represents an area where the price attempted to move beyond a certain level but faced rejection, either on a close or wick basis. This can be particularly useful for traders who rely on market structure and order flow to make informed decisions about entering or exiting trades.
🔶 Key Features
Swing Length Customization: Allows users to define the swing length, helping tailor the sensitivity of the swing high and low detection to the specific market conditions.
Rejection Block Visualization: Displays up to the last 10 rejection blocks based on user settings, clearly marking areas of significant bullish or bearish rejections.
Volumetric Strength Analysis: The indicator calculates bullish and bearish strength for each rejection block, based on volume-weighted price movements over the last few bars, giving insight into the intensity of the rejection.
Violation Check Type: Offers two options for violation detection—"Close" and "Wick". This allows traders to specify whether a price level is considered broken only if it closes beyond the level or if any wick breaches it.
Bullish and Bearish Block Coloring: Rejection blocks are colored to represent bullish (green) and bearish (red) rejection areas. The color transparency can be adjusted for clear visibility overlaid on the price chart.
Market Structure Labels: Labels and lines marking "Market Structure Shift" (MSS) and "Break of Structure" (BOS) are displayed, giving traders context about significant market structure changes.
🔶 Interpreting the Indicator
Rejection Blocks: These colored blocks on the chart indicate areas where the price faced significant buying or selling pressure. A green block suggests a bullish rejection (support zone), where buyers absorbed the sell-off, potentially pushing the price upward. Conversely, a red block indicates a bearish rejection (resistance zone), where sellers overpowered buyers, potentially driving the price lower.
Strength Analysis: The width of the green and red sections within a rejection block represents the relative bullish and bearish strengths. A wider green section indicates stronger bullish support, while a wider red section suggests more robust bearish resistance. This helps traders gauge the likelihood of price holding or breaching these levels.
Market Structure Shift (MSS) and Break of Structure (BOS): The indicator automatically detects and labels significant changes in market structure. An "MSS" label indicates the first break, suggesting a potential shift in trend direction. A "BOS" label indicates a subsequent confirmation in trend direction, allowing traders to recognize potential trend continuations.
Violation Check: Traders can choose how to interpret breaks of these rejection blocks. Using the "Close" option provides a more conservative approach, requiring a close beyond the level for confirmation. The "Wick" option is more aggressive, treating any wick beyond the level as a break.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
moshak adel//@version=5
indicator("2 indicator", precision=0, timeframe='', timeframe_gaps = true)
PhiSmoother(series float source, simple int length, simple float phase=3.7)=>
var array coefs = na
var int length_1 = length - 1
var float W = 0.0
if na(coefs)
coefs := array.new()
const float SQRT_PIx2 = math.sqrt(2.0 * math.pi)
const float MULTIPLIER = -0.5 / 0.93
var float length_2 = length * 0.52353
for int i=0 to length_1
float alpha = (i + phase - length_2) * MULTIPLIER
float beta = 1.0 / (0.2316419 * math.abs(alpha) + 1.0)
float phi = (math.exp(math.pow(alpha, 2) * -0.5)
*-0.398942280) * beta *
( 0.319381530 + beta *
(-0.356563782 + beta *
( 1.781477937 + beta *
(-1.821255978 + beta
* 1.330274429)))) + 1.011
if alpha < 0.0
phi := 1.0 - phi
float weight = phi / SQRT_PIx2
coefs.push(weight)
W += weight
float sma2 = math.avg(source, nz(source , source))
float E = 0.0
for int i=0 to length_1
E += coefs.get(i) * sma2
E / W
ema(series float source, simple float length)=>
float alpha = 2.0 / (length + 1)
var float smoothed = na
smoothed := alpha * source + (1.0 - alpha) * nz(smoothed , source)
dema(series float source, simple float length)=>
float ema1 = ema(source, length)
float ema2 = ema( ema1, length)
2.0 * ema1 - ema2
tema(series float source, simple float length)=>
float ema1 = ema(source, length)
float ema2 = ema( ema1, length)
float ema3 = ema( ema2, length)
(ema1 - ema2) * 3.0 + ema3
wma(series float source, simple int length)=>
float weight_sum = length * 0.5 * (length + 1)
float sum = 0.0
for int i=0 to length - 1
sum += source * (length - i)
sum / weight_sum
sma(series float source, simple int length)=>
float sum = ta.cum(source)
if bar_index < length - 1
sum / (bar_index + 1)
else
(sum - sum ) / length
filter(series float source,
simple int length,
simple float phase,
simple string style)=>
if length > 1
switch style
"PhiSmoother" => PhiSmoother(source, length, phase)
"EMA" => ema(source, length)
"DEMA" => dema(source, length)
"TEMA" => tema(source, length)
"WMA" => wma(source, length)
=> sma(source, length) // "SMA"
else
source
method get_score(series array source)=>
array scores = array.new()
for int i=0 to source.size() - 1
float current = source.get(i)
int score_sum = 0
for j = 0 to source.size() - 1
float check = source.get(j)
int polarity = i < j ? 1 : -1
if i != j
if current > check
score_sum += polarity
else
score_sum -= polarity
scores.push(score_sum)
scores
method net_score(series array scores)=>
int value = scores.size() - 1
float netScore = ((scores.avg() + value) / (value * 2.0) - 0.5) * 200.0
netScore
method get_color(series float score,
simple float transition_easing,
simple bool volatility_mode,
simple color rising_bullish,
simple color falling_bullish,
simple color falling_bearish,
simple color rising_bearish,
simple color rising_transition,
simple color falling_transition)=>
var color grad = na
float delta = score - nz(score , score)
color bullish = delta >= 0.0 ? rising_bullish : falling_bullish
color bearish = delta > 0.0 ? rising_bearish : falling_bearish
color transit = score > 0.0 ? (delta >= 0.0 ? rising_transition : falling_transition)
: (delta >= 0.0 ? falling_transition : rising_transition)
if volatility_mode
float easing = 0.01 * transition_easing
float crms = easing * math.sqrt(ta.cum(math.pow(math.abs(score), 2)) / (bar_index + 1))
grad := if score > 0.0
transition_easing > 0.0 ? color.from_gradient(score, 0.0, crms, transit, bullish) : bullish
else
transition_easing > 0.0 ? color.from_gradient(score, -crms, 0.0, bearish, transit) : bearish
else
grad := if score > 0.0
transition_easing > 0.0 ? color.from_gradient(score, 0.0, transition_easing, transit, bullish) : bullish
else
transition_easing > 0.0 ? color.from_gradient(score, -transition_easing, 0.0, bearish, transit) : bearish
grad
string common = "Common Controls"
float source = input.source( close, "Source", group=common)
string mode = input.string("Trend Strength", "Composite Cluster Mode", group=common, options= , tooltip="Trend Strength visualizes the directionality of the filter cluster. Volatility weights the score to the bandwidth of the cluster.")
string filter = input.string( "PhiSmoother", "Cluster Filter", group=common, options= , tooltip="Choose a filter to build the moving average cluster with.")
float phase = input.float ( 3.7, "PhiSmoother Phase", group=common, minval=0.0, step=0.1, tooltip="This allows for subtle adjustment (tweaking) of the phase/lag for PhiSmoother")
string cluster = "Cluster Options"
int spacing = input.int(3, "Cluster Dispersion", group=cluster, minval=1, maxval=10, tooltip="Choose the separation between the moving averages in the cluster.")
int upper_trim = input.int(0, "Cluster Trim - Upper:", group=cluster, inline="trim", minval=0, maxval=31)
int lower_trim = input.int(0, "Lower:", group=cluster, inline="trim", minval=0, maxval=31, tooltip="The 'Upper' parameter modifies the shortest period of the moving averages, whereas 'Lower' parameter adjusts the longest period. Increasing the upper value reduces sensitivity, while increasing the lower value heightens sensitivity.")
string output = "Composite Post Smoothing"
string post_smooth_filt = input.string("PhiSmoother", "PostSmooth - Filter:", group=output, inline="post", options= )
int post_smooth_len = input.int ( 1, "Length:", group=output, inline="post", minval=1, tooltip="Period of the cluster's post smoothing.")
string signal = "Composite Signal Settings"
string signal_filter = input.string("PhiSmoother", "Signal - Filter:", group=signal, inline="signal", options= )
int signal_length = input.int ( 20, "Length:", group=signal, inline="signal", minval=1, tooltip="Period of the momentum signal plot.")
color signal_color = input.color ( color.white, "Filter Color", group=signal)
string threshold = "Threshold Levels"
float upperLevel = input.float( 75.00, "Levels - Upper:", group=threshold, inline="level", minval= 1.0, maxval=99.0, step=2.0)
float lowerLevel = input.float(-75.00, "Lower:", group=threshold, inline="level", minval=-99.0, maxval=-1.0, step=2.0, tooltip="Fine-tune the thresholds to your liking")
string colors = "Coloring Preferences"
//bool candle_color = input.bool ( false, "Candle Coloring", group=colors)
float transition_easing = input.float( 50.0, "Transition Easing", group=colors, maxval= 100.0, minval=0.0, step=5.0, tooltip="Adjust the sensitivity to ranging conditions.")
bool fill_bg = input.bool ( true, "Fill Background", group=colors, inline= "fill")
int fill_alpha = input.int ( 85, "", group=colors, inline= "fill", minval=0, maxval=100)
color rising_bullish = input.color(#FFCC00, "Bullish Color", group=colors, inline= "bull")
color rising_transition = input.color(#9598A1, "Transition Color", group=colors, inline="range")
color falling_bearish = input.color(#5500CC, "Bearish Color", group=colors, inline= "bear")
var bool VOLATILITY_MODE_ON = mode == "Volatility"
price = input(title='Source', defval=close)
alpha = input.int(title='Combined Smoothness', defval=15, minval=1)
array filter_cluster = array.new(34)
filter_cluster.set( 0, source)
filter_cluster.set( 1, filter(source, spacing, phase, filter))
filter_cluster.set( 2, filter(source, 2 * spacing, phase, filter))
filter_cluster.set( 3, filter(source, 3 * spacing, phase, filter))
filter_cluster.set( 4, filter(source, 4 * spacing, phase, filter))
filter_cluster.set( 6, filter(source, 5 * spacing, phase, filter))
filter_cluster.set( 7, filter(source, 6 * spacing, phase, filter))
filter_cluster.set( 8, filter(source, 7 * spacing, phase, filter))
filter_cluster.set( 9, filter(source, 8 * spacing, phase, filter))
filter_cluster.set(10, filter(source, 9 * spacing, phase, filter))
filter_cluster.set(11, filter(source, 10 * spacing, phase, filter))
filter_cluster.set(12, filter(source, 11 * spacing, phase, filter))
filter_cluster.set(13, filter(source, 12 * spacing, phase, filter))
filter_cluster.set(14, filter(source, 13 * spacing, phase, filter))
filter_cluster.set(15, filter(source, 14 * spacing, phase, filter))
filter_cluster.set(16, filter(source, 15 * spacing, phase, filter))
filter_cluster.set(17, filter(source, 16 * spacing, phase, filter))
filter_cluster.set(18, filter(source, 17 * spacing, phase, filter))
filter_cluster.set(19, filter(source, 18 * spacing, phase, filter))
filter_cluster.set(20, filter(source, 19 * spacing, phase, filter))
filter_cluster.set(21, filter(source, 20 * spacing, phase, filter))
filter_cluster.set(22, filter(source, 21 * spacing, phase, filter))
filter_cluster.set(23, filter(source, 22 * spacing, phase, filter))
filter_cluster.set(24, filter(source, 23 * spacing, phase, filter))
filter_cluster.set(25, filter(source, 24 * spacing, phase, filter))
filter_cluster.set(26, filter(source, 25 * spacing, phase, filter))
filter_cluster.set(27, filter(source, 26 * spacing, phase, filter))
filter_cluster.set(28, filter(source, 27 * spacing, phase, filter))
filter_cluster.set(29, filter(source, 28 * spacing, phase, filter))
filter_cluster.set(30, filter(source, 29 * spacing, phase, filter))
filter_cluster.set(31, filter(source, 30 * spacing, phase, filter))
filter_cluster.set(32, filter(source, 31 * spacing, phase, filter))
filter_cluster.set(33, filter(source, 32 * spacing, phase, filter))
if upper_trim > 0
for int i=0 to math.min(upper_trim - 1, filter_cluster.size() - 1)
if filter_cluster.size() > 2
filter_cluster.shift()
else
break
if lower_trim > 0
for int i=0 to math.min(lower_trim - 1, filter_cluster.size() - 1)
if filter_cluster.size() > 2
filter_cluster.pop()
else
break
float ribbon_max = filter_cluster.max()
float ribbon_min = filter_cluster.min()
float ribbon_width = ribbon_max - ribbon_min
float ribbon_rank = VOLATILITY_MODE_ON ? nz(ribbon_width / math.avg(ribbon_max, ribbon_min)) : 1
array score = filter_cluster.get_score()
float net_score = filter(score.net_score() * ribbon_rank, post_smooth_len, 3.7, post_smooth_filt)
float signal_value = signal_length < 2 ? na : filter(ta.sma(net_score, 2), signal_length, 3.7, signal_filter)
top = hline(VOLATILITY_MODE_ON ? na : 100.0, "Top", #FF0000)
upper = hline(VOLATILITY_MODE_ON ? na : upperLevel, "+Level", rising_bullish, hline.style_dotted, 2)
center = hline( 0.0, "Center", #CCCCCC)
lower = hline(VOLATILITY_MODE_ON ? na : lowerLevel, "+Level", falling_bearish, hline.style_dotted, 2)
bottom = hline(VOLATILITY_MODE_ON ? na : -100.0, "Bottom", #00FF00)
const color invisible = #00000000
fill( top, upper, 100.0, upperLevel, #800000, invisible)
fill(center, upper, upperLevel, 0.0, color.new( rising_bullish, 100), color.new(rising_bullish, fill_bg ? fill_alpha : 100))
fill(center, lower, 0.0, lowerLevel, color.new(falling_bearish, fill_bg ? fill_alpha : 100), color.new(falling_bearish, 100))
fill(bottom, lower, lowerLevel, -100.0, invisible, #008000)
//barcolor(candle_color ? main_color : na)
color1 = net_score>signal_value ? #00FF00 : #ff0000
net = plot(net_score, "Score", color1, 3)
zero = plot( 0.0, "", invisible)
plot(signal_value, "Signal", signal_color, 1)
fill(net, zero, net_score > 0.0 ? net_score : 0.0,
net_score > 0.0 ? 0.0 : net_score,
net_score > 0.0 ? color.new(rising_bullish, fill_bg and VOLATILITY_MODE_ON ? fill_alpha : 100) : color.new(falling_bearish, 100),
net_score > 0.0 ? color.new(rising_bullish, 100) : color.new(falling_bearish, fill_bg and VOLATILITY_MODE_ON ? fill_alpha : 100))
//===============================================
f_LazyLine(_data, _length) =>
w1 = 0
w2 = 0
w3 = 0
L1 = 0.0
L2 = 0.0
L3 = 0.0
w = _length / 3
if _length > 2
w2 := math.round(w)
w1 := math.round((_length - w2) / 2)
w3 := int((_length - w2) / 2)
L1 := ta.wma(_data, w1)
L2 := ta.wma(L1, w2)
L3 := ta.wma(L2, w3)
L3
else
L3 := _data
L3
L3
//====================================
LL = f_LazyLine(price, alpha)
c_up = color.new(#33ff00, 0)
c_dn = color.new(#ff1111, 0)
uptrend = LL > LL
plot(LL, 'SS_WMA Line', color=uptrend ? c_up : c_dn, linewidth=3,force_overlay=true)
plot(ta.wma(price, alpha), 'WMA', color=color.new(color.purple, 0), display=display.none,force_overlay=true)
// ========================================================================================================================
// v2: add optional up/dn arrow signal on change of direction (swing)
ShowSig = input(title='Up/Dn Swing Signal?', defval=false)
SigMulti = input.float(title='Signal Locator %', defval=1.0, step=0.2, minval=0, maxval=20)
SignalOn = ShowSig and barstate.isconfirmed // ensure the signal plots *only* after "the bar closes" :) -- insert jokes :)
SwingDn = uptrend and not uptrend
SwingUp = uptrend and not uptrend
d = SigMulti / 100 * LL //we'll use this to tweak a good location for the signal (that is not tied to price-specific parameters)
plotshape(SignalOn and SwingDn ? LL + d : na, title='Swing Down', style=shape.triangledown, location=location.absolute, size=size.small, color=c_dn,force_overlay=true)
plotshape(SignalOn and SwingUp ? LL - d : na, title='Swing Up', style=shape.triangleup, location=location.absolute, size=size.small, color=c_up,force_overlay=true)
// ========================================================================================================================
// v3: enable alerts
// need to use alertcondition() to support variable resolution
alertcondition(SwingUp, 'Swing Up', 'Swing Up Detected!') // explicit swing up
alertcondition(SwingDn, 'Swing Down', 'Swing Down Detected!') // explicit swing down
alertcondition(SwingUp or SwingDn, 'Swing', 'Up/Down Swing Detected!') // either swings