signalLib_yashgode9Signal Generation Library = "signalLib_yashgode9"
This library, named "signalLib_yashgode9", is designed to generate buy and sell signals based on the price action of a financial instrument. It utilizes various technical indicators and parameters to determine the market direction and provide actionable signals for traders.
Key Features:-
1.Trend Direction Identification: The library calculates the trend direction by comparing the number of bars since the highest and lowest prices within a specified depth. This allows the library to determine the overall market direction, whether it's bullish or bearish.
2.Dynamic Price Tracking: The library maintains two chart points, zee1 and zee2, which dynamically track the price levels based on the identified market direction. These points serve as reference levels for generating buy and sell signals.
3.Customizable Parameters: The library allows users to adjust several parameters, including the depth of the price analysis, the deviation threshold, and the number of bars to consider for the trend direction. This flexibility enables users to fine-tune the library's behavior to suit their trading strategies.
4.Visual Representation: The library provides a visual representation of the buy and sell signals by drawing a line between the zee1 and zee2 chart points. The line's color changes based on the identified market direction, with red indicating a bearish signal and green indicating a bullish signal.
Usage and Integration:
To use this library, you can call the "signalLib_yashgode9" function and pass in the necessary parameters, such as the lower and higher prices, the depth of the analysis, the deviation threshold, and the number of bars to consider for the trend direction. The function will return the direction of the market (1 for bullish, -1 for bearish), as well as the zee1 and zee2 chart points.You can then use these values to generate buy and sell signals in your trading strategy. For example, you could use the direction value to determine when to enter or exit a trade, and the zee1 and zee2 chart points to set stop-loss or take-profit levels.
Potential Use Cases:
This library can be particularly useful for traders who:
1.Trend-following Strategies: The library's ability to identify the market direction can be beneficial for traders who employ trend-following strategies, as it can help them identify the dominant trend and time their entries and exits accordingly.
2.Swing Trading: The dynamic price tracking provided by the zee1 and zee2 chart points can be useful for swing traders, who aim to capture medium-term price movements.
3.Automated Trading Systems: The library's functionality can be integrated into automated trading systems, allowing for the development of more sophisticated and rule-based trading strategies.
4.Educational Purposes: The library can also be used for educational purposes, as it provides a clear and concise way to demonstrate the application of technical analysis concepts in a trading context.
Important Notice:- This library effectively work on timeframe of 5-minute and 15-minute.
ค้นหาในสคริปต์สำหรับ "zigzag"
Divergence Screener [Trendoscope®]🎲Overview
The Divergence Screener is a powerful TradingView indicator designed to detect and visualize bullish and bearish divergences, including hidden divergences, between price action and a user-selected oscillator. Built with flexibility in mind, it allows traders to customize the oscillator type, trend detection method, and other parameters to suit various trading strategies. The indicator is non-overlay, displaying divergence signals directly on the oscillator plot, with visual cues such as lines and labels on the chart for easy identification.
This indicator is ideal for traders seeking to identify potential reversal or continuation signals based on price-oscillator divergences. It supports multiple oscillators, trend detection methods, and alert configurations, making it versatile for different markets and timeframes.
🎲Features
🎯Customizable Oscillator Selection
Built-in Oscillators : Choose from a variety of oscillators including RSI, CCI, CMO, COG, MFI, ROC, Stochastic, and WPR.
External Oscillator Support : Users can input an external oscillator source, allowing integration with custom or third-party indicators.
Configurable Length : Adjust the oscillator’s period (e.g., 14 for RSI) to fine-tune sensitivity.
🎯Divergence Detection
The screener identifies four types of divergences:
Bullish Divergence : Price forms a lower low, but the oscillator forms a higher low, signaling potential upward reversal.
Bearish Divergence : Price forms a higher high, but the oscillator forms a lower high, indicating potential downward reversal.
Bullish Hidden Divergence : Price forms a higher low, but the oscillator forms a lower low, suggesting trend continuation in an uptrend.
Bearish Hidden Divergence : Price forms a lower high, but the oscillator forms a higher high, suggesting trend continuation in a downtrend.
🎯Flexible Trend Detection
The indicator offers three methods to determine the trend context for divergence detection:
Zigzag : Uses zigzag pivots to identify trends based on higher highs (HH), higher lows (HL), lower highs (LH), and lower lows (LL).
MA Difference : Calculates the trend based on the difference in a moving average (e.g., SMA, EMA) between divergence pivots.
External Trend Signal : Allows users to input an external trend signal (positive for uptrend, negative for downtrend) for custom trend analysis.
🎯Zigzag-Based Pivot Analysis
Customizable Zigzag Length : Adjust the zigzag length (default: 13) to control the sensitivity of pivot detection.
Repaint Option : Choose whether divergence lines repaint based on the latest data or wait for confirmed pivots, balancing responsiveness and reliability.
🎯Visual and Alert Features
Divergence Visualization : Divergence lines are drawn between price pivots and oscillator pivots, color-coded for easy identification:
Bullish Divergence : Green
Bearish Divergence : Red
Bullish Hidden Divergence : Lime
Bearish Hidden Divergence : Orange
Labels and Tooltips : Labels (e.g., “D” for divergence, “H” for hidden) appear on price and oscillator pivots, with tooltips providing detailed information such as price/oscillator values, ratios, and pivot directions.
Alerts : Configurable alerts for each divergence type (bullish, bearish, bullish hidden, bearish hidden) trigger on bar close, ensuring timely notifications.
🎲 How It Works
🎯Oscillator Calculation
The indicator calculates the selected oscillator (or uses an external source) and plots it on the chart.
Oscillator values are stored in a map for reference during divergence calculations.
🎯Pivot Detection
A zigzag algorithm identifies pivots in the oscillator data, with configurable length and repainting options.
Price and oscillator pivots are compared to detect divergences based on their direction and ratio.
🎯Divergence Identification
The indicator compares price and oscillator pivot directions (HH, HL, LH, LL) to identify divergences.
Trend context is determined using the selected method (Zigzag, MA Difference, or External).
Divergences are classified as bullish, bearish, bullish hidden, or bearish hidden based on price-oscillator relationships and trend direction.
🎯Visualization and Alerts
Valid divergences are drawn as lines connecting price and oscillator pivots, with corresponding labels.
Alerts are triggered for allowed divergence types, providing detailed information via tooltips.
🎯Validation
Divergence lines are validated to ensure no intermediate bars violate the divergence condition, enhancing signal reliability.
🎲 Usage Instructions as Indicator
🎯Add to Chart:
Add the “Divergence Screener ” to your TradingView chart.
The indicator appears in a separate pane below the price chart, plotting the oscillator and divergence signals.
🎯Configure Settings:
Adjust the oscillator type and length to match your trading style.
Select a trend detection method and configure related parameters (e.g., MA type/length or external signal).
Set the zigzag length and repainting preference.
Enable/disable alerts for specific divergence types.
I🎯nterpret Signals:
Bullish Divergence (Green) : Look for potential buy opportunities in a downtrend.
Bearish Divergence (Red) : Consider sell opportunities in an uptrend.
Bullish Hidden Divergence (Lime) : Confirm continuation in an uptrend.
Bearish Hidden Divergence (Orange): Confirm continuation in a downtrend.
Use tooltips on labels to review detailed pivot and divergence information.
🎯Set Alerts:
Create alerts for each divergence type to receive notifications via TradingView’s alert system.
Alerts include detailed text with price, oscillator, and divergence information.
🎲 Example Scenarios as Indicator
🎯 With External Oscillator (Use MACD Histogram as Oscillator)
In order to use MACD as an oscillator for divergence signal instead of the built in options, follow these steps.
Load MACD Indicator from Indicator library
From Indicator settings of Divergence Screener, set Use External Oscillator and select MACD Histograme from the dropdown
You can now see that the oscillator pane shows the data of selected MACD histogram and divergence signals are generated based on the external MACD histogram data.
🎯 With External Trend Signal (Supertrend Ladder ATR)
Now let's demonstrate how to use external direction signals using Supertrend Ladder ATR indicator. Please note that in order to use the indicator as trend source, the indicator should return positive integer for uptrend and negative integer for downtrend. Steps are as follows:
Load the desired trend indicator. In this example, we are using Supertrend Ladder ATR
From the settings of Divergence Screener, select "External" as Trend Detection Method
Select the trend detection plot Direction from the dropdown. You can now see that the divergence signals will rely on the new trend settings rather than the built in options.
🎲 Using the Script with Pine Screener
The primary purpose of the Divergence Screener is to enable traders to scan multiple instruments (e.g., stocks, ETFs, forex pairs) for divergence signals using TradingView’s Pine Screener, facilitating efficient comparison and identification of trading opportunities.
To use the Divergence Screener as a screener, follow these steps:
Add to Favorites : Add the Divergence Screener to your TradingView favorites to make it available in the Pine Screener.
Create a Watchlist : Build a watchlist containing the instruments (e.g., stocks, ETFs, or forex pairs) you want to scan for divergences.
Access Pine Screener : Navigate to the Pine Screener via TradingView’s main menu: Products -> Screeners -> Pine, or directly visit tradingview.com/pine-screener/.
Select Watchlist : Choose the watchlist you created from the Watchlist dropdown in the Pine Screener interface.
Choose Indicator : Select Divergence Screener from the Choose Indicator dropdown.
Configure Settings : Set the desired timeframe (e.g., 1 hour, 1 day) and adjust indicator settings such as oscillator type, zigzag length, or trend detection method as needed.
Select Filter Criteria : Select the condition on which the watchlist items needs to be filtered. Filtering can only be done on the plots defined in the script.
Run Scan : Press the Scan button to display divergence signals across the selected instruments. The screener will show which instruments exhibit bullish, bearish, bullish hidden, or bearish hidden divergences based on the configured settings.
🎲 Limitations and Possible Future Enhancements
Limitations are
Custom input for oscillator and trend detection cannot be used in pine screener.
Pine screener has max 500 bars available.
Repaint option is by default enabled. When in repaint mode expect the early signal but the signals are prone to repaint.
Possible future enhancements
Add more built-in options for oscillators and trend detection methods so that dependency on external indicators is limited
Multi level zigzag support
Motive Wave Scanner [Trendoscope®]Motive Wave Scanner is a simple algorithm to find out motive waves as per the rules of Elliott Wave theory.
It is an extension to our previous open source script Interactive Motive Wave Checklist which provides interactive capability to select six points of a five wave formation. Once users select them, the rules of motive waves are applied to manually selected points to highlight them as either diagonal wave, motive wave or none.
This indicator does the same. But, instead of requesting the pivots manually from the user, the indicator automatically picks and scans them through zigzag.
We have already published a similar script as protected source. But, due to some changes in the pine engine, there have been few issues in the runtime. In this publication, we not only address those runtime issues but also making it open source for the users to make use of the source code and enhance it further.
🎲 What are motive waves
Motive waves are strong upward or downward movement with 5 subwaves.
Motive Wave in the upward direction will start with Swing High, Ends with Swing High and consists of 3 Higher Highs and 2 Higher Lows representing strong upward trend.
Motive Wave in the downward direction will start with Swing Low, Ends with Swing low and consists of 3 Lower Lows and 2 Lower Highs representing strong downward trend.
🎲 Types of Motive Waves
Motive Waves are broadly classified by two types:
Impulse Waves
Diagonal Waves
Diagonal Waves are further classified into Contracting and Expanding Diagonals. These can fall into the category of either leading diagonal and ending diagonal.
🎲 Rules of Motive Waves
🎯 Generic Rule of any motive waves are as follows
Should consist of 5 alternating waves. (Swing High followed by Swing low and vice versa)
This can start from Swing High and end in Swing High or start from Swing Low and end in Swing Low of a zigzag.
Wave-2 should not move beyond Wave-1. This means, the Wave-2 is always shorter than Wave-1 with respect to distance between the price of start and end.
Wave-3 always moves beyond Wave-1. This means, the Wave-3 is always longer than Wave-2 in terms of price
Among Wave-1, Wave-3, and Wave-5, Wave-3 is never the shortest one. This means, either Wave-1 or Wave-5 can be longer than Wave-3 but not both. Wave-3 can also be longest among the three.
Here is the pictorial representation of the rules of the Motive Waves
For a wave to be considered as motive wave, it also needs to follow the rules of either impulse or diagonal waves.
🎯 Rules for a 5 wave pattern to be considered as Impulse Wave are:
Wave-4 never overlaps with Wave-1 price range
Wave-1, Wave-3 and Wave-5 should not be either expanding or contracting. Meaning, we cannot have Wave-1 > Wave-3 > Wave-5 , and we cannot have Wave-1 < Wave-3 < Wave-5
Pictorial representation of the impulse wave rules are as below:
🎯 Rules for the Diagonal Waves are as follows
Contrary to the first rule of impulse wave, in case of diagonal wave, Wave-4 always overlaps with Wave-1 price range. But, it will not go beyond Wave-3
Waves are progressively expanding or contracting - Wave1 > Wave3 > Wave5 and Wave2 > Wave4 to be contracting diagonal. Wave1 < Wave3 < Wave5 and Wave2 < Wave4 to be expanding diagonal wave.
Pictorial representation of the Contracting Diagonal Wave is as below. Here, the Wave-1, Wave-3 and Wave-5 are in contracting formation.
Pictorial representation of the Expanding Diagonal Wave is as below. Here, the Wave-1, Wave-3 and Wave-5 are in expanding formation.
🎲 Indicator Settings
Indicator settings are defined as below:
Repaint Warning : If Repaint is selected, the indicator will throw a runtime error after certain bars or when alerts are set. This is due to some pine internal issue. At present, we do not have any solution for this until the internal issue is resolved by Tradingview Pine Team.
WavesLibrary "Waves"
Methods for elliot wave detection
method delete(this)
deletes the subwave drawing
Namespace types: Subwave
Parameters:
this (Subwave) : Subwave object to be deleted
Returns: deleted subwave object
method delete(this)
deletes the wave drawing and the corresponding subwaves
Namespace types: Wave
Parameters:
this (Wave) : Wave object to be deleted
Returns: deleted wave object
method createWave(pivot, lineColor, waves, limit)
Create wave object
Namespace types: zg.Pivot
Parameters:
pivot (Pivot type from Trendoscope/Zigzag/7) : pivot object where the wave needs to be created
lineColor (color) : color of the wave to be drawn
waves (array) : array of existing waves
limit (int) : max number of waves to be shown in the chart
Returns: wave object created
method createSubWaves(wave, subwavePivots)
Create sub waves for the wave
Namespace types: Wave
Parameters:
wave (Wave)
subwavePivots (array) : array of sub wave pivots
Returns: wave object created
method draw(subWave)
Draw subwave
Namespace types: Subwave
Parameters:
subWave (Subwave)
Returns: subwsubWave object
method draw(wave, limitSubwaves)
Draw Wave
Namespace types: Wave
Parameters:
wave (Wave) : Wave object to be drawn
limitSubwaves (bool) : limit the number of subwave combinations within the wave
Returns: wave object
method checkMotiveWave(prices)
based on the price array, check if there is motive wave and identify the type
Namespace types: array
Parameters:
prices (array) : float array of prices
Returns: WaveType representing the identified wave type. na otherwise
method scanMotiveWave(pivot, lastPivot, existingWaves, allowedTypes)
Scan for motive wave
Namespace types: zg.Pivot
Parameters:
pivot (Pivot type from Trendoscope/Zigzag/7) : Zigzag pivot that will be checked for motive wave
lastPivot (Pivot type from Trendoscope/Zigzag/7) : previous Zigzag pivot
existingWaves (array) : array of existing waves
allowedTypes (array) : allowed Wave types to filter them
Returns: array of subwave pivots
SubwavePivots
SubwavePivots represents the sub pivots of the main wave
Fields:
waveType (series WaveType) : Type of the Wave
indices (array) : Bar index values of sub waves
subPivots (array type from Trendoscope/Zigzag/7) : sub pivot objects of the wave
Subwave
Subwave represents the drawing of sub waves
Fields:
waves (array type from Trendoscope/Drawing/1) : array of sub wave lines
points (array type from Trendoscope/Drawing/1) : Array of subwave pivot labels
subwavePivots (SubwavePivots) : array of subwave pivots being drawn
Wave
Wave object type
Fields:
pivot (Pivot type from Trendoscope/Zigzag/7) : starting point of the wave
wave (Line type from Trendoscope/Drawing/1) : Line representing the wave
waveLabel (Label type from Trendoscope/Drawing/1) : label containing wave details
subWaves (array) : array of sub waves
lib_zigLibrary "lib_zig"
Object oriented implementation of ZigZag
method tostring(this, date_format)
Namespace types: Zigzag
Parameters:
this (Zigzag)
date_format (simple string)
method update(this)
Namespace types: Zigzag
Parameters:
this (Zigzag)
method draw(this, colors)
Namespace types: Zigzag
Parameters:
this (Zigzag)
colors (PivotColors type from robbatt/lib_pivot/19)
Zigzag
Fields:
max_pivots (series__integer)
hldata (|robbatt/lib_pivot/19;HLData|#OBJ)
pivots (array__|robbatt/lib_pivot/19;Pivot|#OBJ)
Wolfe Wave PatternHello All!
For a while now, some of my followers have been asking me to develop Wolfe Wave Pattern . Here it's at your service as open-source and public indicator.
How it works?
- On each bar/tick it checks zigzag waves by using base period and updates the array that is used to keep zigzag levels and locations. Base period in the settings is the minimum zigzag period
- Then it searches if there is new bullish/bearish Wolfe Wave pattern according to last wave direction
- Before searching the pattern it calculates all possible 1234 waves. So any wave in 12345 uses base period or higher. it means that it search all possible candidates. This algorithm is much better than using a few zigzag periods.
- After getting all possible candidates, it checks if any of the found candidates is suitable for Wolfe Wave pattern and keeps them in a matrix
- if there are suitable candidate(s) it shows the latest one and triggers the alert
- it also follows the targets and if the price hits any of the target it extends the line and trigger the alert
- it doesn't check if any of the patterns hits stop-loss.
Options:
Base Period: minimum period to create the zigzag
Error Rate: there are usually so few perfect patterns, so we better consider deviation. if error rate is low than it finds less pattern with more accuracy, if error rate is high than it finds more pattern with less accuracy
- The other options are used for coloring the patterns and lines
Some examples:
P.S. I didn't have enough time to test the indicator, so please drop a comment if you see any issue while using it
Enjoy!
Phantom Trend IndicatorOverview
The Phantom Trend Indicator (PTI) is a streamlined tool for identifying trend direction and strength. It blends zigzag-based trend detection with a volume profile to display a histogram showing price distance from the Point of Control (POC). Six distinct colors highlight trend states, with background highlights for extreme price zones. Ideal for stocks, forex, crypto, and futures across any timeframe.
Features:
Trend Detection: Uses zigzag fractals to identify uptrends and downtrends.
Histogram Colors: Six colors for trend strength (low, high, extreme for up/down trends) or neutral (gray).
Dynamic Levels: Plots POC, Value Area Low (VAL), and High (VAH) via volume profile.
Background Colors: Highlights overbought (above VAH) or oversold (below VAL) zones.
Alerts: Signals new trends.
How It Works:
Trends: Zigzag fractals define trend ranges, with price position setting histogram colors (low, high, or extreme).
Histogram: Shows price deviation from POC.
Background: Colors extreme zones outside VAL/VAH.
This indicator builds on traditional trend detectors and volume profiles by integrating them into a single, cohesive tool. Unlike standard momentum indicators that rely on moving averages, PTI uses zigzag fractals for more responsive trend identification, reducing lag in volatile markets. Compared to basic volume profile scripts, it adds trend-based color coding and background alerts for extremes, providing clearer visual cues for overbought/oversold conditions. The six distinct colors indicate trend strength, and customizable thresholds allow fine-tuning for different assets and timeframes, enhancing adaptability. Traders benefit from combined momentum and liquidity insights, helping spot reversals or continuations more reliably—making PTI a valuable, standalone addition for both novice and experienced users.
Settings
Trend Detector: Toggle alerts, adjust zigzag sensitivity, and set thresholds for low-to-high and extreme color transitions.
Dynamic Levels: Configure volume profile period, multiplier, accuracy, value area percent, and ATR-based channel width.
Visuals: Customize POC, VAL, VAH, and area fill colors.
Read Histogram: Uptrend colors show early, strong, or overextended moves; downtrend colors indicate early, weakening, or oversold conditions; gray for consolidation.
Background: Monitor for overbought/oversold color-coded signals.
Tune: Adjust zigzag or period settings for your timeframe/asset.
Tips
Shorten period for intraday, extend for swing trading.
Pair with other indicators for confirmation.
Notes:
Requires sufficient chart data for volume profile.
Test settings for low-volatility assets.
For informational use only, not financial advice. Test thoroughly, and happy trading!
Divergence Strategy [Trendoscope®]🎲 Overview
The Divergence Strategy is a sophisticated TradingView strategy that enhances the Divergence Screener by adding automated trade signal generation, risk management, and trade visualization. It leverages the screener’s robust divergence detection to identify bullish, bearish, regular, and hidden divergences, then executes trades with precise entry, stop-loss, and take-profit levels. Designed for traders seeking automated trading solutions, this strategy offers customizable trade parameters and visual feedback to optimize performance across various markets and timeframes.
For core divergence detection features, including oscillator options, trend detection methods, zigzag pivot analysis, and visualization, refer to the Divergence Screener documentation. This description focuses on the strategy-specific enhancements for automated trading and risk management.
🎲 Strategy Features
🎯Automated Trade Signal Generation
Trade Direction Control : Restrict trades to long-only or short-only to align with market bias or strategy goals, preventing conflicting orders.
Divergence Type Selection : Choose to trade regular divergences (bullish/bearish), hidden divergences, or both, targeting reversals or trend continuations.
Entry Type Options :
Cautious : Enters conservatively at pivot points and exits quickly to minimize risk exposure.
Confident : Enters aggressively at the latest price and holds longer to capture larger moves.
Mixed : Combines conservative entries with delayed exits for a balanced approach.
Market vs. Stop Orders: Opt for market orders for instant execution or stop orders for precise price entry.
🎯 Enhanced Risk Management
Risk/Reward Ratio : Define a risk-reward ratio (default: 2.0) to set profit targets relative to stop-loss levels, ensuring consistent trade sizing.
Bracket Orders : Trades include entry, stop-loss, and take-profit levels calculated from divergence pivot points, tailored to the entry type and risk-reward settings.
Stop-Loss Placement : Stops are strategically set (e.g., at recent pivot or last price point) based on entry type, balancing risk and trade validity.
Order Cancellation : Optionally cancel pending orders when a divergence is broken (e.g., price moves past the pivot in the wrong direction), reducing invalid trades. This feature is toggleable for flexibility.
🎯 Trade Visualization
Target and Stop Boxes : Displays take-profit (lime) and stop-loss (orange) levels as boxes on the price chart, extending 10 bars forward for clear visibility.
Dynamic Trade Updates : Trade visualizations are added, updated, or removed as trades are executed, canceled, or invalidated, ensuring accurate feedback.
Overlay Integration : Trade levels overlay the price chart, complementing the screener’s oscillator-based divergence lines and labels.
🎯 Strategy Default Configuration
Capital and Sizing : Set initial capital (default: $1,000,000) and position size (default: 20% of equity) for realistic backtesting.
Pyramiding : Allows up to 4 concurrent trades, enabling multiple divergence-based entries in trending markets.
Commission and Margin : Accounts for commission (default: 0.01%) and margin (100% for long/short) to reflect trading costs.
Performance Optimization : Processes up to 5,000 bars dynamically, balancing historical analysis and real-time execution.
🎲 Inputs and Configuration
🎯Trade Settings
Direction : Select Long or Short (default: Long).
Divergence : Trade Regular, Hidden, or Both divergence types (default: Both).
Entry/Exit Type : Choose Cautious, Confident, or Mixed (default: Cautious).
Risk/Reward : Set the risk-reward ratio for profit targets (default: 2.0).
Use Market Order : Enable market orders for immediate entry (default: false, uses limit orders).
Cancel On Break : Cancel pending orders when divergence is broken (default: true).
🎯Inherited Settings
The strategy inherits all inputs from the Divergence Screener, including:
Oscillator Settings : Oscillator type (e.g., RSI, CCI), length, and external oscillator option.
Trend Settings : Trend detection method (Zigzag, MA Difference, External), MA type, and length.
Zigzag Settings : Zigzag length (fixed repaint = true).
🎲 Entry/Exit Types for Divergence Scenarios
The Divergence Strategy offers three Entry/Exit Type options—Cautious, Confident, and Mixed—which determine how trades are entered and exited based on divergence pivot points. This section explains how these settings apply to different divergence scenarios, with placeholders for screenshots to illustrate each case.
The divergence pattern forms after 3 pivots. The stop and entry levels are formed on one of these levels based on Entry/Exit types.
🎯Bullish Divergence (Reversal)
A bullish divergence occurs when price forms a lower low, but the oscillator forms a higher low, signaling a potential upward reversal.
💎 Cautious:
Entry : At the pivot high point for a conservative entry.
Exit : Stop-loss at the last pivot point (previous low that is higher than the current pivot low); take-profit at risk-reward ratio. Canceled if price breaks below the pivot (if Cancel On Break is enabled).
Behavior : Enters after confirmation and exits quickly to limit downside risk.
💎Confident:
Entry : At the last pivot low, (previous low which is higher than the current pivot low) for an aggressive entry.
Exit : Stop-loss at recent pivot low, which is the lowest point; take-profit at risk-reward ratio. Canceled if price breaks below the pivot. (lazy exit)
Behavior : Enters early to capture trend continuation, holding longer for gains.
💎Mixed:
Entry : At the pivot high point (conservative).
Exit : Stop-loss at the recent pivot point that has resulted in lower low (lazy exit). Canceled if price breaks below the pivot.
Behavior : Balances entry caution with extended holding for trend continuation.
🎯Bearish Divergence (Reversal)
A bearish divergence occurs when price forms a higher high, but the oscillator forms a lower high, indicating a potential downward reversal.
💎Cautious:
Entry : At the pivot low point (lower high) for a conservative short entry.
Exit : Stop-loss at the previous pivot high point (previous high); take-profit at risk-reward ratio. Canceled if price breaks above the pivot (if Cancel On Break is enabled).
Behavior : Enters conservatively and exits quickly to minimize risk.
💎Confident:
Entry : At the last price point (previous high) for an aggressive short entry.
Exit : Stop-loss at the pivot point; take-profit at risk-reward ratio. Canceled if price breaks above the pivot.
Behavior : Enters early to maximize trend continuation, holding longer.
💎Mixed:
Entry : At the previous piot high point (conservative).
Exit : Stop-loss at the last price point (delayed exit). Canceled if price breaks above the pivot.
Behavior : Combines conservative entry with extended holding for downtrend gains.
🎯Bullish Hidden Divergence (Continuation)
A bullish hidden divergence occurs when price forms a higher low, but the oscillator forms a lower low, suggesting uptrend continuation. In case of Hidden bullish divergence, b]Entry is always on the previous pivot high (unless it is a market order)
💎Cautious:
Exit : Stop-loss at the recent pivot low point (higher than previous pivot low); take-profit at risk-reward ratio. Canceled if price breaks below the pivot (if Cancel On Break is enabled).
Behavior : Enters after confirmation and exits quickly to limit downside risk.
💎Confident:
Exit : Stop-loss at previous pivot low, which is the lowest point; take-profit at risk-reward ratio. Canceled if price breaks below the pivot. (lazy exit)
Behavior : Enters early to capture trend continuation, holding longer for gains.
🎯Bearish Hidden Divergence (Continuation)
A bearish hidden divergence occurs when price forms a lower high, but the oscillator forms a higher high, suggesting downtrend continuation. In case of Hidden Bearish divergence, b]Entry is always on the previous pivot low (unless it is a market order)
💎Cautious:
Exit : Stop-loss at the latest pivot high point (which is a lower high); take-profit at risk-reward ratio. Canceled if price breaks above the pivot (if Cancel On Break is enabled).
Behavior : Enters conservatively and exits quickly to minimize risk.
💎Confident/Mixed:
Exit : Stop-loss at the previous pivot high point; take-profit at risk-reward ratio. Canceled if price breaks above the pivot.
Behavior : Uses the late exit point to hold longer.
🎲 Usage Instructions
🎯Add to Chart:
Add the Divergence Strategy to your TradingView chart.
The oscillator and divergence signals appear in a separate pane, with trade levels (target/stop boxes) overlaid on the price chart.
🎯Configure Settings:
Adjust trade settings (direction, divergence type, entry type, risk-reward, market orders, cancel on break).
Modify inherited Divergence Screener settings (oscillator, trend method, zigzag length) as needed.
Enable/disable alerts for divergence notifications.
🎯Interpret Signals:
Long Trades: Triggered on bullish or bullish hidden divergences (if allowed), shown with green/lime lines and labels.
Short Trades: Triggered on bearish or bearish hidden divergences (if allowed), shown with red/orange lines and labels.
Monitor lime (target) and orange (stop) boxes for trade levels.
Review strategy performance metrics (e.g., profit/loss, win rate) in the strategy tester.
🎯Backtest and Optimize:
Use TradingView’s strategy tester to evaluate performance on historical data.
Fine-tune risk-reward, entry type, position sizing, and cancellation settings to suit your market and timeframe.
For questions, suggestions, or support, contact Trendoscope via TradingView or official support channels. Stay tuned for updates and enhancements to the Divergence Strategy!
Blackflag FTS (1H Trailing) + MSB-OB FibThis indicator combines a 1-hour trailing stop system with multi-timeframe Fibonacci retracement levels and ZigZag structure detection to assist traders in identifying trend direction and potential reversal zones.
Features:
✅ 1-Hour Trailing Stop: Uses an ATR-based trailing stop mechanism to track trend direction and dynamic support/resistance.
✅ Multi-Timeframe Approach: The trailing stop is calculated on the 1-hour timeframe, while the ZigZag and Fibonacci retracement levels are based on the 15-minute chart.
✅ ZigZag Structure Detection: Helps filter market swings and trend reversals dynamically.
✅ Fibonacci Levels (0.5 & 0.786): Key retracement levels to watch for price reactions.
✅ Alerts for Key Levels: Get notified when the price crosses important levels (1H trailing stop, Fib 0.5, Fib 0.786).
How It Works:
The trailing stop adapts dynamically based on ATR values and determines trend direction.
ZigZag detection filters out minor price movements to highlight major swing points.
Fibonacci levels are calculated based on ZigZag swings, helping traders spot potential reversal zones.
This tool is useful for trend-following traders, breakout traders, and Fibonacci-based strategies.
Let me know if you'd like any modifications! 🚀
Harmonic Pattern Detector (75 patterns)Harmonic Pattern Detector offers a record amount of "Harmonic Patterns" in one script, with 75 different patterns detected, together with up to 99 different swing lengths.
🔶 USAGE
Harmonic Patterns are detected from several different ZigZag lines, derived from Swings with different lengths (shorter - longer term)
Depending on the settings ' Minimum/Maximum Swing Length ', the user will see more or less patterns from shorter and/or longer-term swing points.
🔹 Fibonacci Ratio
Certain patterns have only one ratio for a specific retrace/extension instead of one upper and one lower limit. In this case, we add a ' Tolerance ', which adds a percentage tolerance below/above the ratio, creating two limits.
A higher number may show more patterns but may become less valid.
Hoovering over points B, C, and D will show a tooltip with the concerning limits; adjusted limits will be seen if applicable.
Tooltips in settings will also show which patterns the Fibonacci Ratio applies to.
🔹 Triangle Area Ratio
Using Heron's formula , the triangle area is calculated after the X-Y axis is normalized.
Users can filter patterns based on the ratio of the smallest triangle to the largest triangle.
A lower Triangle Area Ratio number leads to more symmetrical patterns but may appear less frequently.
🔶 DETAILS
Harmonic patterns are based on geometric patterns, where the retracement/extension of a swing point must be located between specific Fibonacci ratios of the previous swing/leg. Different Harmonic Patterns require unique ratios to become valid patterns.
In the above example there is a valid 'Max Butterfly' pattern where:
Point B is located between 0.618 - 0.886 retracement level of the X-A leg
Point C is located between 0.382 - 0.886 retracement level of the A-B leg
Point D is located between 1.272 - 2.618 extension level of the B-C leg
Point D is located between 1.272 - 1.618 extension level of the X-A leg
Harmonic Pattern Detector uses ZigZag lines, where swing highs and swing lows alternate. Each ZigZag line is checked for valid Harmonic Patterns . When multiple types of Harmonic Patterns are valid for the same sequence, the pattern will be named after the first one found.
Different swing lengths form different ZigZag lines.
By evaluating different ZigZag lines (up to 99!), shorter—and longer-term patterns can be drawn on the same chart.
🔹 Blocks
The patterns are organized into blocks that can be toggled on or off with a single click.
When a block is enabled, the user can still select which specific patterns within that block are enabled or disabled.
🔹 Visuals
Besides color settings, labels can show pattern names or arrows at point D of the pattern.
Note this will happen 1 bar after validation because one extra bar is needed for confirmation.
An option is included to show only arrows without the patterns.
🔹 Updated Patterns
When a Swing Low is followed by a lower low or a Swing High followed by a higher high , triggering a pattern identical to a previous one except with a different point D, the pattern will be updated. The previous C-D line will be visible as a dashed line to highlight the event. Only the last dashed line is shown when this happens more than once.
🔹 Optimization
The script only verifies the last leg in the initial phase, significantly reducing the time spent on pattern validation. If this leg doesn't align with a potential Harmonic Pattern , the pattern is immediately disregarded. In the subsequent phase, the remaining patterns are quickly scrutinized to ensure the next leg is valid. This efficient process continues, with only valid patterns progressing to the next phase until all sequences have been thoroughly examined.
This process can check up to 99 ZigZag lines for 75 different Harmonic Patterns , showcasing its high capacity and versatility.
🔹 Ratios
The following table shows the different ratios used for each Harmonic Pattern .
' min ' and ' max ' are used when only one limit is provided instead of 2. This limit is given a percentage tolerance above and below, customizable by the setting ' Tolerance - Fibonacci Ratio '.
For example a ratio of 0.618 with a tolerance of 1% would result in:
an upper limit of 0.624
a lower limit of 0.612
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
| NAME PATTERN | BCD (BD) | ABC (AC) | XAB (XB) | XAD (XD) |
| | min max | min max | min max | min max |
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
| 'ABCD' | 1.272 - 1.618 | 0.618 - 0.786 | | |
| '5-0' | 0.5 *min - 0.5 *max | 1.618 - 2.24 | 1.13 - 1.618 | |
| 'Max Gartley' | 1.128 - 2.236 | 0.382 - 0.886 | 0.382 - 0.618 | 0.618 - 0.786 |
| 'Gartley' | 1.272 - 1.618 | 0.382 - 0.886 | 0.618*min - 0.618*max | 0.786*min - 0.786*max |
| 'A Gartley' | 1.618*min - 1.618*max | 1.128 - 2.618 | 0.618 - 0.786 | 1.272*min - 1.272*max |
| 'NN Gartley' | 1.128 - 1.618 | 0.382 - 0.886 | 0.618*min - 0.618*max | 0.786*min - 0.786*max |
| 'NN A Gartley' | 1.618*min - 1.618*max | 1.128 - 2.618 | 0.618 - 0.786 | 1.272*min - 1.272*max |
| 'Bat' | 1.618 - 2.618 | 0.382 - 0.886 | 0.382 - 0.5 | 0.886*min - 0.886*max |
| 'Alt Bat' | 2.0 - 3.618 | 0.382 - 0.886 | 0.382*min - 0.382*max | 1.128*min - 1.128*max |
| 'A Bat' | 2.0 - 2.618 | 1.128 - 2.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'Max Bat' | 1.272 - 2.618 | 0.382 - 0.886 | 0.382 - 0.618 | 0.886*min - 0.886*max |
| 'NN Bat' | 1.618 - 2.618 | 0.382 - 0.886 | 0.382 - 0.5 | 0.886*min - 0.886*max |
| 'NN Alt Bat' | 2.0 - 4.236 | 0.382 - 0.886 | 0.382*min - 0.382*max | 1.128*min - 1.128*max |
| 'NN A Bat' | 2.0 - 2.618 | 1.128 - 2.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'NN A Alt Bat' | 2.618*min - 2.618*max | 1.128 - 2.618 | 0.236 - 0.5 | 0.886*min - 0.886*max |
| 'Butterfly' | 1.618 - 2.618 | 0.382 - 0.886 | 0.786*min - 0.786*max | 1.272 - 1.618 |
| 'Max Butterfly' | 1.272 - 2.618 | 0.382 - 0.886 | 0.618 - 0.886 | 1.272 - 1.618 |
| 'Butterfly 113' | 1.128 - 1.618 | 0.618 - 1.0 | 0.786 - 1.0 | 1.128*min - 1.128*max |
| 'A Butterfly' | 1.272*min - 1.272*max | 1.128 - 2.618 | 0.382 - 0.618 | 0.618 - 0.786 |
| 'Crab' | 2.24 - 3.618 | 0.382 - 0.886 | 0.382 - 0.618 | 1.618*min - 1.618*max |
| 'Deep Crab' | 2.618 - 3.618 | 0.382 - 0.886 | 0.886*min - 0.886*max | 1.618*min - 1.618*max |
| 'A Crab' | 1.618 - 2.618 | 1.128 - 2.618 | 0.276 - 0.446 | 0.618*min - 0.618*max |
| 'NN Crab' | 2.236 - 4.236 | 0.382 - 0.886 | 0.382 - 0.618 | 1.618*min - 1.618*max |
| 'NN Deep Crab' | 2.618 - 4.236 | 0.382 - 0.886 | 0.886*min - 0.886*max | 1.618*min - 1.618*max |
| 'NN A Crab' | 1.128 - 2.618 | 1.128 - 2.618 | 0.236 - 0.447 | 0.618*min - 0.618*max |
| 'NN A Deep Crab' | 1.128*min - 1.128*max | 1.128 - 2.618 | 0.236 - 0.382 | 0.618*min - 0.618*max |
| 'Cypher' | 1.272 - 2.00 | 1.13 - 1.414 | 0.382 - 0.618 | 0.786*min - 0.786*max |
| 'New Cypher' | 1.272 - 2.00 | 1.414 - 2.14 | 0.382 - 0.618 | 0.786*min - 0.786*max |
| 'Anti New Cypher' | 1.618 - 2.618 | 0.467 - 0.707 | 0.5 - 0.786 | 1.272*min - 1.272*max |
| 'Shark 1' | 1.618 - 2.236 | 1.128 - 1.618 | 0.382 - 0.618 | 0.886*min - 0.886*max |
| 'Shark 1 Alt' | 1.618 - 2.618 | 0.618 - 0.886 | 0.446 - 0.618 | 1.128*min - 1.128*max |
| 'Shark 2' | 1.618 - 2.236 | 1.128 - 1.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'Shark 2 Alt' | 1.618 - 2.618 | 0.618 - 0.886 | 0.446 - 0.618 | 0.886*min - 0.886*max |
| 'Leonardo' | 1.128 - 2.618 | 0.382 - 0.886 | 0.5*min - 0.5*max | 0.786*min - 0.786*max |
| 'NN A Leonardo' | 2.0*min - 2.0*max | 1.128 - 2.618 | 0.382 - 0.886 | 1.272*min - 1.272*max |
| 'Nen Star' | 1.272 - 2.0 | 1.414 - 2.14 | 0.382 - 0.618 | 1.272*min - 1.272*max |
| 'Anti Nen Star' | 1.618 - 2.618 | 0.467 - 0.707 | 0.5 - 0.786 | 0.786*min - 0.786*max |
| '3 Drives' | 1.272 - 1.618 | 0.618 - 0.786 | 1.272 - 1.618 | 1.618 - 2.618 |
| 'A 3 Drives' | 0.618 - 0.786 | 1.272 - 1.618 | 0.618 - 0.786 | 0.13 - 0.886 |
| '121' | 0.382 - 0.786 | 1.128 - 3.618 | 0.5 - 0.786 | 0.382 - 0.786 |
| 'A 121' | 1.272 - 2.0 | 0.5 - 0.786 | 1.272 - 2.0 | 1.272 - 2.618 |
| '121 BG' | 0.618 - 0.707 | 1.128 - 1.733 | 0.5 - 0.577 | 0.447 - 0.786 |
| 'Black Swan' | 1.128 - 2.0 | 0.236 - 0.5 | 1.382 - 2.618 | 1.128 - 2.618 |
| 'White Swan' | 0.5 - 0.886 | 2.0 - 4.237 | 0.382 - 0.786 | 0.238 - 0.886 |
| 'NN White Swan' | 0.5 - 0.886 | 2.0 - 4.236 | 0.382 - 0.724 | 0.382 - 0.886 |
| 'Sea Pony' | 1.618 - 2.618 | 0.382 - 0.5 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Navarro 200' | 0.886 - 3.618 | 0.886 - 1.128 | 0.382 - 0.786 | 0.886 - 1.128 |
| 'May-00' | 0.5 - 0.618 | 1.618 - 2.236 | 1.128 - 1.618 | 0.5 - 0.618 |
| 'SNORM' | 0.9 - 1.1 | 0.9 - 1.1 | 0.9 - 1.1 | 0.618 - 1.618 |
| 'COL Poruchik' | 1.0 *min - 1.0 *max | 0.382 - 2.618 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Henry – David' | 0.618 - 0.886 | 0.44 - 0.618 | 0.128 - 2.0 | 0.618 - 1.618 |
| 'DAVID VM 1' | 1.618 - 1.618 | 0.382*min - 0.382*max | 0.128 - 1.618 | 0.618 - 3.618 |
| 'DAVID VM 2' | 1.618 - 1.618 | 0.382*min - 0.382*max | 1.618 - 3.618 | 0.618 - 7.618 |
| 'Partizan' | 1.618*min - 1.618*max | 0.382*min - 0.382*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2' | 1.618 - 2.236 | 1.128 - 1.618 | 0.128 - 3.618 | 1.618 - 3.618 |
| 'Partizan 2.1' | 1.618*min - 1.618*max | 1.128*min - 1.128*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.2' | 2.236*min - 2.236*max | 1.128*min - 1.128*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.3' | 1.618*min - 1.618*max | 0.618 - 1.618 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.4' | 2.236*min - 2.236*max | 1.618*min - 1.618*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'TOTAL' | 1.272 - 3.618 | 0.382 - 2.618 | 0.276 - 0.786 | 0.618 - 1.618 |
| 'TOTAL NN' | 1.272 - 4.236 | 0.382 - 2.618 | 0.236 - 0.786 | 0.618 - 1.618 |
| 'TOTAL 1' | 1.272 - 2.618 | 0.382 - 0.886 | 0.382 - 0.786 | 0.786 - 0.886 |
| 'TOTAL 2' | 1.618 - 3.618 | 0.382 - 0.886 | 0.382 - 0.786 | 1.128 - 1.618 |
| 'TOTNN 2NN' | 1.618 - 4.236 | 0.382 - 0.886 | 0.382 - 0.786 | 1.128 - 1.618 |
| 'TOTAL 3' | 1.272 - 2.618 | 1.128 - 2.618 | 0.276 - 0.618 | 0.618 - 0.886 |
| 'TOTNN 3NN' | 1.272 - 2.618 | 1.128 - 2.618 | 0.236 - 0.618 | 0.618 - 0.886 |
| 'TOTAL 4' | 1.618 - 2.618 | 1.128 - 2.618 | 0.382 - 0.786 | 1.128 - 1.272 |
| 'BG 1' | 2.618*min - 2.618*max | 0.382*min - 0.382*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 2' | 2.237*min - 2.237*max | 0.447*min - 0.447*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 3' | 2.0 *min - 2.0 *max | 0.5 *min - 0.5 *max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 4' | 1.618*min - 1.618*max | 0.618*min - 0.618*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 5' | 1.414*min - 1.414*max | 0.707*min - 0.707*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 6' | 1.272*min - 1.272*max | 0.786*min - 0.786*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 7' | 1.171*min - 1.171*max | 0.854*min - 0.854*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 8' | 1.128*min - 1.128*max | 0.886*min - 0.886*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
🔶 SETTINGS
🔹 Swings
Minimum Swing Length: Minimum length used for the swing detection.
Maximum Swing Length: Maximum length used for the swing detection.
🔹 Patterns
Toggle Pattern Block
Toggle separate pattern in each Pattern Block
🔹 Tolerance
Fibonacci Ratio: Adds a percentage tolerance below/above the ratio when only one ratio applies, creating two limits.
Triangle Area Ratio: Filters patterns based on the ratio of the smallest triangle to the largest triangle.
🔹 Display
Labels: Display Pattern Names, Arrows or nothing
Patterns: Display or not
Last Line: Display previous C-D line when updated
🔹 Style
Colors: Pattern Lines/Names/Arrows - background color of patterns
Text Size: Text Size of Pattern Names/Arrows
🔹 Calculation
Calculated Bars: Allows the usage of fewer bars for performance/speed improvement
Elliott Wave with Supertrend Exit - Strategy [presentTrading]## Introduction and How it is Different
The Elliott Wave with Supertrend Exit provides automated detection and validation of Elliott Wave patterns for algorithmic trading. It is designed to objectively identify high-probability wave formations and signal entries based on confirmed impulsive and corrective patterns.
* The Elliott part is mostly referenced from Elliott Wave by @LuxAlgo
Key advantages compared to discretionary Elliott Wave analysis:
- Wave Labeling and Counting: The strategy programmatically identifies swing pivot highs/lows with the Zigzag indicator and analyzes the waves between them. It labels the potential impulsive and corrective patterns as they form. This removes the subjectivity of manual wave counting.
- Pattern Validation: A rules-based engine confirms valid impulsive and corrective patterns by checking relative size relationships and fib ratios. Only confirmed wave counts are plotted and traded.
- Objective Entry Signals: Trades are entered systematically on the start of new impulsive waves in the direction of the trend. Pattern failures invalidate setups and stop out positions.
- Automated Trade Management: The strategy defines specific rules for profit targets at fib extensions, trailing stops at swing points, and exits on Supertrend reversals. This automates the entire trade lifecycle.
- Adaptability: The waveform recognition engine can be tuned by adjusting parameters like Zigzag depth and Supertrend settings. It adapts to evolving market conditions.
ETH 1hr chart
In summary, the strategy brings automation, objectivity and adaptability to Elliott Wave trading - removing subjective interpretation errors and emotional trading biases. It implements a rules-based, algorithmic approach for systematically trading Elliott Wave patterns across markets and timeframes.
## Trading Logic and Rules
The strategy follows specific trading rules based on the detected and validated Elliott Wave patterns.
Entry Rules
- Long entry when a new impulsive bullish (5-wave) pattern forms
- Short entry when a new impulsive bearish (5-wave) pattern forms
The key is entering on the start of a new potential trend wave rather than chasing.
Exit Rules
- Invalidation of wave pattern stops out the trade
- Close long trades on Supertrend downturn
- Close short trades on Supertrend upturn
- Use a stop loss of 10% of entry price (configurable)
Trade Management
- Scale out partial profits at Fibonacci levels
- Move stop to breakeven when price reaches 1.618 extension
- Trail stops below key swing points
- Target exits at next Fibonacci projection level
Risk Management
- Use stop losses on all trades
- Trade only highest probability setups
- Size positions according to chart timeframe
- Avoid overtrading when no clear patterns emerge
## Strategy - How it Works
The core logic follows these steps:
1. Find swing highs/lows with Zigzag indicator
2. Analyze pivot points to detect impulsive 5-wave patterns:
- Waves 1, 3, and 5 should not overlap
- Waves 3 and 5 must be longer than wave 1
- Confirm relative size relationships between waves
3. Validate corrective 3-wave patterns:
- Look for overlapping, choppy waves that retrace the prior impulsive wave
4. Plot validated waves and Fibonacci retracement levels
5. Signal entries when a new impulsive wave pattern forms
6. Manage exits based on pattern failures and Supertrend reversals
Impulsive Wave Validation
The strategy checks relative size relationships to confirm valid impulsive waves.
For uptrends, it ensures:
```
Copy code- Wave 3 is longer than wave 1
- Wave 5 is longer than wave 2
- Waves do not overlap
```
Corrective Wave Validation
The strategy identifies overlapping corrective patterns that retrace the prior impulsive wave within Fibonacci levels.
Pattern Failure Invalidation
If waves fail validation tests, the strategy invalidates the pattern and stops signaling trades.
## Trade Direction
The strategy detects impulsive and corrective patterns in both uptrends and downtrends. Entries are signaled in the direction of the validated wave pattern.
## Usage
- Use on charts showing clear Elliott Wave patterns
- Start with daily or weekly timeframes to gauge overall trend
- Optimize Zigzag and Supertrend settings as needed
- Consider combining with other indicators for confirmation
## Default Settings
- Zigzag Length: 4 bars
- Supertrend Length: 10 bars
- Supertrend Multiplier: 3
- Stop Loss: 10% of entry price
- Trading Direction: Both
TR High-LowDraw a ZigZag line, a trend line , a High-Low line, and two Fibonacci lines.
1. draw ZigZag line
1-1. detect High-Low value
1-2. High-Low value is saved as a provisional value when it is updated
1-3. checks if the provisional value reaches the specified price difference (Difference) when the specified length (High-Low length) is reached
1-4. if the provisional value reaches the specified price difference (Difference), it is officially saved as a High-Low value
1-5. if the provisional value has not reached the specified price difference (Difference), it checks if the price difference (Difference) is reached
for the specified number of extensions (Extension). If it does, the provisional value is officially saved as a High-Low value.
Even if the price difference is not reached and the number of extensions has been reached, the provisional value is officially saved as the High-Low value.
1-6. draw a ZigZag line connecting the detected High-Low values
2. draw a horizontal line
2-1. draw a horizontal line on the High-Low value detected when drawing the ZigZag line
3. Draw a trend line
3-1. Draws a trend line using the High-Low value detected when drawing a ZigZag line
4. Draw a Fibonacci line
4-1. draws a Fibonacci line based on the first and second from the end of the ZigZag line by default
OJLJ Elliott Waves detector (Free)This script is made to identify Elliot Waves by setting a zigzag line as principal source, it identifies patterns with the most common rules, in the chart you will see a number in each wave detected, a wave could have the characteristics to be two different waves so it will be plotted the options that could be, To identify which one is most trustable I suggest to use the Fibonacci levels options as an additional note this is a free update to my existing script.
Features:
+ All waves ? (Option to show just the 5 Wave patterns recognition)
+ Draw zigzag line (Option to show the zigzag line)
+ Supports Multiple instruments, from FOREX to Stocks
+ It works on all the timeframes
+ Show Fib levels (Option to show the Fibonacci levels)
+ Fibonacci levels fit test (Green crosses mark were should a Bull wave be to fit with a Fibonacci Level While the purple crosses show were should the wave fit to be a bear trend, the more closer with the point of the wave the most trustable Example, a 5 Wave Bull could also be a 2 Bear Wave, if the green cross is closer to the orange point of the wave then is a 5 Wave Bull, if the purple cross is closer to the orange point)
+ A background color also show when a 5 pattern is identified
+ The way to plot the zigzag can be changed with 3 Input options
Characteristics to add in future updates (Please if you like it you can support me with coins):
+ Detect more than 1 cycle at the same time
+ Use a volume indicator to identify how many volume was traded in each wave
+ Implement the use of the EWO ( Elliot Wave Oscillator)
+ Improve the display
+ Identify ABC patterns
+ Add triangles and Zigzag formations
N-Pattern Detector (Advanced Logic)Introduction
The N-Pattern Detector (Advanced Logic) is a powerful Pine Script-based tool designed to identify a specific price structure known as the "N-pattern", which often indicates trend continuation or potential breakout points in the market. This pattern combines zigzag pivot logic, retracement filters, volume confirmation, and trend alignment, offering high-probability trading signals.
It is ideal for traders who want to automate pattern detection while applying smart filters to reduce false signals in various markets — including stocks, forex, crypto, and indices.
What is the N-Pattern?
The N-pattern is a 3-leg price formation consisting of points A-B-C-D. It typically follows this structure:
Bullish N-Pattern:
A → Low Pivot
B → Higher High (Impulse)
C → Higher Low (Retracement)
D → Breakout above B (Confirmation)
Bearish N-Pattern:
A → High Pivot
B → Lower Low (Impulse)
C → Lower High (Retracement)
D → Breakdown below B (Confirmation)
The pattern essentially reflects a trend–pullback–breakout structure, making it suitable for continuation trades.
Key Features
1. Intelligent ZigZag Pivot Detection
Uses pivot highs/lows to define key swing points (A, B, C).
Adjustable ZigZag depth to control pattern sensitivity.
Filters noise and avoids false signals in volatile markets.
2. Retracement Validation
Validates the B→C leg as a proper pullback using Fibonacci-based thresholds.
User-defined min and max retracement settings (e.g., 38.2% to 78.6% of A→B leg).
3. Trend Filter via EMA
Filters patterns based on trend direction using a customizable EMA (e.g., 200 EMA).
Only detects bullish patterns above EMA and bearish patterns below EMA (optional).
4. Volume Confirmation
Ensures that impulse legs (A→B, C→D) are supported by stronger volume than the correction leg (B→C).
Adds another layer of confirmation and reliability to detected patterns.
5. Target Projections
Automatically draws 100% A→B projected target from point C.
Optional Fibonacci extensions at 1.272 and 1.618 levels for take-profit planning.
Visually plotted on the chart with colored dashed/dotted lines.
6. Clear Visuals & Labels
Connects all pattern points with colored lines.
Clearly labels points A, B, C, D on the chart.
Uses customizable colors for bullish and bearish patterns.
Includes real-time alerts when a valid pattern is detected.
How to Use It
Add to Chart
Apply the indicator to any chart and time frame. It works across all asset classes.
Adjust Inputs (Optional)
Set ZigZag Depth to control pivot detection sensitivity.
Define Min/Max Retracement levels to match your trading style.
Enable or disable Trend and Volume filters for cleaner signals.
Customize EMA length (default: 200) for trend validation.
Wait for Pattern Confirmation
The indicator constantly scans for valid N-patterns.
A pattern is confirmed only after point D forms (breakout or breakdown).
You’ll see the full pattern drawn with target levels.
Set Alerts
Alerts trigger automatically on confirmation of a bullish or bearish pattern.
You can customize these in TradingView’s alerts panel.
Supply/Demand Market Structure (SMA Multi-Timeframe)Supply/Demand Based Market Structure
Structure + Order Blocks from Synthetic SMA Candles
Overview:
The SMA Supply/Demand Market Structure indicator combines market structure analysis with supply/demand logic, powered by SMA-based synthetic candles . Instead of relying on raw candle data, this tool generates smoothed higher-timeframe candles using simple moving averages to identify more stable zones and cleaner structure shifts.
It detects bullish and bearish breaks of structure (BoS) , highlights swing points like HH, HL, LH, LL , and plots institutional-style supply and demand zones formed from aggressive rallies or drops. The result is a precise and noise-filtered view of market intent, perfect for trend-following or smart money strategies.
How It Works:
- Synthetic candles are created using SMA of OHLC values on your selected timeframe (HTF).
- A bullish break occurs when price closes above the high of the last bearish synthetic candle.
- A bearish break occurs when price closes below the low of the last bullish synthetic candle.
- Upon break confirmation:
- A demand zone is drawn using the last bearish candle.
- A supply zone is drawn using the last bullish candle.
- Each zone is extended forward for a user-defined number of bars and optionally deleted upon mitigation.
- Zigzag-based internal structure connects valid swing points and classifies them as HH, HL, LH, LL , including Liquidity Sweeps (LS) .
- BoS levels are highlighted with lines that automatically reset when new structure forms.
Key Features:
- Synthetic SMA Candles : Smooth and reliable structure from average-based HTF candles
- Break Modes : Choose between raw HTF closes or SMA closes for break logic
- Custom Timeframe Selection : Analyze structure across any HTF you choose
- Dynamic Supply/Demand Zones : Auto-plot boxes from valid rallies/drops
- Mitigation Detection : Optionally fade or delete zones when price trades through
- Zigzag Structure Mapping : Automatically connect structural highs/lows
- BoS Detection : Real-time breakout of swing points with visual confirmation
- Smart Labels : Marks HH, HL, LH, LL, and LS directly on the chart
- Multi-timeframe Alert System : Notify for all structural changes, BoS, and new zones
How to Use:
- Set your desired HTF and SMA Length for synthetic candle smoothing.
- Use SMA=1 for raw candles
- Select a Break Mode :
- Raw Close : Uses standard HTF close values
- SMA Close : Uses smoothed closes from SMA
- Watch for bullish or bearish breaks — zones are plotted when price confirms breakout structure.
- Use demand zones as long entry areas and supply zones as short setups on retests.
- Rely on internal shifts and zigzag swings to monitor structure continuity.
- Enable alerts for swing formations, BoS, and liquidity sweeps to trade hands-free.
Recommended Strategies:
- Smart Money & ICT Models : Use synthetic demand/supply + BoS for mitigation or continuation plays
- Swing Trading : Align with higher timeframe structure and use zones for entry triggers
- Trend Trading : Confirm structure alignment and wait for pullbacks into zones
- Reversal Entries : Trade structure breaks when zones fail and a BoS confirms the shift
Customization Options:
- Timeframe input for custom HTF control
- SMA Length to adjust candle smoothing
- Zone Style : Control zone color, transparency, and duration
- Structure Display : Toggle swing labels and zigzag visuals
- Alert Mode : Choose between LTF, MTF, or HTF alerts
Summary:
SMA Supply/Demand Market Structure provides a clean, flexible view of price structure and institutional intent by fusing market structure with SMA-based synthetic candles. It’s ideal for anyone seeking reduced noise, visually guided entries, and rule-based trading based on structural shifts and real-time demand/supply dynamics.
Auto Fib Retracement [victhoreb]Auto Fib Retracement is an automated Fibonacci retracement tool for TradingView that dynamically identifies key swing points and plots Fibonacci levels to help traders visualize potential support and resistance areas. Using a Zigzag algorithm, the indicator detects recent pivot highs and lows and calculates retracement levels based on these significant price swings. Key features include:
- Dynamic Pivot Detection: Automatically identifies recent swing highs and lows using configurable lookback periods, ensuring the Fibonacci levels adjust as the market evolves.
- Customizable Fibonacci Levels: Users can tailor the Fibonacci retracement levels (0, 0.214, 0.382, 0.5, 0.618, 0.786,) along with individual colors, offering flexibility to match various trading strategies.
- Zigzag Visualization: Optionally displays a Zigzag line that connects the detected pivot points, providing a clear visual representation of the price swing dynamics.
- Adjustable Line Extension: Retracement lines can be extended for a specified number of bars.
- Repainting Option: Includes an option to repaint the Zigzag, ensuring that the most current price action is reflected in the indicator’s output.
- The Auto Fibonacci Retracement itself DOES NOT REPAINT : )
This indicator streamlines the analysis process by automatically drawing Fibonacci retracement levels, allowing traders to quickly identify potential reversal areas and make more informed trading decisions.
Double Bottom and Top Hunter### Türkçe Açıklama:
Bu strateji, grafikte ikili dip ve ikili tepe formasyonlarını tespit ederek otomatik alım ve satım işlemleri gerçekleştirir. İkili dip, fiyatın belirli bir dönem içinde iki kez en düşük seviyeye ulaşması ile oluşur ve bu durumda strateji long (alım) işlemi açar. İkili tepe ise fiyatın belirli bir dönem içinde iki kez en yüksek seviyeye ulaşması ile oluşur ve bu durumda strateji short (satış) işlemi açar.
- **Dönem Uzunluğu ve Geriye Dönük Kontrol:** Strateji, varsayılan olarak 100 periyotluk bir zaman dilimini temel alır ve bu süre boyunca en düşük ve en yüksek fiyat seviyelerini belirler. Geriye dönük kontrol süresi de 100 periyot olarak ayarlanmıştır.
- **İşlem Açma Koşulları:** İkili dip tespit edildiğinde long pozisyon, ikili tepe tespit edildiğinde short pozisyon açılır.
- **İşlem Kapatma Koşulları:** İkili dipte, en yüksek seviyeye (HH) ulaşıldıktan sonra fiyatın daha düşük bir seviye (LL) yapması durumunda pozisyon kapanır. İkili tepede ise tam tersi bir durumda, pozisyon kapanır.
- **Zigzag Çizimi:** İkili dip ve tepe formasyonları, grafik üzerinde yeşil (dipler) ve kırmızı (tepeler) zigzag çizgileri ile gösterilir.
Bu strateji, özellikle 1, 3 ve 5 dakikalık kısa zaman dilimlerinde yüksek başarı oranına sahiptir ve piyasadaki kısa vadeli trend dönüşlerini yakalamada etkili bir araçtır.
### English Explanation:
This strategy automatically executes buy and sell orders by detecting double bottom and double top formations on the chart. A double bottom occurs when the price reaches a low level twice within a specific period, prompting the strategy to open a long (buy) position. Conversely, a double top forms when the price reaches a high level twice, leading the strategy to open a short (sell) position.
- **Period Length and Lookback Control:** By default, the strategy is based on a 100-period length, during which it identifies the lowest and highest price levels. The lookback control period is also set to 100 periods.
- **Entry Conditions:** A long position is opened when a double bottom is detected, while a short position is opened when a double top is identified.
- **Exit Conditions:** In the case of a double bottom, the position is closed after the price reaches a higher high (HH) and then makes a lower low (LL). For a double top, the opposite occurs before closing the position.
- **Zigzag Plotting:** The double bottom and top formations are visually represented on the chart with green (bottoms) and red (tops) zigzag lines.
This strategy is particularly successful in short timeframes such as 1, 3, and 5 minutes and is an effective tool for capturing short-term trend reversals in the market.
Market Structure Break & Order Block by EmreKbThis indicator shows the market structure break (msb) and order blocks (ob). Msb occurs after the breakout old high when the price make lower lows or occurs after the breakout old low when the price make higher highs. OB occurs after the msb, ob is the last bullish candle before high if msb is bearish but if the msb is bullish then ob is the last bearish candle before low.
Zigzag Lenght - A number for the zigzag calculation
Show Zigzag - Show/Hide Zigzag lines
Fib Factor - Fib level for the breakout confirmation. For example if new high larger than old high to low fib 1+fib_factor when the down trend then it's a breakout.
On Balance Volume FieldsThe On Balance Volume (OBV) indicator was developed by Joseph E. Granville and published first in his book "New key to stock market profits" in 1963. It uses volume to determine momentum of an asset. The base concept of OBV is - in simple terms - you take a running total of the volume and either add or subtract the current timeframe volume if the market goes up or down. The simplest use cases only use the line build that way to confirm direction of price, but the possibilities and applications of OBV go far beyond that and are (at least to my knowledge) not found in existing indicators available on this platform.
If you are interested to get a deeper understanding of OBV, I recommend the lecture of the above mentioned book by Granville. All the features described below are taken directly from the book or are inspired by it (deviations will be marked accordingly). If you have no prior experience with OBV, I recommend to start simple and read an easy introduction (e.g. On-Balance Volume (OBV) Definition from Investopedia) and start applying the basic concepts first before heading into the more advanced analysis of OBV fields and trends.
Markets and Timeframes
As the OBV is "just" a momentum indicator, it should be applicable to any market and timeframe.
As a long term investor, my experience is limited to the longer timeframes (primarily daily), which is also how Granville applies it. But that is most likely due to the time it was developed and the lack of lower timeframe data at that point in time. I don't see why it wouldn't be applicable to any timeframe, but cannot speak from experience here so do your own research and let me know. Likewise, I invest in the crypto markets almost exclusively and hence this is where my experience with this indicator comes from.
Feature List
As a general note before starting into the description of the individual features: I use the colors and values of the default settings of the indicator to describe it. The general look and feel obviously can be customized (and I highly recommend doing so, as this is a very visual representation of volume, and it should suit your way of looking at a chart) and I also tried to make the individual features as customizable as possible.
Also, all additions to the OBV itself can be turned off so that you're left with just the OBV line (although if that's what you want, I recommend a version of the indicator with less overhead).
Fields
Fields are defined as successive UPs or DOWNs on the OBV. An UP is any OBV reading above the last high pivot and subsequently a DOWN is any reading below the last low pivot. An UP-field is the time from the first UP after a DOWN-field to the first DOWN (not including). The same goes for a DOWN field but vice versa.
The field serves the same purpose as the OBV itself. To indicate momentum direction. I haven't found much use for the fields themselves other than serving as a more smoothed view on the current momentum. The real power of the fields emerges when starting to determine larger trends of off them (as you will see soon).
Therefor the fields are displayed on the indicator as background colors (UP = green, DOWN = red), but only very faint to not distract too much from the other parts of the indicator.
Major Volume Trend
The major volume trend - from which Granville says, it's the one that tends to precede price - is determined as the succession of the highest highs and lowest lows of UP and DOWN fields. It is represented by the colors of the numbers printed on the highs and lows of the fields.
The trend to be "Rising" is defined as the highest high of an UP field being higher than the highest high of the last UP field and the lowest low of the last DOWN field being higher than the lowest low of the prior DOWN field. And vice versa for a "Falling" trend. If the trend does not have a rising or falling pattern, it is said to be "Doubtful". The colors are indicated as follows:
Rising = green
Falling = red
Doubtful = blue
ZigZag Swing count
The swing count is determined by counting the number of swings within a trend (as described above) and is represented by the numbers above the highs and lows of the fields. It determines the length and thus strength of a trend.
In general there are two ways to determine the count. The first one is by counting the swings between pivots and the second one by counting the swings between highs and lows of fields. This indicator represents the SECOND one as it represents the longer term trend (which I'm more interested in as it denotes a longer term perspective).
However, the ZigZag count has three applications on the OBV. The "simple ZigZag" is a count of three swings which mainly tells you that the shorter term momentum of the market has changed and the current trend is weakening. This doesn't mean it will reverse. A count of three downs is still healthy if it occurs on a strong uptrend (and vice versa) and it should primarily serve as a sign of caution. If the count increases beyond three, the last trend is weakening considerably, and you should probably take action.
The second count to look out for is five swings - the "compound ZigZag". If this goes hand in hand with breaking a major support/resistance on the OBV it can offer a buying/selling opportunity in the direction of the trend. Otherwise, there's a good chance that this is a reversal signal.
The third count is nine. To quote Granville directly: "there is a very strong tendency FOR MAJOR REVERSAL OF REND AFTER THE NINTH SWING" (emphasis by the author). This is something I look out for and get cautious about, although I have found signal to be weak in an overextended market. I have observed counts of 10 and even 12 which did not result in a major reversal and the market trended further after a short period of time. This is still a major sign of caution and should not be taken lightly.
Moving average
Although Granville talks only briefly about averages and the only mention of a specific one is the 10MA, I found moving averages to be a very valuable addition to my analysis of the OBV movements.
The indicator uses three Exponential Moving Averages. A long term one to determine the general direction and two short term ones to determine the momentum of the trend. Especially for the latter two, keep in mind that those are very indirect as they are indicators of an indicator anyway and I they should not necessarily be used as support or resistance (although that might sometimes be helpful). I recommend paying most attention to the longterm average as I've found it to be very accurate when determining the longterm trend of a market (even better than the same indicator on the price).
If the OBV is above the long term average, the space between OBV and average is filled green and filled red if below. The colors and defaults for the averages are:
long term, 144EMA, green
short term 1, 21EMA, blue
short term 2, 55EMA, red
Divergences
This is a very rudimentary adaption of the standard TradingView "Divergence Indicator". I find it helpful to have these on the radar, but do not actively use them (as in having a strategy based on OBV/price divergence). This is something that I would eventually pick up in a later version of the indicator if there is any demand for it, or I find the time to look into strategies based on this.
Comparison line
A small but very helpful addition to the indicator is a horizontal line that traces the current OBV value in real time, which makes it very easy to compare the current value of the OBV to historic values (which is a study I can highly recommend).
Elliott Wave + SMC Fusion # Elliott Wave + SMC Fusion
## TITLE:
Elliott Wave + Smart Money Concepts Fusion
---
## SHORT DESCRIPTION:
Automated Elliott Wave pattern detection with Smart Money Concepts confirmation, EWO oscillator integration, and confluence scoring system.
---
## FULL DESCRIPTION:
### 📊 OVERVIEW
This indicator combines three powerful trading methodologies into a unified system:
- **Elliott Wave Theory** - Automated detection of Wave 1-2 impulse patterns
- **Smart Money Concepts (SMC)** - Order Blocks and Fair Value Gaps for institutional confirmation
- **Elliott Wave Oscillator (EWO)** - Momentum-based signal validation
The core concept is to identify high-probability Wave 3 entries by detecting completed Wave 1-2 structures and validating them with SMC and momentum indicators.
---
### 🔧 HOW IT WORKS
**1. Pattern Detection (ZigZag Method)**
- Uses pivot high/low detection to identify swing points
- Validates Wave 2 retracement using Fibonacci ratios (default: 38.2% - 88.6%)
- Requires minimum wave size to filter noise
- Applies confirmation bars to avoid premature signals
**2. Wave Projections**
- Wave 3 target: Fibonacci extension of Wave 1 (default: 1.618)
- Wave 4 retracement: Percentage of Wave 3 (default: 38.2%)
- Wave 5 projection: Extension of Wave 1 from Wave 4
**3. Smart Money Validation**
- **Order Blocks**: Identifies last opposing candle before breakout (institutional footprint)
- **Fair Value Gaps**: Detects price imbalances for potential support/resistance
**4. EWO Confirmation**
- Calculates momentum: (EMA5 / EMA34 - 1) × 100
- Signal line crossovers confirm trend direction
- Strong signals occur at extremes (< -13 or > 13 threshold)
**5. Confluence Scoring (0-100%)**
Points awarded for:
- Fibonacci quality of Wave 2 retracement (10-30 pts)
- Order Block presence (15 pts)
- Fair Value Gap presence (10 pts)
- Volume confirmation (10-15 pts)
- Trend alignment with EMA50 (10 pts)
- EWO confirmation (10-20 pts)
---
### 🎯 UNIQUE FEATURES
**Pattern Locking System**
- Once a valid pattern is detected, it locks until:
- Pattern invalidates (price breaks Wave 0)
- Pattern completes (Wave 5 reached)
- Auto-timeout (configurable bars)
- Prevents rapid signal flipping and false alerts
**Signal Stability Controls**
- Adjustable cooldown between signals (default: 20 bars)
- Minimum bar distance between wave points
- Direction change requirement option
- Confirmation bars after Wave 2 formation
**Visual Wave Tracking**
- Solid lines for impulse waves (0→1, 2→3, 4→5)
- Dashed lines for corrective waves (1→2, 3→4)
- Numbered labels on each wave point
- Real-time projection lines to targets
**Comprehensive Dashboard**
- Current wave status and lock state
- Pattern grade (A+ to D based on confluence)
- Projected vs actual wave levels (✓ when completed)
- SMC confirmation status
- Risk/Reward ratio calculation
- EWO trend direction
---
### 📈 TRADING APPLICATION
**Entry Strategy**
- Wait for Wave 1-2 pattern detection (diamond signal)
- Check confluence score (>65% = higher probability)
- Verify EWO alignment with pattern direction
- Enter after 30% retracement of Wave 2 (customizable)
**Risk Management**
- Stop Loss: Below Wave 0 (with buffer)
- Take Profit 1: Wave 3 projection
- Take Profit 2: Wave 5 projection
- R:R displayed in dashboard
**Invalidation Rules**
- Price breaks below Wave 0 (bullish) or above (bearish)
- Wave 2 level violated before Wave 3 forms
- Pattern timeout exceeded
---
### ⚙️ KEY SETTINGS
**Elliott Wave**
- ZigZag Length: Pivot detection sensitivity
- Fib Tolerance: Acceptable retracement range
- Min Wave Size: Filter small movements
**Signal Stability**
- Signal Cooldown: Minimum bars between signals
- Lock Pattern Until Invalid: Prevent signal changes
- Confirmation Bars: Wait after Wave 2
**Wave Projection**
- Wave 3/4/5 Fibonacci extensions
- Projection display distance
**EWO Settings**
- Fast/Slow EMA lengths
- Signal smoothing
- Strength threshold
**SMC Settings**
- Order Block lookback period
- FVG minimum size percentage
---
### 🔔 ALERTS
- New bullish/bearish pattern detected
- High confluence setup (>75%)
- Pattern invalidation
- Wave completion
---
### ⚠️ IMPORTANT NOTES
- This indicator identifies **potential** Elliott Wave patterns based on mathematical rules
- Elliott Wave analysis is subjective - patterns may be interpreted differently
- Always combine with other analysis methods and proper risk management
- Past pattern performance does not guarantee future results
- Pattern locking prevents repainting but delays new pattern detection
- Best used on higher timeframes (1H+) for cleaner wave structures
---
### 📚 METHODOLOGY REFERENCES
**Elliott Wave Theory**
- Wave 2 typically retraces 38.2% - 88.6% of Wave 1
- Wave 3 is often the strongest, extending 161.8% of Wave 1
- Wave 4 usually retraces 38.2% of Wave 3
- Wave 5 completes the impulse structure
**Smart Money Concepts**
- Order Blocks represent institutional supply/demand zones
- FVGs indicate price inefficiencies that may act as magnets
**Elliott Wave Oscillator**
- Developed to identify wave momentum
- Crossovers signal potential wave transitions
- Extreme readings often coincide with wave completions
---
### 🎨 VISUAL ELEMENTS
- **Green**: Bullish patterns and projections
- **Red**: Bearish patterns and projections
- **Orange**: Wave projection levels
- **Purple**: Order Block zones
- **Yellow**: Fair Value Gaps
- **Blue**: Entry levels
- **Diamond shapes**: New pattern signals
- **Triangle shapes**: EWO crossover signals
---
### 💡 TIPS FOR BEST RESULTS
1. Use on liquid markets with clear trend behavior
2. Higher timeframes produce more reliable patterns
3. Look for confluence scores above 65%
4. Verify EWO alignment before entry
5. Consider market context (overall trend, key levels)
6. Adjust ZigZag length based on your trading style
7. Increase cooldown period for longer-term signals
---
**Indicator Type**: Overlay
**Markets**: All (Crypto, Forex, Stocks, Commodities)
**Timeframes**: All (1H+ recommended)
**Style**: Pattern Recognition + Momentum + Price Action
Elliott Wave Expert AdvisorElliott Wave Expert Advisor - Professional Wave Analysis Tool
OVERVIEW
--------
The Elliott Wave Expert Advisor is a comprehensive Pine Script indicator designed for TradingView that automates Elliott Wave analysis and generates high-probability trading signals. Built on Ralph Nelson Elliott's Wave Principle, this indicator identifies impulse wave patterns, validates them against strict Elliott Wave rules, and provides precise entry points with calculated risk management levels.
CORE FUNCTIONALITY
------------------
1. TREND DETECTION
- Dual Moving Average system (Fast/Slow MA)
- MACD confirmation for trend strength
- Automatic trend classification (Uptrend/Downtrend/Sideways)
- Only generates signals aligned with main trend
2. SWING POINT DETECTION
- Automatic pivot high/low identification
- Configurable sensitivity (lookback periods)
- Minimum swing size filtering to reduce noise
- ZigZag visualization connecting swing points
3. WAVE IDENTIFICATION
- 5-wave impulse pattern recognition (1-2-3-4-5)
- 3-wave corrective pattern detection (A-B-C)
- Wave labels displayed on chart
- Color-coded validation status (Blue = Valid, Orange = Pending)
4. ELLIOTT WAVE RULES VALIDATION
Strictly enforces three cardinal rules:
- Rule 1: Wave 2 never retraces more than 100% of Wave 1
- Rule 2: Wave 3 is never the shortest impulse wave
- Rule 3: Wave 4 never overlaps Wave 1 price territory
5. FIBONACCI ANALYSIS
- Automatic Fibonacci retracement calculations (23.6%, 38.2%, 50%, 61.8%, 78.6%)
- Fibonacci extension projections (100%, 161.8%, 261.8%)
- Wave 3 and Wave 5 target projections
- Fibonacci-based Take Profit levels
6. SIGNAL GENERATION
- Entry signals at Wave 2 completion (catch Wave 3)
- Entry signals at Wave 4 completion (catch Wave 5)
- Automatic Stop Loss placement below/above pivot points
- Multiple Take Profit targets (TP1 at 1.618 extension, TP2 at Wave 5 projection)
- Risk/Reward ratio calculation and filtering
- Minimum R:R threshold (default 1.5:1)
7. VISUAL ELEMENTS
- Pivot markers (H/L) showing swing highs and lows
- ZigZag lines connecting swing points
- Wave number labels (1-2-3-4-5) with validation colors
- Entry signal arrows (Green = BUY, Red = SELL)
- Stop Loss lines (Red dashed)
- Take Profit lines (Green dashed and dotted)
- Real-time status dashboard showing:
* Number of pivots detected
* Wave count progress (X/5)
* Pattern validation status
* Market trend direction
* Signal active status
* Helpful tips and guidance
OPTIMAL USAGE
-------------
• Timeframes: H1, H4, D1 (avoid M1-M5 due to noise)
• Markets: Forex majors (EUR/USD, GBP/USD), Gold (XAU/USD), Major Cryptocurrencies
• Market Conditions: Strong trending markets (avoid ranging/sideways conditions)
• Risk Management: Never risk more than 1-2% per trade
• Position Sizing: Based on calculated Stop Loss distance
CONFIGURATION PARAMETERS
------------------------
Trend Detection:
- MA Fast Period (default: 20)
- MA Slow Period (default: 50)
- MACD settings (12/26/9)
Swing Detection:
- Pivot Lookback Left/Right (default: 10/10, reduce to 5/5 for M15)
- Min Swing Size % (default: 0.1%, reduce to 0.05% for M15)
Wave Detection:
- Min Wave Size % (default: 0.5%, reduce to 0.2-0.3% for smaller timeframes)
Risk Management:
- SL Buffer % (default: 0.1%)
- TP1 Fibonacci Ratio (default: 1.618)
- Min Risk/Reward (default: 1.5)
Visualization:
- Toggle visibility for MAs, ZigZag, Wave Labels, Signals, SL/TP
- Customizable colors for all elements
- Optional trend background coloring
IMPORTANT NOTES
---------------
• Elliott Wave analysis is subjective - this indicator implements one specific interpretation
• Works best in trending markets; automatically suppresses signals in sideways conditions
• Signals are NOT repainting after pivot confirmation
• Not a "holy grail" - combine with other analysis and proper risk management
• Requires patience - quality setups are infrequent but high-probability
• Always backtest on historical data before live trading
ELLIOTT WAVE THEORY BACKGROUND
------------------------------
Elliott Wave Theory, developed by Ralph Nelson Elliott in the 1930s, proposes that market prices move in predictable wave patterns driven by investor psychology. An impulse wave consists of five sub-waves (three in the trend direction, two corrections), followed by a three-wave correction. This indicator automates the identification of these patterns and validates them against Elliott's original rules.
DISCLAIMER
----------
This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always conduct your own analysis and never trade with money you cannot afford to lose. The indicator provides signals based on technical analysis patterns and does not constitute financial advice.
VERSION
-------
v1.0 - Initial Release
Pine Script v5
Created: 2024
SUPPORT
-------
For detailed usage instructions, refer to the included documentation:
- usage_guide.md - Complete user manual with examples
- elliott_rules.md - Elliott Wave theory reference and implementation details
Pivots High Low Live DetectionPivots High Low Live Detection
Identifies and visualizes swing highs and lows on the chart in real time.
Helps to observe evolving market structure by connecting confirmed or developing pivot points with lines and labels.
Using a configurable lookback, minimum deviation, and confirmation bar system, the indicator highlights new Higher Highs (HH), Higher Lows (HL), Lower Highs (LH), and Lower Lows (LL) as they form.
When “Live (repainting)” mode is enabled, the current swing leg updates dynamically with each candle, giving immediate feedback as price develops.
When disabled, only confirmed pivots are plotted, ideal for historical validation and backtesting.
+ Key Features
Detects and labels major swing points (HH, HL, LH, LL).
Works in live or confirmed (non-repainting) mode.
Adjustable parameters for lookback, deviation (in ticks), and confirmation bars.
Lightweight and compatible with any timeframe or symbol.
Includes runtime alerts for new structural pivots and direction shifts.
+ How to Use
Adjust the inputs under the “Pivots” group to control sensitivity.
Enable “Live (repainting)” to see developing swing legs, or disable it for confirmed structure only.
Use alerts to track structural changes or potential trend reversals.
KD-10-20 Cross No Chop ChopThis strategy avoids 80% of the choppy trades. Take entry when it gives a buy signal and put TP and SL as per your convenience. Happy Trading!






















