Login Page - Create Account

Technical Studies Reference


CandleStick Patterns Finder


Introduction

Copy TextThe Candlestick Patterns Finder study is a highly advanced study for identifying numerous candlestick patterns in a chart. The patterns are labeled with three letter codes.

You can search for up to six patterns per instance of the study. You can add multiple instances of this study if you need to detect lots of patterns. There are several inputs to customize the behavior of the study.

This study displays the numeric value of the pattern or the defined letter code of the pattern, when a positive pattern is found. To do this, it uses the values of Subgraph 1 for the characteristics of the numbers/letters that are drawn. Therefore, it is not possible to change the Subgraph Draw Styles for this study.

How to Use

  1. Select Analysis >> Studies on the menu.
  2. In the list of available studies select the study named Candlestick Patterns Finder.
  3. Press the Add button.
  4. Press the Settings button.
  5. On the Settings and Inputs tab use the 6 Pattern # inputs to select the candlestick patterns you want to look for. You need to set at least one. You do not need to set all 6 of them.
  6. Set other Inputs as appropriate. To increase the probability of seeing a candlestick pattern code for the selected patterns for a particular bar, set the Use Trend Detection Input to No.
  7. Select the Subgraphs tab. The foreground and background colors for the candlestick pattern detection text on the chart can be changed with the primary and secondary color buttons for the Pattern 1 Subgraph. The Size setting for the Pattern 1 Subgraph controls the font size of this text in points.

    If you wish to see how the internal trend detection is working, then set the Draw Style for the Trend Up subgraph to Arrow Up and the Trend Down subgraph to Arrow Down . This will allow you to see arrows indicating the detected trend for any bar in the chart. The indicated trend is the trend over the prior 4 bars, by default. It does not include the bar where the arrow is displayed. Normally you will not show the arrows unless you always want to see the trend detection.
  8. Press OK, and Press OK.

Inputs

This section lists all of the available Inputs for the Candlestick Patterns Finder study and the descriptions.

Pattern 1 - 6

Choose the pattern among the a list of available patterns, to be searched for from candlestick bars in the chart.

Use Numeric Value Instead of Letter Codes

The pattern's identification number is outputted on the chart instead of it's 3 letter code. Refer to the Available Patterns section below for the identification numbers.

Distance Between the Codes and the Candle as a Percentage

This Input adjusts the percentage offset from a candlestick High or Low to the bottom or top of the candlestick pattern text respectively. This normally should be a positive value. 1 = 1%

Number of Bars for Price Range Detection (Used for Trend Detection)

For Patterns that require a prior uptrend or downtrend, this Input specifies how many prior bars from the current bar being calculated, to determine the price range from. From this price range, the Value Per Point is determined. The Value Per Point is like the Tick Size, but is dynamically calculated for every bar in the chart and is used in the trend detection calculations.

Price Range Multiplier for Determining Value Per Point

The price range is multiplied with this multiplier. This is used to determine the Value Per Point as explained in the description for Number of Bars for Price Range Detection. The default is 0.01 (1%). Typically 1% is good and there is no need to change this. This Input is used for trend detection.

Use Trend Detection

When this Input is set to Yes, then the prior trend required by many of the candlestick patterns will be determined and must be present before a pattern code will be displayed.

A linear regression calculation is performed to determine the trend. From this calculation, the slope is determined.

A slope of 1 or greater means an uptrend and a slope of -1 or less means a downtrend. The original slope value is divided by the calculated Value Per Point, as determined by the Price Range Multiplier for Determining Value Per Point Input, in order to get a reasonable slope value based upon the range of prices.

Number of Bars Used For Trend Detection

This Input sets the number of bars used for detecting the trend.

Display Text

When this Input is set to Yes, then the text that defines a found pattern is displayed in the chart. Otherwise, the text is not displayed.

Display Above Candles

When this Input is set to Yes, the short text code representing the detected candlestick pattern will be displayed at the top of the price bar instead of at the bottom.

Accessing Pattern Results in Alerts, Spreadsheets and ACSIL

It is supported to access the results of the Candlestick Patterns Finder study in Alert Condition Formulas, when using one of the Spreadsheet Studies or from the ACSIL (Advanced Custom Study Interface and Language).

For every specific candlestick pattern that you have selected to detect, with the Pattern 1 - 6 study Inputs, a corresponding Pattern # Subgraph with the study is filled in with the numeric pattern code as listed in the Available Patterns list at the Subgraph array element that corresponds to the particular chart column where the pattern was detected.

The study Subgraphs that are outputted to the Spreadsheet Study beginning at column AA will display these numeric pattern codes.

In the case of ACSIL you will want to use the sc.GetStudyArrayUsingID function to access the study subgraph array.

For example, if you have set the Pattern 1 Input to Hammer, and at the last bar in the chart the Hammer pattern is detected, then the Pattern 1 Subgraph at its last array element which corresponds to the last column in the chart, will be set to 1. This is most easiest to see when using the Spreadsheet Study.

Here is an example Alert Condition Formula: SG1=7. This formula will become true when the Pattern 1 Subgraph detects a Morning Star pattern.

