P.I.B. System (Pin Bar | Inside Bar) // AlgoFyreThe "P.I.B. System (Pin Bar | Inside Bar)" identifies bullish and bearish pin bars and inside bars on a price chart. It highlights potential market reversals by plotting labels and colorizing bars, providing traders with visual cues for better decision-making.
Description
The "P.I.B. System (Pin Bar | Inside Bar)" script is designed to help traders identify potential reversal points in the market by detecting bullish and bearish pin bars and inside bars. A pin bar is a candlestick pattern that indicates a potential reversal, characterized by a small body and a long wick. Inside bars are candlestick patterns where the current bar's high and low are within the previous bar's range, indicating potential consolidation before a breakout.
This script allows customization of various parameters to fine-tune the identification of pin bars and inside bars. When a pin bar or an inside bar is detected, the script plots a label on the chart and colorizes the bars to highlight these patterns. This tool is useful for traders looking to identify potential reversal points and make informed trading decisions.
Explanation of All Options
Pin-Wick Size Ratio Minimum Value : The minimum ratio of the wick size to the total candle size for a pin bar to be considered valid. Default is 0.66.
Candle Body Size Ratio Maximum Value : The maximum ratio of the body size to the total candle size for a pin bar to be considered valid. Default is 0.4.
Handle-Wick Wick Size Ratio Maximum Value : The maximum ratio of the opposite wick size to the total candle size for a pin bar to be considered valid. Default is 0.4.
Filter Out Small Candles : Option to filter out small candles based on the previous candle's size. Default is true.
Small Candle Size Ratio : The ratio used to determine if a candle is considered small compared to the previous candle. Default is 2.0.
Identify Inside Bars : Option to identify inside bars following a pin bar. Default is true.
Show Only P.I.B. : Option to show only the bars where a pin bar is followed by an inside bar. Default is true.
Hide Horizontal Rays : Option to hide horizontal rays drawn from the last identified pin bars. Default is false.
How to Use
To use this script, add it to your chart. Customize the input parameters to match your trading strategy. The script will automatically identify and highlight bullish and bearish pin bars and inside bars on the chart. Use the visual cues provided by the labels and colorized bars to make informed trading decisions.
Cari dalam skrip untuk "bar"
N Bar Reversal Detector [LuxAlgo]The N Bar Reversal Detector is designed to detect and highlight N-bar reversal patterns in user charts, where N represents the length of the candle sequence used to detect the patterns. The script incorporates various trend indicators to filter out detected signals and offers a range of customizable settings to fit different trading strategies.
🔶 USAGE
The N-bar reversal pattern extends the popular 3-bar reversal pattern. While the 3-bar reversal pattern involves identifying a sequence of three bars signaling a potential trend reversal, the N-bar reversal pattern builds on this concept by incorporating additional bars based on user settings. This provides a more comprehensive indication of potential trend reversals. The script automates the identification of these patterns and generates clear, visually distinct signals to highlight potential trend changes.
When a reversal chart pattern is confirmed and aligns with the price action, the pattern's boundaries are extended to create levels. The upper boundary serves as resistance, while the lower boundary acts as support.
The script allows users to filter patterns based on the trend direction identified by various trend indicators. Users can choose to view patterns that align with the detected trend or those that are contrary to it.
🔶 DETAILS
🔹 The N-bar Reversal Pattern
The N-bar reversal pattern is a technical analysis tool designed to signal potential trend reversals in the market. It consists of N consecutive bars, with the first N-1 bars used to identify the prevailing trend and the Nth bar confirming the reversal. Here’s a detailed look at the pattern:
Bullish Reversal : In a bullish reversal setup, the first bar is the highest among the first N-1 bars, indicating a prevailing downtrend. Most of the remaining bars in this sequence should be bearish (closing lower than where they opened), reinforcing the existing downward momentum. The Nth (most recent) bar confirms a bullish reversal if its high price is higher than the high of the first bar in the sequence (standard pattern). For a stronger signal, the closing price of the Nth bar should also be higher than the high of the first bar.
Bearish Reversal : In a bearish reversal setup, the first bar is the lowest among the first N-1 bars, indicating a prevailing uptrend. Most of the remaining bars in this sequence should be bullish (closing higher than where they opened), reinforcing the existing upward momentum. The Nth bar confirms a bearish reversal if its low price is lower than the low of the first bar in the sequence (standard pattern). For a stronger signal, the closing price of the Nth bar should also be lower than the low of the first bar.
🔹 Min Percentage of Required Candles
This parameter specifies the minimum percentage of candles that must be bullish (for a bearish reversal) or bearish (for a bullish reversal) among the first N-1 candles in a pattern. For higher values of N, it becomes more challenging for all of the first N-1 candles to be consistently bullish or bearish. By setting a percentage value, P, users can adjust the requirement so that only a minimum of P percent of the first N-1 candles need to meet the bullish or bearish condition. This allows for greater flexibility in pattern recognition, accommodating variations in market conditions.
🔶 SETTINGS
Pattern Type: Users can choose the type of the N-bar reversal patterns to detect: Normal, Enhanced, or All. "Normal" detects patterns that do not necessarily surpass the high/low of the first bar. "Enhanced" detects patterns where the last bar surpasses the high/low of the first bar. "All" detects both Normal and Enhanced patterns.
Reversal Pattern Sequence Length: Specifies the number of candles (N) in the sequence used to identify a reversal pattern.
Min Percentage of Required Candles: Sets the minimum percentage of the first N-1 candles that must be bullish (for a bearish reversal) or bearish (for a bullish reversal) to qualify as a valid reversal pattern.
Derived Support and Resistance: Toggles the visibility of the support and resistance levels/zones.
🔹 Trend Filtering
Filtering: Allows users to filter patterns based on the trend indicators: Moving Average Cloud, Supertrend, and Donchian Channels. The "Aligned" option only detects patterns that align with the trend and conversely, the "Opposite" option detects patterns that go against the trend.
🔹 Trend Indicator Settings
Moving Average Cloud: Allows traders to choose the type of moving averages (SMA, EMA, HMA, etc.) and set the lengths for fast and slow moving averages.
Supertrend: Options to set the ATR length and factor for Supertrend.
Donchian Channels: Option to set the length for the channel calculation.
🔶 RELATED SCRIPTS
Reversal-Candlestick-Structure.
Reversal-Signals.
Gann Swing Strategy [1 Bar - Multi Layer]Use this Strategy to Fine-tune inputs for your Gann swing strategy.
Strategy allows you to fine-tune the indicator for 1 TimeFrame at a time; cross Timeframe Input fine-tuning is done manually after exporting the chart data.
MEANINGFUL DESCRIPTION:
The Gann Swing Chart using the One-Bar type, also known as the Minor Trend Chart, is designed to follow single-bar movements in the market. It helps identify trends by tracking price movements. When the market makes a higher high than the previous bar from a low price, the One-Bar trend line moves up, indicating a new high and establishing the previous low as a One-Bar bottom. Conversely, when the market makes a lower low than the previous bar from a high price, the One-Bar swing line moves down, marking a new low and setting the previous high as a One-Bar top. The crossing of these swing tops and bottoms indicates a change in trend direction.
HOW TO USE THE INDICATOR / Gann-swing Strategy:
The indicator shows 1, 2, and 3-bar swings. The strategy triggers a buy when the price crosses the previously determined high.
HOW TO USE THE STRATEGY:
Strategy to Fine-Tune Inputs for Your Gann Swing Strategy
This strategy allows for the fine-tuning of indicators for one timeframe at a time. Cross-timeframe input fine-tuning is done manually after exporting the chart data.
Meaningful Description:
The Gann Swing Chart using the One-Bar type, also known as the Minor Trend Chart, is designed to follow single-bar movements in the market. It helps identify trends by tracking price movements. When the market makes a higher high than the previous bar from a low price, the One-Bar trend line moves up, indicating a new high and establishing the previous low as a One-Bar bottom. Conversely, when the market makes a lower low than the previous bar from a high price, the One-Bar swing line moves down, marking a new low and setting the previous high as a One-Bar top. The crossing of these swing tops and bottoms indicates a change in trend direction.
How to Use the Indicator / Gann-Swing Strategy:
The indicator shows 1, 2, and 3-bar swings. The strategy triggers a buy when the price crosses the previously determined high.
How to Use the Strategy:
The strategy initiates a buy if the price breaks 1, 2, or 3-bar highs, or any combination thereof. Use the inputs to determine which highs or lows need to be crossed for the strategy to go long or short.
ORIGINALITY & USEFULNESS:
The One-Bar Swing Chart stands out for its simplicity and effectiveness in capturing minor market trends. Developed by meomeo105, this Gann high and low algorithm forms the basis of the strategy. I used my approach to creating strategy out of Gann swing indicator.
DETAILED DESCRIPTION:
What is a Swing Chart?
Swing charts help traders visualize price movements and identify trends by focusing on price highs and lows. They are instrumental in spotting trend reversals and continuations.
What is the One-Bar Swing Chart?
The One-Bar Swing Chart, also known as the Minor Trend Chart, follows single-bar price movements. It plots upward swings from a low price when a higher high is made, and downward swings from a high price when a lower low is made.
Key Features:
Trend Identification : Highlights minor trends by plotting swing highs and lows based on one-bar movements.
Simple Interpretation : Crossing a swing top indicates an uptrend, while crossing a swing bottom signals a downtrend.
Customizable Periods : Users can adjust the period to fine-tune the sensitivity of the swing chart to market movements.
Practical Application:
Bullish Trend : When the One-Bar Swing line moves above a previous swing top, it indicates a bullish trend.
Bearish Trend : When the One-Bar Swing line moves below a previous swing bottom, it signals a bearish trend.
Trend Reversal : Watch for crossings of swing tops and bottoms to detect potential trend reversals.
The One-Bar Swing Chart is a powerful tool for traders looking to capture and understand market trends. By following the simple rules of swing highs and lows, it provides clear and actionable insights into market direction.
Why the Strategy Uses 100% Allocation of a Portfolio:
This strategy allocates 100% of the portfolio to trading this specific pair, which does not mean 100% of all capital but 100% of the allocated trading capital for this pair. The strategy is swing-based and does not use take profit (TP) or stop losses.
Outside Bar ProbabilityOutside Bar Percentage by Hour Indicator
Description:
The "Outside Bar Percentage by Hour" indicator is a powerful tool designed to analyze the occurrence of outside bars within each hour of the trading day. This indicator not only tracks the frequency of these key market events but also provides a detailed breakdown of their distribution, allowing traders to identify potential patterns and key trading hours.
What It Does:
Outside Bar Detection: The indicator identifies "outside bars," which occur when the high of a bar is higher than the previous bar's high, and the low is lower than the previous bar's low. These bars often signal significant market moves and potential reversals.
Hourly Analysis: The script tracks the total number of bars and outside bars for each hour (0 to 23) of the trading day. This granular analysis helps traders pinpoint specific hours when outside bars are more likely to occur.
Percentage Calculation: It calculates the percentage chance of an outside bar occurring for each hour, based on the total bars observed. This percentage provides a clear view of the likelihood of encountering an outside bar within a given hour, which can be critical for timing entries and exits.
Visual Representation: The data is displayed in a table format directly on the chart, showing:
Hour: The specific hour of the day.
Total Bars: The total number of bars observed during each hour.
Outside Bar Count: The number of outside bars detected in that hour.
Percentage: The calculated percentage chance of an outside bar occurring in each hour.
How It Works:
The indicator uses a loop to analyze each bar in real-time, checking if it qualifies as an outside bar. It then records the occurrence in arrays that track data for each hour.
At the start of each new day, the counts are reset to ensure the data remains relevant and accurate.
The percentage chance of an outside bar occurring is computed using the formula: (Outside Bar Count / Total Bar Count) * 100.
The results are neatly organized in a table that updates dynamically, providing traders with real-time insights.
How to Use It:
Identify Key Trading Hours: Use the table to observe the distribution of outside bars across different hours. This can help you identify when significant market moves are more likely to occur.
Time Your Entries and Exits: Understanding the likelihood of outside bars can assist in timing your trades, particularly if you use strategies that rely on volatility or market reversals.
Market Analysis: The percentage data can provide insights into the market's behavior during specific times, helping you refine your trading strategy based on historical patterns.
Concepts Underlying the Calculations:
The script leverages the concept of "outside bars," which are often considered indicators of potential reversals or significant market movements. By analyzing these bars across different hours, the indicator provides a temporal dimension to market analysis, helping traders understand when these pivotal events are most likely to occur.
The detailed hourly breakdown and percentage calculations offer a nuanced view of market activity, making it a valuable tool for traders looking to enhance their timing and strategic decision-making.
This indicator is suitable for all types of traders, including those focused on day trading, swing trading, or even longer-term analysis. It provides a unique perspective on market activity that can complement other technical indicators and analyses.
3 Bar PlayThe "3 Bar Play" is a simple yet powerful pattern that traders look for as a signal of potential market movement. The pattern is defined by a sequence of three bars (or candlesticks) on the chart:
I saw Rake Trades post about this pattern. It not a new concept just wanted it to automatically be plotted on my chart rather then looking out for it.
Up 3 Bar Play: This pattern signals a potential upward movement.
The first bar (two bars ago from the current bar) must close higher than it opened, indicating a bullish bar.
The second bar (the previous bar) must close lower than it opened, indicating a bearish bar, but its low should be higher than the low of the first bar, showing that bears couldn't push the price much lower.
The third bar (the current bar) must open and close higher than the previous bar, closing above the high of the second bar, confirming the bullish sentiment.
Down 3 Bar Play: This pattern signals a potential downward movement.
The first bar (two bars ago from the current bar) must close lower than it opened, indicating a bearish bar.
The second bar (the previous bar) must close higher than it opened, indicating a bullish bar, but its high should be lower than the high of the first bar, showing that bulls couldn't push the price much higher.
The third bar (the current bar) must open and close lower than the previous bar, closing below the low of the second bar, confirming the bearish sentiment.
Plotting the Patterns
plotshape(): This function is used to plot shapes on the chart to visually highlight where the patterns occur.
For an "Up 3 Bar Play", a green triangle pointing upwards is plotted below the bullish pattern to indicate a potential buy signal.
For a "Down 3 Bar Play", a red triangle pointing downwards is plotted above the bearish pattern to indicate a potential sell signal.
Key Points
This script helps traders quickly identify potential entry points based on the 3 Bar Play pattern without manually scanning the charts.
It's important to remember that no single pattern guarantees market movements, and it's often used in conjunction with other indicators and analysis methods.
This script is a practical tool for those looking to incorporate the 3 Bar Play pattern into their trading strategy, offering a clear visual cue on the chart whenever the pattern is identified.
Please understand the 3 bar play and where you should set your stop loss
CandlesGroup_TypesLibrary "CandlesGroup_Types"
CandlesGroup Type allows you to efficiently store and access properties of all the candles in your chart.
You can easily manipulate large datasets, work with multiple timeframes, or analyze multiple symbols simultaneously. By encapsulating the properties of each candle within a CandlesGroup object, you gain a convenient and organized way to handle complex candlestick patterns and data.
For usage instructions and detailed examples, please refer to the comments and examples provided in the source code.
method init(_self)
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup)
method init(_self, propertyNames)
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup)
propertyNames (string )
method get(_self, key)
get values array from a given property name
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
key (string) : : key name of selected property. Default is "index"
Returns: values array
method size(_self)
get size of values array. By default it equals to current bar_index
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
Returns: size of values array
method push(_self, key, value)
push single value to specific property
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
key (string) : : key name of selected property
value (float) : : property value
Returns: CandlesGroup object
method push(_self, arr)
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup)
arr (float )
method populate(_self, ohlc)
populate ohlc to CandlesGroup
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
ohlc (float ) : : array of ohlc
Returns: CandlesGroup object
method populate(_self, values, propertiesNames)
populate values base on given properties Names
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
values (float ) : : array of property values
propertiesNames (string ) : : an array stores property names. Use as keys to get values
Returns: CandlesGroup object
method populate(_self)
populate values (default setup)
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
Returns: CandlesGroup object
method lookback(arr, bars_lookback)
get property value on previous candles. For current candle, use *.lookback()
Namespace types: float
Parameters:
arr (float ) : : array of selected property values
bars_lookback (int) : : number of candles lookback. 0 = current candle. Default is 0
Returns: single property value
method highest_within_bars(_self, hiSource, start, end, useIndex)
get the highest property value between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
hiSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns: the highest value within candles
method highest_within_bars(_self, returnWithIndex, hiSource, start, end, useIndex)
get the highest property value and bar index between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
returnWithIndex (bool) : : the function only applicable when it is true
hiSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns:
method highest_point_within_bars(_self, hiSource, start, end, useIndex)
get a Point object which contains highest property value between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
hiSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns: Point object contains highest property value
method lowest_within_bars(_self, loSource, start, end, useIndex)
get the lowest property value between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
loSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns: the lowest value within candles
method lowest_within_bars(_self, returnWithIndex, loSource, start, end, useIndex)
get the lowest property value and bar index between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
returnWithIndex (bool) : : the function only applicable when it is true
loSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns:
method lowest_point_within_bars(_self, loSource, start, end, useIndex)
get a Point object which contains lowest property value between specific candles
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
loSource (string) : : key name of selected property
start (int) : : start bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true
end (int) : : end bar for calculation. Default is candles lookback value from current candle. 'index' value is used if 'useIndex' = true. Default is 0
useIndex (bool) : : use index instead of lookback value. Default = false
Returns: Point object contains lowest property value
method time2bar(_self, t)
Convert UNIX time to bar index of active chart
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
t (int) : : UNIX time
Returns: bar index
method time2bar(_self, timezone, YYYY, MMM, DD, hh, mm, ss)
Convert timestamp to bar index of active chart. User defined timezone required
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
timezone (string) : : User defined timezone
YYYY (int) : : Year
MMM (int) : : Month
DD (int) : : Day
hh (int) : : Hour. Default is 0
mm (int) : : Minute. Default is 0
ss (int) : : Second. Default is 0
Returns: bar index
method time2bar(_self, YYYY, MMM, DD, hh, mm, ss)
Convert timestamp to bar index of active chart
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
YYYY (int) : : Year
MMM (int) : : Month
DD (int) : : Day
hh (int) : : Hour. Default is 0
mm (int) : : Minute. Default is 0
ss (int) : : Second. Default is 0
Returns: bar index
method get_prop_from_time(_self, key, t)
get single property value from UNIX time
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
key (string) : : key name of selected property
t (int) : : UNIX time
Returns: single property value
method get_prop_from_time(_self, key, timezone, YYYY, MMM, DD, hh, mm, ss)
get single property value from timestamp. User defined timezone required
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
key (string) : : key name of selected property
timezone (string) : : User defined timezone
YYYY (int) : : Year
MMM (int) : : Month
DD (int) : : Day
hh (int) : : Hour. Default is 0
mm (int) : : Minute. Default is 0
ss (int) : : Second. Default is 0
Returns: single property value
method get_prop_from_time(_self, key, YYYY, MMM, DD, hh, mm, ss)
get single property value from timestamp
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
key (string) : : key name of selected property
YYYY (int) : : Year
MMM (int) : : Month
DD (int) : : Day
hh (int) : : Hour. Default is 0
mm (int) : : Minute. Default is 0
ss (int) : : Second. Default is 0
Returns: single property value
method bar2time(_self, index)
Convert bar index of active chart to UNIX time
Namespace types: CandlesGroup
Parameters:
_self (CandlesGroup) : : CandlesGroup object
index (int) : : bar index
Returns: UNIX time
Point
A point on chart
Fields:
price (series float) : : price value
bar (series int) : : bar index
bartime (series int) : : time in UNIX format of bar
Property
Property object which contains values of all candles
Fields:
name (series string) : : name of property
values (float ) : : an array stores values of all candles. Size of array = bar_index
CandlesGroup
Candles Group object which contains properties of all candles
Fields:
propertyNames (string ) : : an array stores property names. Use as keys to get values
properties (Property ) : : array of Property objects
VisibleChart█ OVERVIEW
This library is a Pine programmer’s tool containing functions that return values calculated from the range of visible bars on the chart.
This is now possible in Pine Script™ thanks to the recently-released chart.left_visible_bar_time and chart.right_visible_bar_time built-ins, which return the opening time of the leftmost and rightmost bars on the chart. These values update as traders scroll or zoom their charts, which gives way to a class of indicators that can dynamically recalculate and draw visuals on visible bars only, as users scroll or zoom their charts. We hope this library's functions help you make the most of the world of possibilities these new built-ins provide for Pine scripts.
For an example of a script using this library, have a look at the Chart VWAP indicator.
█ CONCEPTS
Chart properties
The new chart.left_visible_bar_time and chart.right_visible_bar_time variables return the opening time of the leftmost and rightmost bars on the chart. They are only two of many new built-ins in the `chart.*` namespace. See this blog post for more information, or look them up by typing "chart." in the Pine Script™ Reference Manual .
Dynamic recalculation of scripts on visible bars
Any script using chart.left_visible_bar_time or chart.right_visible_bar_time acquires a unique property, which triggers its recalculation when traders scroll or zoom their charts in such a way that the range of visible bars on the chart changes. This library's functions use the two recent built-ins to derive various values from the range of visible bars.
Designing your scripts for dynamic recalculation
For the library's functions to work correctly, they must be called on every bar. For reliable results, assign their results to global variables and then use the variables locally where needed — not the raw function calls.
Some functions like `barIsVisible()` or `open()` will return a value starting on the leftmost visible bar. Others such as `high()` or `low()` will also return a value starting on the leftmost visible bar, but their correct value can only be known on the rightmost visible bar, after all visible bars have been analyzed by the script.
You can plot values as the script executes on visible bars, but efficient code will, when possible, create resource-intensive labels, lines or tables only once in the global scope using var , and then use the setter functions to modify their properties on the last bar only. The example code included in this library uses this method.
Keep in mind that when your script uses chart.left_visible_bar_time or chart.right_visible_bar_time , your script will recalculate on all bars each time the user scrolls or zooms their chart. To provide script users with the best experience you should strive to keep calculations to a minimum and use efficient code so that traders are not always waiting for your script to recalculate every time they scroll or zoom their chart.
Another aspect to consider is the fact that the rightmost visible bar will not always be the last bar in the dataset. When script users scroll back in time, a large portion of the time series the script calculates on may be situated after the rightmost visible bar. We can never assume the rightmost visible bar is also the last bar of the time series. Use `barIsVisible()` to restrict calculations to visible bars, but also consider that your script can continue to execute past them.
Look first. Then leap.
█ FUNCTIONS
The library contains the following functions:
barIsVisible()
Condition to determine if a given bar is within the users visible time range.
Returns: (bool) True if the the calling bar is between the `chart.left_visible_bar_time` and the `chart.right_visible_bar_time`.
high()
Determines the value of the highest `high` in visible bars.
Returns: (float) The maximum high value of visible chart bars.
highBarIndex()
Determines the `bar_index` of the highest `high` in visible bars.
Returns: (int) The `bar_index` of the `high()`.
highBarTime()
Determines the bar time of the highest `high` in visible bars.
Returns: (int) The `time` of the `high()`.
low()
Determines the value of the lowest `low` in visible bars.
Returns: (float) The minimum low value of visible chart bars.
lowBarIndex()
Determines the `bar_index` of the lowest `low` in visible bars.
Returns: (int) The `bar_index` of the `low()`.
lowBarTime()
Determines the bar time of the lowest `low` in visible bars.
Returns: (int) The `time` of the `low()`.
open()
Determines the value of the opening price in the visible chart time range.
Returns: (float) The `open` of the leftmost visible chart bar.
close()
Determines the value of the closing price in the visible chart time range.
Returns: (float) The `close` of the rightmost visible chart bar.
leftBarIndex()
Determines the `bar_index` of the leftmost visible chart bar.
Returns: (int) A `bar_index`.
rightBarIndex()
Determines the `bar_index` of the rightmost visible chart bar.
Returns: (int) A `bar_index`
bars()
Determines the number of visible chart bars.
Returns: (int) The number of bars.
volume()
Determines the sum of volume of all visible chart bars.
Returns: (float) The cumulative sum of volume.
ohlcv()
Determines the open, high, low, close, and volume sum of the visible bar time range.
Returns: ( ) A tuple of the OHLCV values for the visible chart bars. Example: open is chart left, high is the highest visible high, etc.
chartYPct(pct)
Determines a price level as a percentage of the visible bar price range, which depends on the chart's top/bottom margins in "Settings/Appearance".
Parameters:
pct : (series float) Percentage of the visible price range (50 is 50%). Negative values are allowed.
Returns: (float) A price level equal to the `pct` of the price range between the high and low of visible chart bars. Example: 50 is halfway between the visible high and low.
chartXTimePct(pct)
Determines a time as a percentage of the visible bar time range.
Parameters:
pct : (series float) Percentage of the visible time range (50 is 50%). Negative values are allowed.
Returns: (float) A time in UNIX format equal to the `pct` of the time range from the `chart.left_visible_bar_time` to the `chart.right_visible_bar_time`. Example: 50 is halfway from the leftmost visible bar to the rightmost.
chartXIndexPct(pct)
Determines a `bar_index` as a percentage of the visible bar time range.
Parameters:
pct : (series float) Percentage of the visible time range (50 is 50%). Negative values are allowed.
Returns: (float) A time in UNIX format equal to the `pct` of the time range from the `chart.left_visible_bar_time` to the `chart.right_visible_bar_time`. Example: 50 is halfway from the leftmost visible bar to the rightmost.
whenVisible(src, whenCond, length)
Creates an array containing the `length` last `src` values where `whenCond` is true for visible chart bars.
Parameters:
src : (series int/float) The source of the values to be included.
whenCond : (series bool) The condition determining which values are included. Optional. The default is `true`.
length : (simple int) The number of last values to return. Optional. The default is all values.
Returns: (float ) The array ID of the accumulated `src` values.
avg(src)
Gathers values of the source over visible chart bars and averages them.
Parameters:
src : (series int/float) The source of the values to be averaged. Optional. Default is `close`.
Returns: (float) A cumulative average of values for the visible time range.
median(src)
Calculates the median of a source over visible chart bars.
Parameters:
src : (series int/float) The source of the values. Optional. Default is `close`.
Returns: (float) The median of the `src` for the visible time range.
vVwap(src)
Calculates a volume-weighted average for visible chart bars.
Parameters:
src : (series int/float) Source used for the VWAP calculation. Optional. Default is `hlc3`.
Returns: (float) The VWAP for the visible time range.
Volume Weighted Intra Bar Standard DeviationThis indicator provides a high-resolution analysis of market volatility by dissecting each bar on the chart into its fundamental components. It uses data from a lower, intra-bar timeframe to separate the total volatility of a single bar into its 'directional' and 'non-directional' parts.
Key Features:
Intra-Bar Volatility Decomposition: For each bar on the chart, the indicator analyzes the underlying price action on a smaller timeframe ('Intra-Bar Timeframe') and quantifies two types of volatility:
Between-Bar Volatility (Directional): Calculated from price movements between the intra-bar candles. This component represents the directional, trending price action within the main bar.
Within-Bar Volatility (Non-Directional): Calculated from price fluctuations inside each intra-bar candle. This component represents the choppy, noisy, or ranging price action.
Dual Display Modes: The indicator offers two modes to visualize this information:
Absolute Mode: Plots the total standard deviation as a stacked column chart, showing the absolute magnitude of volatility and the contribution of each component.
Normalized Mode: Plots the components as a 100% stacked column chart (scaled from 0 to 1), focusing purely on the percentage ratio of 'between-bar' (trending) and 'within-bar' (choppy) volatility.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates volatility in percentage terms (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all intra-bar volatility calculations.
Volatility Pivot Detection: Includes a built-in pivot detector that identifies significant turning points (highs and lows) in the total volatility line. (Note: This is only visible in 'Absolute Mode').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Analysis Lines: The entire intra-bar analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 6 alerts for:
Volatility character changes (e.g., 'Character Change from Choppy to Trend').
Dominant character emerging (e.g., 'Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Aggressive Predictor+ (Last Bar, Vol, Wick)# Aggressive Predictor+ Pine Script Indicator
**Version:** Based on the script incorporating Last Bar analysis, Volume Confirmation, and Wick Rejection.
## Overview
This TradingView Pine Script indicator aims to predict the likely directional bias of the **next** candle based on an aggressive analysis of the **last closed candle's** price action, volume, and wick characteristics relative to recent market volatility (ATR).
It is designed to be **highly reactive** to the most recent bar's information. The prediction is visualized directly on the chart through shapes, a projected line, a text label, and an information table.
**Please Note:** Predicting the next candle is inherently speculative. This indicator provides a probability assessment based on its specific logic and should be used as a supplementary tool within a broader trading strategy, not as a standalone signal. Its performance heavily depends on market conditions and the chosen settings.
## Core Logic Explained
The indicator follows these steps for each new bar, looking back at the **last closed bar** (` `):
1. **Calculate Recent Volatility:** Determines the Average True Range (ATR) over the specified `ATR Lookback Period` (`atr_len`). This provides context for how volatile the market has been recently.
2. **Analyze Last Bar's Body:** Calculates the price change from open to close (`close - open `) of the last completed bar.
3. **Compare Body to Volatility:** Compares the absolute size of the last bar's body to the calculated ATR (`prev_atr`) multiplied by a sensitivity threshold (`threshold_atr_mult`).
* If the body size (positive) exceeds the threshold, the initial prediction is "Upward".
* If the body size (negative) exceeds the negative threshold, the initial prediction is "Downward".
* Otherwise, the initial prediction is "Neutral".
4. **Check Volume Confirmation:** Compares the volume of the last bar (`volume `) to its recent average volume (`ta.sma(volume, vol_avg_len) `). If the volume is significantly higher (based on `vol_confirm_mult`), it adds context ("High Vol") to directional predictions.
5. **Check for Wick Rejection:** Analyzes the wicks of the last bar.
* If the initial prediction was "Upward" but there was a large upper wick (relative to the body size, defined by `wick_rejection_mult`), it indicates potential selling pressure rejecting higher prices. The prediction is **overridden to "Neutral"**.
* If the initial prediction was "Downward" but there was a large lower wick, it indicates potential buying pressure supporting lower prices. The prediction is **overridden to "Neutral"**.
6. **Determine Final Prediction:** The final state ("Upward", "Downward", or "Neutral") is determined after considering potential wick rejection overrides. Context about volume or wick rejection is added to the display text.
## Visual Elements
* **Prediction Shapes:**
* Green Up Triangle: Below the bar for an "Upward" prediction (without wick rejection).
* Red Down Triangle: Above the bar for a "Downward" prediction (without wick rejection).
* Gray Diamond: Above/Below the bar if a directional move was predicted but then neutralized due to Wick Rejection.
* **Prediction Line:**
* Extends forward from the current bar's close for `line_length` bars (Default: 20).
* Color indicates the final predicted state (Green: Upward, Red: Downward, Gray: Neutral).
* Style is solid for directional predictions, dotted for Neutral.
* The *slope/magnitude* of the line is based on recent volatility (ATR) and the `projection_mult` setting, representing a *potential* magnitude if the predicted direction holds, scaled by recent volatility. **This is purely a visual projection, not a precise price forecast.**
* **Prediction Label:**
* Appears at the end of the Prediction Line.
* Displays the final prediction state (e.g., "Upward (High Vol)", "Neutral (Wick Rej)").
* Shows the raw price change of the last bar's body and its size relative to ATR (e.g., "Last Body: 1.50 (120.5% ATR)").
* Tooltip provides more detailed calculation info.
* **Info Table:**
* Displays the prediction state, color-coded.
* Shows details about the last bar's body size relative to ATR.
* Dynamically positioned near the latest bar (offsets configurable).
## Configuration Settings (Inputs)
These settings allow you to customize the indicator's behavior and appearance. Access them by clicking the "Settings" gear icon on the indicator name on your chart.
### Price Action & ATR
* **`ATR Lookback Period` (`atr_len`):**
* *Default:* 14
* *Purpose:* Number of bars used to calculate the Average True Range (ATR), which measures recent volatility.
* **`Body Threshold (ATR Multiplier)` (`threshold_atr_mult`):**
* *Default:* 0.5
* *Purpose:* Key setting for **aggression**. The last bar's body size (`close - open`) must be greater than `ATR * this_multiplier` to be initially classified as "Upward" or "Downward".
* *Effect:* **Lower values** make the indicator **more aggressive** (easier to predict direction). Higher values require a stronger price move relative to volatility and result in more "Neutral" predictions.
### Volume Confirmation
* **`Volume Avg Lookback` (`vol_avg_len`):**
* *Default:* 20
* *Purpose:* Number of bars used to calculate the simple moving average of volume.
* **`Volume Confirmation Multiplier` (`vol_confirm_mult`):**
* *Default:* 1.5
* *Purpose:* Volume on the last bar is considered "High" if it's greater than `Average Volume * this_multiplier`.
* *Effect:* Primarily adds context "(High Vol)" or "(Low Vol)" to the display text for directional predictions. Doesn't change the core prediction state itself.
### Wick Rejection
* **`Wick Rejection Multiplier` (`wick_rejection_mult`):**
* *Default:* 1.0
* *Purpose:* If an opposing wick (upper wick on an up-candle, lower wick on a down-candle) is larger than `body size * this_multiplier`, the directional prediction is overridden to "Neutral".
* *Effect:* Higher values require a much larger opposing wick to cause a rejection override. Lower values make wick rejection more likely.
### Projection Settings
* **`Projection Multiplier (ATR based)` (`projection_mult`):**
* *Default:* 1.0
* *Purpose:* Scales the projected *magnitude* of the prediction line. The projected price change shown by the line is `+/- ATR * this_multiplier`.
* *Effect:* Adjusts how far up or down the prediction line visually slopes. Does not affect the predicted direction.
* **`Prediction Line Length (Bars)` (`line_length`):**
* *Default:* 20
* *Purpose:* Controls how many bars forward the **visual** prediction line extends.
* *Effect:* Purely visual length adjustment.
### Visuals
* **`Upward Color` (`bullish_color`):** Color for Upward predictions.
* **`Downward Color` (`bearish_color`):** Color for Downward predictions.
* **`Neutral Color` (`neutral_color`):** Color for Neutral predictions (including Wick Rejections).
* **`Show Prediction Shapes` (`show_shapes`):** Toggle visibility of the triangles/diamonds on the chart.
* **`Show Prediction Line` (`show_line`):** Toggle visibility of the projected line.
* **`Show Prediction Label` (`show_label`):** Toggle visibility of the text label at the end of the line.
* **`Show Info Table` (`show_table`):** Toggle visibility of the information table.
### Table Positioning
* **`Table X Offset (Bars)` (`table_x_offset`):**
* *Default:* 3
* *Purpose:* How many bars to the right of the current bar the info table should appear.
* **`Table Y Offset (ATR Multiplier)` (`table_y_offset_atr`):**
* *Default:* 0.5
* *Purpose:* How far above the high of the last bar the info table should appear, measured in multiples of ATR.
## How to Use
1. Open the Pine Editor in TradingView.
2. Paste the complete script code.
3. Click "Add to Chart".
4. Adjust the input settings (especially `threshold_atr_mult`) to tune the indicator's aggressiveness and visual preferences.
5. Observe the prediction elements alongside your other analysis methods.
## Disclaimer
**This indicator is for informational and educational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset.** Trading financial markets involves significant risk, and you could lose money. Predictions about future price movements are inherently uncertain. The performance of this indicator depends heavily on market conditions and the settings used. Always perform your own due diligence and consider multiple factors before making any trading decisions. Use this indicator at your own risk.
EMA with Bar Count
---
### **Key Features and Functionalities**
#### 1. **Multi-Timeframe Exponential Moving Averages (EMA)**
- The script calculates and plots EMAs for various timeframes (e.g., 1 minute, 5 minutes, 60 minutes, daily, and custom intervals).
- Users can customize the length and resolution of each EMA using inputs.
- Different colors are assigned to each EMA for easy identification on the chart.
#### 2. **Background Coloring**
- Optional background coloring (`bgcolor`) indicates whether the current price is above or below the 1-hour 20 EMA.
- Green indicates the price is above, and red indicates the price is below the EMA.
#### 3. **Bar Count Labeling**
- The script tracks bar counts and displays labels at specific intervals (e.g., every 3 bars).
- Label size and text color can be customized through user inputs.
#### 4. **Inside and Outside Bar Detection**
- Detects and highlights "Inside Bars" and "Outside Bars" on the chart.
- **Inside Bar**: The current bar's high and low are within the previous bar's range.
- **Outside Bar**: The current bar's range exceeds the previous bar's range.
- These patterns are marked with shapes for visual identification.
#### 5. **Bullish/Bearish Candle Streaks**
- Identifies and marks streaks of three consecutive bullish or bearish candles.
- **Bullish Streaks**: Marked with green shapes above the bar.
- **Bearish Streaks**: Marked with red shapes above the bar.
#### 6. **Time-Based Marking**
- The script includes an option to highlight specific time intervals (e.g., 7:30 AM) with a colored vertical line or background shading.
- Configurable time inputs allow flexibility.
#### 7. **Micro Gap Detection**
- Highlights gaps between the opening price of the current bar and the closing price of the previous bar.
- Blue shapes indicate bullish gaps.
- Purple shapes indicate bearish gaps.
#### 8. **TR (Trading Range) Detection**
- Identifies bars with significant overlap based on a user-defined threshold.
- Displays "TR" labels when overlap conditions are met.
#### 9. **Bar Coloring**
- Optionally colors bars based on specific conditions:
- Green: Bullish breakout (high and low higher than the previous bar, closing above the midpoint).
- Red: Bearish breakout (high and low lower than the previous bar, closing below the midpoint).
#### 10. **50% Midpoint Line**
- Displays a horizontal line at the 50% midpoint of the bar's range, customizable for the current or last bar only.
#### 11. **Pattern Detection**
- Recognizes specific candlestick patterns (e.g., IOI, OII, IOO).
- Provides alerts for detected patterns or predefined thresholds.
#### 12. **Alerts**
- Configurable alerts for:
- Specific patterns (e.g., IOI, OII, IOO).
- Bar range exceeding a user-defined threshold.
- Bullish or bearish streaks.
#### 13. **Gap Detector**
- Identifies gaps between bars and marks them with shaded boxes.
- Bullish gaps are shaded green, while bearish gaps are shaded red.
#### 14. **Advanced Customization**
- Extensive user inputs allow traders to tailor the indicator to their trading style.
- Includes support for various levels of detail (e.g., debug mode, label visibility, etc.).
#### 15. **ZigZag and Wedge Patterns**
- Optional zigzag lines to connect swing highs and lows.
- Detects wedge patterns using customizable settings for pivot points and angle differences.
---
### **Use Case Scenarios**
1. **Trend Identification**: Use multi-timeframe EMAs to confirm overall market direction.
2. **Range Trading**: Trade within ranges using detected inside and outside bars as key levels.
3. **Breakout Trading**: Use patterns like IOI and OII to anticipate breakouts.
4. **Scalping**: Exploit bullish and bearish streaks or micro gaps for quick trades.
5. **Pattern-Based Alerts**: Set up alerts for specific market conditions or candlestick patterns.
### **Why This Indicator Is Useful**
- Combines multiple trading tools into a single, customizable script.
- Saves time by automating complex calculations and pattern detections.
- Improves decision-making with clear visual cues and configurable alerts.
Let me know if you'd like any additional explanations or adjustments!
Bullish Reversal Bar Strategy [Skyrexio]Overview
Bullish Reversal Bar Strategy leverages the combination of candlestick pattern Bullish Reversal Bar (description in Methodology and Justification of Methodology), Williams Alligator indicator and Williams Fractals to create the high probability setups. Candlestick pattern is used for the entering into trade, while the combination of Williams Alligator and Fractals is used for the trend approximation as close condition. Strategy uses only long trades.
Unique Features
No fixed stop-loss and take profit: Instead of fixed stop-loss level strategy utilizes technical condition obtained by Fractals and Alligator or the candlestick pattern invalidation to identify when current uptrend is likely to be over (more information in "Methodology" and "Justification of Methodology" paragraphs)
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Trend Trade Filter: strategy uses Alligator and Fractal combination as high probability trend filter.
Methodology
The strategy opens long trade when the following price met the conditions:
1.Current candle's high shall be below the Williams Alligator's lines (Jaw, Lips, Teeth)(all details in "Justification of Methodology" paragraph)
2.Price shall create the candlestick pattern "Bullish Reversal Bar". Optionally if MFI and AO filters are enabled current candle shall have the decreasing AO and at least one of three recent bars shall have the squat state on the MFI (all details in "Justification of Methodology" paragraph)
3.If price breaks through the high of the candle marked as the "Bullish Reversal Bar" the long trade is open at the price one tick above the candle's high
4.Initial stop loss is placed at the Bullish Reversal Bar's candle's low
5.If price hit the Bullish Reversal Bar's low before hitting the entry price potential trade is cancelled
6.If trade is active and initial stop loss has not been hit, trade is closed when the combination of Alligator and Williams Fractals shall consider current trend change from upward to downward.
Strategy settings
In the inputs window user can setup strategy setting:
Enable MFI (if true trades are filtered using Market Facilitation Index (MFI) condition all details in "Justification of Methodology" paragraph), by default = false)
Enable AO (if true trades are filtered using Awesome Oscillator (AO) condition all details in "Justification of Methodology" paragraph), by default = false)
Justification of Methodology
Let's explore the key concepts of this strategy and understand how they work together. The first and key concept is the Bullish Reversal Bar candlestick pattern. This is just the single bar pattern. The rules are simple:
Candle shall be closed in it's upper half
High of this candle shall be below all three Alligator's lines (Jaw, Lips, Teeth)
Next, let’s discuss the short-term trend filter, which combines the Williams Alligator and Williams Fractals. Williams Alligator
Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
Fractals, another tool by Bill Williams, help identify potential reversal points on a price chart. A fractal forms over at least five consecutive bars, with the middle bar showing either:
Up Fractal: Occurs when the middle bar has a higher high than the two preceding and two following bars, suggesting a potential downward reversal.
Down Fractal: Happens when the middle bar shows a lower low than the surrounding two bars, hinting at a possible upward reversal.
Traders often use fractals alongside other indicators to confirm trends or reversals, enhancing decision-making accuracy.
How do these tools work together in this strategy? Let’s consider an example of an uptrend.
When the price breaks above an up fractal, it signals a potential bullish trend. This occurs because the up fractal represents a shift in market behavior, where a temporary high was formed due to selling pressure. If the price revisits this level and breaks through, it suggests the market sentiment has turned bullish.
The breakout must occur above the Alligator’s teeth line to confirm the trend. A breakout below the teeth is considered invalid, and the downtrend might still persist. Conversely, in a downtrend, the same logic applies with down fractals.
How we can use all these indicators in this strategy? This strategy is a counter trend one. Candle's high shall be below all Alligator's lines. During this market stage the bullish reversal bar candlestick pattern shall be printed. This bar during the downtrend is a high probability setup for the potential reversal to the upside: bulls were able to close the price in the upper half of a candle. The breaking of its high is a high probability signal that trend change is confirmed and script opens long trade. If market continues going down and break down the bullish reversal bar's low potential trend change has been invalidated and strategy close long trade.
If market really reversed and started moving to the upside strategy waits for the trend change form the downtrend to the uptrend according to approximation of Alligator and Fractals combination. If this change happens strategy close the trade. This approach helps to stay in the long trade while the uptrend continuation is likely and close it if there is a high probability of the uptrend finish.
Optionally users can enable MFI and AO filters. First of all, let's briefly explain what are these two indicators. The Awesome Oscillator (AO), created by Bill Williams, is a momentum-based indicator that evaluates market momentum by comparing recent price activity to a broader historical context. It assists traders in identifying potential trend reversals and gauging trend strength.
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
This indicator is filtering signals in the following way: if current AO bar is decreasing this candle can be interpreted as a bullish reversal bar. This logic is applicable because initially this strategy is a trend reversal, it is searching for the high probability setup against the current trend. Decreasing AO is the additional high probability filter of a downtrend.
Let's briefly look what is MFI. The Market Facilitation Index (MFI) is a technical indicator that measures the price movement per unit of volume, helping traders gauge the efficiency of price movement in relation to trading volume. Here's how you can calculate it:
MFI = (High−Low)/Volume
MFI can be used in combination with volume, so we can divide 4 states. Bill Williams introduced these to help traders interpret the interaction between volume and price movement. Here’s a quick summary:
Green Window (Increased MFI & Increased Volume): Indicates strong momentum with both price and volume increasing. Often a sign of trend continuation, as both buying and selling interest are rising.
Fake Window (Increased MFI & Decreased Volume): Shows that price is moving but with lower volume, suggesting weak support for the trend. This can signal a potential end of the current trend.
Squat Window (Decreased MFI & Increased Volume): Shows high volume but little price movement, indicating a tug-of-war between buyers and sellers. This often precedes a breakout as the pressure builds.
Fade Window (Decreased MFI & Decreased Volume): Indicates a lack of interest from both buyers and sellers, leading to lower momentum. This typically happens in range-bound markets and may signal consolidation before a new move.
For our purposes we are interested in squat bars. This is the sign that volume cannot move the price easily. This type of bar increases the probability of trend reversal. In this indicator we added to enable the MFI filter of reversal bars. If potential reversal bar or two preceding bars have squat state this bar can be interpret as a reversal one.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.12.31. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -5.29%
Maximum Single Profit: +29.99%
Net Profit: +5472.66 USDT (+54.73%)
Total Trades: 103 (33.98% win rate)
Profit Factor: 1.634
Maximum Accumulated Loss: 1231.15 USDT (-8.32%)
Average Profit per Trade: 53.13 USDT (+0.94%)
Average Trade Duration: 76 hours
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h ETH/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
Simultaneous INSIDE Bar Break IndicatorSimultaneous Inside Bar Break Indicator (SIBBI) for The Strat Community
Overview:
The Simultaneous Inside Bar Break Indicator (SIBBI) is designed to help traders using The Strat methodology identify one of the most powerful breakout patterns: the Simultaneous Inside Bar Break across multiple symbols. This indicator detects when all four user-selected symbols form inside bars on the previous candle and then break those inside bars in the same direction (either bullish or bearish) on the current candle.
Inside bars represent consolidation periods where price action does not break the high or low of the previous candle. When a simultaneous break occurs across multiple symbols, this often signals a strong move in the market, making this a key actionable signal in The Strat trading strategy.
Key Features:
Multi-Symbol Analysis: You can track up to four different symbols simultaneously. By default, the indicator comes with SPY, QQQ, IWM, and DIA, but you can modify these to track any other assets or symbols.
Inside Bar Detection: The indicator checks whether all four symbols have inside bars on the previous candle. It only triggers when all symbols meet this condition, making it a highly specific and reliable signal.
Simultaneous Break Detection: Once all symbols have inside bars, the indicator waits for a breakout in the same direction across all four symbols. A simultaneous bullish break (prices breaking above the previous candle’s high) triggers a green label, while a simultaneous bearish break (prices breaking below the previous candle’s low) triggers a red label.
Dynamic Label Timeframe: The indicator dynamically adjusts the timeframe in the label based on the user’s selected timeframe. This allows traders to know precisely which timeframe the break is occurring on. If the user selects "Chart Timeframe," the indicator will evolve with the current chart's timeframe, making it more versatile.
Timeframe Flexibility: The indicator can be set to analyze any timeframe—15-minute, 30-minute, 60-minute, daily, weekly, and so on. It only works for the specific timeframe you set it to in the settings. If set to "Chart Timeframe," the label will adapt dynamically based on the timeframe you are currently viewing.
Customizable Labels: The user can choose the size of the labels (tiny, small, or normal), ensuring that the visual output is tailored to individual preferences and chart layouts.
Best Use Case:
The Simultaneous Inside Bar Break Indicator is particularly powerful when applied to multiple timeframes. Here’s how to use it for maximum impact:
Multi-Timeframe Setup: Set the indicator on various timeframes (e.g., 15-minute, 30-minute, 60-minute, and daily) across multiple charts. This allows you to monitor different timeframes and identify when lower timeframe breaks trigger potential moves on higher timeframes.
Anticipating Strong Moves: When a simultaneous inside bar break occurs on one timeframe (e.g., 30-minute), keep an eye on the higher timeframes (e.g., 60-minute or daily) to see if those timeframes also break. This stacking of inside bar breaks can signal powerful market moves.
Higher Conviction Signals: The indicator is designed to provide high-conviction signals. Since it requires all four symbols to break in the same direction simultaneously, it reduces false signals and focuses on higher probability setups, which is crucial for traders using The Strat to time their trades effectively.
How the Indicator Works:
Inside Bar Formation: The indicator first checks that all four selected symbols had inside bars in the previous bar (i.e., the current high and low are contained within the previous bar’s high and low).
Simultaneous Break Detection: After detecting inside bars, the indicator checks if all four symbols break out in the same direction—bullish (breaking above the previous bar’s high) or bearish (breaking below the previous bar’s low).
Label Display: When a simultaneous inside bar break occurs, a label is plotted on the chart—either green for a bullish break (below the candle) or red for a bearish break (above the candle). The label will display the timeframe you set in the settings (e.g., "IBSB 60" for a 60-minute break).
Chart Timeframe Option: If you prefer, you can set the indicator to evolve with the chart’s current timeframe. In this mode, the label will not show a specific timeframe but will still display the simultaneous inside bar break when it occurs.
Recommendations for Usage:
Focus on Multiple Timeframes: The Strat methodology is all about understanding the relationship between different timeframes. Use this indicator on multiple timeframes to get a better picture of potential moves.
Pair with Other Strat Techniques: This indicator is most powerful when combined with other Strat tools, such as broadening formations, timeframe continuity, and actionable signals (e.g., 2-2 reversals). The simultaneous inside bar break can help confirm or invalidate other signals.
Customize Symbols and Timeframes: Although the default symbols are SPY, QQQ, IWM, and DIA, feel free to replace them with symbols more relevant to your trading. This indicator works well across equities, indices, futures, and forex pairs.
How to Set It Up:
Select Symbols: Choose four symbols that you want to track. These can be index ETFs (like SPY and QQQ), individual stocks, or any other tradable instruments.
Set Timeframe: In the indicator’s settings, choose a specific timeframe (e.g., 15-minute, 30-minute, daily). The label will reflect the selected timeframe, making it clear which time-based break you are seeing.
Optional - Chart Timeframe Mode: If you want the indicator to adapt to the chart’s current timeframe, select the "Chart Timeframe" option in the settings. The indicator will plot the breaks without showing a specific timeframe in the label.
Customize Label Size: Depending on your chart layout and personal preference, you can adjust the size of the labels (tiny, small, or normal) in the settings.
Conclusion:
The Simultaneous Inside Bar Break Indicator is a powerful tool for traders using The Strat methodology, offering a highly specific and reliable signal that can indicate potential large market moves. By monitoring multiple symbols and timeframes, you can gain deeper insight into the market's behavior and act with greater confidence. This indicator is ideal for traders looking to catch high-conviction moves and align their trades with broader market continuity.
Note: The indicator works best when paired with multi-timeframe analysis, allowing you to see how breaks on lower timeframes might influence larger trends. For traders who prefer simplicity, setting it to the "Chart Timeframe" mode offers flexibility while maintaining the core benefits of this indicator.
Multi Bar OHLC Compare Panel (Floating Grid)Multi Bar OHLC Compare Panel by RagingRocketBull 2019
version 1.0
This indicator lets you compare OHLCV values from several specified bars. Bars can be dynamic/persistent.
You can also use it as an alternate OHLC panel if you don't like small font of the native TradingView panel.
It uses Pinescript v4 to output data dynamically as string labels in a horiz/vertical grid.
Features:
- Floating Panel with customizable horiz/vertical layout and grid spacing
- Support for up to 5 OHLC bars (highlighted with markers)
- Outputs Bar #/index, OHLCV, Bar Change Value/%, Exchange/Ticker, Timeframe, Timestamp strings
- Dynamic (fixed offset)/Persistent bars (fixed time)
- Show/Hide parts of strings
- Full output string customization, including text size, date/time format and delimiters
- 2 Anchor points for panel offset: cur bar high or range high
- Bar Change can change color
Usage:
- specify at least 1 bar index as OHLC source
- select anchor point to position the panel
- select horiz/vertical grid layout
- adjust horiz/vertical spacing
- customize output strings as needed
Notes:
- this indicator uses Pinescript v3 Compatibity Framework
- both bars 1,2 are required for log scale adjustment to work
- you can't attach the panel to screen's top/bottom and must use offset/anchor because, unlike plotshape, string labels don't support yloc=yloc.top/bottom, only yloc.above/belowbar
- you can't precisely align strings in a grid because there's no label.get_width/height to calculate mid/left points, only get_x/y/text. Alignment will break depending on string length, zoom and change color option on/off
- bar change is rendered as a separate label when change color is enabled (2 panels total) and merged into the main panel when disabled (single panel)
- you can't change the order of strings as playing with the natural order of things isn't the best of ideas
- you can modify the script to compare up to 50 OHLC bars, but do you need that much power? Of course, you do.
- you can't set color/style for string labels in Style UI, so a few extra settings were added.
- bar index is limited to 5000 for free accounts (10000 for paid), will show an error when exceeded, also when it exceeds the total number of bars in history
- in persistent bars mode all bars with index > 0 are considered persistent, bar 0 always remains a dynamic bar
- persistent bars' offset is reset: in replay mode on exit or when price reaches cur bar, or when panel layout is changed from h to v in both replay/realtime modes
- initial pos of each persistent bar relative to the first realtime bar anchor doesn't change during session - new persistent bars introduced during session are attached to the most recent cur bar anchor
P.S. Everything is proceeding as I have foreseen
Trend Bars with Okuninushi Line Filter# Trend Bars with Okuninushi Line Filter: A Powerful Trading Indicator
## Introduction
The **Trend Bars with Okuninushi Line Filter** is an innovative technical indicator that combines two powerful concepts: trend bar analysis and the Okuninushi Line filter. This indicator helps traders identify high-quality trending moves by analyzing candle body strength relative to the overall price range while ensuring the price action aligns with the dominant market structure.
## What Are Trend Bars?
Trend bars are candles where the body (distance between open and close) represents a significant portion of the total price range (high to low). These bars indicate strong directional momentum with minimal indecision, making them valuable signals for trend continuation.
### Key Characteristics:
- **Strong directional movement**: Large body relative to total range
- **Minimal upper/lower shadows**: Shows sustained pressure in one direction
- **High conviction**: Represents decisive market action
## The Okuninushi Line Filter
The Okuninushi Line, also known as the Kijun Line in Ichimoku analysis, is calculated as the midpoint of the highest high and lowest low over a specified period (default: 52 periods).
**Formula**: `(Highest High + Lowest Low) / 2`
This line acts as a dynamic support/resistance level and trend filter, helping to:
- Identify the overall market bias
- Filter out counter-trend signals
- Provide confluence for trade entries
## How the Indicator Works
The indicator combines these two concepts with the following logic:
### Bull Trend Bars (Green)
A candle is colored **green** when ALL conditions are met:
1. **Bullish candle**: Close > Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Above trend filter**: Close > Okuninushi Line
### Bear Trend Bars (Red)
A candle is colored **red** when ALL conditions are met:
1. **Bearish candle**: Close < Open
2. **Strong body**: |Close - Open| ≥ Threshold × (High - Low)
3. **Below trend filter**: Close < Okuninushi Line
### Neutral Bars (Gray)
All other candles that don't meet the complete criteria are colored **gray**.
## Customizable Parameters
### Trend Bar Threshold
- **Range**: 10% to 100%
- **Default**: 75%
- **Purpose**: Controls how "strong" a candle must be to qualify as a trend bar
**Threshold Effects:**
- **Low (10-30%)**: More sensitive, catches smaller trending moves
- **Medium (50-75%)**: Balanced approach, filters out most noise
- **High (80-100%)**: Very selective, only captures the strongest moves
### Okuninushi Line Length
- **Default**: 52 periods
- **Purpose**: Determines the lookback period for calculating the midpoint
- **Common Settings**:
- 26 periods: More responsive to recent price action
- 52 periods: Standard setting, good balance
- 104 periods: Longer-term trend perspective
## Trading Applications
### 1. Trend Continuation Signals
- **Green bars**: Look for bullish continuation opportunities
- **Red bars**: Consider bearish continuation setups
- **Gray bars**: Exercise caution, mixed signals
### 2. Market Structure Analysis
- Clusters of same-colored bars indicate strong trends
- Alternating colors suggest choppy, indecisive markets
- Transition from red to green (or vice versa) may signal trend changes
### 3. Entry Timing
- Use colored bars as confirmation for existing trade setups
- Wait for color alignment with your market bias
- Avoid trading during predominantly gray periods
### 4. Risk Management
- Gray bars can serve as early warning signs of weakening trends
- Color changes might indicate appropriate exit points
- Use in conjunction with other risk management tools
## Advantages
1. **Dual Filtering**: Combines momentum (trend bars) with trend direction (Okuninushi Line)
2. **Visual Clarity**: Immediate visual feedback through candle coloring
3. **Customizable**: Adjustable parameters for different trading styles
4. **Versatile**: Works across multiple timeframes and instruments
5. **Objective**: Rule-based system reduces subjective interpretation
## Limitations
1. **Lagging Nature**: Based on historical price data
2. **False Signals**: Can produce whipsaws in choppy markets
3. **Parameter Sensitivity**: Requires optimization for different instruments
4. **Market Conditions**: May be less effective in ranging markets
## Best Practices
### Optimization Tips:
- **Volatile Markets**: Use higher thresholds (80-90%)
- **Steady Trends**: Use moderate thresholds (60-75%)
- **Short-term Trading**: Shorter Okuninushi Line periods (26)
- **Long-term Analysis**: Longer Okuninushi Line periods (104+)
### Combination Strategies:
- Pair with volume indicators for confirmation
- Use alongside support/resistance levels
- Combine with other trend-following indicators
- Consider market context and overall trend direction
## Conclusion
The Trend Bars with Okuninushi Line Filter offers traders a sophisticated yet intuitive way to identify high-quality trending moves. By combining the momentum characteristics of trend bars with the directional filter of the Okuninushi Line, this indicator helps traders focus on the most promising opportunities while avoiding low-probability setups.
Remember that no single indicator should be used in isolation. Always consider market context, risk management, and other technical factors when making trading decisions. The true power of this indicator lies in its ability to quickly highlight periods of strong, aligned price action – exactly what trend traders are looking for.
---
*Disclaimer: This article is for educational purposes only and should not be considered as financial advice. Always conduct your own research and consider your risk tolerance before making any trading decisions.*
Inside/Outside Bar Direction Highlighter
Here’s a trading indicator in Pine Script (v6) that combines the essence of the Inside Bar, Outside Bar, and directional patterns inspired by TT3 Theory. This indicator highlights bars based on their classification as inside, outside, or directional and provides potential trade signals.
Inside Outside Indicator
Explanation:
Bar Classification:
Inside Bar: Current high is less than the previous high, and the low is greater than the previous low.
Outside Bar: Current high exceeds the previous high, and the low breaks below the previous low.
Up/Down Bars: Closing prices relative to the previous high/low.
Visual Highlights:
Bars are visually highlighted with colors for easy identification.
Trade Signals:
Long Signal: When the close crosses above the previous high and it's a directional up bar.
Short Signal: When the close crosses below the previous low and it's a directional down bar.
Customizable Inputs:
Colors for inside, outside, up, and down bars can be modified.
You can copy and paste this script into the Pine Editor on TradingView to see it in action. Adjust the logic to fit your trading strategy as needed.
You said:
summary of how to use this indicator without buy/sell signal
ChatGPT said:
ChatGPT
How to Use the Inside/Outside Bar Direction Highlighter Indicator (Without Buy/Sell Signals)
Understand the Bar Classifications:
Inside Bars: Highlighted in blue (default). These indicate periods of market consolidation. Look for potential breakouts in either direction.
Outside Bars: Highlighted in orange (default). These represent increased volatility, where both higher highs and lower lows are made. Watch for reversals or continuations based on broader trends.
Directional Up Bars: Highlighted in green (default). These occur when the current close is above the previous high, signaling bullish momentum.
Directional Down Bars: Highlighted in red (default). These occur when the current close is below the previous low, indicating bearish momentum.
Identify Key Patterns:
Use the highlighted bars to spot price action setups, such as:
Breakouts from inside bars.
Reversal signals following outside bars.
Continuation patterns when directional bars align with the trend.
Combine with Your Analysis:
Trend Analysis: Match bar classifications with trend direction on larger timeframes (e.g., daily, 4-hour).
Support/Resistance: Use inside and outside bars near key levels for confirmation or reversal signals.
Volume: Higher volume on directional bars strengthens the momentum signal.
Customize the Colors:
Adjust the bar highlight colors to fit your chart theme for better visibility.
No Automatic Signals:
This indicator doesn’t provide explicit buy/sell recommendations. Instead, use the visual highlights to make informed decisions based on your trading strategy.
By interpreting these bar patterns, you can better gauge market behavior and make more confident decisions without relying on preset signals.
5-Minute YEN Pivot Bars 1.0The 5-Minute YEN Pivot Bars indicator is designed to identify and highlight low-range pivot bars on 5-minute charts, specifically tailored for Yen-based pairs (e.g., GBPJPY, USDJPY). By focusing on precise pip thresholds, this tool helps traders detect potential pivot points within specific trading sessions, while avoiding inside bars and other noise often seen in low-volatility conditions. This can be particularly useful for trend traders and those looking to refine their entry points based on intraday reversals.
Key Features:
- Customized Pip Thresholds for Yen Pairs:
The indicator is pre-configured for Yen pairs, where 1 pip is typically represented by 0.01. It applies these thresholds:
- Limited Range: 4 pips or less between open and close prices.
- High/Low Directionality: At least 3 pips from the close/open to the bar's high or low.
- Open/Close Proximity: 4 pips or less between open and close.
- Inside Bar Tolerance: A tolerance of 3 pips for inside bars, helping reduce false signals from bars contained within the previous bar's range.
- Session-Specific Alerts:
- The indicator allows you to enable alerts for the European Session (6:00-12:00), American Session (12:00-17:00), and London Close (17:00-20:00). You can adjust these times based on your own trading hours or timezone preferences via a time-shift setting.
- Receive real-time alerts when a valid bullish or bearish pivot bar is identified within the chosen sessions, allowing you to respond to potential trade opportunities immediately.
- Time Shift Customization:
- Adjust the "Time Shift" parameter to account for different time zones, ensuring accurate session alignment regardless of your local time.
How It Works:
1. Pivot Bar Identification:
The indicator scans for bars where the difference between the open and close is within the "Limited Range" threshold, and both open and close prices are close to either the high or the low of the bar.
2. Directional Filtering:
It requires the bar to show strong directional bias by enforcing an additional distance between the open/close levels and the opposite end of the bar (high/low). Only bars with this directional structure are considered for highlighting.
3. Exclusion of Inside Bars:
Bars that are completely contained within the range of the previous bar are excluded (inside bars), as are consecutive inside bars. This filtering is essential to avoid marking bars that typically indicate consolidation rather than potential pivot points.
4. Session Alerts:
When a valid pivot bar appears within the selected sessions, an alert is triggered, notifying the trader of a potential trading signal. Bullish and bearish signals are differentiated based on whether the close is near the high or low.
How to Use:
- Trend Reversals: Use this indicator to spot potential trend reversals or pullbacks on a 5-minute chart, especially within key trading sessions.
- Entry and Exit Points: Highlighted bars can serve as potential entry points for traders looking to capitalize on short-term directional changes or continuation patterns.
- Combine with Other Indicators: Consider pairing this tool with momentum indicators or trendlines to confirm the signals, providing a comprehensive analysis framework.
Default Parameters:
- Limited Range: 4 Pips
- High/Low Directionality: 3 Pips
- Open/Close Proximity: 4 Pips
- Inside Bar Tolerance: 3 Pips
- Session Alerts: Enabled for European, American, and London Close sessions
- Time Shift: Default 6 (adjustable to align with different time zones)
This indicator is specifically optimized for Yen pairs on 5-minute charts due to its pip calculation.
Candlesticks Patterns [TradingFinder] Pin Bar Hammer Shooting🔵 Introduction
Truly, the title "TradingView" doesn't do justice to this excellent website, and that's why I've written about its crucial aspect. In this indicator, the identification of all candlesticks known as "Pin bars" is explored.
These candlesticks include the following:
- Hammer : A Pin bar formed at the end of a bearish trend, with its body being either bearish or bullish.
- Shooting Star : Formed at the end of a bullish trend, with its body being either bearish or bullish.
- Hanging Man : Formed during an upward trend, characterized by a candle with a lower shadow.
- Inverted Hammer : Formed during a downward trend, characterized by a candle with an upper shadow.
🟣 Important : For ease of use, we refer to these four candlestick patterns as Pin Bars and categorize them into the main friends "Bullish" and "Bearish."
🟣 Important : In all sources, Hanging Man and Inverted Hammer are referred to as "Reversal candles." However, in reality, whenever they appear after breaking a significant area (Break Out), we expect these candles to signal a continuation of the trend and confirmation in the direction of the trend.
🟣 Important : One of the best signs of market manipulation and entry by market giants is the "Ice Berg." So, it provides one of the best trading opportunities.
🔵 Reason for Creation
Many traders, especially volume traders, use Pin bars as confirmation and enter the market after their occurrence. In this indicator, all four patterns are identified and displayed in a colored candle format, using "triangle" and "circle."
When they are evident on the chart, directly or by drawing a horizontal line, they give us good alerts for reversal or continuation areas.
🔵 Information Table
1. Red circle: Pin bars formed in a downtrend.
2. Blue circle: Bullish Pin bars formed in an uptrend.
3. Black triangle: Bearish Pin bar candle in an uptrend.
4. Blue triangle: Bullish Pin bar candle in a downtrend.
🔵 Settings
Trend Detection Period: A special feature that considers smaller or larger fluctuations. If individual price waves need to be considered, use lower numbers; if the overall trend direction is desired, use larger numbers (e.g., 5-7 or higher). This precisely sets the Zigzag or Pivot format, not displayed but considered in the indicator calculation.
Trend Effect : By changing the Trend Effect status to "Off," all Pin bars, whether bullish or bearish, are displayed regardless of the current market trend. If the status remains "On," only Pin bars in the direction of the main market trend are shown.
🟣 Important : Black triangles "Number 3" and blue triangles "Number 4" displayed in the information table section, as explained in the "Information Table" section.
Show Bullish Pin Bar : When set to "Yes," displays bullish Pin bars; when set to "No," does not display them.
Show Bearish Pin Bar : When set to "Yes," allows the display of bearish Pin bars; when set to "No," does not display them.
Bullish Pin Bar Setting : Using the "Ratio Lower Shadow to Body" and "Ratio Lower Shadow to Higher Shadow" settings, you can customize your bullish Pin bar candles. Larger numbers impose stricter conditions for identifying bullish Pin bars.
Bearish Pin Bar Setting : Using the "Ratio Higher Shadow to Body" and "Ratio Higher Shadow to Lower Shadow" settings, you can customize your bearish Pin bar candles. Larger numbers impose stricter conditions for identifying bearish Pin bars.
Show Info Table : Allows the display or non-display of the information table (located at the bottom of the page and on the right side).
🔵 How to Use
At the end of a downtrend, look for "Hammer" candles, easily identified one by one.
To identify the "Shooting Star" candle pattern at the end of an uptrend; expect a price reversal in the downtrend.
For trades in the downward direction, wait for the formation of an "Inverted Hammer" Pin bar.
And finally, in an uptrend, where a "Hanging Man" candle can form.
🔵 Features
For better visualization, triangles and circles are used above the candles, but they can be easily removed. All Pin bars are displayed in color with the following meanings:
- Black-bodied candle: Inverted Hammer
- Turquoise blue candle: Hammer
- Pink candle: Hanging Man
- Red candle: Shooting Star
🟣 Important : The capability to detect the powerful two-candle pattern "Tweezer Top" at the end of an uptrend emerges by forming two "Shooting Star" candles side by side.
Similarly, the two-candle pattern "Tweezer Bottom" is created at the end of a downtrend with the formation of two "Hammer" candles side by side. To identify the "Tweezer" pattern, make sure the settings in the "Trend Effect" section are set to "Off."
🟣 Auxiliary Indicators
During the start of trading sessions such as Asia, London, and New York, where the highest liquidity exists, alongside this indicator, you can use the Trading Sessions indicator.
Sessions
The combination of Order Blocks "-OB" and "+OB" with candles is one of the best trading methods. The indicator that identifies order blocks, along with this indicator, can yield remarkable results in the success of Pin bar candles.
Order Blocks Finder
The trading toolset "TFlab" presents this indicator. To benefit from all indicators, we invite you to visit our page " TFlab Scripts ".
Volume Pressure BarsDescription
This indicator transforms the normal volume bars into buying and selling segments. This allows the user to easily see how much buying and selling pressure is occurring on any given timeframe. The buying and selling pressure values are calculated using the following equations:
buyingPressure = volume * (close - low) / (high - low)
sellingPressure = volume * (high - close) / (high - low)
Moving Average Line
Also included in this indicator is the optional moving average line. This allows the user to easily see if volume is above or below the average line. All aspects of the moving average line can be adjusted. The line can be toggled on & off, the length of the moving average can be adjusted, the mathematical smoothing function can be chosen, and the color & style of the line can be configured.
Scaling
If the volume pressure bars are displayed on the same “pane” as the price candles, then the volume bars can be scaled up or down. In the Input settings check the “Scale Bars” checkbox. Then increase the “Scaling Factor” number to make all of the volume bars smaller (to allow more room on your chart) or decrease the number to make the volume bars bigger.
IMPORTANT NOTE #1: scaling only works when the volume pressure bars are in the same pane as the price candles. If the volume pressures bars are in their own pane, then the “Scale Bars” toggle has no effect.
IMPORTANT NOTE #2: if the volume pressure bars are in the same pane as the price candles then there will be a sizable gap between the bottom of the volume bars and the time axis on the TradingView chart. This IS NOT a bug in this indicators code. The gap IS a bug in the TradingView platform that affects all volume indicators besides the default volume indicator that comes with each blank chart. To remove the gap then move the “_Vol Bars” indicator to its own pane above or below the main pain.
Volume Numbers
In Pine Script there is not a true stacked bar chart plot. What the author has to use are multiple bar charts that are in front and behind each other. This gives the impression that the bars are truly stacked because the selling pressure is always smaller than the total volume on any given bar. There is no issue to visually look at the bars and see their heights but if the user used their cursor to hover on a bar to get the actual volume pressure values it leads to issues. To address this problem the author has created a third invisible bar called “Buy Vol Label” that is the buy pressure volume value. Thus when the user hovers the cursor over a bar the first value (from left to right) is the total volume for the bar, the second value is the sell pressure, the third value is the buy pressure, and the fourth value (if toggled on) is the moving average value.
quantized pin bar indicator with ATRAbstract
This script computes the strength of pin bars.
This script uses the corrent and the previous two bars to compute the strength of pin bars.
The strength of pin bars can be also comared with average true range, so we can evaluate those pin bars are strong or weak.
Introduction
Pin bar is a popular price action trading strategy.
It is based on quick price rejection.
Most of existing pin bar scripts only determine if a bar is a pin bar or not.
However, evaluating the strength of pin bars is important.
If price rejection is too weak, it is difficult to trigger trend reversal.
If a pin bar is too strong, we may enter the trade too late and cannot have good profit.
In this script, it provides a method to compute to strength of pin bars.
After the strength of pin bars are quantized, they can compare with average true range, price range and trend strength, which can help us to determine where are worthy for us to open trades.
Computation
Bullish hammer : current low is lower than ( previous high or current open ) and current close.
Bearish gravestone : current high is higher than ( previous low or current open ) and current close.
Bullish engulfing and harami : ( current low or previous low ) is lower than ( previous 2nd high or previous open ) and current close.
Bearish engulfing and harami : ( current high or previous high ) is higher than ( previous 2nd low or previous open ) and current close.
Parameters
Smoothing : the type of computing average.
Length of ATR : determines the number of true ranges for computing average true range.
ATR multiplier line : the threshould that a pin bar is strong enough. For example, if this value is 0.5, it means a pin bar with 0.5*atr or more is considered a strong pin bar.
one direction pinbar : set to 1 if you want the strength of bullish pin bars and bearish pin bars are cancelled. Set to 0 if you want to keep both strength of bullish pin bars and bearish pin bars; in this case, you may need to change the plot style to make both strength visible.
Trading Suggestions
Evaluate the strength of trend against pin bars. After all, a single reverse pin bar may be too weak to reverse the trend.
Timeframe : if atr is higher than 4*spread, the timeframe is high enough. However, if strong pin bars appear too frequent or price range is too small, going to higher fimeframe may be more safe.
Entry and exit : according to personal flavors.
Conclusion
The strength of pin bars can be quantized.
With this indicator, we can find more potential pin bars which human eyes and binary pattern detectors were leaked.
In my opinion, 0.5*atr is the most suitable streng of a pin bar for my trade entry but I still need to consider the direction of the trend.
You are welcome to share your settings and related trading strategy.
References
Most of related knowledge can be searched from the internet.
I cannot say the exact references because they may violate the rules of Tradingview.
Volume Weighted Intra Bar LR Standard DeviationThis indicator analyzes market character by providing a detailed view of volatility. It applies a Linear Regression model to intra-bar price action, dissecting the total volatility of each bar into three distinct components.
Key Features:
Three-Component Volatility Decomposition: By analyzing a lower timeframe ('Intra-Bar Timeframe'), the indicator separates each bar's volatility into:
Trend Volatility (Green/Red): Volatility explained by the intra-bar linear regression slope (Momentum).
Residual Volatility (Yellow): Volatility from price oscillating around the intra-bar trendline (Mean-Reversion).
Within-Bar Volatility (Blue): Volatility derived from the range of each intra-bar candle (Noise/Choppiness).
Layered Column Visualization: The indicator plots these components as a layered column chart. The size of each colored layer visually represents the dominance of each volatility character.
Dual Display Modes: The indicator offers two modes to visualize this decomposition:
Absolute Mode: Displays the total standard deviation as the column height, showing the absolute magnitude of volatility and the contribution of each component.
Normalized Mode: Displays the components as a 100% stacked column chart (scaled from 0 to 1), focusing purely on the percentage ratio of Trend, Residual, and Noise.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all intra-bar calculations.
Multi-Component Pivot Detection: Includes a pivot detector that identifies significant turning points (highs and lows) in both the Total Volatility and the Trend Volatility Ratio. (Note: These pivots are only plotted when 'Plot Mode' is set to 'Absolute').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Analysis: The entire intra-bar analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 9 comprehensive alerts for:
Volatility character changes (e.g., 'Character Change from Noise to Trend').
Dominant character emerging (e.g., 'Bullish Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Trend Volatility pivot (High/Low) detection.
Caution! Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Range Bar Gaps DetectorRange Bar Gaps Detector
Overview
The Range Bar Gaps Detector identifies price gaps across multiple range bar sizes (12, 24, 60, and 120) on any trading instrument, helping traders spot potential support/resistance zones or breakout opportunities. Designed for Pine Script v6, this indicator detects gaps on range bars and exports data for use in companion scripts like Range Bar Gaps Overlap, making it ideal for multi-timeframe gap analysis.
Key Features
Multi-Range Gap Detection: Identifies gaps on 12, 24, 60, and 120-range bars, capturing both bullish (gap up) and bearish (gap down) price movements.
Customizable Sensitivity: Includes a user-defined minimum deviation (default: 10% of 14-period SMA) for 12-range gaps to filter out noise.
7-Day Lookback: Automatically prunes gaps older than 7 days to focus on recent, relevant price levels.
Data Export: Serializes up to 10 gaps per range (tops, bottoms, start bars, highest/lowest prices, and age) for seamless integration with overlap analysis scripts.
Debugging Support: Plots gap counts and aggregation data in the Data Window for easy verification of detected gaps.
How It Works
The indicator aggregates price movements to simulate higher range bars (24, 60, 120) from a base range bar chart. It detects gaps when the price jumps significantly between bars, ensuring gaps meet the minimum deviation threshold for 12-range bars. Gaps are stored in arrays, serialized for external use, and pruned after 7 days to maintain efficiency.
Usage
Add to your range bar chart (e.g., 12-range) to detect gaps across multiple ranges.
Use alongside the Range Bar Gaps Overlap indicator to visualize gaps and their overlaps as boxes on the chart.
Check the Data Window to confirm gap counts and sizes for each range (12, 24, 60, 120).
Adjust the "Minimal Deviation (%) for 12-Range" input to control gap detection sensitivity.
Settings
Minimal Deviation (%) for 12-Range: Set the minimum gap size for 12-range bars (default: 10% of 14-period SMA).
Range Sizes: Fixed at 24, 60, and 120 for higher range bar aggregation.
Notes
Ensure the script is published under your TradingView username (e.g., GreenArrow2005) for use with companion scripts.
Best used on range bar charts to maintain consistent gap detection.
For advanced overlap analysis, pair with the Range Bar Gaps Overlap indicator to highlight zones where gaps from different ranges align.
Ideal For
Traders seeking to identify key price levels for support/resistance or breakout strategies.
Multi-timeframe analysts combining gap data across various range bar sizes.
Developers building custom indicators that leverage gap data for advanced charting.
TPO[Fixed Range, Anchored, Bars Back]TPO Bars Back, Fixed Range and Anchored
Overview
The TPO Profile (Time Price Opportunity Profile) is a powerful market profile indicator that displays the amount of time price spent at different levels during a specified period. Unlike traditional volume profile indicators that show volume distribution, TPO Profile shows time distribution , providing insights into where price has spent the most time and identifying key support and resistance levels.
Key Advantages Over TradingView's Built-in TPO
Simplified Composite Creation : Automatically creates TPO profiles for any time range without manual split/merge operations
Instant Value Area Calculation : Immediately shows Value Area, POC, VAH, and VAL for your selected period
No Manual Assembly Required : TradingView's native TPO requires you to manually split sessions and merge them to create composites - this indicator does it automatically
Flexible Time Ranges : Create composites for any custom time period (multiple days, weeks, specific events) with a few clicks
Real-time Composite Updates : Anchor mode creates live composites that update as new data arrives
Multiple Composite Analysis : Easily compare different time periods without the tedious manual process
Key Features
Core Functionality
Time-Based Analysis : Shows time spent at each price level rather than volume
Configurable Time Blocks : Use any timeframe for TPO counting (30min, 1H, 4H, etc.)
Multiple Price Levels : Adjustable from 5 to 200 levels for granular analysis
Point of Control (POC) : Automatically identifies the price level with highest time activity
Value Area Calculation : Shows the price range containing 70% (configurable) of time activity
Automatic Composite Generation : Creates multi-session composites without manual intervention
Three Operating Modes
1. Bars Back Mode
Analyzes the last N bars from the current bar
Perfect for recent market activity analysis
Range: 10-500 bars
Use Case : Intraday analysis, recent session review
2. Fixed Range Mode
Analyzes a specific time period between start and end times
Ideal for historical analysis of specific events
Creates perfect composites for multi-day periods
Use Case : Earnings periods, news events, specific trading sessions, weekly/monthly composites
3. Anchor Mode (NEW)
Starts from a specific time and extends to the current bar
Dynamically updates as new bars form
Perfect for building live composites from any starting point
Use Case : Live session monitoring, event-based analysis from a specific point, growing composites
Visual Elements
TPO Bars
Horizontal bars showing time distribution at each price level
Longer bars = more time spent at that level
Color-coded to distinguish Value Area from outlying levels
Point of Control (POC)
Red line marking the price level with highest time activity
Most significant support/resistance level
Configurable line style (Solid/Dashed/Dotted) and width
Value Area High/Low (VAH/VAL)
Green and Orange lines marking the boundaries of the Value Area
Shows the price range containing the specified percentage of time activity
Optional display with customizable line styles
Single Print Detection
Identifies price levels touched by only one time block
Display options: Lines or Boxes
Purple color highlighting these significant levels
Often act as strong support/resistance in future trading
Customization Options
Time Block Configuration
Block Time : Choose timeframe for TPO counting (30min, 1H, 4H, etc.)
Allows analysis at different time granularities
Higher timeframes = broader perspective, Lower timeframes = finer detail
Visual Styling
Line Styles : Solid, Dashed, or Dotted for all line elements
Line Widths : 1-5 pixels for POC, VAH, and VAL lines
Colors : Fully customizable colors for all elements
Transparency : Adjustable transparency for better chart readability
Label Management
Show/Hide Labels : Toggle POC, VAH, VAL labels
Font Sizes : Tiny, Small, Normal, Large, Huge
Label Positioning : 8 different position options relative to lines
Offset Controls : Fine-tune label positioning
Line Extension
Level Offset Right : Controls how far lines extend
Smart extension logic:
Value ≤ 0: Infinite extension (extend.right)
Value ≥ 1: Extends exactly N bars ahead
Trading Applications
Support & Resistance
POC often acts as strong support/resistance
Value Area boundaries provide key levels
Single prints frequently become significant levels
Market Structure Analysis
Identify areas of price acceptance (thick TPO bars)
Spot areas of price rejection (thin TPO bars)
Understand where market participants are comfortable trading
Composite Profile Analysis
Create multi-day, weekly, or monthly composites instantly
Compare different composite periods without manual work
Analyze longer-term price acceptance levels
Build composites around specific events or announcements
Session Analysis
Monitor intraday session development in real-time
Compare different sessions (London, New York, Asia)
Track how profiles change throughout the trading day
Build live composites across multiple sessions
Event Analysis
Use Fixed Range mode for earnings, news events
Use Anchor mode to track price development from specific events
Compare pre/post event price acceptance levels
Create event-based composites automatically
Input Parameters
Mode Selection
Mode : Bars Back | Fixed Range | Anchor
Bars Back : Number of bars to analyze (10-500)
Start Time : Beginning time for Fixed Range and Anchor modes
End Time : Ending time for Fixed Range mode only
Analysis Configuration
Block Time : Timeframe for TPO blocks (e.g., "30" for 30-minute blocks)
TPO Levels : Number of price levels (5-200)
Value Area % : Percentage for Value Area calculation (50-95%)
Display Options
Show POC : Display Point of Control line
Show Value Area : Display Value Area box
Show VAH/VAL Lines : Display Value Area boundary lines
Show Single Prints : Display single print detection
Single Print Style : Lines or Boxes
Styling Controls
Colors : TPO, POC, Value Area, VAH, VAL, Single Print colors
Line Styles : POC, VAH, VAL line styles
Line Widths : POC, VAH, VAL line widths
Labels : Show/hide, font size, position, offset controls
Technical Details
Calculation Method
Divides the price range into equal levels based on TPO Levels setting
For each time block, determines which price levels it crosses
Adds +1 count to each crossed level
Identifies POC as the level with highest count
Calculates Value Area by expanding from POC until target percentage is reached
Performance Considerations
Historical data limited to prevent buffer overflow errors
Smart bounds checking for different timeframes
Optimized cleanup routines to prevent drawing object accumulation
Pine Script Version
Built on Pine Script v6
Uses modern Pine Script best practices
Efficient array handling and drawing object management
Best Practices
Timeframe Selection
Block Time = Chart Timeframe : Traditional TPO approach
Block Time > Chart Timeframe : Smoother, broader perspective
Block Time < Chart Timeframe : More granular, detailed analysis
Level Count Guidelines
Low levels (10-20) : Better for swing trading, major levels
High levels (50-100) : Better for scalping, precise entries
Very high levels (100+) : For very detailed analysis
Mode Selection
Bars Back : Daily analysis, recent activity
Fixed Range : Historical events, specific periods, manual composites
Anchor : Live monitoring, event-based analysis, growing composites
Composite Creation Workflow
Select Fixed Range or Anchor mode
Set your desired start time (and end time for Fixed Range)
Adjust TPO Levels for desired granularity
Enable VAH/VAL lines to see Value Area boundaries
The composite profile generates automatically with all key levels
This indicator eliminates the tedious manual process of creating composite TPO profiles in TradingView. Instead of splitting sessions and manually merging them, you get instant composite analysis with automatic Value Area calculation, POC identification, and single print detection. The combination of time-based analysis, multiple operating modes, and extensive customization options makes it a powerful tool for understanding market structure and price acceptance levels across any time period.
Lucy – 3-Bar Reversal with EMA50 Trend Filter📛 Lucy – 3-Bar Reversal with EMA50 Trend Filter
Purpose:
To detect and highlight bullish and bearish 3-bar reversal patterns on the chart, but only when they align with the dominant trend, defined by the EMA 50.
✅ How It Works
🟢 Bullish 3-Bar Reversal (Buy Setup):
Bar 1 is bearish (close < open)
Bar 2 makes a lower low than Bar 1
Bar 3 is bullish (close > open) and closes above Bar 2’s high
Price must be above EMA 50 (trend filter)
✅ Result: Shows a green triangle below the bar
🔴 Bearish 3-Bar Reversal (Sell Setup):
Bar 1 is bullish (close > open)
Bar 2 makes a higher high than Bar 1
Bar 3 is bearish (close < open) and closes below Bar 2’s low
Price must be below EMA 50
✅ Result: Shows a red triangle above the bar
📊 What It Plots:
🔼 Green triangle below bullish signal bar
🔽 Red triangle above bearish signal bar
🟠 Orange line = EMA50 (trend filter)
🔔 Built-in Alerts:
You’ll get an alert if:
A bullish reversal pattern forms above EMA50
A bearish reversal pattern forms below EMA50
🧠 Use Cases:
Great for trend-following traders who want clean, price-action entries
Works well on intraday (15m/1h) or swing (4h/daily) timeframes
Can be used for manual entries, or converted to strategy for automation






















