Average True Range Trailing Mean [Alifer]Upgrade of the Average True Range default indicator by TradingView. It adds and plots a trailing mean to show periods of increased volatility more clearly.
ATR TRAILING MEAN
A trailing mean, also known as a moving average, is a statistical calculation used to smooth out data over time and identify trends or patterns in a time series.
In our indicator, it clearly shows when the ATR value spikes outside of it's average range, making it easier to identify periods of increased volatility.
Here's how the ATR Trailing Mean (atr_mean) is calculated:
atr_mean = ta.cum(atr) / (bar_index + 1) * atr_mult
The ta.cum() function calculates the cumulative sum of the ATR over all bars up to the current bar.
(bar_index + 1) represents the number of bars processed up to the current bar, including the current one.
By dividing the cumulative ATR ta.cum(atr) by (bar_index + 1) and then multiplying it by atr_mult (Multiplier), we obtain the ATR Trailing Mean value.
If atr_mult is set to 1.0, the ATR Trailing Mean will be equal to the simple average of the ATR values, and it will follow the ATR's general trend.
However, if atr_mult is increased, the ATR Trailing Mean will react more strongly to the ATR's recent changes, making it more sensitive to short-term fluctuations.
On the other hand, reducing atr_mult will make the ATR Trailing Mean less responsive to recent changes in ATR, making it smoother and less prone to reacting to short-term volatility.
In summary, adjusting the atr_mult input allows traders to fine-tune the ATR Trailing Mean's responsiveness based on their preferred level of sensitivity to recent changes in market volatility.
IMPLEMENTATION IN A STRATEGY
You can easily implement this indicator in an existing strategy, to only enter positions when the ATR is above the ATR Trailing Mean (with Multiplier-adjusted sensitivity). To do so, add the following lines of codes.
Under Inputs:
length = input.int(title="Length", defval=20, minval=1)
atr_mult = input.float(defval=1.0, step = 0.1, title = "Multiplier", tooltip = "Adjust the sensitivity of the ATR Trailing Mean line.")
smoothing = input.string(title="Smoothing", defval="RMA", options= )
ma_function(source, length) =>
switch smoothing
"RMA" => ta.rma(source, length)
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
=> ta.wma(source, length)
This will allow you to define the Length of the ATR (lookback length over which the ATR is calculated), the Multiplier to adjust the Trailing Mean's sensitivity and the type of Smoothing to be used for the ATR.
Under Calculations:
atr= ma_function(ta.tr(true), length)
atr_mean = ta.cum(atr) / (bar_index+1) * atr_mult
This will calculate the ATR based on Length and Smoothing, and the resulting ATR Trailing Mean.
Under Entry Conditions, add the following to your existing conditions:
and atr > atr_mean
This will make it so that entries are only triggered when the ATR is above the ATR Trailing Mean (adjusted by the Multiplier value you defined earlier).
ATR - DEFINITION AND HISTORY
The Average True Range (ATR) is a technical indicator used to measure market volatility, regardless of the direction of the price. It was developed by J. Welles Wilder and introduced in his book "New Concepts in Technical Trading Systems" in 1978. ATR provides valuable insights into the degree of price movement or volatility experienced by a financial asset, such as a stock, currency pair, commodity, or cryptocurrency, over a specific period.
ATR - CALCULATION AND USAGE
The ATR calculation involves three components:
1 — True Range (TR): The True Range is a measure of the asset's price movement for a given period. It takes into account the following factors:
The difference between the high and low prices of the current period.
The absolute value of the difference between the high price of the current period and the closing price of the previous period.
The absolute value of the difference between the low price of the current period and the closing price of the previous period.
Mathematically, the True Range (TR) for the current period is calculated as follows:
TR = max(high - low, abs(high - previous_close), abs(low - previous_close))
2 — ATR Calculation: The ATR is calculated as a Moving Average (MA) of the True Range over a specified period.
The ATR is calculated as follows:
ATR = MA(TR, length)
3 — ATR Interpretation: The ATR value represents the average volatility of the asset over the chosen period. Higher ATR values indicate higher volatility, while lower ATR values suggest lower volatility.
Traders and investors can use ATR in various ways:
Setting Stop Loss and Take Profit Levels: ATR can help determine appropriate stop-loss and take-profit levels in trading strategies. A larger ATR value might require wider stop-loss levels to allow for the asset's natural price fluctuations, while a smaller ATR value might allow for tighter stop-loss levels.
Identifying Market Volatility: A sharp increase in ATR might indicate heightened market uncertainty or the potential for significant price movements. Conversely, a decreasing ATR might suggest a period of low volatility and possible consolidation.
Comparing Volatility Between Assets: Since ATR uses absolute values, it shouldn't be used to compare volatility between different assets, as assets with higher prices will consistently have higher ATR values, while assets with lower prices will consistently have lower ATR values. However, the addition of a trailing mean makes such a comparison possible. An asset whose ATR is consistently close to its ATR Trailing Mean will have a lower volatility than an asset whose ATR continuously moves far above and below its ATR Trailing Mean. This can help traders and investors decide which markets to trade based on their risk tolerance and trading strategies.
Determining Position Size: ATR can be used to adjust position sizes, taking into account the asset's volatility. Smaller position sizes might be appropriate for more volatile assets to manage risk effectively.
Cari dalam skrip untuk "high low"
HTF Liquidity Dashboard [TFO]The purpose of this indicator is to server as a multi-symbol scanner that indicates when user-defined symbols have exceeded their previous Day/Week/Month highs and lows.
By default, the dashboard will use a compact view where the green ✔ means that price has swept and is currently exceeding the level of interest, the red ❌ implies that price swept the level but reversed back into the original range, and - indicates that the level hasn't been reached. However, the dashboard text can be toggled to show the numerical values of the highs and lows instead of these compact strings, as shown in the following image.
These levels may be shown and customized on the current chart as well via the Show Levels option. By default, levels from the selected timeframes will initially be plotted as black, and will change to red once traded through. Users can optionally increase the Session Limit parameter to show more than one previous high/low on their chart, for each selected timeframe.
Optionally, we can also plot labels to show when any of the user-defined symbols have exceeded their respective highs and lows, for any of the selected timeframes. Alerts can be created for these events as well; simply select the desired symbols and timeframes, create a new alert using this indicator, and you should be alerted when highs and lows are traded through. Note: if you encounter any issues with duplicate alerts, try deleting the alert, navigating to a lower timeframe such as the 1m, and making a new alert.
ICT Sessions_One Setup for Life [MK]The script plots the High/Low of the following trading sessions:
London - 02:00-05:00
NY AM - 09:30-12:00
New York Lunch - 12:00-13:30
New York PM - 13:30-16:00
Due to the high level of liquidity (resting orders), highs and lows of these sessions may be used as buy/sell areas and also as profit target areas. Typically, buy orders would be initiated below a session low and sell orders would be initiated above a
session high.
The script also plots 'RTH (Regular Trading Hours) Opening Gaps'. The RTH gaps are drawn from the closing price of regular trading at 16:15 (EST) to the open price of regular trading at 09:30 (EST). Gaps can be areas that traders might anticipate to be filled at some time in the future. A gap 'midline' is available if needed and yesterday RTH close line can be shown and extended to the current bar.
This script is simply a means to draw boxes around certain areas/periods on the charts. It is in no way a trading strategy and users should spend much time to study the concept and should also perform extensive back-testing before taking any trades.
By setting the lookback value to a much higher value then the default of 6, users can utilise the script to perform their own backtesting studies.
The above chart shows the default setup of the indicator. Note that the user has to choose how far (in days) to lookback and draw the sessions/gaps.
It is also possible to show the session high//low lines and extend them to the current bar time. If this is used it is advised to keep the lookback period as low as possible to ensure charts stay clean/uncluttered.
All boxes/lines styles/colors are fully customisable.
Advanced Choppiness Indicator with CPMA"The Advanced Choppiness Indicator with CPMA is a technical analysis tool designed to assist traders in identifying choppy market conditions and determining trend direction. It combines two key components: the Choppiness Index and a Custom Price Moving Average (CPMA).
The Choppiness Index is calculated using the Average True Range (ATR), which measures market volatility. It compares the ATR to the highest high and lowest low over a specified period. A higher Choppiness Index value indicates choppier market conditions, while a lower value suggests smoother and more directional price movements.
The CPMA is a custom moving average that takes into account various price types, including the close, high, low, and other combinations. It calculates the average of these price types over a specific length. The CPMA provides a smoother trend line that can help identify support and resistance levels more accurately than traditional moving averages.
When using this indicator, pay attention to the following elements:
Yellow range boxes: These indicate choppy zones, where market conditions are characterized by low momentum and erratic price action. Avoid entering trades during these periods.
Histogram bars: Green bars suggest an uptrend, while red bars indicate a downtrend. These bars are based on the CPMA and can help confirm the prevailing trend direction.
CPMA angle: The angle of the CPMA line provides further insight into the trend. A positive angle indicates an uptrend, while a negative angle suggests a downtrend.
Choppiness thresholds: The indicator includes user-defined thresholds for choppiness. Values above the high threshold indicate high choppiness, while values below the low threshold suggest low choppiness.
Trade decisions: Consider the information provided by the indicator to make informed trading decisions. Avoid trading during choppy zones and consider entering trades in the direction of the prevailing trend.
Remember that the indicator's parameters, such as ATR length and CPMA length, can be adjusted to suit your trading preferences and timeframe. However, it's important to use this indicator in conjunction with other technical analysis tools and your trading strategy for comprehensive market analysis."
By combining the Choppiness Index, CPMA, and other visual cues, this indicator aims to help traders identify suitable trading conditions and make more informed decisions based on market trends and volatility.
Hikkake Hunter 2.0This script serves as a successor to a previous script I wrote for identifying Hikkakes nearly two years ago.
The old version has been preserved here:
█ OVERVIEW
This script is a rework of an old script that identified the Hikkake candlestick pattern. While this pattern is not usually considered a part of the standard candlestick patterns set, I found a lot of value when finding a solution to identifying it. A Hikkake pattern is a 3-candle pattern where a middle candle is nested in between the range of the prior candle, and a candle that follows has a higher high and a higher low (bearish setup) or a lower high and a lower low (bullish setup). What makes this pattern unique is the "confirmation" status of the pattern; within 3 candles of this pattern's appearance, there must be a candle that closes above the high (bullish setup) or below the low (bearish setup) of the second candle. Additional flexibility has been added which allows the user to specify the number of candles (up to 5) that the pattern may have to confirm after its appearance.
█ CONCEPTS
This script will cover concepts mainly focusing on candlestick analysis, price analysis (with higher timeframes), and statistical analysis. I believe there is also educational value presented with the use of user-defined-types (UDTs) in accomplishing these concepts that I hope others will find useful.
Candlestick Analysis - Identification and confirmation of the patterns in the deprecated script were clunky and inefficient. While the previous script required the use of 6 candles to perform the confirmations of patterns (restricted solely to identifying patterns that confirmed in 3 candles or less), this script only requires 3 candles to identify and process patterns by utilizing a UDT representing a 'pattern object'. An object representing a pattern will be created when it has been identified, and fields within that object will be set for processing by the functions it is passed to. Pattern objects are held by a var array (values within the array persist between bars) and will be removed from this array once they have been confirmed or non-confirmed.
This is a significant deviation from the previous script's methods, as it prevents unnecessary re-evaluations of the confirmation status of patterns (i.e. Hikkakes confirmed on the first candle will no longer need to be checked for confirmations on the second or third; a pitfall of the deprecated version which required multiple booleans tracking prior confirmation statuses). This deviation is also what provides the flexibility in changing the number of candles that can pass before a pattern is deemed non-confirmed.
As multiple patterns can be confirmed simultaneously, this script uses another UDT representing a linked-list reduction of the pattern object used to process it. This liked-list object will then be used for Price Analysis.
Price Analysis - This script employs the use of a UDT which contains all the returns of confirmed patterns. The user specifies how many candles ahead of the confirmed pattern to calculate its return, as well as where this calculation begins. There are two settings: FROM APPEARANCE and FROM CONFIRMATION (default). Price differences are calculated from the open of the candle immediately following the candle which had confirmed the pattern to the close of the candle X candles ahead (default 10). ( SEE FEATURES )
Because of how Pine functions, this calculation necessitates a lookback on prior candles to identify when a pattern had been confirmed. This is accomplished with the following pseudo-code:
if not na(confirmed linked-list )
for all confirmed in list
GET MATRIX PLACEMENT
offset = FROM CONFIRMATION ? 0 : # of candles to confirm
openAtFind = open
percent return = ((close - openAtFind) / openAtFind) * 100
ADD percent return TO UDT IN MATRIX
All return UDTs are held in a matrix which breaks up these patterns into specific groups covered in the next section.
Higher Timeframes - This script makes a request.security call to a higher timeframe in order to identify a price range which breaks up these patterns into groups based on the 'partition' they had appeared in. The default values for this partitioning will break up the chart into three sections: upper, middle, and lower. The upper section represents the highest 20% of the yearly trading range that an asset has experienced. The lower section represents the trading range within a third (33%) of the yearly low. And the middle section represents the yearly high-low range between these two partitions.
The matrix containing all return UDTs will have these returns split up based on the number of candles required to confirm the pattern as well as the partition the pattern had appeared in. The underlying rationale is that patterns may perform better or worse at different parts of an asset's trading range.
Statistical Analysis - Once a pattern has been confirmed, the matrix containing all return UDTs will be queried to check if a 'returnArray' object has been created for that specific pattern. If not, one will be initialized and a confirmed linked-list object will be created that contains information pertinent to the matrix position of this object.
This matrix contains the returns of both the Bullish and Bearish Hikkake patterns, separated by the number of candles needed to confirm them, and by the partitions they had appeared in. For the standard 3 candles to confirm, this means the matrix will contain 18 elements (dependent on the number of candles allowed for confirmations; its size will range from 12 to 30).
When the required number of candles for Price Analysis passes, a percent return is calculated and added to the returnArray contained in the matrix at the location derived from the confirmed linked-list object's values. The return is added, and all values in the returnArray are updated using Pine's built in array.___ functions. This returnArray object contains the array of all returns, its size, its average, the median, the standard deviation of returns, and a separate 3-integer array which holds values that correspond to the types of returns experienced by this pattern (negative, neutral, and positive)*.
After a pattern has been confirmed, this script will place the partition and all of the aforementioned stats values (plus a 95% confidence interval of expected returns) related to that pattern onto the tooltip of the label that identifies it. This allows users to scroll over the label of a confirmed pattern to gauge its prior performance under specific conditions. The percent return of the specific pattern identified will later be placed onto the label tooltip as well. ( SEE LIMITATIONS )
The stats portion of this script also plays a significant role in how patterns are presented when using the Adaptive Coloring mode described in FEATURES .
*These values are incremented based on user-input related to what constitutes a 'negative' or 'positive' return. Default values would place any return by a pattern between -3% and 3% in the 'neutral' category, and values exceeding either end will be placed in the 'negative' or 'positive' categories.
█ FEATURES
This script contains numerous inputs for modifying its behavior and how patterns are presented/processed, separated into 5 groups.
Confirmation Setting - The most important input for this script's functioning. This input is a 'confirm=true' input and must be set by the user before the script is applied to the chart. It sets the number of candles that a pattern has to confirm once it has been identified.
Alert Settings - This group of booleans sets which types of alerts will fire during the scripts execution on the chart. If enabled, the four alerts will trigger when: a pattern has been identified, a pattern has been confirmed, a pattern has been non-confirmed, and show the return for that confirmed pattern in an alert. Because this script uses the 'alert' function and not 'alertcondition', these must be enabled before 'any alert() function call' is set in TradingView's 'alerts' settings.
Partition Settings - This group of inputs are responsible for creating (and viewing) the partitions that breaks the returns of the patterns identified up into their respective groups. The user may set the resolution to grab the range from, the length back of this resolution the partitions get their values from, the thresholds which breaks the partitions up into their groups, and modify the visibility (if they're shown, the colors, opacity) of these partitions.
Stats Settings - These inputs will drastically alter how patterns are presented and the resulting information derived from them after their appearance. Because of this section's importance, some of these inputs will be described in more detail.
P/L Sample Length - Defines the number of candles after the starting point to grab values from in the % return calculation for that pattern.
P/L Starting Point - Defines the starting point where the P/L calculation will take place. 'FROM APPEARANCE' will set the starting point at the candle immediately following the pattern's appearance. 'FROM CONFIRMATION' will place the starting point immediately following the candle which had confirmed the pattern. ( SEE LIMITATIONS )
Min Returns Needed - Sets how many times a specific pattern must appear (both by number of candles needed to confirm and by partition) before the statistics for that pattern are displayed onto the tooltip (and for gradient coloration in Adaptive Coloring mode).
Enable Adaptive Coloring - Changes the coloration of the patterns based on the bullish/bearishness of the specified Gradient Reference value of that pattern compared to the Return Tolerance values OR the minimum and maximum values of that specified Gradient Reference value contained in the matrix of all returns. This creates a color from a gradient using the user-specified colors and alters how many of the patterns may appear if prior performance is taken into account.
Gradient Reference - Defines which stats measure of returns will be used in the gradient color generation. The two settings are 'AVG' and 'MEDIAN'.
Hard Limit - This boolean sets whether the Return Tolerance values will not be replaced by values that exceed them from the matrix of returns in color gradient generation. This changes the scale of the gradient where any Gradient Reference values of patterns that exceed these tolerances will be colored the full bullish or bearish gradient colors, and anything in between them will be given a color from the gradient.
Visibility Settings - This last section includes all settings associated with the overall visibility of patterns found with this script. This includes the position of the labels and their colors (+ pattern colors without Adaptive Coloring being enabled), and showing patterns that were non-confirmed.
Most of these inputs in the script have these kinds of descriptions to what they do provided by their tooltips.
█ HOW TO USE
I attempted to make this script much easier to use in terms of analyzing the patterns and displaying the information to the user. The previous script would have the user go to the 'data window' side bar on TradingView to view the returns of a pattern after they had specified which pattern to analyze through the settings, needlessly convoluted. This aim at simplicity was achieved through the use of UDTs and specific code-design.
To use, simply apply the indicator to a chart, set the number of candles (between 2 and 5) for confirming this specific pattern and adjust the many settings described above at your leisure.
█ LIMITATIONS
Disclaimer - This is a tool created with the hopes of helping identify a specific pattern and provide an informative view about the performance of that pattern. Previous performance is not indicative of future results. None of this constitutes any form of financial advice, *use at your own risk*.
Statistical Analysis - This script assumes that all patterns will yield a NORMAL DISTRIBUTION regarding their returns which may not be reflective of reality. I personally have limited experience within the field of statistics apart from a few high school/college courses and make no guarantees that the calculation of the 95% confidence interval is correct. Please review the source code to verify for yourself that this interval calculation is correct (Function Name: f_DisplayStatsOnLabel).
P/L Starting Point - Because of when the object related to the confirmation status of a pattern is created (specifically the linked-list object) setting the 'P/L Starting Point' to 'FROM APPEARANCE' will yield the results of that P/L calculation at the same time as 'FROM CONFIRMATION'.
█ EXAMPLES
Default Settings:
Partition Background (default):
Partition Background (Resolution D : Length 30):
Adaptive Coloration:
Show Non-Confirmed:
Strategy: Range BreakoutWhat?
In the price action, levels have a significant role to play. Based on the price moving above/below the levels - the underlying instrument shows some price-action in the direction of breakout/breakdown.
There are plenty of ways level can be determined. Levels are the decision point to take a trade or not. But if we make the level derivation complex, then the execution may get hamper.
This strategy script, developed in PineScript v5, is our attempt at solving this problem at the core by providing this simple, yet elegant solution to this problem.
It's essentially an attempt to Trade Simple by drawing logical (horizontal) lines in the chart and take actions, after multiple associated parameters confirmation, on the breakout / breakdown of the levels.
How?
Let us explain how we are drawing the levels.
We are depending on some of the parameters as described below:
Open Range : During intraday movement, often if prices move beyond a particular level, it exibits more movement in the same swing in same direction. We found out, through our back testing for Indian Indices like NSE:NIFTY , NSE:BANKNIFTY or NSE:CNXFINANCE the first 15m (i.e 09:15 AM to 09:30 AM, IST) is one of such range. For Indian stocks, it is 9:15 to 9:45. And for MCX MCX:CRUDEOIL1! it's 5:00 pm to 6:00 pm. There are our first levels.
PDHCL : Previous Day High, Close, Low. This is our next level
VWAP : The rolling VWAP (volume weighted average price)
In the breakout/breakdown of the Open Range and Previous Day High/Low, we are taking the trade decisions as follows using CEST principle:
C onditions :
If current bar's (say you are in 5m timeframe) closing is broken out the Open Range High or Previous Day High, taken a Buy/Long decision (let's say buying a Call Option CE or selling a Put Option PE or buying the future or cash).
If current bar's (say you are in 5m timeframe) closing is broken down the Open Range Low or Previous Day Low, taken a Sell/Short decision (let's say buying a Put Option CE or selling a Call Option PE or selling the future or cash).
Additionally, and optionally (default ON, one can turn off): we are checking various other associated multiple confirmations as follows:
1. Momentum : Checking 14-period RSI value is more than 50 or less than 50 (all parameters like period, OB, OS ranges are configurable through settings)
2. Current bar's volume is more than the last 20 bars volume average. How much more - that multiplier is also configurable. (default is 1)
3. The breakout candle is bullish (green) or bearish (red).
E ntry :
All of these happens only on the closing of the candle . Means: Non Repainting! .
Clearly in the chart we are showing as green up arrow BO (breakout for buy) and red down arrow BD (breakdown for sell) to take your decision process smooth.
So, on the closing of the decision BO/BD candle we are entering the trade (with a thumping heart and nail biting ...)
S top Loss :
We are relying on the time tasted (last 40 years) mechanism of Average True Range (ATR) of default 14 period. This default period is also configurable.
So for Long trades: the 14 period ATR low band is the SL.
For Short trades: the 14 period ATR high band is the SL.
T arget :
We are depending on the thump rule of 1:2 Risk Reward. It's simple and effective. No fancy thing. We are closing the trade on double the favorable price movement compared to the SL placed. Of course, this RR ratio is confiurable from the settings, as usual.
What's Unqiue in it?
The utter simplicity of this trading mechanism. No fancy things like complex chart pattern, OI data, multiple candlestick patterns, Order flow analysis etc.
Simple level determination,
Marking clearly in the chart.
Making each parameter configurable in Settings and showing tooltip adjacent to the parameter to make you understand it better for your customization,
Wait for the candle close, thus eliminating the chances of repainting menace (as much as possible)
Additional momentum and volume check to trade entry confirmation.
Works with normal candlestick (nothing special ones like HA ...)
Showing everything as a Summary Table (which, again can be turned off optionally) overlaying at the bottom-right corner of the chart,
Optionally the Summary Table can be configured to alert you back (say you get it notified in your email or SMS).
That way, a single, simple, effective trade setup will ease your journey as smooth sail as possible.
Mentions
There are plenty of friends from whom time to time we borrowed some of the ideas while working closely together over last one year.
From tradingview community, we took the spirit of @zzzcrypto123 awesome work done long back (in 2020) as the indicator "ORB - Opening Range Breakout". (We tried to reach him for his explicit consent, unable to catch hold of him).
Some other publicly available materials we have consulted to get the additional checks (like RSI, volume).
Lat word
Use it please and thank you for your constant patronage in following us in this awesome platform. Let's keep growing together.
Disclaimer :
This piece of software does not come up with any warrantee or any rights of not changing it over the future course of time.
We are not responsible for any trading/investment decision you are taking out of the outcome of this indicator.
PivotThis library was designed to create three different datasets using Bill Williams fractals. The goal is to spot trends in reversal data and ultimately use these datasets to help predict future price reversals.
First, the pivot() function is used to initialize and populate three separate arrays (high pivot , low pivot , all pivots ). Since each high/low price depends on the bar_index, the bar_index, pivot direction(high/low), and high/low values are compressed into a string to maintain the data's integrity ("__"). Once each string array is populated and organized by bar_index, all three are returned inside a tuple. The return value must be deconstructed H,L,A =pivot() for each array's values to be accessed using getPivot() . This boilerplate allows for data to be accessed more efficiently in a recursive environment. getPivot() was designed to be used inside of a for or while block to populate matrices for further analyses. Again, getPivot() return values must be exposed through deconstruction. x,d,y =getPivot(). See code for more details.
pivot(int XLR) initializes and populates arrays
Parameters
XLR - number of bars to the left and right that must be lower for a high to be considered a pivotHigh, or vice versa. This number will drastically change the size and scope of the returned datasets. smaller values will produce much larger datasets, which might model short term price activity well. In contrast, larger values will produce smaller datasets which might model longer term price activity well.
Returns - tuple [string ]
getPivot(string arrayID, int index) accesses array data
Parameters
arrayID - the variable name for one of the three arrays returned by pivot().
index - the index of the provided array, with 0 being the most recent pivot point. can be set to " i " in a loop to access values recursively
Returns - tuple
Day High_Low levels with Candle high lowDay's high and low with Candle high low. It shows high and low of the day. Previous candle high and low is shown.
Pivot Based Trailing Maxima & Minima [LuxAlgo]This indicator returns trailing maximums/minimums and the resulting average, each resetting on the occurrence of a pivot point high/low, thus allowing to highlight past and current support and resistance levels.
Note that the user has the option to make the indicator subject to backpainting or not. Backpainting would offset the indicator output to the past and as such would be less suited for real-time applications.
🔶 USAGE
🔹 Non Backpainting
The indicator can highlight points of support and resistance given by the trailing maximum/minimum average.
An uptrend is indicated when the trailing maximum is making a new higher high, while a downtrend is indicated when the trailing minimum makes a new lower low.
🔹 Backpainting
When backpainting is enabled the historical trailing maximum/minimum and their resulting average are offset to the past. However, we extend these to the most recent bar, allowing for real-time applications of the indicator.
Users can easily analyze past trends and determine their type by observing the trailing maximum/minimum behavior. For example, trailing maximums/minimums not making new higher high/lower low would indicate a ranging market.
The frequency of new higher high/lower low can also help determine how bullish/bearish a trend was.
🔶 SETTINGS
Length: Determines the pivot high/low lookback, with higher values allowing to detect longer-term tops and bottoms.
Backpaint: Determine if the indicator is subject to backpainting. Enabling this setting would offset the returned results in the past.
Volatility/Volume ImpactWe often hear statements such as follow the big volume to project possible price movements. Or low volatility is good for trend. How much of it is statistically right for different markets. I wrote this small script to study the impact of Volatility and Volume on price movements.
Concept is as below:
Compare volume with a reference median value. You can also use moving average or other types for this comparison.
If volume is higher than median, increment positive value impact with change in close price. If volume is less than median, then increment negative value impact with change in close price.
With this we derive pvd and nvd which are measure of price change when volume is higher and lower respectively. pvd measures the price change when volume is higher than median whereas nvd measures price change when volume is lower than median.
Calculate correlation of pvd and nvd with close price to see what is impacting the price by higher extent.
Colors are applied to plots which have higher correlation to price movement. For example, if pvd has higher correlation to price movement, then pvd is coloured green whereas nvd is coloured silver. Similarly if nvd has higher correlation to price then nvd is coloured in red whereas pvd is coloured in silver.
Similar calculation also applied for volatility.
With this, you can observe how price change is correlated to high/low volume and volatility.
Let us see some examples on different markets.
Example 1: AMEX:SPY
From the chart snapshot below, it looks evident that SPY always thrive when there is low volatility and LOW VOLUME!!
Example 2: NASDAQ:TSLA
The picture will be different if you look at individual stocks. For Tesla, the price movement is more correlated to high volume (unlike SPY where low volume days define the trend)
Example 3: KUCOIN:BTCUSDT
Unlike stocks and indices, high volatility defined the trend for BTC for long time. It thrived when volatility is more. We can see that high volume is still major influencer in BTC price movements.
Settings are very simple and self explanatory.
Hint: You can also move the indicator to chart overlay for better visualisation of comparison with close price.
Closing MomentumClosing momentum calculates the moving averages of closes and highs vs previous highs plus those of closes and lows vs previous lows to create momentum moving averages. Closes above/below previous highs/lows are weighted more strongly than new high or low wicks above/below a previous highs or lows.
If momentum is up, the background will shade green; brighter is stronger. If momentum is down, likewise with red.
Shifts in momentum are indicated by symbols: triangles indicate a minor shifts, arrows moderate, big arrows major. Likewise, the shade of the symbols indicates strength (darker is stronger).
Using the indicator: long continuous stretches of the same color indicate trend - deeper is stronger. If the shade is lightening or clears and/or if symbols of the other color start appearing, the trend is weakening.
K's Volatility BandsVolatility bands come in all shapes and forms contrary to what is believed. Bollinger bands remain the principal indicator in the volatility bands family. K's Volatility bands is an attempt at optimizing the original bands. Below is the method of calculation:
* We must first start by calculating a rolling measure based on the average between the highest high and the lowest low in the last specified lookback window. This will give us a type of moving average that tracks the market price. The specificity here is that when the market does not make higher highs nor lower lows, the line will be flat. A flat line can also be thought of as a magnet of the price as the ranging property could hint to a further sideways movement.
* The K’s volatility bands assume the worst with volatility and thus will take the maximum volatility for a given lookback period. Unlike the Bollinger bands which will take the latest volatility calculation every single step of time, K’s volatility bands will suppose that we must be protected by the maximum of volatility for that period which will give us from time to time stable support and resistance levels.
Therefore, the difference between the Bollinger bands and K's volatility bands are as follows:
* Bollinger Bands' formula calculates a simple moving average on the closing prices while K's volatility bands' formula calculates the average of the highest highs and the lowest lows.
* Bollinger Bands' formula calculates a simple standard deviation on the closing prices while K's volatility bands' formula calculates the highest standard deviation for the lookback period.
Applying the bands is similar to applying any other volatility bands. We can list the typical strategies below:
* The range play strategy : This is the usual reversal strategy where we buy whenever the price hits the lower band and sell short whenever it hits the upper band.
* The band re-entry strategy : This strategy awaits the confirmation that the price has recognized the band and has shaped a reaction around it and has reintegrated the whole envelope. It may be slightly lagging in nature but it may filter out bad trades.
* Following the trend strategy : This is a controversial strategy that is the opposite of the first one. It assumes that whenever the upper band is surpassed, a buy signal is generated and whenever the lower band is broken, a sell signal is generated.
* Combination with other indicators : The bands can be combined with other technical indicators such as the RSI in order to have more confirmation. This is however no guarantee that the signals will improve in quality.
* Specific strategy on K’s volatility bands : This one is similar to the first range play strategy but it adds the extra filter where the trade has a higher conviction if the median line is flat. The reason for this is that a flat line means that no higher highs nor lower lows have been made and therefore, we may be in a sideways market which is a fertile ground for mean-reversion strategies.
Isolated PivotsThis script identifies potential price reversals at pivot high/low points using sets of 3 candles.
Pivot High: The middle candle must have a higher high and a higher low than the two outer candles.
Pivot Low: The middle candle must have a lower low and a lower high than the two outer candles.
Potential usage: When a market is moving higher in an uptrend, if a pivot low is identified then that might be a sign of price weakness.
High timeframe Highs, Lows, Opens, Closes. HTF Candles displayPosting previously requested indicator.
Overlays higher timeframe high and low over the current bars - pictured is daily high and low overlayed on lower timeframe chart.
Can be set to fill between the open and close to show higher timeframe candles by color, with bullish or bearish fills
Very versatile and can be used to display weekly or monthly opens, or used to display previous weekly highs and lows for charting out possible liquidity points, etc.
Originally converted from Chris Moody's HLOC pine version 2 indicator.
CPR_ATR_PIVOTIntroduction
What is so special about this variation of CPR is that it combines three indicators together. It has Central Pivot Range to understand market trend and for taking entry; Average True Range Stop line to identify the stop loss for any trade keeping in view volatility of the instrument; and Standard Pivot Points for profit targets. So overall it combines all essential ingredients for trading in a single indicator.
While CPR and Pivot values will remain fixed, the ATR period and multiple can be changed.
Central Pivot Range: is a useful intraday technical indicator which comprises 3 levels – a Central pivot point (pivot), Top central level (TC), and Bottom central level (BC).
These levels are calculated as follows:
TC = (Pivot – BC) + Pivot
Pivot = (High + Low + Close)/3
BC = (High + Low)/2
The 3 levels are calculated using 3 variables, High, Low, and Close price. When you add CPR levels in a stock’s chart, TC is highest, the pivot is at the center and BC is the lowest level. However, depending on market conditions TC’s value may be lower than BC.
The fundamental idea behind this indicator is that the particular day’s trading range captures everything about the market sentiment, and hence this range can be used to predict the price movement of the following days.
This indicator was first introduced by Mark Fisher in this book “The Logical Trader”. Frank Ochoa added another dimension, central pivot point to this indicator.
Practical Applications:
CPR Breakout:
Any high volume breakout above or below the TC and BC lines respectively indicates a high probability that the movement will continue.
CPR Width
The width of the CPR lines very accurately gives an idea of the expected price movement. If CPR width is narrow, that is the distance between TC and BC lines of CPR is very low, then it indicates a trending market. While if the distance between TC and BC lines is relatively higher it indicates sideways market.
CPR as Support and Resistance
CPR lines can also act as support and resistance. Market may takes support or resistance at the CPR and reverse.
ATR Stop: I am adding another useful indicator known as ATR stop with CPR. Once market takes support and resistance at the CPR, trade can be taken with stoploss under/above (as the case may be) the ATR stop line. It would help in absorbing the intraday volatility in a stock or instrument.
Pivot Points: Pivot points can be taken as target points where partial or full profit (depending upon market conditions and momentum) can be taken.
I hope this indicator would help some traders in taking better trading decisions.
Regards
jjsingh_2020
VWAP forex Yesterday Hi/Low update fix This script is an updte fix of an earlier script that stopped functioning when TradingView updated Pine script. This script plots Forex (24 hour session) VWAP, yesterday's high, low, open and close (HLOC),
the day before's HLOC -
Also plots higher timeframe 20 emas
1 minute 5, 15, 60 period 20 ema
5 minute 15, 60 period 20 ema
15 minute 60, 120 , 240 period 20 ema
60 minute 120, 240 period 20 ema
120 minute 240, D period 20 ema
240 minute D period 20 ema
Also signals inside bars (high is less than or equal to the previous bar's high and the low is greater than or equal to the previous low) the : true inside bars have a maroon triangle below the bar as well as a ">" above the bar.
If subsequest bars are inside the last bar before the last true inside bar they also are marked with an ">"
This is probably a slight variation from the way Leaf_West plots the inside bars.
It appears that he marks all bars that are inside the original bar until one a bar has a high or low
outside the original bar. But I would need to see an example on his charts.
The Time Session Glitch and the Fix FX_IDC, COINBASE and BITSTAMP:
The script will correctly default to 1700 hrs to 1700hrs EDT/EST session for FXCM.
Strangely some securities appear to erroneously start their session at 1200 hrs ie. My guess is that they are somehow tied to GMT+0 instead of New York time (GMT+5). See this for yourself by selecting EURUSD using the FXCM exchange (FX:EURUSD) and then EURUSD from the IDC exchange (FX_IDC:EURUSD). The FX-IDC session opening range starts 5 hours before it actually should at 1700 hrs EDT/EST. To correct for this I have implemented an automatic fix (default) and a user selected "5 hour time shift adjust. ment needed on some securities".
There is also a 4 hour time shift button which might be necessary when New York reverts from Eastern Standard Time to Eastern Daylight Time (1 hour difference) in March (and then back again in November). In the default auto adjust mode you will need to select the 1 hour time shift. That is if this glitch still exists at that time.
I have looked at other scripts, other than my own and where the script is available, that need to use information about the opening bar and all have the same time shift issue
COINBASE and BITSTAMP open at 0000 hours GMT. Since I use lines instead of circles or crosses I had to make a small adjustment to plot the lines correctly.
If it needs work let me know.
Jayy
Stop Order Entry with Filters and Line📌 名称: Stop Order Entry with Filters (挂单入场辅助工具)
🧠 作者: Kuixi Zhu
🛠️ 功能简介:
本指标用于识别高质量的 Bull/Bear bar,并在其上方(或下方)自动绘制挂单入场线,帮助你基于 Price Action 策略设置 **buy stop / sell stop** 挂单。
✅ 特性:
- Bull bar:收盘靠近 high,且 bar 波动大于平均(ABR) → 在 high+1tick 画绿线(buy stop)
- Bear bar:收盘靠近 low,且 bar 波动大于平均 → 在 low-1tick 画红线(sell stop)
- 支持自定义线条长度、ABR周期、强度过滤标准
🔍 核心逻辑:
- `(close - low) / (high - low)` 衡量收盘靠近 high 的程度
- `barRange > avg(barRange)` 控制有效波动性
- 使用 `line.new` 动态画出可视化入场价格
📊 应用场景:
- 趋势交易中的顺势挂单策略
- price action 高质量 bar 的识别辅助
- 多头突破、空头反转结构的自动提示
⚙️ 参数可调:
- 最低收盘位置比例(default: 0.9)
- 最小 bar 波动倍数(相对 ABR)
- 横线绘制长度(default: 5 bars)
---
EMA and Dow Theory Strategies🌐 Strategy Description
📘 Overview
This is a hybrid strategy that combines EMA crossovers, Dow Theory swing logic, and multi-timeframe trend overlays. It is suitable for intraday to short-term trading on any asset class: crypto, forex, stocks, and indices.
The strategy provides precise entry/exit signals, dynamic stop-loss and scale-out, and highly visual trade guidance.
🧠 Key Features
・Dual EMA crossover system (applied to both symbol and external index)
・Dow Theory-based swing high/low detection for trend confirmation
・Visual overlay of higher timeframe swing trend (htfTrend)
・RSI filter to avoid overbought/oversold entries
・Dynamic partial take-profit when trend weakens
・Custom stop-loss (%) control
・Visualized trade PnL labels directly on chart
・Alerts for entry, stop-loss, partial exit
・Gradient background zones for swing zones and trend visualization
・Auto-tracked metrics: APR, drawdown, win rate, equity curve
⚙️ Input Parameters
| Parameter | Description |
| ------------------------- | -------------------------------------------------------- |
| Fast EMA / Slow EMA | Periods for detecting local trend via EMAs |
| Index Fast EMA / Slow EMA | EMAs applied to external reference index |
| StopLoss | Maximum loss threshold in % |
| ScaleOut Threshold | Scale-out percentage when trend changes color |
| RSI Period / Levels | RSI period and overbought/oversold levels |
| Swing Detection Length | Number of bars used to detect swing highs/lows |
| Stats Display Options | Toggle PnL labels and position of statistics table |
🧭 About htfTrend (Higher Timeframe Trend)
The script includes a higher timeframe trend (htfTrend) calculated using Dow Theory (pivot highs/lows).
This trend is only used for visual guidance, not for actual entry conditions.
Why? Strictly filtering trades by higher timeframe often leads to missed opportunities and low frequency.
By keeping htfTrend visual-only, traders can still refer to macro structure but retain trade flexibility.
Use it as a contextual tool, not a constraint.
ストラテジー説明
📘 概要
本ストラテジーは、EMAクロスオーバー、ダウ理論によるスイング判定、**上位足トレンドの視覚表示(htfTrend)**を組み合わせた複合型の短期トレーディング戦略です。
仮想通貨・FX・株式・指数など幅広いアセットに対応し、デイトレード〜スキャルピング用途に適しています。
動的な利確/損切り、視覚的にわかりやすいエントリー/イグジット、統計表示を搭載しています。
🧠 主な機能
・対象銘柄+外部インデックスのEMAクロスによるトレンド判定
・ダウ理論に基づいたスイング高値・安値検出とトレンド判断
・上位足スイングトレンド(htfTrend)の視覚表示
・RSIフィルターによる過熱・売られすぎの回避
・トレンドの弱まりに応じた部分利確(スケールアウト)
・**損切り閾値(%)**をカスタマイズ可能
・チャート上に損益ラベル表示
・アラート完備(エントリー・決済・部分利確)
・トレンドゾーンを可視化する背景グラデーション
・勝率・ドローダウン・APR・資産増加率などの自動表示
| 設定項目名 | 説明内容 |
| --------------------- | -------------------------- |
| Fast EMA / Slow EMA | 銘柄に対して使用するEMAの期間設定 |
| Index Fast / Slow EMA | 外部インデックスのEMA設定 |
| 損切り(StopLoss) | 損切りラインのしきい値(%で指定) |
| 部分利確しきい値 | トレンド弱化時にスケールアウトする割合(%) |
| RSI期間・水準 | RSI計算期間と、過熱・売られすぎレベル設定 |
| スイング検出期間 | スイング高値・安値の検出に使用するバー数 |
| 統計表示の切り替え | 損益ラベルや統計テーブルの表示/非表示選択 |
🧭 上位足トレンド(htfTrend)について
本スクリプトには、上位足でのスイング高値・安値の更新に基づく**htfTrend(トレンド判定)が含まれています。
これは視覚的な参考情報であり、エントリーやイグジットには直接使用されていません。**
その理由は、上位足を厳密にロジックに組み込むと、トレード機会の損失が増えるためです。
このスクリプトでは、**判断の補助材料として「表示のみに留める」**設計を採用しています。
→ 裁量で「利確を早める」「逆張りを避ける」判断に活用可能です。
Essa - Market Structure & Fibonacci ToolkitOverview
The Essa Market Structure & Fibonacci Toolkit is a comprehensive trading indicator that combines advanced market structure analysis with customizable fibonacci levels and fair value gap detection. It identifies high-probability trading opportunities by detecting confluence zones where multiple technical factors align, providing traders with precise entry and exit points based on institutional trading concepts.
Key Features
📊Market Structure Analysis
Pattern Recognition: Automatically detects Higher Highs (HH), Higher Lows (HL), Lower Highs (LH), Lower Lows (LL)
Change of Character (CHoCH): Identifies trend changes and market structure breaks
Pattern Locking: Fibonacci levels lock to specific swing patterns (LH→LL for bearish, HL→HH for bullish)
Multi-Timeframe Analysis: Analyzes trend strength across multiple timeframes with scoring system
🧮 Custom Fibonacci System
Fully Configurable Levels: Set any percentage (e.g., 25%, 65%, 87.5%) - not limited to traditional levels
Dynamic Labels: Shows your actual percentages, not hardcoded values
Golden Zone Trading: Customizable optimal entry zones between any two fibonacci levels
Auto-Extension: Levels automatically extend as price moves
Distance Tables: Real-time pip distances to nearest fibonacci levels
📈 Fair Value Gap (FVG) Detection
Smart Detection: Identifies bullish and bearish fair value gaps with size filtering
Age Tracking: Shows how long each FVG has been active (bars or time format)
Confluence Highlighting: Enhanced colors when FVGs overlap with fibonacci golden zones
Width Filtering: ATR-based minimum width requirements to filter noise
🎯 Confluence Trading
Multi-Factor Analysis: Combines market structure + fibonacci + FVGs + golden zones
High-Probability Zones: Highlights areas where multiple factors converge
Trend Strength Scoring: 0-100% scoring system based on multiple confluence factors
Smart Alerts: Notifications for high-confluence setups only
⚡ Advanced Features
Trend Analysis Table: Real-time trend bias, strength score, and pattern identification
Adaptive Sensitivity: Automatically adjusts to market volatility using ATR
Professional Alerts: Customizable alerts for structure breaks, golden zone touches, and FVG confluence
Clean Interface: Basic/Advanced settings organization with inline controls
🎨 Visual Excellence
Professional Styling: Clean, institutional-grade visual presentation
Customizable Colors: Full color customization for all elements
Smart Labeling: Context-aware labels that don't overlap
Performance Optimized: Efficient rendering with visual element limits
Perfect for: Swing traders, day traders, and institutional-style traders who want to identify high-probability setups using confluence of market structure, fibonacci levels, and fair value gaps.
ADR TableTrack volatility and session momentum in real-time with customizable precision.
Key Features:
Average Daily Range (ADR): Configurable length (default 5 days), based on previous daily high–low ranges.
Session Anchor Options: Choose anchor at 4 am NY, 6 pm NY, 9:30 am NY, 8:30 am NY, Previous Day Close, or Current Bar.
Session Range & %ADR: Displays the real-time range from the chosen anchor, plus what percentage of ADR has been covered.
High / Low Target Levels: Calculates ADR targets based on anchor: anchor ± ADR.
Optional Target Lines: Draw horizontal lines for high and low targets across the session; customize color and width.
Dynamic Table Display: User-selectable table size and text size (Tiny to Huge) for optimal readability.
Robust Anchor Logic: Uses the first bar at-or-after anchor time each NY day, ensuring stability even on irregular intraday timeframes.
How to Use
Choose your anchor in settings.
View ADR, session range (with %ADR), and target price levels in the top-right pane.Toggle High/Low lines to overlay targets on the chart.
Adjust table and text size to match your workspace.
Why It Matters
Quickly assess where price stands relative to typical volatility.
Easily identify intraday price exhaustion or breakout zones.
Anchor flexibility enables use for both futures and equities, aligning with your trading session.
Clean, professional display—no clutter, no guesswork.
Gabriel's Relative Strength IndexGabriel’s RSI—The Reinvention of Relative Strength
Not your average RSI.
This is a fully reengineered Relative Strength Index that merges the power of advanced signal processing, adaptive smoothing, volume dynamics, and intelligent divergence detection into a single, modular toolkit designed for precision trading across all markets.
Whether you’re scalping crypto, swing trading equities, or dissecting futures contracts—Gabriel’s RSI adapts to your strategy with unrivaled control and clarity.
⚙️ 1. RSI Settings
RSI Length (Jurik): Set to 51 by default to mimic a 21-period standard RSI when Jurik smoothing is applied. Adjust lower (e.g., 22) to mimic a 9-period RSI. 32 would be almost ~14, 13.33 RSI.
RSI Source: The default is hlc3 for smoother RSI. Can be changed to any price-based series (close, open, etc.) for customization.
📡 VIX-Aware: Automatically switches to high/low/close during VIX spikes using a custom Z-score model if toggled. (I backtested it, and it catches bottoms better.) 📡
🎯 2. RSI Smoothing Options
MA Type: Smoothing applies to both RSI and its MA overlay simultaneously. I used to use the 56 EMA RSI, and it works well too.
Options: JMA, T3, Kalman, Laguerre, Super Smoother, ALMA, VWMA, LSMA, etc.
JMA: Best for adaptive recursive smoothing. A power of 2 and a phase of 50 are used.
T3: Smooth and lag-reduced, suitable for trend detection. The alpha is 0.7.
SMA + Bollinger Bands: Adds deviation-based envelopes for volatility spotting. BB StdDev: Only relevant if BBs are used. Controls bandwidth for overbought/oversold zones.
MA Length: Affects how smooth or reactive the RSI signal is.
📉 3. MACD Settings
Fast/Slow Length: Defaults (21/81) optimized for smoother MACD with SMA or T3. For Algo trading, EMA/JMA is best.
Signal Length: Shorter (e.g., 2) gives more reactive crossover signals; it can be increased.
Source: Default is close. Close works best for the settings I input. I also tuned some of the other MA types that worked for it.
MA Types: JMA and EMA reduce noise and increase signal generation. Select SMA for simplicity or T3 for trend-following.
Histogram: Bar colors signal strength and trend of MACD directly on your chart.
🔀 4. Directional Movement Index (DMI)
ADX Smoothing: High values (e.g., 100) offer strong trend confirmation with Hann Window smoothing 12, or 14 for either regular RMA or double smoothed.
DI Length: Affects DI+/- sensitivity. 100 ADX - 12/14 DI or 15 ADX - 35 DI are suggested, the latter for quicker boot time, as 100 bars is quite long.
Smoothing Type: Choose Hann Window for refined smoothing; RMA (SMMA) for simplicity. Double-smoothing is RMA -> Hann window, best of both types.
Volatility Type: ATR includes gaps for a full-range volatility; ADR is useful for gapless strategies, particularly OTC markets and intraday.
Plotted as area fills, 0 to 100 scaled.
Color-coded as Red (ADX), Orange (DI-), Blue (DI+).
📊 5. Volume Z-Score
%R Length: Normalizes volume to percentile range (73 swing, 112 exhaustion).
Z-Score Lengths: Compares short-term and long-term volume trends with Z-scores of volume.
Fast Z-Score < Slow Z-Score = Gives a Volume Squeeze.
Fast MA > Slow MA = Bullish Volume Divergence; volume has been fired. Not via Z-score, but instead via SMA, ALMA, and RMA of volume.
WPR Volume: Weighted %R used to highlight exhaustion/pivot points.
Plot volume bars after a volume squeeze has been fired; if bars aren't plotted, then it's under squeeze. Backtest on ES1! Prove it's good for catching bottoms below 15 minutes as well.
🧠 6. Divergence Engine
Pivot Settings: Pivot Period (12), Divergence minval Lookback (5), and max Lookback Bars (100) control sensitivity. Works well on any asset class; these are the optimal settings for the RSI.
Source Options: RSI, MACD, ADX, DI difference, or Volume %R.
Divergence Types: Regular (Mean Reversal), Hidden (Trend Continuation).
Heikin Ashi Mode: Enables use of HA candles on normal charts for smoother pivots. May distort values if your chart is H.A. so leave it unchecked then.
💥 7. Squeeze Momentum System (SQZMOM PRO)
Squeeze Types:
⚫ Wide (Black) — Regular Compression
🔴 Normal (Red) — Standard squeeze
🟡 Narrow (Yellow) — Golden squeeze
🟣 Very Narrow (Purple) — Extreme compression
🟢 Fired (Green) — Fired Squeeze = Breakout
Plotted on the very bottom of my indicator.
Momentum Bars:
🔷 Cyan = Rising
🔵 Blue = Pullback
🔴 Red = Falling
🟡 Yellow = Corrective
Plotted on the top of my indicator.
Reversal Signals: Dashed lines on momentum–JMA crossovers (DM-style pivot logic) ploted directly on the chart.
📈 8. Rate of Change (RoC)
RoC of Momentum: EMA-smoothed RoC on momentum for leading signals. Double smoothed, once and then another time for smoother signals.
RoC of Momentum → EMA → EMA → JMA Signal.
Signal Line: JMA used to filter noise and generate reversal signals.
Crossovers: Bullish/bearish signals based on RoC vs. signal line are plotted as triangles directly on your chart.
Optimized: Backtested for short-term setups like 1H or faster. Works on Daily timeframes as well for Futures and 24/7 Markets.
🕰️ 9. Multi-Timeframe Squeeze Settings
Each timeframe (Hourly, 4H, Daily, Weekly, Monthly) has:
Reversal Toggle: Enables dashed line DM-style pivots on crossovers.
MA Length: For Jurik MA smoothing on momentum.
BB/KC Thresholds: Define squeeze sensitivity per timeframe. A shorter BB/KC length, 17-14-12, responds better on lower timeframes.
Momentum Length: Tailors oscillator responsiveness; 20 is ideal.
🧮 10. BB Std. Deviation Scaling
Low-Pass Super Smoother : Smooths noise for BBs.
High-Pass Butterworth : Extracts cycles for BB Stdv. blend.
Root Mean Squared : Dynamic BB width adjustment based on market activity. True-range-based.
LP -> HP -> RMS -> Bollinger Band Multiplier (2.0)
Optional Intensify: Increases the squeeze rate * 4. Can be used for some option pricing strategies.
🧵 11. Moving Average Ribbon
4 optional MAs with full customization:
Choose from 13 MA types (incl. Kalman, Laguerre, T3, ALMA)
Color-coded for trend analysis (MA1–MA4 mimicking 9/21/50/200 periods)
Optional crossover alerts
🔔12. Alerts
RSI: Overbought/oversold reversals. Several types. (🦅 / 🕊️)
MACD: Histogram shift through zero line. (🐘 / 🐴)
DMI/ADX: Crossovers and strength conditions. The key level is the level where if DI/ADX is past this threshold, then it's considered to be trending. (🐬 / 🐋 / 🛡️)
Volume: Smart Money alerts on low-volume zones. May concentrate on ICT sessions. (🚨)
Squeeze: Alerts on all 5 squeeze states. (⚫, 🔴, 🟡, 🟣, 🟢)
Momentum: Momentum / JMA crosses and reversals. (🐂 / 🐻)
RoC: Bullish and bearish crosses. (📈 / 📉)
Divergences: Regular, hidden, and combined. (🐂 / 🐻 / 🐾 / 🐼)
MA Ribbon: Cross alert (⚔️)
VIX: VIX Z-Score past 2.0 (🏴☠️)
📊 13. Visual Output Summary
RSI Line + MA + Optional BB
MACD Histogram (Color Adaptive)
DMI/ADX Area Fills
%R Volume Bars (Smart Money)
Squeeze Dots (Circles)
Momentum Bars (Squares)
RoC Arrows (Cross Signals)
Pivot Break Lines (Dashed)
Auto-Divergence Lines & Labels
MA Ribbon Overlay (Optional)
✅ Best Practices ✅
Watch the slope of the RSI for pullbacks on a strong trend. Combine it with squeeze for exit timing.
Combine RSI Divergence with MACD histogram cross and Squeeze firing for precise entry.
Use Volume Z-Score to filter for institutional activity, and enter Long. Watch for reversals as well.
Watch RoC crossovers for fast, leading signals.
Enable Reversal Lines on 1H+ charts for breakout or breakdown pivots.
Use multi-timeframe thresholds for swing confirmation. The TFs I use the most are 2-5-15 minutes for futures and swinging with 1 hour daily and weekly. Those are the TFs I backtested.
An optional MA Ribbon is here as well; it supports 13 MA types.
🌎 Asset-Agnostic
MACD Automatically adjusts for Crypto, Forex, Stocks, Commodities, and Indices.
Custom ALMA, T3, Kalman, and Laguerre filters optimized per asset class and timeframe.
📚 Tech Highlights
Over 15,000 lines of modular, structured Pine Script v6 code.
Integration of Ehlers Cycle Theory and various other filters, one for each indicator.
Designed for visual clarity, multi-dimensional signal stacking, and low lag/high accuracy.
🌀 All 64 outputs are filled, so there might not be any more future updates. It's also a bit slow to load due to that.
Inflection PointInflection Point - The Adaptive Confluence Reversal Engine
This is not just another peak and valley indicator; it is a complete and total reimagining of how market turning points are detected, qualified, and acted upon. Born from the foundational concepts explored in systems like my earlier creation, DAFE - Turning Point, Inflection Point is a ground-up engineering feat designed for the modern trader. It moves beyond static rules and simple pattern recognition into the realm of dynamic, multi-factor confluence analysis and adaptive machine learning.
Where other indicators provide a guess, Inflection Point provides a probability. It meticulously analyzes the market's deepest currents—momentum, exhaustion, and reversal velocity—and fuses them into a single, unified "Confluence Score." This is not a simple combination of indicators; it is an intelligent, weighted system where each component works in concert, creating an analytical engine that is orders of magnitude more sophisticated and reliable than any standard reversal tool.
Furthermore, Inflection Point learns. Through its advanced Adaptive Learning Engine, it constantly monitors its own performance, adjusting its confidence and selectivity in real-time based on its recent success rate. This allows it to adapt its behavior to any security, on any timeframe, with remarkable success.
Theoretical Foundation - Confluence Core
Inflection Point's predictive power does not come from a single, magical formula. It comes from the intelligent synthesis of three critical market phenomena, weighted and scored in real-time to generate a single, high-conviction probability rating.
1. Factor One: Pre-Reversal Momentum State (RSI Analysis)
Instead of reacting to a simple RSI cross, Inflection Point proactively scans for the build-up of momentum that precedes a reversal.
• Formulaic Concept: It measures the highest RSI value over a lookback period for peaks and the lowest RSI for valleys. A signal is only considered valid if significant momentum has been established before the turn, indicating a stretched market condition ripe for reversal.
• Asymmetric Sophistication: The engine uses different, optimized thresholds for bull and bear momentum, recognizing that markets often fall faster than they rise.
2. Factor Two: Volatility Exhaustion (Bollinger Band Analysis)
A true reversal often occurs when price makes a final, exhaustive push into unsustainable territory.
• Formulaic Concept: The engine detects when price has significantly pierced the outer Bollinger Bands. This is not just a touch, but a statistical deviation from the mean that signals volatility exhaustion, where the energy for the current move is likely depleted.
3. Factor Three: Reversal Strength (Rate of Change Analysis)
The character of a reversal matters. A sharp, decisive turn is more significant than a slow, meandering one.
• Formulaic Concept: Using a short-term Rate of Change (ROC), the engine measures the velocity of the reversal itself. A higher ROC score adds significant weight to the final probability, confirming that the new direction has conviction.
4. The Final Calculation: The Adaptive Learning Engine
This is the system's "brain." It maintains a history of its past signals and calculates its real-time win rate. This hitRate is then used to generate an adaptiveMultiplier.
• Self-Correction: In "Quality Control" mode, a high win rate makes the indicator more selective, demanding a higher probability score to issue a signal, thereby protecting streaks. A lower win rate makes it slightly less selective to ensure it continues learning from new market conditions.
• The result is a system that is not static, but a living, breathing tool that adapts its personality to the unique rhythm of any chart.
Why Inflection Point is a Paradigm Shift
Inflection Point is fundamentally different from other reversal indicators for three key reasons:
Confluence Over Isolation: Standard indicators look at one thing (e.g., RSI > 70). Inflection Point simultaneously analyzes momentum, volatility, and velocity, understanding that true reversals are a product of multiple converging factors. It answers not just "if," but "why" a reversal is likely.
Probabilistic Over Binary: Other tools give you a simple "yes" or "no." Inflection Point provides a probability score from 0-100, allowing you to gauge the conviction of every potential signal. This empowers you to differentiate between a weak setup and an A+ opportunity.
Adaptive Over Static: Every other indicator uses the same rules forever. Inflection Point's Adaptive Engine means it is constantly refining its own logic based on what is actually working in the current market, on the specific asset you are trading. It is tailored to the now.
The Inputs Menu - Your Command Center
Every setting is a lever of control, allowing you to tune the engine to your precise trading style and market focus.
🧠 Neural Core Engine
Analysis Depth: This is the primary lookback for the Bollinger Band and other core calculations. A shorter depth makes the indicator faster and more sensitive, ideal for scalping. A longer depth makes it slower and more stable, ideal for swing trading.
Minimum Probability %: This is your master signal filter. It sets the minimum Confluence Score required to plot a signal. Higher values (85-95) will give you only the highest-conviction A+ setups. Lower values (70-80) will show more potential opportunities.
🤖 Adaptive Neural Learning
Enable Adaptive Learning Engine: Toggles the entire learning system. Disabling it will make the indicator's logic static.
Peak/Valley Success Threshold (ATR): This defines what constitutes a "successful" trade for the learning engine. A value of 1.5 means price must move 1.5x the ATR in your favor for the signal to be marked as a win. Adjust this to match your personal take-profit strategy.
Adaptive Mode: This dictates how the engine uses its hitRate. "Quality Control" is recommended for its intelligent filtering. "Aggressive" will always boost signal scores, useful for finding more setups in a known, trending environment.
Asymmetric Balance: Allows you to apply a "boost" to either peak (short) or valley (long) signals. If you find the market you're trading has stronger long reversals, you can increase the "Valley Signal Boost" to catch them more effectively.
🛡️ Elite Filters
Market Noise Filter: An exceptional tool for avoiding choppy markets. It counts the number of directional changes in the last 5 bars. If the market is whipping back and forth too much, it will block the signal. Lower the "Max Direction Changes" to be extremely selective.
Volume Filter: Requires signal confirmation from a significant volume spike. The "Volume Multiplier" dictates how large this spike must be (e.g., 1.2 = 20% above average volume). This is invaluable for filtering out low-conviction moves in stocks and crypto.
The Dashboard - Your Analytical Co-Pilot
The dashboard is not just a set of numbers; it is a holistic overview of the market's health and the engine's current state.
Unified AI Score: This section provides the most critical, at-a-glance information. "Total Score" is the current probability reading, while "Quality" gives you a human-readable interpretation. "Win Rate" shows the real-time performance of the Adaptive Engine.
Order Flow (OFPI): This measures the "weight" of money behind recent price moves by analyzing price change relative to volume. A high positive OFPI suggests strong buying pressure, while a high negative value suggests strong selling pressure. It gives you a peek into the market's underlying flow.
Component Analysis: This allows you to see the individual "Peak" and "Valley" confidence scores before they are filtered, giving you insight into building momentum before a signal forms.
Market Structure: This panel assesses the broader environment. "HTF Trend" tells you the direction of the larger trend (based on EMAs), while "Vol Regime" tells you if the market is in a high, medium, or low volatility state. Use this to align your signals with the broader market context.
Filter & Engine Statistics: Available on the "Large" dashboard, this provides deep insight into how many signals are being blocked by your filters and the current status of the Adaptive Engine's multiplier.
The Visual Interface - A Symphony of Data
Every visual element on the chart is designed for instant interpretation and insight.
Signal Markers: Simple, clean triangles mark the exact bar of a valid signal. A box is drawn around the high/low of the signal bar to highlight the precise point of inflection.
Dynamic Support/Resistance Zones: These are the glowing lines on your chart. They are not static lines; they are dynamic levels that represent the current battlefield between buyers and sellers.
Cyber Cyan (Valley Blue): This is the current Support Zone. This is the price level the market is currently trying to defend.
Neural Pink (Peak Red): This is the current Resistance Zone. This is the price level the market is currently trying to break through.
Grey (Next Level): This line is a projection, based on the current momentum and the size of the S/R range, of where the next major level of conflict will likely be. It acts as a potential price target.
Development & Philosophy
Inflection Point was not assembled; it was engineered. It represents hundreds of hours of research into market dynamics, statistical analysis, and machine learning principles. The goal was to create a tool that moves beyond the limitations of traditional technical analysis, which often fails in modern, algorithm-driven markets. By building a system based on multi-factor confluence and self-adaptive logic, Inflection Point provides a quantifiable, statistical edge that is simply unattainable with simpler tools. This is the result of a relentless pursuit of a better, more intelligent way to trade.
Universal Applicability
The principles of momentum, exhaustion, and velocity are universal to all freely traded markets. Because of its adaptive core and robust filtering options, Inflection Point has proven to be exceptionally effective on any security (stocks, crypto, forex, indices, futures) and on any timeframe (from 1-minute scalping charts to daily swing trading charts).
" Markets are constantly in a state of uncertainty and flux and money is made by discounting the obvious and betting on the unexpected. "
— George Soros
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
Delta Volume BubblesDelta Volume Bubbles
Overview
The Delta Volume Bubbles indicator is an advanced order flow visualization tool that displays buying and selling pressure through dynamic bubble representations on your chart. Unlike traditional volume indicators that only show total volume, this indicator calculates the net delta volume (difference between buying and selling volume) and presents it as color-coded bubbles of varying sizes.
How It Works
Core Calculation Method
The indicator uses a sophisticated approach to estimate delta volume from standard OHLCV data:
1. Price Action Analysis: Analyzes the relationship between open, high, low, and close prices to determine market aggression
2. Body Ratio Calculation: body_ratio = |close - open| / (high - low)
3. Aggressive Factor: Applies multipliers based on price action:
- Strong moves (body_ratio > 0.7): 1.5x multiplier
- Moderate moves (body_ratio > 0.4): 1.2x multiplier
- Weak moves: 1.0x multiplier
4. Delta Volume Estimation:
- Buy Volume: price_change > 0 ? volume × aggressive_factor : 0
- Sell Volume: price_change < 0 ? volume × aggressive_factor : 0
- Net Delta: buy_volume - sell_volume
5. Delta Strength Normalization: delta_strength = |net_delta| / sma(volume, 20)
Percentile-Based Filtering
The indicator uses percentile filtering instead of fixed thresholds, making it adaptive to market conditions:
- Bubble Filter: Only shows bubbles when volume exceeds the specified percentile (default: 60%)
- Label Filter: Only displays numbers when volume exceeds a higher percentile (default: 90%)
- Dynamic Adaptation: Automatically adjusts to changing market volatility
Visual Elements
Bubble Sizes
- Tiny: Delta strength < 0.3
- Small: Delta strength 0.3 - 0.7
- Normal: Delta strength 0.7 - 1.2
- Large: Delta strength 1.2 - 2.0
- Huge: Delta strength > 2.0
Color Coding
- Aggressive Buy (Bright Green): Strong buying pressure with high body ratio
- Aggressive Sell (Bright Red): Strong selling pressure with high body ratio
- Passive Buy (Light Green): Moderate buying pressure
- Passive Sell (Light Red): Moderate selling pressure
Intensity Mode
Alternative coloring based on delta strength rather than flow direction:
- Gray: Low intensity (< 0.5)
- Blue: Medium intensity (0.5 - 1.0)
- Orange: High intensity (1.0 - 2.0)
- Red: Extreme intensity (> 2.0)
Parameters
Order Flow Settings
- Show Bubbles: Toggle bubble display on/off
- Bubble Volume %ile: Percentile threshold for bubble display (0-100%)
- Intensity Mode: Switch between flow-based and intensity-based coloring
Bubble Labels
- Show Numbers in Bubbles: Toggle numerical labels on/off
- Label Volume %ile: Higher percentile threshold for label display (0-100%)
Numbers are displayed in K-notation (e.g., 25000 → 25K, 1500000 → 1.5M) for better readability.
Ideal Usage Scenarios
Best Market Conditions
- High volume sessions: More accurate delta calculations
- Trending markets: Clear directional flow identification
- Breakout scenarios: Spot aggressive buying/selling at key levels
- Support/resistance testing: Identify accumulation vs distribution
Trading Applications
1. Entry Timing: Look for aggressive flow in your trade direction
2. Exit Signals: Watch for opposing aggressive flow
3. Trend Confirmation: Consistent flow direction confirms trends
4. Volume Climax: Huge bubbles may indicate exhaustion points
Optimization Tips
Parameter Adjustment
- Lower percentiles (40-60%): More bubbles, good for active markets
- Higher percentiles (70-90%): Fewer bubbles, focus on significant events
- Label percentile: Set 20-30% higher than bubble percentile for clarity
Visual Optimization
- Intensity mode: Better for identifying unusual volume spikes
- Flow mode: Better for directional bias analysis
- Label toggle: Turn off in crowded markets, on for key levels
Limitations
- Estimation-based: Uses approximation algorithms, not true order flow data
- Volume dependency: Requires accurate volume data to function properly
- Timeframe sensitivity: Works best on intraday timeframes with active volume
- Market hours: Most effective during high-volume trading sessions
Technical Notes
The indicator implements advanced Pine Script features including:
- Dynamic percentile calculations using ta.percentile_linear_interpolation()
- Conditional plotting with multiple size categories
- Custom number formatting functions
- Efficient label management to prevent display limits
This tool is designed for traders who want to understand the underlying buying and selling pressure beyond simple volume analysis, providing insights into market sentiment and potential turning points.