3 Drive Harmonic Pattern [TradingFinder] Three Drive Reversal🔵 Introduction
The Three Drive harmonic pattern closely resembles other price structures such as Wedge Pattern and Three Push Pattern, yet it stands out due to its precise use of Fibonacci ratios and symmetrical price movements.
This pattern comprises three consecutive and symmetrical price drives, each validated by key Fibonacci ratios (1.27 and 1.618), which help identify critical Potential Reversal Zones (PRZ).
Unlike the Wedge, which relies on converging trend lines and can indicate either continuation or reversal, and the Three Push, which lacks defined Fibonacci ratios and symmetry, the Three Drive pattern defines PRZ with greater accuracy, providing traders with high-probability trading opportunities.
This pattern appears in both bullish and bearish trends. After the completion of the third drive (Drive 3), it signals the market's readiness to reverse direction. The PRZ in this pattern serves as a crucial zone where price is highly likely to reverse, offering a strategic point for entering or exiting trades. Professional traders utilize the Three Drive pattern and PRZ as essential tools for analyzing and capitalizing on potential market reversals.
Bullish Pattern :
Bearish Pattern :
🔵 How to Use
The Three Drive harmonic pattern is an effective tool for identifying potential reversal points in the market. By utilizing Fibonacci extension levels (1.27 and 1.618) and focusing on the pattern’s symmetry, traders can pinpoint Potential Reversal Zones (PRZ) where the price is likely to change direction. This pattern works in both bearish and bullish scenarios, each with distinct characteristics and trading opportunities.
🟣 Bullish Three Drive Pattern
The bullish Three Drive pattern develops during a downtrend, indicating a potential reversal to the upside. Similar to its bearish counterpart, this pattern features three consecutive downward price movements (drives) with retracements in between. The third drive concludes within the PRZ, which serves as a strong support zone where the price is expected to reverse upwards.
The first drive begins with a downward movement, followed by a retracement to the 0.618 Fibonacci level. The second drive continues downward to reach a 1.27 or 1.618 Fibonacci extension of the retracement. Finally, the third drive aligns with the PRZ, where a confluence of Fibonacci levels creates a high-probability support zone.
In the PRZ, traders look for bullish confirmation signals such as bullish candlestick patterns (e.g., bullish engulfing or pin bars) or increasing trading volume. Once confirmation is observed, the PRZ becomes an ideal entry point for a buy position. Stop-loss orders are placed slightly below the PRZ to minimize risk, while take-profit targets are set at key resistance levels or Fibonacci retracement levels.
🟣 Bearish Three Drive Pattern
The bearish Three Drive pattern forms during an uptrend, signaling a potential reversal to the downside. This pattern consists of three consecutive upward price movements (drives) and intermediate retracements. Each drive aligns with Fibonacci extension levels, and the third drive ends within the PRZ, indicating a high probability of a bearish reversal.
In the first drive, the price moves upward and then retraces to approximately the 0.618 Fibonacci retracement level, forming the base for the second drive. The second drive then extends upward to the 1.27 or 1.618 Fibonacci extension of the preceding retracement. This process repeats for the third drive, which reaches the PRZ, typically defined by the convergence of Fibonacci levels from previous drives.
Once the PRZ is identified, traders look for confirmation signals such as bearish candlestick patterns (e.g., bearish engulfing or pin bars) or declining trading volume. If confirmation is present, the PRZ becomes an optimal zone for entering a sell position. Stop-loss levels are typically placed slightly above the PRZ to protect against pattern failure, and take-profit targets are set at key support levels or Fibonacci retracement levels of the overall structure.
🟣 Three Drive Vs Wedge Pattern Vs 3 Push pattern
The Three Drive, Wedge, and Three Push patterns are all used to identify potential price reversal points, but they differ significantly in structure and application. The Three Drive pattern is based on three consecutive and symmetrical price movements, validated by precise Fibonacci ratios (1.27 and 1.618), to define Potential Reversal Zones (PRZ).
In contrast, the Wedge pattern relies on converging trend lines and does not require Fibonacci ratios; it can act as either a reversal or continuation pattern. Meanwhile, the Three Push pattern shares similarities with Three Drive but lacks precise symmetry and Fibonacci-based validation.
Instead of a PRZ, Three Push focuses on identifying areas of support and resistance, often signaling weakening momentum in the current trend. Among these, the Three Drive pattern is more reliable for pinpointing high-probability reversal zones due to its strict Fibonacci-based and symmetrical structure.
🔵 Setting
🟣 Logical Setting
ZigZag Pivot Period : You can adjust the period so that the harmonic patterns are adjusted according to the pivot period you want. This factor is the most important parameter in pattern recognition.
Show Valid Format : If this parameter is on "On" mode, only patterns will be displayed that they have exact format and no noise can be seen in them. If "Off" is, the patterns displayed that maybe are noisy and do not exactly correspond to the original pattern.
Show Formation Last Pivot Confirm : if Turned on, you can see this ability of patterns when their last pivot is formed. If this feature is off, it will see the patterns as soon as they are formed. The advantage of this option being clear is less formation of fielded patterns, and it is accompanied by the latest pattern seeing and a sharp reduction in reward to risk.
Period of Formation Last Pivot : Using this parameter you can determine that the last pivot is based on Pivot period.
🟣 Genaral Setting
Show : Enter "On" to display the template and "Off" to not display the template.
Color : Enter the desired color to draw the pattern in this parameter.
LineWidth : You can enter the number 1 or numbers higher than one to adjust the thickness of the drawing lines. This number must be an integer and increases with increasing thickness.
LabelSize : You can adjust the size of the labels by using the "size.auto", "size.tiny", "size.smal", "size.normal", "size.large" or "size.huge" entries.
🟣 Alert Setting
Alert : On / Off
Message Frequency : This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone : The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
🔵 Conclusion
The Three Drive pattern is a highly effective harmonic tool for identifying potential reversal points in the market. By leveraging its symmetrical structure and precise Fibonacci ratios (1.27 and 1.618), this pattern provides traders with clear entry and exit signals, enhancing the accuracy of their trades.
Whether in bullish or bearish scenarios, the identification of the Potential Reversal Zone (PRZ) serves as a critical aspect of this pattern, enabling traders to anticipate price movements with greater confidence.
Compared to similar patterns like Wedge and Three Push, the Three Drive pattern stands out for its stringent reliance on Fibonacci levels and symmetrical price movements, making it a more robust choice for forecasting reversals. However, as with any technical analysis tool, its effectiveness increases when combined with confirmation signals, such as candlestick patterns, volume analysis, and broader market context.
Mastering the Three Drive pattern requires practice and attention to detail, especially in accurately defining the PRZ and ensuring the pattern adheres to its criteria. Traders who consistently apply this pattern as part of a comprehensive trading strategy can capitalize on high-probability opportunities and improve their overall performance in the market.
Wedgepatterns
divergingchartpatternLibrary "divergingchartpattern"
Library having implementation of converging chart patterns
getPatternNameByType(patternType)
Returns pattern name based on type
Parameters:
patternType (int) : integer value representing pattern type
Returns: string name of the pattern
method find(this, sProperties, dProperties, patterns, ohlcArray)
find converging patterns for given zigzag
Namespace types: zg.Zigzag
Parameters:
this (Zigzag type from Trendoscope/ZigzagLite/2) : Current zigzag Object
sProperties (ScanProperties) : ScanProperties Object
dProperties (DrawingProperties type from Trendoscope/abstractchartpatterns/5) : DrawingProperties Object
patterns (array type from Trendoscope/abstractchartpatterns/5) : array of existing patterns to check for duplicates
ohlcArray (array type from Trendoscope/ohlc/1) : array of OHLC values for historical reference
Returns: string name of the pattern
ScanProperties
Object containing properties for pattern scanning
Fields:
baseProperties (ScanProperties type from Trendoscope/abstractchartpatterns/5) : Object of Base Scan Properties
convergingDistanceMultiplier (series float)
Three Drive [TradingFinder] 3 Drive Harmonic Pattern Indicator🔵 Introduction
The "Three Drive" pattern is one of the light "RTM" setups suitable for identifying price trend reversals. For this reason, this pattern is considered one of the "Reversal Patterns."
🟣 Bullish 3 Drive
At a price bottom, a formation occurs where the negative trend appears to continue, and lower lows are made.
However, the second low penetrates the range of the first low, and the third low penetrates the range of the second low, indicating a decrease in selling pressure and an increase in buying pressure.
Entry point is issued after the penetration of the third low to the second low, and targets are the highs formed in the "3 Drive."
🟣 Bearish 3 Drive
At a price top, a formation occurs where the positive trend appears to continue, and higher highs are made.
However, the second high penetrates the range of the first high, and the third high penetrates the range of the second high, indicating a decrease in buyers' strength and an increase in sellers' strength.
Entry point is issued after the penetration of the third high to the second high, and targets are the lows formed in the "3 Drive."
Importance :
This pattern bears a striking resemblance to the some of "Harmonic Pattern" and "Ending Diagonal" in the "Elliott Pattern".
🔵 How to Use
There is no need for further confirmation to use this pattern, and you can use it as soon as the pattern forms. However, to reduce errors, it is better to use this pattern when it forms within a "Supply and Demand" or "Support and Resistance" structure.
Bullish 3 Drive in Demand Zone :
Bearish 3 Drive in Supply Zone :
🔵 Settings
You can set your desired "Pivot Period" via settings for the indicator to identify setups based on it.
chartpatternsLibrary "chartpatterns"
Library having complete chart pattern implementation
method draw(this)
draws pattern on the chart
Namespace types: Pattern
Parameters:
this (Pattern) : Pattern object that needs to be drawn
Returns: Current Pattern object
method erase(this)
erase the given pattern on the chart
Namespace types: Pattern
Parameters:
this (Pattern) : Pattern object that needs to be erased
Returns: Current Pattern object
method findPattern(this, properties, patterns)
Find patterns based on the currect zigzag object and store them in the patterns array
Namespace types: zg.Zigzag
Parameters:
this (Zigzag type from Trendoscope/ZigzagLite/2) : Zigzag object containing pivots
properties (PatternProperties) : PatternProperties object
patterns (Pattern ) : Array of Pattern objects
Returns: Current Pattern object
PatternProperties
Object containing properties for pattern scanning
Fields:
offset (series int) : Zigzag pivot offset. Set it to 1 for non repainting scan.
numberOfPivots (series int) : Number of pivots to be used in pattern search. Can be either 5 or 6
errorRatio (series float) : Error Threshold to be considered for comparing the slope of lines
flatRatio (series float) : Retracement ratio threshold used to determine if the lines are flat
checkBarRatio (series bool) : Also check bar ratio are within the limits while scanning the patterns
barRatioLimit (series float) : Bar ratio limit used for checking the bars. Used only when checkBarRatio is set to true
avoidOverlap (series bool)
patternLineWidth (series int) : Line width of the pattern trend lines
showZigzag (series bool) : show zigzag associated with pattern
zigzagLineWidth (series int) : line width of the zigzag lines. Used only when showZigzag is set to true
zigzagLineColor (series color) : color of the zigzag lines. Used only when showZigzag is set to true
showPatternLabel (series bool) : display pattern label containing the name
patternLabelSize (series string) : size of the pattern label. Used only when showPatternLabel is set to true
showPivotLabels (series bool) : Display pivot labels of the patterns marking 1-6
pivotLabelSize (series string) : size of the pivot label. Used only when showPivotLabels is set to true
pivotLabelColor (series color) : color of the pivot label outline. chart.bg_color or chart.fg_color are the appropriate values.
allowedPatterns (bool ) : array of bool encoding the allowed pattern types.
themeColors (color ) : color array of themes to be used.
Pattern
Object containing Individual Pattern data
Fields:
pivots (Pivot type from Trendoscope/ZigzagLite/2) : array of Zigzag Pivot points
trendLine1 (Line type from Trendoscope/LineWrapper/1) : First trend line joining pivots 1, 3, 5
trendLine2 (Line type from Trendoscope/LineWrapper/1) : Second trend line joining pivots 2, 4 (, 6)
properties (PatternProperties) : PatternProperties Object carrying common properties
patternColor (series color) : Individual pattern color. Lines and labels will be using this color.
ratioDiff (series float) : Difference between trendLine1 and trendLine2 ratios
zigzagLine (series polyline) : Internal zigzag line drawing Object
pivotLabels (label ) : array containning Pivot labels
patternLabel (series label) : pattern label Object
patternType (series int) : integer representing the pattern type
patternName (series string) : Type of pattern in string
Wolfe Scanner (Multi - zigzag) [HeWhoMustNotBeNamed]Before getting into the script, I would like to explain bit of history around this project. Wolfe was in the back of my mind for some time and I had several attempts so far.
🎯Initial Attempt
When I first developed harmonic patterns, I got many requests from users to develop script to automatically detect Wolfe formation. I thought it would be easy and started boasting everywhere that I am going to attempt this next. However I miserably failed that time and started realising it is not as simple as I thought it would be. I started with Wolfe in mind. But, ran into issues with loops. Soon figured out that finding and drawing wedge is more trickier. I decided will explore trendline first so that it can help find wedge better. Soon, the project turned into something else and resulted in Auto-TrendLines-HeWhoMustNotBeNamed and Wolfe left forgotten.
🎯Using predefined ratios
Wolfe also has predefined fib ratios which we can use to calculate the formation. But, upon initial development, it did not convince me that it matches visual inspection of Wolfe all the time. Hence, I decided to fall back on finding wedge first.
🎯 Further exploration in finding wedge
This attempt was not too bad. I did not try to jump into Wolfe and nor I bragged anywhere about attempting anything of this sort. My target this time was to find how to derive wedge. I knew then that if I manage to calculate wedge in efficient way, it can help further in finding Wolfe. While doing that, ended up deriving Wedge-and-Flag-Finder-Multi-zigzag - which is not a bad outcome. I got few reminders on Wolfe after this both in comments and in PM.
🎯You never fail until you stop trying!!
After 2 back to back hectic 50hr work weeks + other commitments, I thought I will spend some time on this. Took less than half weekend and here we are. I was surprised how much little time it took in this attempt. But, the plan was running in my subconscious for several weeks or even months. Last two days were just putting these plans into an action.
Now, let's discuss about the script.
🎲 Wolfe Concept
Wolfe concept is simple. Whenever a wedge is formed, draw a line joining pivot 1 and 4 as shown in the chart below:
Converging trendline forms the stop loss whereas line joining pivots 1 and 4 form the profit taking points.
🎲 Settings
Settings are pretty straightforward. Explained in the chart below.