Liquidity Breakout - Strategy [presentTrading]- Introduction and How It Is Different
The Liquidity Breakout Strategy is a unique trading strategy that focuses on identifying and leveraging patterns in market price data. This strategy, mainly inspired by the script "Master Pattern" by LuxAlgo, takes a different approach from many traditional strategies that rely on technical indicators or fundamental analysis. Instead, the Liquidity Breakout is based on the concept of contraction detection and liquidity levels. This approach allows traders to identify potential trading opportunities that other strategies might miss.
BTCUSDT 6h
The strategy is different from other trading strategies because it uses a unique combination of pattern detection, liquidity levels, and user-defined trading direction. This combination allows the strategy to adapt to various market conditions and trading styles, making it a versatile tool for traders.
- Strategy: How It Works
1. Contraction Detection: The strategy uses a lookback period defined by the user (default is 10 bars) to identify contractions in the market. A contraction is a period where the market is consolidating, often followed by a significant price movement. The strategy identifies contractions by finding pivot highs and pivot lows within the lookback period. If a pivot high is lower than the previous pivot high and a pivot low is higher than the previous pivot low, a contraction is detected.
2. liquidity Levels:
What are Liquidity levels? Liquidity levels, also known as liquidity pools or zones, are price levels at which there is a significant amount of trading activity. They are often areas where large institutional traders (like banks or hedge funds) have placed orders. These levels are important because they can act as support or resistance levels, and price often reacts at these levels.
In the context of this strategy, liquidity levels are used to identify potential entry and exit points for trades. When the price reaches a liquidity level, it could indicate a potential trading opportunity. For example, if the price breaks through a liquidity level, it could signal the start of a new trend. On the other hand, if the price approaches a liquidity level and then reverses, it could signal a potential reversal.
The strategy uses these two elements to identify potential trading opportunities. When a contraction is detected, the strategy will look for a breakout in the direction of the trend. If the breakout occurs at a liquidity level, the strategy will execute a trade.
The strategy also allows traders to set their stop loss based on either the Average True Range (ATR) or a fixed percentage. This flexibility allows traders to manage their risk according to their personal risk tolerance and trading style.
- Trade Direction
One of the unique features of the Master Pattern Strategy is the ability to choose the trading direction. Traders can choose to trade in the "Long" direction, the "Short" direction, or "Both". This feature allows traders to adapt the strategy to their personal trading style and market outlook.
For example, if a trader believes that the market is in an uptrend, they can choose to trade only in the "Long" direction. Conversely, if the market is in a downtrend, they can choose to trade only in the "Short" direction. If the trader believes that the market is volatile and there are opportunities in both directions, they can choose to trade in "Both" directions.
- Usage
To use the strategy, traders need to input their preferred settings, including the contraction detection lookback period, liquidity levels, stop loss type, and trading direction. Once these settings are input, the strategy will automatically detect potential trading opportunities and execute trades according to the defined parameters.
- Default Settings
The default settings for the Master Pattern Strategy are as follows:
Contraction Detection Lookback: 10
Liquidity Levels: 20
Stop Loss Type: ATR
ATR Length: 20
ATR Multiplier: 3.0
Fixed Percentage: 0.01
Trading Direction: Both
These settings can be adjusted according to the trader's personal preferences and market conditions. It's recommended that traders experiment with different settings to find the ones that work best for their trading style and goals.
Komut dosyalarını "10年期国债+交易单位+价格" için ara
Volume [Entoryx]
Certainly! Here's a more concise description for the "Entoryx Volume" indicator, with less focus on the specifics of the order block bar detection:
The "Entoryx Volume" is a versatile technical indicator that analyzes the relationship between price ranges and volume over a user-defined number of bars. By calculating a delta between the highest high and lowest low, it offers insights into market momentum and direction.
Key features of this indicator include:
1) Current Value Plotting: A dynamic line plotted on the chart represents the current value, which reflects market trends. The color of the line changes to green for bullish conditions and red for bearish conditions, depending on its relationship with the Exponential Moving Average (EMA) of the close.
2) Color-Coded Regions: The area between the current value plot and a baseline zero line is filled with a corresponding color, providing a visual representation of market sentiment.
3) Boundary Lines: Horizontal lines at +10 and -10 serve as reference points to highlight significant market movements.
4) Order Block Bar Detection (Optional): An optional feature that places visual markers on the chart to signal potential reversals. This can be enabled or disabled by the user, according to preference.
The "Entoryx Volume" indicator is tailored for traders aiming to understand market momentum with a clear and visually intuitive display. It is suitable across various trading strategies and market conditions, with customization options to fit individual needs.
The source code for this indicator is subject to the terms of the Mozilla Public License 2.0.
Custom EMAsNow the indicator includes 10 different types of EMAs, each with a changeable length and selectable type. You can use the input settings to adjust the type and length for each EMA. The plot shows all 10 EMAs on the chart.
Expected Move from RSI [SS]Publishing this experimental indicator.
What it does:
The indicator uses a user-defined lookback period on a user-defined timeframe to lookback at all instances of RSI. It breaks RSI down as follows:
RSI between
0 - 10
10 - 20
20 - 30
30 - 40
40 - 50
50 - 60
60 - 70
70 - 80
80 - 90
90 - 100
From there, it stores the ticker's move from open to high and open to low. It will then use this data to look at the current RSI based on the specified timeframe and plot the expected move based on the average move the ticker does with a similar RSI reading.
It will plot the expected range, with the high range being plotted in green and the low range being plotted in red.
It will also display an infographic that dictates the current RSI based on the selected time frame, the anticipated up move and the anticipated down move. This infographic will also tell you the strength of the relationship (correlation) RSI has with the ticker's high or low price:
From there the user can determine whether this RSI reading is traditionally bullish or bearish for the ticker. A greater down move indicates that the RSI traditionally elicits a bearish response. A greater up move indicates the inverse.
The user can also view a chart of a breakdown of the anticipated moves based on RSI. If the option to "Show Expected Move Table" is select in the settings menu, the following table will appear:
From here you can see the average up move and down move a ticker does based on its corresponding RSI reading.
NOTE: When using the table, please adjust your chart timeframe to the selected timeframe on the indicator. Thus, if you are looking at the 1 hour levels, please adjust your chart to the 1 hour timeframe to use the chart.
Additional Note: When using the table, an "NaN" means that there are no instances of the ticker being at that RSI level within the designated timeframe period. You can extend your lookback period to up to 500 candles to see if it finds additional instances of similar RSI. Otherwise, you can adjust the selected timeframe.
Uses:
The indicator can be used on all timeframes. It can help give you an idea as to whether the RSI indicates a bearish or bullish sentiment.
It can signal a potential reversal or continuation. It can also help you with determining target prices for day trades and scalp trades.
And that is the indicator. Its pretty straight forward. It is experimental and new, so feel free to play around with it and let me know your thoughts.
Safe trades everyone and thank you for reading!
CCI+EMA Strategy with Percentage or ATR TP/SL [Alifer]This is a momentum strategy based on the Commodity Channel Index (CCI), with the aim of entering long trades in oversold conditions and short trades in overbought conditions.
Optionally, you can enable an Exponential Moving Average (EMA) to only allow trading in the direction of the larger trend. Please note that the strategy will not plot the EMA. If you want, for visual confirmation, you can add to the chart an Exponential Moving Average as a second indicator, with the same settings used in the strategy’s built-in EMA.
The strategy also allows you to set internal Stop Loss and Take Profit levels, with the option to choose between Percentage-based TP/SL or ATR-based TP/SL.
The strategy can be adapted to multiple assets and timeframes:
Pick an asset and a timeframe
Zoom back as far as possible to identify meaningful positive and negative peaks of the CCI
Set Overbought and Oversold at a rough average of the peaks you identified
Adjust TP/SL according to your risk management strategy
Like the strategy? Give it a boost!
Have any questions? Leave a comment or drop me a message.
CAUTIONARY WARNING
Please note that this is a complex trading strategy that involves several inputs and conditions. Before using it in live trading, it is highly recommended to thoroughly test it on historical data and use risk management techniques to safeguard your capital. After backtesting, it's also highly recommended to perform a first live test with a small amount. Additionally, it's essential to have a good understanding of the strategy's behavior and potential risks. Only risk what you can afford to lose .
USED INDICATORS
1 — COMMODITY CHANNEL INDEX (CCI)
The Commodity Channel Index (CCI) is a technical analysis indicator used to measure the momentum of an asset. It was developed by Donald Lambert and first published in Commodities magazine (now Futures) in 1980. Despite its name, the CCI can be used in any market and is not just for commodities. The CCI compares current price to average price over a specific time period. The indicator fluctuates above or below zero, moving into positive or negative territory. While most values, approximately 75%, fall between -100 and +100, about 25% of the values fall outside this range, indicating a lot of weakness or strength in the price movement.
The CCI was originally developed to spot long-term trend changes but has been adapted by traders for use on all markets or timeframes. Trading with multiple timeframes provides more buy or sell signals for active traders. Traders often use the CCI on the longer-term chart to establish the dominant trend and on the shorter-term chart to isolate pullbacks and generate trade signals.
CCI is calculated with the following formula:
(Typical Price - Simple Moving Average) / (0.015 x Mean Deviation)
Some trading strategies based on CCI can produce multiple false signals or losing trades when conditions turn choppy. Implementing a stop-loss strategy can help cap risk, and testing the CCI strategy for profitability on your market and timeframe is a worthy first step before initiating trades.
2 — AVERAGE TRUE RANGE (ATR)
The Average True Range (ATR) is a technical analysis indicator that measures market volatility by calculating the average range of price movements in a financial asset over a specific period of time. The ATR was developed by J. Welles Wilder Jr. and introduced in his book “New Concepts in Technical Trading Systems” in 1978.
The ATR is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The ATR can be used to set stop-loss orders. One way to use ATR for stop-loss orders is to multiply the ATR by a factor (such as 2 or 3) and subtract it from the entry price for long positions or add it to the entry price for short positions. This can help traders set stop-loss orders that are more adaptive to market volatility.
3 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
STRATEGY EXPLANATION
1 — INPUTS AND PARAMETERS
The strategy uses the Commodity Channel Index (CCI) with additional options for an Exponential Moving Average (EMA), Take Profit (TP) and Stop Loss (SL).
length : The period length for the CCI calculation.
overbought : The overbought level for the CCI. When CCI crosses above this level, it may signal a potential short entry.
oversold : The oversold level for the CCI. When CCI crosses below this level, it may signal a potential long entry.
useEMA : A boolean input to enable or disable the use of Exponential Moving Average (EMA) as a filter for long and short entries.
emaLength : The period length for the EMA if it is used.
2 — CCI CALCULATION
The CCI indicator is calculated using the following formula:
(src - ma) / (0.015 * ta.dev(src, length))
src is the typical price (average of high, low, and close) and ma is the Simple Moving Average (SMA) of src over the specified length.
3 — EMA CALCULATION
If the useEMA option is enabled, an EMA is calculated with the given emaLength .
4 — TAKE PROFIT AND STOP LOSS METHODS
The strategy offers two methods for TP and SL calculations: percentage-based and ATR-based.
tpSlMethod_percentage : A boolean input to choose the percentage-based method.
tpSlMethod_atr : A boolean input to choose the ATR-based method.
5 — PERCENTAGE-BASED TP AND SL
If tpSlMethod_percentage is chosen, the strategy calculates the TP and SL levels based on a percentage of the average entry price.
tp_percentage : The percentage value for Take Profit.
sl_percentage : The percentage value for Stop Loss.
6 — ATR-BASED TP AND SL
If tpSlMethod_atr is chosen, the strategy calculates the TP and SL levels based on Average True Range (ATR).
atrLength : The period length for the ATR calculation.
atrMultiplier : A multiplier applied to the ATR to set the SL level.
riskRewardRatio : The risk-reward ratio used to calculate the TP level.
7 — ENTRY CONDITIONS
The strategy defines two conditions for entering long and short positions based on CCI and, optionally, EMA.
Long Entry: CCI crosses below the oversold level, and if useEMA is enabled, the closing price should be above the EMA.
Short Entry: CCI crosses above the overbought level, and if useEMA is enabled, the closing price should be below the EMA.
8 — TP AND SL LEVELS
The strategy calculates the TP and SL levels based on the chosen method and updates them dynamically.
For the percentage-based method, the TP and SL levels are calculated as a percentage of the average entry price.
For the ATR-based method, the TP and SL levels are calculated using the ATR value and the specified multipliers.
9 — EXIT CONDITIONS
The strategy defines exit conditions for both long and short positions.
If there is a long position, it will be closed either at TP or SL levels based on the chosen method.
If there is a short position, it will be closed either at TP or SL levels based on the chosen method.
Additionally, positions will be closed if CCI crosses back above oversold in long positions or below overbought in short positions.
10 — PLOTTING
The script plots the CCI line along with overbought and oversold levels as horizontal lines.
The CCI line is colored red when above the overbought level, green when below the oversold level, and white otherwise.
The shaded region between the overbought and oversold levels is plotted as well.
Indian Market Sessions for BacktestingThis indicator is designed to increase the quality of your backtesting in the Indian Market.
NSE & BSE run from 9:15 am IST to 3:30 pm IST.
Naturally different times have different kinds of volatility.
On your chart you will find premarked -
Saffron - 9:15 am to 10:30 am - Opening Session - High Volatility Observed Historically
White - 10:35 am to 2:25 pm - Middle Session - Lower Volatility Observed Historically
Green - 2:30 pm to 3:30 pm - Closing Session - Medium to High Volatility Observed Historically
You will also find the start of each session marked with an arrow.
Feel free to change the times from the input settings and the color and visibility from the style settings.
_______________
Usage:
When you backtest any strategies, say moving average crossovers, also mark the sessions in your sheet which will help you further increase accuracy.
Feel free to drop your doubts in the comments.
PresentTrend - Strategy [presentTrading]- Introduction and how it is different
The PresentTrend strategy is a unique custom trend-following strategy. This combination allows the strategy to take advantage of both short-term and long-term market trends, making it suitable for various market conditions.
BTCUSDT 4hr chart
(700.hk) 3D chart
- Strategy, How it Works
RSI or MFI: The first part uses a custom indicator based on either the Relative Strength Index (RSI) or the Money Flow Index (MFI). The indicator calculates a PresentTrend value, which generates buy and sell signals based on its crossover and crossunder, indicating potential trend reversals.
ATR: The second part is a popular trend-following indicator that uses the Average True Range (ATR).
The strategy enters a long position when all buy signals from both strategies are true, and a short position when all sell signals are true. This ensures trades are entered when both short-term and long-term trends align, potentially increasing the strategy's reliability.
- Trade direction
The strategy also includes a trade direction parameter, allowing the user to choose whether to enter long trades, short trades, or both. This makes the strategy adaptable to different market conditions and trading styles.
- Usage
1. Set the input parameters for the custom trend-following strategy.
2. Choose whether to use the RSI or MFI for the custom strategy.
3. Choose the trade direction: long, short, or both.
4. The strategy will generate buy and sell signals based on the conditions of both strategies.
5. Enter a trade when a buy or sell signal is generated, depending on the chosen trade direction.
Please note that this strategy is meant to be a tool to aid in your trading decisions and not a standalone trading system. Always use proper risk management and make sure to test the strategy thoroughly before using it in live trading.
- Default settings
1. Source: 'hlc3', a balanced price level for calculations.
2. Length: 14, a common setting for many technical indicators.
3. Multiplier: 1.618 (the golden ratio), used in calculating the upper and lower thresholds.
4. RSI or MFI: Set to use MFI by default, both are momentum indicators.
5. Trade Direction: 'Both', allowing for both long and short trades.
The default settings are designed to provide a balanced approach to trend detection. However, these can be adjusted based on the user's preferences and the specific characteristics of the market being traded.
- Strategy's default Properties
1. Default Quantity Type: 'strategy.percent_of_equity'
2. commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1: These parameters set the commission and slippage for the strategy. The commission is set to 0.1% of the trade value, and the slippage (the difference between the expected price of a trade and the price at which the trade is executed) is set to 1.
3. default_qty_type = strategy.percent_of_equity, default_qty_value = 10: These parameters set the default quantity for trades. The default_qty_type is set to strategy.percent_of_equity, which means that the size of each trade will be a percentage of the account equity. The default_qty_value is set to 10, which means that each trade will be 10% of the account equity.
4. initial_capital= 10000: This parameter sets the initial capital for the strategy to $10,000.
Bank Nifty ScalpingThis indicator is designed for scalping purposes.
Users have the option to input the desired source and enable or disable the following indicators:
Multiple EMA (Exponential moving average)
Simultaneously displays multiple moving averages to quickly identify shifts in momentum and obtain confirmation from slower-moving averages.
By default, the EMA display settings are configured to show the 20-day EMA and the 200-day EMA. However, users have the flexibility to modify the display settings according to their preferences. This means that users can customize the indicator to show the EMA values of their choice, such as EMA 50 and EMA 100.
VWAP ( Volume weighted average price )
Default value is set to ‘hl2’
A bullish trend is indicated when the price is above the Volume Weighted Average Price (VWAP), while a bearish trend is indicated when the price is below the VWAP.
VWMA ( Volume weighted moving average )
In the VWMA (Volume Weighted Moving Average) indicator, a default value of 20 is used. If the price is higher than the VWMA, it typically indicates a bullish trend. Conversely, if the price is lower than the VWMA, it suggests a bearish trend. The VWMA takes into account both price and volume, providing a weighted average that can help identify shifts in market sentiment.
Multiple SuperTrends
Default value is 10 and 2 / 10 and 3
A bullish trend is identified when the price is above the SuperTrend indicator, whereas a bearish trend is observed when the price is below the SuperTrend indicator.
Camarilla Pivot Points (Level 3 and 4 only)
Levels 3 and 4 serve as crucial support and resistance levels, acting as the final line of defense against strong trends. These levels are expected to generate reversals, where price often changes direction.
CPR ( Central Pivot Points)
The Daily Central Pivot Point Indicator is a popular tool used in technical analysis. It calculates several levels based on the previous day's high, low, and closing prices.
Strong Volume
The user has the ability to set the average volume for Nifty and BankNifty indices to calculate strong volume.
Elder Impulse System
The Impulse System, developed by Alexander Elder and discussed in his book "New Trading for a Living," is a censorship trading system designed to determine whether a trade should be allowed or prohibited. Additionally, it can be used to identify when a trend is starting to weaken. The Impulse System relies on the following factors:
1. Slope of a Fast Exponential Moving Average (EMA): The fast EMA's slope reflects the price's inertia or momentum.
2. Slope of the Moving Average Convergence Divergence (MACD): The MACD's slope indicates the strength or power of the price movement.
Based on these factors, the Impulse System categorizes candles or price bars into three colors:
* Green Candle: When both the fast EMA and MACD are rising, indicating upward momentum.
* Red Candle: When both the fast EMA and MACD are declining, suggesting downward momentum.
* Blue Candle: In all other cases where the conditions for green or red candles are not met, representing a neutral or uncertain market condition.
By applying the Impulse System, traders can gain insights into the market trend, its strength, and potential shifts in momentum, helping them make informed trading decisions.
Happy Trading
Price Delta HeatmapThe Price Delta Heatmap is an indicator designed to visualize the price changes of an asset over time. It helps traders identify and analyze significant price movements and potential volatility. The indicator calculates the price delta, which is the difference between the current close price and the previous close price. It then categorizes the price deltas into different color ranges to create a heatmap-like display on the chart.
The indicator uses user-defined thresholds to determine the color ranges. These thresholds represent the minimum price change required for a specific color to be assigned. The thresholds are adjustable to accommodate different asset classes and trading strategies. Positive price deltas are associated with bullish movements, while negative price deltas represent bearish movements.
The indicator plots bars color-coded according to the price delta range it falls into. The color ranges can be customized to match personal preferences or specific trading strategies. Additionally, the indicator includes signal shapes below the bars to highlight significant positive or negative price deltas. Traders can adjust the threshold values based on their preferred sensitivity to price changes. Higher threshold values may filter out minor price movements and focus on more significant shifts, while lower threshold values will capture even minor fluctuations.
****The default settings have the thresholds set to levels of 100, 50, 20, 10, 0, -10, -20, -50, and -100. These numbers are well-suited for assets such as Ethereum or Bitcoin which are larger in price than an asset that has a price of $1.50, for example. To compensate, adjust the thresholds in the settings to reflect the price delta on the desired asset. All coloration and horizontal line plots will adjust to reflect these changes.****
Traders can interpret the Price Delta Heatmap as follows:
-- Bright green bars indicate the highest positive price deltas, suggesting strong bullish price movements.
-- Green bars represent positive price deltas above the third threshold, indicating significant bullish price changes.
-- Olive bars indicate positive price deltas above the second threshold, suggesting moderate bullish price movements.
-- Yellow bars represent positive price deltas above the lowest threshold, indicating minor bullish price changes. This color is reflected on the negative side as well. Yellow bars below zero indicate negative price deltas below the lowest threshold, suggesting minor bearish price changes.
-- White bars represent zero price deltas, indicating no significant price movement.
-- Orange bars represent negative price deltas below the second threshold, indicating moderate bearish price movements.
-- Red bars indicate negative price deltas below the third threshold, suggesting significant bearish price changes.
-- Maroon bars represent the lowest negative price deltas, indicating strong bearish price movements.
The coloration of the Price Delta line itself is determined by the line's relation to the second positive and second negative thresholds (default +/- 20) - if the line is above the second positive threshold, the line is colored lime (and is reflected in a lime arrow at the bottom of the indicator); if the line is below the second negative threshold, the line is colored fuchsia (also reflected as an arrow); if the line is between thresholds, it is colored aqua.
The Price Delta Heatmap can be used in various trading strategies and applications. Some potential use cases include:
-- Trend identification : The indicator helps traders identify periods of high volatility and potential trend reversals.
-- Volatility analysis : By observing the color changes in the heatmap, traders can gauge the volatility of an asset and adjust their risk management strategies accordingly.
-- Confirmation tool : The indicator can be used as a confirmation tool alongside other technical indicators, such as trend-following indicators or oscillators.
-- Breakout trading : Traders can look for price delta bars of a specific color range to identify potential breakout opportunities.
However, it's important to note that the Price Delta Heatmap has certain limitations. These include:
-- Lagging nature : The indicator relies on historical price data, which means it may not provide real-time insights into price movements.
-- Sensitivity to thresholds : The choice of threshold values affects the indicator's sensitivity and may vary depending on the asset being traded. It requires experimentation and adjustment to find optimal values.
-- Market conditions : The indicator's effectiveness may vary depending on market conditions, such as low liquidity or sudden news events.
Traders should consider using the Price Delta Heatmap in conjunction with other technical analysis tools and incorporate risk management strategies to enhance their trading decisions.
US Inversions & RecessionsUnderstand when the US yield curve inverted and when recessions took place. Select from Federal Funds Rate, 3 month yield, 2 year yield and 10 year yield.
Default ratio = Federal Funds Rate / 10 year yield
When line goes from white to red = inversion
When line goes from red to white = un-inversion
Yellow shading shows times when the rates are inverted.
Blue shading shows when recessions officially occurred.
SmartVPSGTitle: Identifying Volume Spikes, Price Movements and Gap Ups: A TradingView Script
Introduction:
In the world of trading, identifying volume spikes and price movements can provide valuable insights into market trends and potential trading opportunities. In this article, we'll explore a TradingView script that helps traders visualize volume spikes, price up moves with volume spikes, and gap-up days on their charts.
Detecting Price Up Moves:
The script starts by calculating price up moves. It compares the current day's closing price with the previous day's closing price and checks if it has increased by 3% or more. This helps traders spot significant upward price movements.
Detecting Volume Spurts:
Next, the script focuses on detecting volume spikes, which are often associated with increased market activity and potential trading opportunities. It compares the current day's volume with the highest volume of the previous nine sessions. If the current volume exceeds all the volumes of the previous nine sessions, it is considered a volume spurt.
Example:
Let's consider a hypothetical scenario where we have the following volume data for a stock:
Day 1: 100,000
Day 2: 80,000
Day 3: 120,000
Day 4: 150,000
Day 5: 200,000
Day 6: 90,000
Day 7: 110,000
Day 8: 130,000
Day 9: 140,000
Day 10: 250,000 (current day)
To determine if there is a volume spurt on Day 10, the script compares the current day's volume (250,000) with the highest volume of the previous nine sessions. In this case, the highest volume among the previous nine sessions is 200,000 (on Day 5). Since the current day's volume (250,000) exceeds the highest volume of the previous nine sessions (200,000), it is considered a volume spurt.
Identifying Gap-Up Days:
Gap-up days occur when the market opens significantly higher than the previous day's close. To identify these days, the script compares the current day's low price with the previous day's high price. If the low price is greater than the previous day's high, it is marked as a gap-up day.
Visualizing the Findings:
To provide a clear visual representation of the identified patterns, the script uses different shapes and colors. First, it plots small red dots above the candles whenever a volume spurt is detected. These dots help traders quickly identify periods of increased volume activity.
For price up moves with volume spikes, the script utilizes blue triangular shapes below the candles. This allows traders to pinpoint instances where both price and volume are showing positive signs, indicating potential bullish movements.
Additionally, the script incorporates green candles to represent gap-up days. These candles help traders recognize days when the market opens with a significant upward gap, suggesting a potential shift in market sentiment.
Conclusion:
The TradingView script discussed in this article provides traders with a visual representation of volume spikes , price up moves with volume spikes , and gap-up days . By incorporating these visual cues into their analysis, traders can gain valuable insights into market trends and potential trading opportunities.
Remember, this script should be used for educational and informational purposes only and does not serve as financial advice or recommendations. Traders are encouraged to customize and modify the script according to their specific trading strategies and risk tolerance.
Share this script with other traders on TradingView to enhance their chart analysis and trading decisions.
PS: This TradingView script is designed to work specifically on the daily timeframe (daily candles). It calculates and identifies volume spurts based on the volume data of the daily timeframe. Since it is designed for the daily timeframe, it may not produce accurate results or work as intended on other timeframes.
Total ReturnThis script calculates a Total Return index for stocks that shows the total performance of a stock, incorporating returns from both the share price and dividends.
To understand this, consider the situation where you invest in a 5% div stock and hold the position for 10 years. Assume at the end of 10 years, the price has gone up by 50%. A price chart will then show a 50% return, but in reality the investor has also received 50% of the initial investment in dividends, making his total return substantially more. Exactly how much more depends on whether the investor reinvested the dividends in the stock, or just held them as cash. If the former, his total return will be well over 100%; in the latter, his total return will be 100% exactly.
There are 2 input options:
- Dividend type: allows the user to choose "gross" or "net". Note that most stocks will have a "gross" data series whereas many will not have a "net" series.
- Reinvestment: allows the user to choose whether dividends should be reinvested in the stock ("Yes") or held in cash ("No").
Total return formula:
- With reinvestment: log((today's closing price + dividends paid today) / (yesterday's closing price))
- Without reinvestment: log(today's closing price / yesterday's closing price) + log (dividends paid thus far / first closing price)
Support Resistance Classification [LuxAlgo]The Support Resistance Classification indicator shows SR levels from a user-defined range using higher time-frame data (HTF). Levels are classified 1 through 10 based on their strength, with lower values indicating stronger support/resistance levels.
This indicator doesn't use visible range functionality, in contrast to our Support Resistance Classification (VR) indicator, it uses a set lookback period to find support/resistance levels.
Since both techniques cannot be used together in 1 script, we developed a separate, NON-VR version.
🔶 USAGE
Certain indicators on higher timeframes can provide longer-term support/resistance levels on lower timeframes. Users can use the provided levels and use them as references for future support/resistance levels.
The classification algorithm measures the strength of a support/resistance level using the set range and is in a range of 1 to 10, with higher values indicating a weaker support/resistance.
Supports/resistances highlighted by the indicator can be used for future applications by marking them on the chart (quickly done with alt + h).
🔶 DETAILS
All calculations are based on what is seen in the last amount of bars, which is the period between the blue vertical line and the last candle:
Since only Swings which are not broken are included, every break would exclude that swing. Therefore, even when 'value' is chosen at Settings ('Value'), breaks are always calculated on the entire line.
🔶 SETTINGS
Lookback: Amount of bars from current bar to x bars back , this is the period where support/resistance levels are calculated.
Fade: After x breaks the line becomes invisible
Value:
value:
• SMA, upper/lower: the breaks are triggered on the moving average itself
• Fibonacci Pivot Point levels, Previous High, Previous Low: only last HTF values can be used for breaks
• Swings (see SWING SETTINGS)
line:
• SMA, upper/lower: the breaks are triggered on the entire line, based on its latest value
• Fibonacci Pivot Point Levels, Previous High, Previous Low: breaks are triggered on the entire line, based on its latest value
• Swings (see SWING SETTINGS)
🔹 Swing Settings
Swings are always calculated at the current timeframe, setting an HTF is not applicable to Swings.
Left/Right: for Swing calculation ( pivothigh , pivotlow )
Show: enables you to see the pivot points
🔹 Set
N°: The concerning number
TYPE:
• SMA (Simple Moving Average)
• Previous High/Low
• Upper/Lower ( Bollinger Bands )
• Pivot Point levels : "Fibonacci"
LENGTH: sets the 'Number of bars', needed for calculations (applicable for SMA, upper/lower)
MULT: sets the 'Standard deviation factor' (only applicable for upper/lower - BB)
HTF: sets 'Higher Time Frame' (applicable for SMA, upper/lower, Previous High/Low, Fibonacci)
🔹 Show Values
You can make up to 5 values visible (if you want to check/verify), except for Swings (see SWING SETTINGS)
To do so, enable (A -> E), and choose the N° you want to see.
This also is a useful tool if you're not sure which value you want to set.
Turtle Soup IndicatorTurtle Soup Indicator plots a shape when we have a 20-period high or 20-period low.
Turtle Soup Setup
The Turtle Soup setup was published in the book Street Smarts by Laurence A Connors and Linda Raschke. You can learn about it there. It is a great setup for false breakouts or breakdowns in the group failure tests.
Going long
1) We have a new 20-period low
2) that must have occured at least four trading sessions earlier <- this is very important
Then we place a buy stop above 5-10 ticks or 5 to 10 cents above the previous 20-period low.
If filled immediately place a good til cancelled sell stop one tick or one cent below todays low.
Turtle Soup Plus One
Similar to above but occurs one day later. It should close at/below previous 20-period low.
Buy stop at earlier 20 day low. Cancel fi not filled on day 2.
Take partials within 2-6 bars on this one and trail stop rest of position.
Going short
Reverse
Time frames
Works on all timeframes. Only adjust stoplosses accordingly to chosen timeframe.
Settings
You can change the color, shape and placement of the indicator shape. I actually prefer a grey color for both highs and lows as the color actually doesn't add much information. The placement says it all but it is up to you to change this as you like.
7 Closes above/below 5 SMAThis script looks for 7 consecutive closes above/below the 5-period SMA. The indicator is inspired by legendary trader Linda Raschke's work.
Usage
The script can can be used in three main ways. I think you will find more uses.
First are the two models for which the indicator was created, both inspired by Raschke:
1) Persistency of trend / Extended run setup.
Around 10-12 times per year we get a persistency of trend in instruments in general.
After 7 consecutive closes above/below the 5-period as price pulls back we can look to enter in the direction of the main trend as it moves up/down above/below 5 ma again. You should use price action trading to pinpoint the entries. Now try to hold this as long as possible. Way longer than you can percieve or think is possible. Up to 24-28 periods is what we are looking for in these cases.
2) Normal usage.
When the trend is not persistent, it is possible to use this as an oscillating signal, for a shorter term trade, where we can look for a short or long term reversal setup in price action.
3) I also use it at as a learning to see the swing trades clearer. You can also use it as a visual aid for developing new variances of the classic swing trading setup.
Read and listen to Linda Raschkes work to learn more.
TIme frames
The principles works in all time frames but may change depending on calendar differences. We will see more instances/year in shorter time frames.
Why closes above the 5 SMA
As you may or may not know the 5 SMA is a very important indicator. You can think of it like this, If price is above 5, it is innocent until proven guilty but if price is below 5 we use the french law system which means it is guilty until proven innocent. 7 closes above 5 is a very good predictor of possible short term direction changes.
Use together with:
I prefer to use this indicator together with either regular SMA:s, one short and one macro term. For example 10 ma and 100 ma.
Or you can use it with a a Hull 21-period MA together with a 240-period WMA.
Settings:
I added settings so you can change preferences for changing shape, where to display the shape and in what color
Visual aid
I wanted to keep one dot for each consecutive day, this way we will get a grouping of days and dots. The amount in this group can be of use in itself to inform you of the strength of trend. This can inform you if this oscillation predicts a short term eversal or a continuation. You need skills in reading price action to use this to your advantage.
Support Resistance Classification (VR) [LuxAlgo]The Support Resistance Classification (VR) indicator shows SR levels on any chart's visible range using higher time-frame data (HTF). Levels are classified 1 through 10 based on their strength, with lower values indicating stronger support/resistance levels.
This indicator uses visible range functionality, whereas if you adjust your chart to show previous price data, the indicator may show new levels.
🔶 USAGE
Certain indicators on higher timeframes can provide longer term support/resistance levels on lower timeframes. Users can use the provided levels on a chart visible range and use them as reference for future support/resistance levels.
The classification algorithm measures the strength of a support/resistance level using the entire chart visible range and is in a range of 1 to 10, with higher values indicating a weaker support/resistance.
Supports/resistances highlighted by the indicator can be used for future applications by marking them on the chart (quickly done with alt + h).
🔶 DETAILS
All calculations are based on what you see on the Visible Chart, as such changing the chart will recalculate the indicator.
Since only Swings which are not broken are included, every break would exclude that swing. Therefore, even when 'value' is chosen at Settings ('Value'), breaks are always calculated on the entire line.
🔶 SETTINGS
Fade: After x breaks the line becomes invisible
Value:
value:
• SMA, upper/lower: the breaks are triggered on the moving average itself
• Fibonacci Pivot Point levels, Previous High, Previous Low: only last HTF values can be used for breaks
• Swings (see SWING SETTINGS)
line:
• SMA, upper/lower: the breaks are triggered on the entire line, based on its latest value
• Fibonacci Pivot Point Levels, Previous High, Previous Low: breaks are triggered on the entire line, based on its latest value
• Swings (see SWING SETTINGS)
🔹 Swing Settings
Swings are always calculated at current timeframe, setting a HTF is not applicable on Swings.
Left/Right: for Swing calculation ( pivothigh , pivotlow )
Show: enables you to see the pivot points
🔹 Set
N°: The concerning number
TYPE:
• SMA (Simple Moving Average)
• Previous High/Low
• Upper/Lower ( Bollinger Bands )
• Pivot Point levels : "Fibonacci"
LENGTH: sets the 'Number of bars', needed for calculations (applicable for SMA, upper/lower)
MULT: sets the 'Standard deviation factor' (only applicable for upper/lower - BB)
HTF: sets 'Higher Time Frame' (applicable for SMA, upper/lower, Previous High/Low, Fibonacci)
🔹 Show Values
You can make up to 5 values visible (if you want to check/verify), except for Swings (see SWING SETTINGS)
To do so, enable (A -> E), and choose the N° you want to see.
This also is a useful tool if you're not sure which value you want to set.
NSDT Horizontal VWAPThis script plots VWAP as a horizontal line starting at the most recent candle and extending backwards for a period of 10 to make it easier to see. (default is 10 but can be changed to fit your needs)
You may only want to see where VWAP is currently and not need to see the entire day. Helps keep the chart clean.
Colors and line settings can all be modified.
You can show the original VWAP plot as well for reference.
What Is the Volume-Weighted Average Price (VWAP)?
The volume-weighted average price (VWAP) is a technical analysis indicator used on intraday charts that resets at the start of every new trading session.
It's a trading benchmark that represents the average price a security has traded at throughout the day, based on both volume and price.
VWAP is important because it provides traders with pricing insight into both the trend and value of a security.
EquiVolume [LuxAlgo]EquiVolume is a charting method that aims to incorporate volume information to a candlestick chart. Volume is highlighted through the candle body width, with wider candles suggesting more significant volume.
Our script shows an EquiVolume chart for the visible chart range. Additionally regular volume can be plotted as a column plot with the column's width controlled by volume.
🔶 SETTINGS
🔹 Options
Chart: Shows candles with volume adjusted width.
Volume: Shows volume with volume adjusted width.
🔹 Intrabar Analysis
Enable/disable: When LTF is enabled, the script will calculate the % volume/candles in the same direction than current timeframe.
You can choose a LTF between 1 and 240 minutes.
Type %:
- Volume: sum of volume of all LTF candles, which are in the same direction.
- #bars: sum of all LTF candles, which are in the same direction.
🔹 Width Boxes (bars)
Minimum width: sets the minimum width of a box (candle/volume)
Maximum width: sets the maximum width of a box (candle/volume)
🔶 USAGE
This charting method makes it easier to spot large volume candles, against comparing candles to volume.
Another example:
Additionally, users can make the script perform an intrabar analysis on the chart candles, allowing to highlight bullish/bearish activity within a candle. The script can estimate bullish/bearish trading activity within a candle or simply use intrabar candle signs.
Example
- 15-minute candle is green
- 10 1-minute candles (LTF) IN that 15-minute candle are green -> 10/15 = 66,667%
-> The current 15-minute candle will be 66,667% filled with green color.
Note that the script will draw everything from last visible bar at the right to left, as such you can scroll backwards, and the script will show you the data of the visible chart.
Scrolling back will return the following result:
🔶 REMARKS
When the LTF is too far apart from current timeframe, you should get an error. To prevent this, the LTF will automatically rise, giving no error.
When this happens, the adjusted LTF will be displayed. Do note, due to a maximum available LTF data, sometimes boxes won't always be visible (since there is no LTF data anymore)
To solve this, just elevate your LTF:
When the set LTF is higher than current TF, you would normally get an error as well.
This script will automatically adjust the LTF to current TF, together with a visible warning (no error though).
Due to the inability to draw a line in the space between bars, sometimes a wick won't be placed exactly in the middle.
X48 - Strategy | ADAPTIVE CONSECUTIVE + TP/SL | V.1Thanks For Tradingview Built-in Script :: << Original From Consecutive Strategy Built-in Script >>
================== Read This First Before Use This Strategy ==============
Please be aware that this strategy is not a guarantee of success and may lead to losses.
Trading involves risk and you should always do your own research before making any decisions.
This Strategy Just an Idea For Help Your Decision For Open Position.
You Must Be Search and Make Your Self Understand What You Doing In This Strategy.
Example :: This Strategy and Indicator Find The Consecutive Bars And You, You Are Reading Must Be Decision Up to You !!
For Backtest Show It's That For a Newbie 100$ Portfolio and 16.333$ Per Order Size
>>>> Read Me First !! <<<<<
========== Detailed and meaningful description =========
How It's Work : This Strategy are Following Green or Red Candle :: example 3 Green Candle To OpenLong Position
Can Set TP/SL if you want :: Just Fine The Best Value of Asset as you want
Fast Trend = MA FAST LINE
SLOW Trend = MA SLOW LINE
MID-TERM TREND = MA MID-TERM
LONG-TERM TREND = MA LONG-TERM
=========== Condition And Statement ===========
Long Condition Statement :: Candles Consecutive Bars Up and close > golden_line and fast_line > golden_line
Short Condition Statement :: Candles Consecutive Bars Down and close < golden_line and fast_line < golden_line
AutoCloseLong Condition :: Candles ConsecutiveBarsDownStop and close > golden_line and close < death_line and close < death_line and close < death_line or fastUpdeath
AutoCloseShort Condition :: Candles ConsecutiveBarsUpStop and close < golden_line and close > death_line and close > death_line and close > death_line or fastUpdeath
====== For ADAPTIVE you can customize your ALL MA For Your Statement
/////////For Example Hook Alert Command ////////////
Just Easy Command >> :: {{strategy.order.alert_message}}
Or Other Json You Should Edit Command Like This Example
{"ex":"'bnfuture'","side": "AutoLong", "$16.333", "symbol": "{{ticker}}", "passphrase": "1234","leverage":"10", "tp" : "5", "sl" : "2", "tl" : "2", "callback" : "1"}
{"ex":"'bnfuture'","side": "AutoShort", "$16.333", "symbol": "{{ticker}}", "passphrase": "1234","leverage":"10", "tp" : "5", "sl" : "2", "tl" : "2", "callback" : "1"}
NOMMO AUTOMATE🖖 Hi all!
Check out my NOMMO AUTOMATE indicator for trend detection, trend change points, hedging opposite trend impulses.
What the script do:
☑️ Detecting local and global trends and trend change points, detecting opposite to current trend impulses.
How the script do it:
☑️ The indicator compares RSI indicators on chosen by user Trend TF1 and Trend TF2 and marks trend change points.
☑️ The indicator compares different length HMA indicators on chosen by user Hedge TF to detect opposite to current trend impulses.
How to use it:
☑️ There are 4 states in the indicator: Long, Short, Flat, Hedge, marked by corresponding (adjustable) color zones, where Long = uptrend, Short = downtrend, Flat = sideways movement, Hedge = possible impulse in the opposite trend direction.
☑️ Select Trend TF1 and Trend TF2 and RSI length to determine the trend, depending on how a big picture you want to see, the more major TF you choose the more global picture of the trend change you get.
☑️ Select Hedge TF to determine the possible impulses opposite to the current trend (does not work in detected Flat movement).
☑️ For each trading pair you need to try individual settings, the default settings I use for BTC swing trading, to reduce the noise level of hedging put Hedge TF the same as the smaller Trend TF.
☑️ Try different settings, experiment and you will find the most suitable settings for your trading pair.
How magic works:
☑️ RSI Trend TF1 > 50 + RSI Trend TF2 > 50 = Long
☑️ RSI Trend TF1 > 50 + RSI Trend TF2 < 50 = Flat
☑️ RSI Trend TF1 < 50 + RSI Trend TF2 > 50 = Flat
☑️ RSI Trend TF1 < 50 + RSI Trend TF2 < 50 = Short
☑️ Long + Hedge TF (HMA 10 < HMA 70 < HMA 200) = Hedge
☑️ Short + Hedge TF (HMA 10 > HMA 70 > HMA 200) = Hedge
For example:
☑️ Try Trend TF1 = 1D, Trend TF2 = 1D and Hedge TF = 1D, with RSI period = 21, to check mid-term trend on BTCUSD
May the trade force be with you.
Rounded Forex Levels: Big-Figure, Mid-Figure, 80-20 levels, BFRNSimple indicator to show Rounded levels in typical Forex pairs: Big figure, Mid-figure, 80-20 Insitutional Levels, 10pip levels, 5pip levels
Wrote this indicator because other ones out there seem to clutter the chart. This is simple, low-clutter and can be set by user to have arbitrary start and end points for the lines.
I wanted the ability for lines to plot discreetly to the right hand side of price as in the chart above, since in my opinion, these are only of secondary consideration to a trader, an extra confirmation/confluence to an existing idea.
//Purpose & Usage:
-Big-figure levels (100pips) & Mid-figure levels (50pips) will have a senstitivity to price, that can be an additional tool when looking for confluence for a target or an entry.
-As well as BF levels and MF levels; Institutional levels (20pips below and 20 pips above a Big Figure level) and standard 10pip or 5pip levels, can be useful in the right context (i.e added confirmation that of a minor sweep target; added conviction in an idea if the level aligns with another seperately derived level).
//User inputs:
-Toggle on/off each of the types of level.
-Line spacing: choose pip spacing of lines .
-Number of lines above/below (i.e. setting of 5 will be 11 lines. One central, 5 above, 5 below).
-Formatting: for each class of lines, code by color, style and width (as per the example chart below).
-Line start offset and line end offset: bars forward/back for each of start point and end point. So lines could be spread right across chart; or neatly pushed to the far right or left of the chart.
//Notes:
-Designed for typical Forex pairs with units close to 1.0 (like Eur/Usd, Usd/Cad, Aud/Usd, Gbp/Usd, Eur/Gbp, Nzd/Usd).
-Lines are based from the rounded close of the previous bar, Updating (if applicable) on each new bar.
Demo Plotting levels in the past; Dialog box example display:
Acceleration-Based MA Slope PredictionHello traders,
I developed this indicator while working on a trading strategy using moving average slope and acceleration, and I found the concept interesting enough to share it.
Let me briefly explain this indicator.
----About White Plot----
1. Calculate the first derivative approximation at the current point of the Moving Average, and then calculate the second derivative approximation to obtain the 'Acceleration'.
2. Where the acceleration is 0, it signifies a change in the force of the moving average.
3. Therefore, by drawing a parabola based on the acceleration at that time, can depict the parabolic shape of the moving average.
This is represented as a white circle on the indicator.
4. These circles are reset at the next point where the acceleration is 0, indicating a change in the parabolic force.
If the moving average rises more sharply than the predicted value of the rising parabola, a more drastic increase is expected.
5. In this case, you can start risk management around the time the drawn parabola breaks.
(The actual MA is represented by green/red lines)
6. Before the trend changes, i.e., before the direction of the moving average changes, there is a section where the acceleration is 0, and this is represented on the chart as follows.
(The lower indicator shows the acceleration of the corresponding parabola)
----About Red Plot----
1. Calculate the first derivative approximation of the moving average value, the 'slope'.
2. Where the slope is 0, it represents the extreme point of the parabola.
3. Therefore, by using the acceleration at that point as the coefficient of the quadratic function and setting the extreme point as a vertex, we can draw a quadratic function. This is represented as a red circle on the indicator.
(Keep in mind that the actual moving average is not a quadratic function; this is a "forced" quadratic function assuming the parabola is maintained)
4. These circles are reset at the next extreme point where the slope is 0, and a new quadratic function is created.
Based on the formula obtained in the above process, you can predict the future moving average through 'offset'.
5. That is, if the x value at the current point is 'k', you can predict the moving average one candle ahead by substituting (k+1) into the quadratic function.
The predicted value at the past position is shown as a red circle.
6. The smoother the chosen moving average, the fewer extreme points will appear, and the higher the likelihood of the parabola fitting.
For the T3 set as the default value, it shows very high accuracy even when predicting about 20 candles ahead.
On the other hand, rough moving averages like SMA have limited prediction value.
(SMA 60, offset = 10)
--------
The moving average with a very high level of accuracy is JMA (Jurik Moving Average). However, since the code for this moving average is not public, I recommend those interested to check it through my code.
Additionally, I believe the code of this indicator I've uploaded has significant utility.
As an example, you can use the breaking point of the parabola predicted by the acceleration to determine when the force changes again for entries/losses. There are many other possible applications as well.
I look forward to seeing more excellent results from this indicator.
--------
안녕하세요 트레이더여러분.
이 지표는, 제가 이동평균선의 기울기와 가속도를 이용하여 매매를 하기 위한 지표를 개발하다가, 흥미로운 내용이라고 판단하여 만들게 되었습니다.
이 지표에 대해 간단히 설명드리겠습니다.
----하얀색 플롯에 대해----
1. 이동평균선이 진행되는 현재 시점에서 미분의 근사값을 구하고, 다시 한 번 미분의 근사값을 구해서 '가속도'를 얻습니다.
2. 가속도가 0이 되는 곳은, 곧 해당 이동평균선의 힘이 바뀌는 곳을 의미합니다.
3. 따라서, 그 당시 시점 기준으로 포물선을 그려낸다면, 가속도를 이용하여 해당 이동평균선의 포물선을 그려낼 수 있습니다. 이것은 지표의 하얀색점로서 표기됩니다.
4. 이 때, 이러한 점들은 다음의 가속도가 0이 되는 지점, 즉 포물선의 힘이 바뀌는 곳에서 다시 초기화됩니다.
5. 올라가고 있던 포물선에서의 예측치보다 이동평균선이 더 급하게 올라간다면, 더욱 급격한 상승이 예상됩니다. 이 경우, 그려지고있는 포물선이 깨질 때쯤부터 리스크 관리를 시작할 수 있습니다.
(녹색/빨간색의 선으로 실제 MA를 표현했습니다. 거슬리시면 '모습'가셔서 끄셔도 좋습니다. )
6. 추세가 변경되기 전, 즉 이동평균선의 방향이 바뀌기 전에는 가속도가 0이 되는 구간이 존재하고, 그것이 차트 위에 다음과같이 표현됩니다.
(하단의 지표는, 해당 포물선의 가속도을 나타냅니다)
----붉은색 플롯에 대해----
1. 이동평균선 값을 미분 근사값 즉, '기울기'를 구합니다.
2. 기울기가 0이 되는 곳은, 포물선이 극점이 되는 곳을 뜻합니다.
3. 따라서, 해당 시점의 가속도를 2차함수의 계수로 하여, 또한 해당 극점을 하나의 꼭지점으로 설정하여,이차함수를 그려낼 수 있습니다. 이것은 지표의 빨간색점으로서 표현됩니다.
(실제 이동평균선은 2차함수가 아니기에, 포물선이 유지된다는 가정 하에 "억지로"만들어낸 이차함수입니다)
4. 이 때, 이러한 점은 다음 극점이 0이 되는 곳에서 초기화되고 이차함수가 만들어집니다.
5. 위의 과정에서 얻은 식을 바탕으로 'offset'을 통해 미래의 이동평균선을 예측할 수 있습니다.
즉, 현재시점의 x값을 'k'라고 한다면, (k+1)을 이차함수에 대입하여 1캔들 앞의 이동평균선을 예측할 수 있습니다.
해당 예측치가 지나간 자리는, 빨간색점을 통해 보여집니다.
6. 선택한 이동평균선이 스무스할수록 극점은 덜 등장하게되고, 포물선의 위치가 맞아들어갈 가능성이 높습니다.
현재 디폴트값으로 설정된 T3의 경우, 약 20캔들 앞을 예측해도 매우 높은 정확도를 보여줍니다.
반면에, SMA와 같이 울퉁불퉁한 이동평균선은 가능한 예측치가 크지 않습니다.
(SMA 60, offset=10)
--------
매우 높은 수준의 정확도를 보여준 이동평균선은 JMA(Jurik Moving Average)입니다. 다만 이 이동평균선은 코드가 공개되지 않았기때문에, 관심있으신 분은 저의 코드를 통해 한번 확인해보시길 권장드립니다.
추가로, 제가 올린 이 지표의 코드는 이용가치가 높다고 생각합니다.
하나의 예시로서, 가속도로 예측한 포물선이 깨지는 곳을 기준으로, 힘이 다시 한 번 바뀌는 것을 이용해 진입/로스를 할 수 있습니다. 그 외에도 매우 다양한 활용이 가능합니다.
이 지표를 통해 더욱 좋은 새로운 결과물이 나오길 기대해봅니다.
Adaptive Candlestick Pattern Recognition System█ INTRODUCTION
Nearly three years in the making, intermittently worked on in the few spare hours of weekends and time off, this is a passion project I undertook to flesh out my skills as a computer programmer. This script currently recognizes 85 different candlestick patterns ranging from one to five candles in length. It also performs statistical analysis on those patterns to determine prior performance and changes the coloration of those patterns based on that performance. In searching TradingView's script library for scripts similar to this one, I had found a handful. However, when I reviewed the ones which were open source, I did not see many that truly captured the power of PineScrypt or leveraged the way it works to create efficient and reliable code; one of the main driving factors for releasing this 5,000+ line behemoth open sourced.
Please take the time to review this description and source code to utilize this script to its fullest potential.
█ CONCEPTS
This script covers the following topics: Candlestick Theory, Trend Direction, Higher Timeframes, Price Analysis, Statistic Analysis, and Code Design.
Candlestick Theory - This script focuses solely on the concept of Candlestick Theory: arrangements of candlesticks may form certain patterns that can potentially influence the future price action of assets which experience those patterns. A full list of patterns (grouped by pattern length) will be in its own section of this description. This script contains two modes of operation for identifying candlestick patterns, 'CLASSIC' and 'BREAKOUT'.
CLASSIC: In this mode, candlestick patterns will be identified whenever they appear. The user has a wide variety of inputs to manipulate that can change how certain patterns are identified and even enable alerts to notify themselves when these patterns appear. Each pattern selected to appear will have their Profit or Loss (P/L) calculated starting from the first candle open succeeding the pattern to a candle close specified some number of candles ahead. These P/L calculations are then collected for each pattern, and split among partitions of prior price action of the asset the script is currently applied to (more on that in Higher Timeframes ).
BREAKOUT: In this mode, P/L calculations are held off until a breakout direction has been confirmed. The user may specify the number of candles ahead of a pattern's appearance (from one to five) that a pattern has to confirm a breakout in either an upward or downward direction. A breakout is constituted when there is a candle following the appearance of the pattern that closes above/at the highest high of the pattern, or below/at its lowest low. Only then will percent return calculations be performed for the pattern that's been identified, and these percent returns are broken up not only by the partition they had appeared in but also by the breakout direction itself. Patterns which do not breakout in either direction will be ignored, along with having their labels deleted.
In both of these modes, patterns may be overridden. Overrides occur when a smaller pattern has been detected and ends up becoming one (or more) of the candles of a larger pattern. A key example of this would be the Bearish Engulfing and the Three Outside Down patterns. A Three Outside Down necessitates a Bearish Engulfing as the first two candles in it, while the third candle closes lower. When a pattern is overridden, the return for that pattern will no longer be tracked. Overrides will not occur if the tail end of a larger pattern occurs at the beginning of a smaller pattern (Ex: a Bullish Engulfing occurs on the third candle of a Three Outside Down and the candle immediately following that pattern, the Three Outside Down pattern will not be overridden).
Important Functionality Note: These patterns are only searched for at the most recently closed candle, not on the currently closing candle, which creates an offset of one for this script's execution. (SEE LIMITATIONS)
Trend Direction - Many of the patterns require a trend direction prior to their appearance. Noting TradingView's own publication of candlestick patterns, I utilize a similar method for determining trend direction. Moving Averages are used to determine which trend is currently taking place for candlestick patterns to be sought out. The user has access to two Moving Averages which they may individually modify the following for each: Moving Average type (list of 9), their length, width, source values, and all variables associated with two special Moving Averages (Least Squares and Arnaud Legoux).
There are 3 settings for these Moving Averages, the first two switch between the two Moving Averages, and the third uses both. When using individual Moving Averages, the user may select a 'price point' to compare against the Moving Average (default is close). This price point is compared to the Moving Average at the candles prior to the appearance of candle patterns. Meaning: The close compared to the Moving Average two candles behind determines the trend direction used for Candlestick Analysis of one candle patterns; three candles behind for two candle patterns and so on. If the selected price point is above the Moving Average, then the current trend is an 'uptrend', 'downtrend' otherwise.
The third setting using both Moving Averages will compare the lengths of each, and trend direction is determined by the shorter Moving Average compared to the longer one. If the shorter Moving Average is above the longer, then the current trend is an 'uptrend', 'downtrend' otherwise. If the lengths of the Moving Averages are the same, or both Moving Averages are Symmetrical, then MA1 will be used by default. (SEE LIMITATIONS)
Higher Timeframes - This script employs the use of Higher Timeframes with a few request.security calls. The purpose of these calls is strictly for the partitioning of an asset's chart, splitting the returns of patterns into three separate groups. The four inputs in control of this partitioning split the chart based on: A given resolution to grab values from, the length of time in that resolution, and 'Upper' and 'Lower Limits' which split the trading range provided by that length of time in that resolution that forms three separate groups. The default values for these four inputs will partition the current chart by the yearly high-low range where: the 'Upper' partition is the top 20% of that trading range, the 'Middle' partition is 80% to 33% of the trading range, and the 'Lower' partition covers the trading range within 33% of the yearly low.
Patterns which are identified by this script will have their returns grouped together based on which partition they had appeared in. For example, a Bullish Engulfing which occurs within a third of the yearly low will have its return placed separately from a Bullish Engulfing that occurred within 20% of the yearly high. The idea is that certain patterns may perform better or worse depending on when they had occurred during an asset's trading range.
Price Analysis - Price Analysis is a major part of this script's functionality as it can fundamentally change how patterns are shown to the user. The settings related to Price Analysis include setting the number of candles ahead of a pattern's appearance to determine the return of that pattern. In 'BREAKOUT' mode, an additional setting allows the user to specify where the P/L calculation will begin for a pattern that had appeared and confirmed. (SEE LIMITATIONS)
The calculation for percent returns of patterns is illustrated with the following pseudo-code (CLASSIC mode, this is a simplified version of the actual code):
type patternObj
int ID
int partition
type returnsArray
float returns
// No pattern found = na returned
patternObj TEST_VAL = f_FindPattern()
priorTestVal = TEST_VAL
if not na( priorTestVal )
pnlMatrixRow = priorTestVal.ID
pnlMatrixCol = priorTestVal.partition
matrixReturn = matrix.get(PERCENT_RETURNS, pnlMatrixRow, pnlMatrixCol)
percentReturn = ( (close - open ) / open ) * 100%
array.push(matrixReturn.returns, percentReturn)
Statistic Analysis - This script uses Pine's built-in array functions to conduct the Statistic Analysis for patterns. When a pattern is found and its P/L calculation is complete, its return is added to a 'Return Array' User-Defined-Type that contains numerous fields which retain information on a pattern's prior performance. The actual UDT is as follows:
type returnArray
float returns = na
int size = 0
float avg = 0
float median = 0
float stdDev = 0
int polarities = na
All values within this UDT will be updated when a return is added to it (some based on user input). The array.avg , array.median and array.stdev will be ran and saved into their respective fields after a return is placed in the 'returns' array. The 'polarities' integer array is what will be changed based on user input. The user specifies two different percentages that declare 'Positive' and 'Negative' returns for patterns. When a pattern returns above, below, or in between these two values, different indices of this array will be incremented to reflect the kind of return that pattern had just experienced.
These values (plus the full name, partition the pattern occurred in, and a 95% confidence interval of expected returns) will be displayed to the user on the tooltip of the labels that identify patterns. Simply scroll over the pattern label to view each of these values.
Code Design - Overall this script is as much of an art piece as it is functional. Its design features numerous depictions of ASCII Art that illustrate what is being attempted by the functions that identify patterns, and an incalculable amount of time was spent rewriting portions of code to improve its efficiency. Admittedly, this final version is nearly 1,000 lines shorter than a previous version (one which took nearly 30 seconds after compilation to run, and didn't do nearly half of what this version does). The use of UDTs, especially the 'patternObj' one crafted and redesigned from the Hikkake Hunter 2.0 I published last month, played a significant role in making this script run efficiently. There is a slight rigidity in some of this code mainly around pattern IDs which are responsible for displaying the abbreviation for patterns (as well as the full names under the tooltips, and the matrix row position for holding returns), as each is hard-coded to correspond to that pattern.
However, one thing I would like to mention is the extensive use of global variables for pattern detection. Many scripts I had looked over for ideas on how to identify candlestick patterns had the same idea; break the pattern into a set of logical 'true/false' statements derived from historically referencing candle OHLC values. Some scripts which identified upwards of 20 to 30 patterns would reference Pine's built-in OHLC values for each pattern individually, potentially requesting information from TradingView's servers numerous times that could easily be saved into a variable for re-use and only requested once per candle (what this script does).
█ FEATURES
This script features a massive amount of switches, options, floating point values, detection settings, and methods for identifying/tailoring pattern appearances. All modifiable inputs for patterns are grouped together based on the number of candles they contain. Other inputs (like those for statistics settings and coloration) are grouped separately and presented in a way I believe makes the most sense.
Not mentioned above is the coloration settings. One of the aims of this script was to make patterns visually signify their behavior to the user when they are identified. Each pattern has its own collection of returns which are analyzed and compared to the inputs of the user. The user may choose the colors for bullish, neutral, and bearish patterns. They may also choose the minimum number of patterns needed to occur before assigning a color to that pattern based on its behavior; a color for patterns that have not met this minimum number of occurrences yet, and a color for patterns that are still processing in BREAKOUT mode.
There are also an additional three settings which alter the color scheme for patterns: Statistic Point-of-Reference, Adaptive coloring, and Hard Limiting. The Statistic Point-of-Reference decides which value (average or median) will be compared against the 'Negative' and 'Positive Return Tolerance'(s) to guide the coloration of the patterns (or for Adaptive Coloring, the generation of a color gradient).
Adaptive Coloring will have this script produce a gradient that patterns will be colored along. The more bullish or bearish a pattern is, the further along the gradient those patterns will be colored starting from the 'Neutral' color (hard lined at the value of 0%: values above this will be colored bullish, bearish otherwise). When Adaptive Coloring is enabled, this script will request the highest and lowest values (these being the Statistic Point-of-Reference) from the matrix containing all returns and rewrite global variables tied to the negative and positive return tolerances. This means that all patterns identified will be compared with each other to determine bullish/bearishness in Adaptive Coloring.
Hard Limiting will prevent these global variables from being rewritten, so patterns whose Statistic Point-of-Reference exceed the return tolerances will be fully colored the bullish or bearish colors instead of a generated gradient color. (SEE LIMITATIONS)
Apart from the Candle Detection Modes (CLASSIC and BREAKOUT), there's an additional two inputs which modify how this script behaves grouped under a "MASTER DETECTION SETTINGS" tab. These two "Pattern Detection Settings" are 'SWITCHBOARD' and 'TARGET MODE'.
SWITCHBOARD: Every single pattern has a switch that is associated with its detection. When a switch is enabled, the code which searches for that pattern will be run. With the Pattern Detection Setting set to this, all patterns that have their switches enabled will be sought out and shown.
TARGET MODE: There is an additional setting which operates on top of 'SWITCHBOARD' that singles out an individual pattern the user specifies through a drop down list. The names of every pattern recognized by this script will be present along with an identifier that shows the number of candles in that pattern (Ex: " (# candles)"). All patterns enabled in the switchboard will still have their returns measured, but only the pattern selected from the "Target Pattern" list will be shown. (SEE LIMITATIONS)
The vast majority of other features are held in the one, two, and three candle pattern sections.
For one-candle patterns, there are:
3 — Settings related to defining 'Tall' candles:
The number of candles to sample for previous candle-size averages.
The type of comparison done for 'Tall' Candles: Settings are 'RANGE' and 'BODY'.
The 'Tolerance' for tall candles, specifying what percent of the 'average' size candles must exceed to be considered 'Tall'.
When 'Tall Candle Setting' is set to RANGE, the high-low ranges are what the current candle range will be compared against to determine if a candle is 'Tall'. Otherwise the candle bodies (absolute value of the close - open) will be compared instead. (SEE LIMITATIONS)
Hammer Tolerance - How large a 'discarded wick' may be before it disqualifies a candle from being a 'Hammer'.
Discarded wicks are compared to the size of the Hammer's candle body and are dependent upon the body's center position. Hammer bodies closer to the high of the candle will have the upper wick used as its 'discarded wick', otherwise the lower wick is used.
9 — Doji Settings, some pulled from an old Doji Hunter I made a while back:
Doji Tolerance - How large the body of a candle may be compared to the range to be considered a 'Doji'.
Ignore N/S Dojis - Turns off Trend Direction for non-special Dojis.
GS/DF Doji Settings - 2 Inputs that enable and specify how large wicks that typically disqualify Dojis from being 'Gravestone' or 'Dragonfly' Dojis may be.
4 Settings related to 'Long Wick Doji' candles detailed below.
A Tolerance for 'Rickshaw Man' Dojis specifying how close the center of the body must be to the range to be valid.
The 4 settings the user may modify for 'Long Legged' Dojis are: A Sample Base for determining the previous average of wicks, a Sample Length specifying how far back to look for these averages, a Behavior Setting to define how 'Long Legged' Dojis are recognized, and a tolerance to specify how large in comparison to the prior wicks a Doji's wicks must be to be considered 'Long Legged'.
The 'Sample Base' list has two settings:
RANGE: The wicks of prior candles are compared to their candle ranges and the 'wick averages' will be what the average percent of ranges were in the sample.
WICKS: The size of the wicks themselves are averaged and returned for comparing against the current wicks of a Doji.
The 'Behavior' list has three settings:
ONE: Only one wick length needs to exceed the average by the tolerance for a Doji to be considered 'Long Legged'.
BOTH: Both wick lengths need to exceed the average of the tolerance of their respective wicks (upper wicks are compared to upper wicks, lower wicks compared to lower) to be considered 'Long Legged'.
AVG: Both wicks and the averages of the previous wicks are added together, divided by two, and compared. If the 'average' of the current wicks exceeds this combined average of prior wicks by the tolerance, then this would constitute a valid 'Long Legged' Doji. (For Dojis in general - SEE LIMITATIONS)
The final input is one related to candle patterns which require a Marubozu candle in them. The two settings for this input are 'INCLUSIVE' and 'EXCLUSIVE'. If INCLUSIVE is selected, any opening/closing variant of Marubozu candles will be allowed in the patterns that require them.
For two-candle patterns, there are:
2 — Settings which define 'Engulfing' parameters:
Engulfing Setting - Two options, RANGE or BODY which sets up how one candle may 'engulf' the previous.
Inclusive Engulfing - Boolean which enables if 'engulfing' candles can be equal to the values needed to 'engulf' the prior candle.
For the 'Engulfing Setting':
RANGE: If the second candle's high-low range completely covers the high-low range of the prior candle, this is recognized as 'engulfing'.
BODY: If the second candle's open-close completely covers the open-close of the previous candle, this is recognized as 'engulfing'. (SEE LIMITATIONS)
4 — Booleans specifying different settings for a few patterns:
One which allows for 'opens within body' patterns to let the second candle's open/close values match the prior candles' open/close.
One which forces 'Kicking' patterns to have a gap if the Marubozu setting is set to 'INCLUSIVE'.
And Two which dictate if the individual candles in 'Stomach' patterns need to be 'Tall'.
8 — Floating point values which affect 11 different patterns:
One which determines the distance the close of the first candle in a 'Hammer Inverted' pattern must be to the low to be considered valid.
One which affects how close the opens/closes need to be for all 'Lines' patterns (Bull/Bear Meeting/Separating Lines).
One that allows some leeway with the 'Matching Low' pattern (gives a small range the second candle close may be within instead of needing to match the previous close).
Three tolerances for On Neck/In Neck patterns (2 and 1 respectively).
A tolerance for the Thrusting pattern which give a range the close the second candle may be between the midpoint and close of the first to be considered 'valid'.
A tolerance for the two Tweezers patterns that specifies how close the highs and lows of the patterns need to be to each other to be 'valid'.
The first On Neck tolerance specifies how large the lower wick of the first candle may be (as a % of that candle's range) before the pattern is invalidated. The second tolerance specifies how far up the lower wick to the close the second candle's close may be for this pattern. The third tolerance for the In Neck pattern determines how far into the body of the first candle the second may close to be 'valid'.
For the remaining patterns (3, 4, and 5 candles), there are:
3 — Settings for the Deliberation pattern:
A boolean which forces the open of the third candle to gap above the close of the second.
A tolerance which changes the proximity of the third candle's open to the second candle's close in this pattern.
A tolerance that sets the maximum size the third candle may be compared to the average of the first two candles.
One boolean value for the Two Crows patterns (standard and Upside Gapping) that forces the first two candles in the patterns to completely gap if disabled (candle 1's close < candle 2's low).
10 — Floating point values for the remaining patterns:
One tolerance for defining how much the size of each candle in the Identical Black Crows pattern may deviate from the average of themselves to be considered valid.
One tolerance for setting how close the opens/closes of certain three candle patterns may be to each other's opens/closes.*
Three floating point values that affect the Three Stars in the South pattern.
One tolerance for the Side-by-Side patterns - looks at the second and third candle closes.
One tolerance for the Stick Sandwich pattern - looks at the first and third candle closes.
A floating value that sizes the Concealing Baby Swallow pattern's 3rd candle wick.
Two values for the Ladder Bottom pattern which define a range that the third candle's wick size may be.
* This affects the Three Black Crows (non-identical) and Three White Soldiers patterns, each require the opens and closes of every candle to be near each other.
The first tolerance of the Three Stars in the South pattern affects the first candle body's center position, and defines where it must be above to be considered valid. The second tolerance specifies how close the second candle must be to this same position, as well as the deviation the ratio the candle body to its range may be in comparison to the first candle. The third restricts how large the second candle range may be in comparison to the first (prevents this pattern from being recognized if the second candle is similar to the first but larger).
The last two floating point values define upper and lower limits to the wick size of a Ladder Bottom's fourth candle to be considered valid.
█ HOW TO USE
While there are many moving parts to this script, I attempted to set the default values with what I believed may help identify the most patterns within reasonable definitions. When this script is applied to a chart, the Candle Detection Mode (along with the BREAKOUT settings) and all candle switches must be confirmed before patterns are displayed. All switches are on by default, so this gives the user an opportunity to pick which patterns to identify first before playing around in the settings.
All of the settings/inputs described above are meant for experimentation. I encourage the user to tweak these values at will to find which set ups work best for whichever charts they decide to apply these patterns to.
Refer to the patterns themselves during experimentation. The statistic information provided on the tooltips of the patterns are meant to help guide input decisions. The breadth of candlestick theory is deep, and this was an attempt at capturing what I could in its sea of information.
█ LIMITATIONS
DISCLAIMER: While it may seem a bit paradoxical that this script aims to use past performance to potentially measure future results, past performance is not indicative of future results . Markets are highly adaptive and often unpredictable. This script is meant as an informational tool to show how patterns may behave. There is no guarantee that confidence intervals (or any other metric measured with this script) are accurate to the performance of patterns; caution must be exercised with all patterns identified regardless of how much information regarding prior performance is available.
Candlestick Theory - In the name, Candlestick Theory is a theory , and all theories come with their own limits. Some patterns identified by this script may be completely useless/unprofitable/unpredictable regardless of whatever combination of settings are used to identify them. However, if I truly believed this theory had no merit, this script would not exist. It is important to understand that this is a tool meant to be utilized with an array of others to procure positive (or negative, looking at you, short sellers ) results when navigating the complex world of finance.
To address the functionality note however, this script has an offset of 1 by default. Patterns will not be identified on the currently closing candle, only on the candle which has most recently closed. Attempting to have this script do both (offset by one or identify on close) lead to more trouble than it was worth. I personally just want users to be aware that patterns will not be identified immediately when they appear.
Trend Direction - Moving Averages - There is a small quirk with how MA settings will be adjusted if the user inputs two moving averages of the same length when the "MA Setting" is set to 'BOTH'. If Moving Averages have the same length, this script will default to only using MA 1 regardless of if the types of Moving Averages are different . I will experiment in the future to alleviate/reduce this restriction.
Price Analysis - BREAKOUT mode - With how identifying patterns with a look-ahead confirmation works, the percent returns for patterns that break out in either direction will be calculated on the same candle regardless of if P/L Offset is set to 'FROM CONFIRMATION' or 'FROM APPEARANCE'. This same issue is present in the Hikkake Hunter script mentioned earlier. This does not mean the P/L calculations are incorrect , the offset for the calculation is set by the number of candles required to confirm the pattern if 'FROM APPEARANCE' is selected. It just means that these two different P/L calculations will complete at the same time independent of the setting that's been selected.
Adaptive Coloring/Hard Limiting - Hard Limiting is only used with Adaptive Coloring and has no effect outside of it. If Hard Limiting is used, it is recommended to increase the 'Positive' and 'Negative' return tolerance values as a pattern's bullish/bearishness may be disproportionately represented with the gradient generated under a hard limit.
TARGET MODE - This mode will break rules regarding patterns that are overridden on purpose. If a pattern selected in TARGET mode would have otherwise been absorbed by a larger pattern, it will have that pattern's percent return calculated; potentially leading to duplicate returns being included in the matrix of all returns recognized by this script.
'Tall' Candle Setting - This is a wide-reaching setting, as approximately 30 different patterns or so rely on defining 'Tall' candles. Changing how 'Tall' candles are defined whether by the tolerance value those candles need to exceed or by the values of the candle used for the baseline comparison (RANGE/BODY) can wildly affect how this script functions under certain conditions. Refer to the tooltip of these settings for more information on which specific patterns are affected by this.
Doji Settings - There are roughly 10 or so two to three candle patterns which have Dojis as a part of them. If all Dojis are disabled, it will prevent some of these larger patterns from being recognized. This is a dependency issue that I may address in the future.
'Engulfing' Setting - Functionally, the two 'Engulfing' settings are quite different. Because of this, the 'RANGE' setting may cause certain patterns that would otherwise be valid under textbook and online references/definitions to not be recognized as such (like the Upside Gap Two Crows or Three Outside down).
█ PATTERN LIST
This script recognizes 85 patterns upon initial release. I am open to adding additional patterns to it in the future and any comments/suggestions are appreciated. It recognizes:
15 — 1 Candle Patterns
4 Hammer type patterns: Regular Hammer, Takuri Line, Shooting Star, and Hanging Man
9 Doji Candles: Regular Dojis, Northern/Southern Dojis, Gravestone/Dragonfly Dojis, Gapping Up/Down Dojis, and Long-Legged/Rickshaw Man Dojis
White/Black Long Days
32 — 2 Candle Patterns
4 Engulfing type patterns: Bullish/Bearish Engulfing and Last Engulfing Top/Bottom
Dark Cloud Cover
Bullish/Bearish Doji Star patterns
Hammer Inverted
Bullish/Bearish Haramis + Cross variants
Homing Pigeon
Bullish/Bearish Kicking
4 Lines type patterns: Bullish/Bearish Meeting/Separating Lines
Matching Low
On/In Neck patterns
Piercing pattern
Shooting Star (2 Lines)
Above/Below Stomach patterns
Thrusting
Tweezers Top/Bottom patterns
Two Black Gapping
Rising/Falling Window patterns
29 — 3 Candle Patterns
Bullish/Bearish Abandoned Baby patterns
Advance Block
Collapsing Doji Star
Deliberation
Upside/Downside Gap Three Methods patterns
Three Inside/Outside Up/Down patterns (4 total)
Bullish/Bearish Side-by-Side patterns
Morning/Evening Star patterns + Doji variants
Stick Sandwich
Downside/Upside Tasuki Gap patterns
Three Black Crows + Identical variation
Three White Soldiers
Three Stars in the South
Bullish/Bearish Tri-Star patterns
Two Crows + Upside Gap variant
Unique Three River Bottom
3 — 4 Candle Patterns
Concealing Baby Swallow
Bullish/Bearish Three Line Strike patterns
6 — 5 Candle Patterns
Bullish/Bearish Breakaway patterns
Ladder Bottom
Mat Hold
Rising/Falling Three Methods patterns
█ WORKS CITED
Because of the amount of time needed to complete this script, I am unable to provide exact dates for when some of these references were used. I will also not provide every single reference, as citing a reference for each individual pattern and the place it was reviewed would lead to a bibliography larger than this script and its description combined. There were five major resources I used when building this script, one book, two websites (for various different reasons including patterns, moving averages, and various other articles of information), various scripts from TradingView's public library (including TradingView's own source code for *all* candle patterns ), and PineScrypt's reference manual.
Bulkowski, Thomas N. Encyclopedia of Candlestick Patterns . Hoboken, New Jersey: John Wiley & Sons Inc., 2008. E-book (google books).
Various. Numerous webpages. CandleScanner . 2023. online. Accessed 2020 - 2023.
Various. Numerous webpages. Investopedia . 2023. online. Accessed 2020 - 2023.
█ AKNOWLEDGEMENTS
I want to take the time here to thank all of my friends and family, both online and in real life, for the support they've given me over the last few years in this endeavor. My pets who tried their hardest to keep me from completing it. And work for the grit to continue pushing through until this script's completion.
This belongs to me just as much as it does anyone else. Whether you are an institutional trader, gold bug hedging against the dollar, retail ape who got in on a squeeze, or just parents trying to grow their retirement/save for the kids. This belongs to everyone.
Private Beta for new features to be tested can be found here .
Vires In Numeris