Auto Chart Patterns - Ultimate [Trendoscope]

Trendoscope Wizard Updated   
Here is an attempt to gather and present stats and probabilities of different chart patterns. Here, we challenge few traditional biases such as rising wedge is bearish, falling wedge is bullish etc. All the chart patterns identified in this script are bi-directional. Meaning they offer opportunities to trade in either direction.

This indicator is built on the base of two free scripts

🎯 Wedge-and-Flag-Finder-Multi-zigzag
🎯 Trendline-Pairs-Deep-Search

🎲 Following are the major highlights/updates in the present script
▶ Uses the similar deep search algorithm for finding patterns. Pattern identification logic has been optimised to provide more accurate patterns.
▶ Provides suggestion on how to trade these patterns - along with entry, stop and target suggestions.
▶ Advanced options available in setting such as 'Safe Repaint' - which enables repaint only when trade has not started.
▶ Option to run algorithm within specified time window
▶ Comprehensive stats on historical patterns which include win ratio, risk reward, trailing win ratio and trailing risk reward.
▶ Open Trades Stats widget which can help tracking trades easily.
▶ Fully customisable alerts - which can be used to plugin into bots.

🎲 Chart Patterns Included
Channel - Uptrend, Downtrend, Ranging
Triangle - Expanding, Contracting
Rising Wedge - Expanding, Contracting
Falling Wedge - Expanding, Contracting

If unable to determine the type and yet pivots are inline to form two trend lines, then it goes to category - Indeterminate

🎲 Indicator Components

Below is a quick snapshot of indicator components.

Now, lets look at some of the individual components:

▶Open trade stats helps recognise trades in motion.

▶ Closed trade stats can either be shown with minimal stats or fully detailed stats.

🎲 Settings

▶ Generic Settings

▶ Zigzag and pattern selection

▶ Channel Settings

▶ Risk/Reward and Stats/Display Settings

🎲 Key Features

⬤ Safe Repaint :
This option allows redrawing pattern only if trade has not been taken. This increases accuracy of pattern detection. Example of impact of safe repaint is shows as below:

⬤ Trade Reversal or Breakout of Channels :
This option is useful to handle channels of different size. If the distance between channel trendlines are huge, then it is more advantageous to trade reversals. If the distance between trendlines of channel is small, it is more rewarding to trade the breakouts.

Here is an example of how this setting impacts the trade suggestions.

⬤ Detailed Closed Trade Stats :
Closed Stats settings give users option to see in depth details such as risk reward and win ratios for past patterns along with numbers.

⬤ Fully Customisable Alerts :
Alerts are implemented using alert method. Hence, users will not see text box in alert window where they can set alert format. To overcome this challenge, the indicator offers customisation of alerts through settings.

In the settings window, you notice below options for alerts

These settings allow users to enable/disable alerts for different status of patterns. The text box in the settings allows users to set customisable alert formats using specific placeholders.
Valid placeholders are:

{type} - Alert Type
{id} - Pattern id for which alert is generated
{ticker} - Ticker for which alert is generated
{timeframe} - Chart timeframe
{price} - Current close price
{pattern} - Name of the pattern
{longTrade} - Array containing stop, entry, target1 and target2 for long side of the trade for given pattern
{shortTrade} - Array containing stop, entry, target1 and target2 for short side of the trade for given pattern
{status} - Contains status of both long and short side of the trades as text

Default alert template set for all type of alerts is as below
	"alert" : "{type}",
	"id" : {id},
	"ticker" : "{ticker}",
	"timeframe" : "{timeframe}",
	"price" : {price},
	"pattern" : "{pattern}",
	"long[Stop, Entry, Target1, Target2]" : {longTrade},
	"short[Stop, Entry, Target1, Target2]" : {shortTrade},
	"status" : "{status}"

An example alert looks like this:

If you just want to display pattern name and alert type, your alert message in the box should be something like this:
Type - {type}, Pattern - {pattern}

Will make a video on settings and usage when I get time :)
Release Notes:
U 1.1 Minor bugfixes
Release Notes:
Update U1.2

  • Added Live RR to open trades stats
  • Removed Failed patterns from the list to avoid confusion. Failed patterns are nothing but, they have opened on the other side. Hence, trade can be continued on the other side.
Release Notes:
Update U1.3

Introduced selective closed stat mode - which when selected only show details for open patterns and overall totals. Removed stop percent as the data can be derived via win percent of target1

Release Notes:
Update U1.4

Updated alerts to use alerts library method to avoid overlapping
Release Notes:
Update U1.5

  • Updated zigzag implementation
  • Update libraries
  • Extended stats - now contain retest status and related counts, average size and age of patterns etc.
  • Tooltips added for closed stats.
Release Notes:
Update U1.6

Updated zigzag library version
Release Notes:
Update U1.7

  • Minor bugfixes
  • Update alerts to use library
Release Notes:
Update U1.8

Fixed an error associated with tradingview update
Release Notes:
Update U1.9

  • Updated alert template to assist easier interpretation in auto trading. Now the alert template also has separate longStatus and shortStatus placeholders along with generic placeholder status
  • Updated alert fields to use text_area for better visibility
Release Notes:
Major Update U2.0

Revised settings. Click on the tooltips for more info on each of the items.

Major feature additions:
  • Long and short trades have its own stop. Before, long stop was same as short entry and vice versa. This change will allow users to control risk/reward in better ways.
  • Targets are made purely based on ratios. This again helps in controlling risk reward.
  • Pattern calculation happens on bar close - this will help avoid repaints. Input option to force use current bar is also added for users to explore. This option will be removed in later versions.
Release Notes:
Update U2.1

Removed Ignore If Entry Crossed check as this was causing runtime issues. Will rethink about adding option later.
Release Notes:
Update U2.2

Minor bug fix. Updated default zigzag lengths.
Release Notes:
Update U2.3

Added filters to select pattern based on last pivot direction. And external filters to dynamically filter them. These are added for research purpose. Hence, will be disabled by default.

Release Notes:
Minor update U2.4

Updated libraries
Release Notes:
Update U2.5

Updated library versions
Release Notes:
Update Ux2.6

Added following templates to alerts

Fixed a minor bug in the default template.
Release Notes:
Update U2.7
Library updates and improved color combinations
Release Notes:
Update U2.8

Minor updates on display

Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact Trendoscope for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases you can find a good open-source alternative for free in our Community Scripts.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Author's instructions

Trial Access : Subscribe:

Want to use this script on a chart?

Warning: please read before requesting access.