Available Patterns

  • 01 - HMM - Hammer*
  • 02 - HNM - Hanging Man*
  • 03 - UEN - Bullish (Up) Engulfing* All these conditions need to be met:
    • If Use Trend Detection is enabled, then the trend must be down. Otherwise, the trend is ignored.
    • The Last of the prior bar is less than the Open of the prior bar.
    • The Last of the current bar is greater than the Open of the current bar.
    • The High of the current bar is greater than the High of the prior bar.
    • The Low of the current bar is less than the Low of the prior bar.
    • The Open of the current bar is less than the Last of the prior bar.
    • The Last of the current bar is greater than the Open of the prior bar.
  • 04 - DEN - Bearish (Down) Engulfing* All these conditions need to be met:
    • If Use Trend Detection is enabled, then the trend must be up. Otherwise, the trend is ignored.
    • The Last of the prior bar is greater than the Open of the prior bar.
    • The Last of the current bar is less than the Open of the current bar.
    • The High of the current bar is greater than the High of the prior bar.
    • The Low of the current bar is less than the Low of the prior bar.
    • The Open of the current bar is greater than the Last of the prior bar.
    • The Last of the current bar is less than the Open of the prior bar.
  • 05 - DCC - Dark-cloud Cover*
  • 06 - PEL - Piercing Line*
  • 07 - MST - Morning Star*
  • 08 - EST - Evening Star*
  • 09 - MDS - Morning Doji Star*
  • 10 - EDS - Evening Doji Star*
  • 11 - UAB - Bullish (Up) Abandoned Baby*
  • 12 - DAB - Bearish (Down) Abandoned Baby*
  • 13 - SHS - Shooting Star*
  • 14 - IHM - Inverted Hammer*
  • 15 - DHA - Bearish (Down) Harami*
  • 16 - UHA - Bullish (Up) Harami*
  • 17 - DHC - Bearish (Down) Harami Cross*
  • 18 - UHC - Bullish (Up) Harami Cross*
  • 19 - TWT - Tweezer Top*
  • 20 - TWB - Tweezer Bottom*
  • 21 - DBH - Bearish (Down) Belt-Hold Line*
  • 22 - UBH - Bullish (Up) Belt-Hold Line*
  • 23 - TCR - Upside-Gap Two Crows*
  • 24 - TBC - Three Black Crows*
  • 25 - DCL - Bearish (Down) Counterattack Line*
  • 26 - UCL - Bullish (Up) Counterattack Line*
  • 27 - TIU - Three Inside Up*
  • 28 - TOU - Three Outside Up*
  • 29 - TID - Three Inside Down*
  • 30 - TOD - Three Outside Down*
  • 31 - UKI - Kicker
  • 32 - DKI - Kicking
  • 33 - TWS - Three White Soldiers*
  • 34 - ABL - Advance Block*
  • 35 - DEL - Deliberation*
  • 36 - DTS - Bearish (Down) Tri Star*
  • 37 - UTS - Bullish (Up) Tri Star*
  • 38 - TRB - Unique Three River Bottom*
  • 39 - DDS - Bearish (Down) Doji Star*
  • 40 - UDS - Bullish (Up) Doji Star*
  • 41 - DDD - Bearish (Down) Dragonfly Doji*
  • 42 - UDD - Bullish (Up) Dragonfly Doji*
  • 43 - DGD - Bearish (Down) Dravestone Doji*
  • 44 - UGD - Bullish (Up) Dravestone Doji*
  • 45 - DLD - Bearish (Down) Long Legged Doji*
  • 46 - ULD - Bullish (Up) Long Legged Doji*
  • 47 - DWL - Bearish (Down) Side-By-Side White Lines*
  • 48 - UWL - Bullish (Up) Side-By-Side White Lines*
  • 49 - FTM - Falling Three Methods*
  • 50 - RTM - Rising Three Methods*
  • 51 - DSL - Bearish (Down) Separating Lines*
  • 52 - USL - Bullish (Up) Separating Lines*
  • 53 - DTG - Downside Tasuki Gap*
  • 54 - UTG - Upside Tasuki Gap*
  • 55 - DTL - Bearish (Down) Three-Line Strike*
  • 56 - UTL - Bullish (Up) Three-Line Strike*
  • 57 - DGM - Downside Gap Three Methods*
  • 58 - UGM - Upside Gap Three Methods*
  • 59 - ONE - On Neck*
  • 60 - INE - In Neck*
  • 61 - DTH - Bearish Thrusting*
  • 62 - MAT - Mat Hold*
  • 63 - DOJ - Doji

* These patterns use Trend Detection.

Changing Source Code

It is possible to modify the source code for the Candlestick Patterns Finder study and create a new version of it to meet your requirements.

To do this, refer to How to Build an Advanced Custom Study from Source Code. The source code is located in the /ACS_Source/studies4.cpp file.

The primary study function is scsf_CandleStickPatternsFinder. It depends upon many other functions which are also contained within that file.

And it also has a dependency upon the names which are contained within the /ACS_ Source/CandleStickPatternNames.cpp file. These names will need to be put within your CPP file that you are compiling at the top but below the #include files.


*Last modified Wednesday, 01st February, 2023.