Fake BreakoutThis indicator detect fake breakout on previous day high/low and option previous swing high and low
Rule Detect Fake Breakout On Previous Day High/Low Or Swing high low Fake Breakout -
1) Detect previous day high/low or swing high/low
2)
A) If price revisit on previous day high/swing high look for upside breakout after input
number of candle (1-5) price came back to previous high and breakout happen downside
it show sell because its fake breakout of previous day high or swing high
B) If price revisit on previous day low/swing low look for downside breakout after input
number of candle (1-5) price came back to previous low and breakout upside of previous
day low it show Buy because its fake breakout of previous day low or swing low
Disclaimer -Traders can use this script as a starting point for further customization or as a reference for developing their own trading strategies. It's important to note that past performance is not indicative of future results, and thorough testing and validation are recommended before deploying any trading strategy.
"high low"に関するスクリプトを検索
libHTF[without request.security()]Library "libHTF"
libHTF: use HTF values without request.security()
This library enables to use HTF candles without request.security().
Basic data structure
Using to access values in the same manner as series variable.
The last member of HTF array is always latest current TF's data.
If new bar in HTF(same as last bar closes), new member is pushed to HTF array.
2nd from the last member of HTF array is latest fixed(closed) bar.
HTF: How to use
1. set TF
tf_higher() function selects higher TF. TF steps are ("1","5","15","60","240","D","W","M","3M","6M","Y").
example:
tfChart = timeframe.period
htf1 = tf_higher(tfChart)
2. set HTF matrix
htf_candle() function returns 1 bool and 1 matrix.
bool is a flag for start of new candle in HTF context.
matrix is HTF candle data(0:open,1:time_open,2:close,3:time_close,4:high,5:time:high,6:low,7:time_low).
example:
=htf_candle(htf1)
3. how to access HTF candle data
you can get values using .lastx() method.
please be careful, return value is always float evenif it is "time". you need to cast to int time value when using for xloc.bartime.
example:
htf1open=m1.lastx("open")
htf1close=m1.lastx("close")
//if you need to use histrical value.
lastopen=open
lasthtf1open=m1.lastx("open",1)
4. how to store Data of HTF context
you have to use array to store data of HTF context.
array.htf_push() method handles the last member of array. if new_bar in HTF, it push new member. otherwise it set value to the last member.
example:
array a_close=array.new(1,na)
a_close.htf_push(b_new_bar1,m1.lastx("close"))
HTFsrc: How to use
1. how to setup src.
set_src() function is set current tf's src from string(open/high/low/close/hl2/hlc3/ohlc4/hlcc4).
set_htfsrc() function returns src array of HTF candle.
example:
_src="ohlc4"
src=set_src(_src)
htf1src=set_htfsrc(_src,b_new_bar1,m1)
(if you need to use HTF src in series float)
s_htf1src=htf1src.lastx()
HighLow: How to use
1. set HTF arrays
highlow() and htfhighlow() function calculates high/low and return high/low prices and time.
the functions return 1 int and 8arrays.
int is a flag for new high(1) or new low(-1).
arrays are high/low and return high/low data. float for price, int for time.
example
=
highlow()
=
htfhighlow(m1)
2. how to access HighLow data
you can get values using .lastx() method.
example:
if i_renew==1
myhigh=a_high.lastx()
//if you need to use histrical value.
myhigh=a_high.lastx(1)
other functions
functions for HTF candle matrix or HTF src array in this script are
htf_sma()/htf_ema()/htf_rma()
htf_rsi()/htf_rci()/htf_dmi()
method lastx(arrayid, lastindex)
method like array.last. it returns lastindex from the last member, if parameter is set.
Namespace types: float
Parameters:
arrayid (float )
lastindex (int) : (int) default value is "0"(the last member). if you need to access historical value, increment it(same manner as series vars).
Returns: float value of lastindex from the last member of the array. returns na, if fail.
method lastx(arrayid, lastindex)
method like array.last. it returns lastindex from the last member, if parameter is set.
Namespace types: int
Parameters:
arrayid (int )
lastindex (int) : (int) default value is "0"(the last member). if you need to access historical value, increment it(same manner as series vars).
Returns: int value of lastindex from the last member of the array. returns na, if fail.
method lastx(m, _type, lastindex)
method for handling htf matrix.
Namespace types: matrix
Parameters:
m (matrix) : (matrix) matrix for htf candle.
_type (string) : (string) value type of htf candle:
lastindex (int) : (int) default value is "0"(the last member).
Returns: (float) value of htf candle. (caution: need to cast float to int to use time values!)
method set_last(arrayid, val)
method to set a value of the last member of the array. it sets value to the last member.
Namespace types: float
Parameters:
arrayid (float )
val (float) : (float) value to set.
Returns: nothing
method htf_push(arrayid, b, val)
method to push new member to htf context. if new bar in htf, it works as push. else it works as set_last.
Namespace types: float
Parameters:
arrayid (float )
b (bool) : (bool) true:push,false:set_last
val (float) : (float) _f the value to set.
Returns: nothing
method tf_higher(tf)
method to set higher tf from tf string. TF steps are .
Namespace types: series string, simple string, input string, const string
Parameters:
tf (string) : (string) tf string
Returns: (string) string of higher tf.
htf_candle(_tf, _TZ)
build htf candles
Parameters:
_tf (string) : (string) tf string.
_TZ (string) : of timezone. default value is "GMT+3".
Returns: bool for new bar@htf and matrix for snapshot of htf candle
set_src(_src_type)
set src.
Parameters:
_src_type (string) : (string) type of source:
Returns: (series float) src value
set_htfsrc(_src_type, _nb, _m)
set htf src.
Parameters:
_src_type (string) : (string) type of source:
_nb (bool) : (bool) flag of new bar
_m (matrix) : (matrix) matrix for htf candle.
Returns: (array) array of src value
is_up()
last_is_up()
peak_bottom(_latest, _last)
Parameters:
_latest (bool)
_last (bool)
htf_is_up(_m)
Parameters:
_m (matrix)
htf_last_is_up(_m)
Parameters:
_m (matrix)
highlow(_b_bartime_price)
Parameters:
_b_bartime_price (bool)
htfhighlow(_m, _b_bartime_price)
Parameters:
_m (matrix)
_b_bartime_price (bool)
htf_sma(_a_src, _len)
Parameters:
_a_src (float )
_len (int)
htf_rma(_a_src, _new_bar, _len)
Parameters:
_a_src (float )
_new_bar (bool)
_len (int)
htf_ema(_a_src, _new_bar, _len)
Parameters:
_a_src (float )
_new_bar (bool)
_len (int)
htf_rsi(_a_src, _new_bar, _len)
Parameters:
_a_src (float )
_new_bar (bool)
_len (int)
rci(_src, _len)
Parameters:
_src (float)
_len (int)
htf_rci(_a_src, _len)
Parameters:
_a_src (float )
_len (int)
htf_dmi(_m, _new_bar, _len, _ma_type)
Parameters:
_m (matrix)
_new_bar (bool)
_len (int)
_ma_type (string)
4H RangeThis script visualizes certain key values based on a 4-hour timeframe of the selected market on the chart. These values include the High, Mid, and Low price levels during each 4-hour period.
These levels can be helpful to identify inside range price action, chop, and consolidation. They can sometimes act as pivots and can be a great reference for potential entries and exits if price continues to hold the same range.
Here's a step-by-step overview of what this indicator does:
1. Inputs: At the beginning of the script, users are allowed to customize some inputs:
Choose the color of lines and labels.
Decide whether to show labels on the chart.
Choose the size of labels ("tiny", "small", "normal", or "large").
Choose whether to display price values in labels.
Set the number of bars to offset the labels to the right.
Set a threshold for the number of ticks that triggers a new calculation of high, mid, and low values.
* Tick settings may need to be increased on equity charts as one tick is usually equal to one cent.
For example, if you want to clear the range when there is a close one point/one dollar above or below the range high/low then on ES
that would be 4 ticks but one whole point on AAPL would be 100 ticks. 100 ticks on an equity chart may or may not be ideal due to
different % change of 100 ticks might be too excessive depending on the price per share.
So be aware that user preferred thresholds can vary greatly depending on which chart you're using.
2. Retrieving Price Data: The script retrieves the high, low, and closing price for every 4-hour period for the current market.
The script also calculates the mid-price of each 4-hour period (the average of the high and low prices).
3. Line Drawing: At the start of the script (first run), it draws three lines (high, mid, and low) at the levels corresponding to the high,
mid, and low prices. Users can also change transparency settings on historical lines to view them. Default setting for historical lines
is for them to be hidden.
4. Updating Lines and Labels: For each subsequent 4-hour period, the script checks whether the close price of the period has gone
beyond a certain threshold (set by user input) above the previous high or below the previous low. If it has, the script deletes the
previous lines and labels, draws new lines at the new high, mid, and low levels, and creates new labels (if the user has opted to
show labels).
5. Displaying Values in the Data Window: In addition to the visual representation on the chart, the script also plots the high, mid, and
low prices. These plotted values appear in the Data Window of TradingView, allowing users to see the exact price levels even when
they're not directly labeled on the chart.
6. Updating Lines and Labels Position: At the end of each period, the script moves the lines and labels (if they're shown) to the right,
keeping them aligned with the current period.
Please note: This script operates based on a 4-hour timeframe, regardless of the timeframe selected on the chart. If a shorter timeframe is selected on the chart, the lines and labels will appear to extend across multiple bars because they represent 4-hour price levels. If a longer timeframe is selected, the lines and labels may not accurately represent high, mid, and low levels within that longer timeframe.
DB Support Resistance Levels + Smart Higher Highs and Lower LowsDB Support Resistance Levels + Smart Higher Highs and Lower Lows
The indicator plots historic lines for high, low and close prices shown in settings as "base levels". Users can control the lookback period that is plotted along with an optional multiplier. Traders will notice that the price bounces off these historic base levels. The base levels are shown as light gray by default (customizable in the settings). Users may choose to display base levels by a combination of historic high, low and close values.
On top of the historic base levels, the indicator display higher high and lower low levels from the current bar high/low. Higher highs are shown by default in pink and lower lows by default in yellow. The user can adjust the lookback period for displaying higher highs and the optional multiplier. Only historic values higher than the current bar high are displayed filtering out (by highlighting) the remaining levels for the current bar. Users may choose to use a combination of historic open, low and close values for displaying higher highs. The user can adjust the lookback period for displaying lower lows and the optional multiplier. Only historic values lower than the current bar low are displayed filtering out (by highlighting) the remaining levels for the current bar. Users may choose to use a combination of historic open, low and close values for displaying lower low.
The indicator includes two optional filters for filtering out higher highs and lower lows to focus (highlight) the most relevant levels. The filters include KC and a simple price multiplier filter. The latter is enabled by default and recommended.
The indicator aims to provide two things; first a simple plot of historic base levels and second as the price moves to highlight the most relevant levels for the current price action. While the indicator works on all timeframes, it was tested with the weekly. Please keep in mind adjusting the timeframe may require the lookback settings to be adjusted to ensure the bars are within range.
How should I use this indicator?
Traders may use this indicator to gain a visual reference of support and resistance levels from higher periods of time with the most likely levels highlighted in pink and yellow. Replaying the indicator gives a visual show of levels in action and just how very often price action bounces from these highlighted levels.
Additional Notes
This indicator does increase the max total lines allowed which may impact performance depending on device specs. No alerts or signals for now. Perhaps coming soon...
Ticker Correlation Reference IndicatorHello,
I am super excited to be releasing this Ticker Correlation assessment indicator. This is a big one so let us get right into it!
Inspiration:
The inspiration for this indicator came from a similar indicator by Balipour called the Correlation with P-Value and Confidence Interval. It’s a great indicator, you should check it out!
I used it quite a lot when looking for correlations; however, there were some limitations to this indicator’s functionality that I wanted. So I decided to make my own indicator that had the functionality I wanted. I have been using this for some time but decided to actual spruce it up a bit and make it user friendly so that I could share it publically. So let me get into what this indicator does and, most importantly, the expanded functionality of this indicator.
What it does:
This indicator determines the correlation between 2 separate tickers. The user selects the two tickers they wish to compare and it performs a correlation assessment over a defaulted 14 period length and displays the results. However, the indicator takes this much further. The complete functionality of this indicator includes the following:
1. Assesses the correlation of all 4 ticker variables (Open, High, Low and Close) over a user defined period of time (defaulted to 14);
2. Converts both tickers to a Z-Score in order to standardize the data and provide a side by side comparison;
3. Displays areas of high and low correlation between all 4 variables;
4. Looks back over the consistency of the relationship (is correlation consistent among the two tickers or infrequent?);
5. Displays the variance in the correlation (there may be a statistically significant relationship, but if there is a high variance, it means the relationship is unstable);
6. Permits manual conversion between prices; and
7. Determines the degree of statistical significance (be it stable, unstable or non-existent).
I will discuss each of these functions below.
Function 1: Assesses the correlation of all 4 variables.
The only other indicator that does this only determines the correlation of the close price. However, correlation between all 4 variables varies. The correlation between open prices, high prices, low prices and close prices varies in statistically significant ways. As such, this indicator plots the correlation of all 4 ticker variables and displays each correlation.
Assessing this matters because sometimes a stock may not have the same magnitude in highs and lows as another stock (one stock may be more bullish, i.e. attain higher highs in comparison to another stock). Close price is helpful but does not pain the full picture. As such, the indicator displays the correlation relationship between all 4 variables (image below):
Function 2: Converts both tickers to Z-Score
Z-Score is a way of standardizing data. It simply measures how far a stock is trading in relation to its mean. As such, it is a way to express both tickers on a level playing field. Z-Score was also chosen because the Z-Score Values (0 – 4) also provide an appropriate scale to plot correlation lines (which range from 0 to 1).
The primary ticker (Ticker 1) is plotted in blue, the secondary comparison ticker (Ticker 2) is plotted in a colour changing format (which will be discussed below). See the image below:
Function 3: Displays areas of high and low correlation
While Ticker 1 is plotted in a static blue, Ticker 2 (the comparison ticker) is plotted in a dynamic, colour changing format. It will display areas of high correlation (i.e. areas with a P value greater than or equal to 0.9 or less than and equal to -0.9) in green, areas of moderate correlation in white. Areas of low correlation (between 0.4 and 0 or -0.4 and 0) are in red. (see image below):
Function 4: Checks consistency of relationship
While at the time of assessing a stock there very well maybe a high correlation, whether that correlation is consistent or not is the question. The indicator employs the use of the SMA function to plot the average correlation over a defined period of time. If the correlation is consistently high, the SMA should be within an area of statistical significance (over 0.5 or under -0.5). If the relationship is inconsistent, the SMA will read a lower value than the actual correlation.
You can see an example of this when you compare ETH to Tezos in the image below:
You can see that the correlation between ETH and Tezo’s on the high level seems to be inconsistent. While the current correlation is significant, the SMA is showing that the average correlation between the highs is actually less than 0.5.
The indicator also tells the user narratively the degree of consistency in the statistical relationship. This will be discussed later.
Function 5: Displays the variance
When it comes to correlation, variance is important. Variance simply means the distance between the highest and lowest value. The indicator assess the variance. A high degree of variance (i.e. a number surpassing 0.5 or greater) generally means the consistency and stability of the relationship is in issue. If there is a high variance, it means that the two tickers, while seemingly significantly correlated, tend to deviate from each other quite extensively.
The indicator will tell the user the variance in the narrative bar at the bottom of the chart (see image below):
Function 6: Permits manual conversion of price
One thing that I frequently want and like to do is convert prices between tickers. If I am looking at SPX and I want to calculate a price on SPY, I want to be able to do that quickly. This indicator permits you to do that by employing a regression based formula to convert Ticker 1 to Ticker 2.
The user can actually input which variable they would like to convert, whether they want to convert Ticker 1 Close to Ticker 2 Close, or Ticker 1 High to Ticker 2 High, or low or open.
To do this, open the settings and click “Permit Manual Conversion”. This will then take the current Ticker 1 Close price and convert it to Ticker 2 based on the regression calculations.
If you want to know what a specific price on Ticker 1 is on Ticker 2, simply click the “Allow Manual Price Input” variable and type in the price of Ticker 1 you want to know on Ticker 2. It will perform the calculation for you and will also list the standard error of the calculation.
Below is an example of calculating a SPY price using SPX data:
Above, the indicator was asked to convert an SPX price of 4,100 to a SPY price. The result was 408.83 with a standard error of 4.31, meaning we can expect 4,100 to fall within 408.83 +/- 4.31 on SPY.
Function 7: Determines the degree of statistical significance
The indicator will provide the user with a narrative output of the degree of statistical significance. The indicator looks beyond simply what the correlation is at the time of the assessment. It uses the SMA and the highest and lowest function to make an assessment of the stability of the statistical relationship and then indicates this to the user. Below is an example of IWM compared to SPY:
You will see, the indicator indicates that, while there is a statistically significant positive relationship, the relationship is somewhat unstable and inconsistent. Not only does it tell you this, but it indicates the degree of inconsistencies by listing the variance and the range of the inconsistencies.
And below is SPY to DIA:
SPY to BTCUSD:
And finally SPY to USDCAD Currency:
Other functions:
The indicator will also plot the raw or smoothed correlation result for the Open, High, Low or Close price. The default is to close price and smoothed. Smoothed just means it is displaying the SMA over the raw correlation score. Unsmoothing it will show you the raw correlation score.
The user also has the ability to toggle on and off the correlation table and the narrative table so that they can just review the chart (the side by side comparison of the 2 tickers).
Customizability
All of the functions are customizable for the most part. The user can determine the length of lookback, etc. The default parameters for all are 14. The only thing not customizable is the assessment used for determining the stability of a statistical relationship (set at 100 candle lookback) and the regression analysis used to convert price (10 candle lookback).
User Notes and important application tips:
#1: If using the manual calculation function to convert price, it is recommended to use this on the hourly or daily chart.
#2: Leaving pre-market data on can cause some errors. It is recommended to use the indicator with regular market hours enabled and extended market hours disabled.
#3: No ticker is off limits. You can compare anything against anything! Have fun with it and experiment!
Non-Indicator Specific Discussions:
Why does correlation between stocks mater?
This can matter for a number of reasons. For investors, it is good to diversify your portfolio and have a good array of stocks that operate somewhat independently of each other. This will allow you to see how your investments compare to each other and the degree of the relationship.
Another function may be getting exposure to more expensive tickers. I am guilty of trading IWM to gain exposure to SPY at a reduced cost basis :-).
What is a statistically significant correlation?
The rule of thumb is anything 0.5 or greater is considered statistically significant. The ideal setup is 0.9 or more as the effect is almost identical. That said, a lot of factors play into statistical significance. For example, the consistency and variance are 2 important factors most do not consider when ascertaining significance. Perhaps IWM and SPY are significantly correlated today, but is that a reliable relationship and can that be counted on as a rule?
These are things that should be considered when trading one ticker against another and these are things that I have attempted to address with this indicator!
Final notes:
I know I usually do tutorial videos. I have not done one here, but I will. Check back later for this.
I hope you enjoy the indicator and please feel free to share your thoughts and suggestions!
Safe trades all!
The Strat [LuxAlgo]The Strat indicator is a full toolkit regarding most of the concepts within "The Strat" methodology with features such as candle numbering, pivot machine gun (PMG) highlighting, custom combo highlighting, and various statistics included.
Alerts are also included for the detection of specific candle numbers, custom combos, and PMGs.
🔶 SETTINGS
Show Numbers on Chart: Shows candle numbering on the chart.
Style Candles: Style candles based on the detected number. Only effective on non-line charts and if the script is brought to the front.
🔹 Custom Combo Search
Combo: User defined combo to be searched by the script. Combos can be composed of any series of numbers including (1, 2, -2, 3), e.g : 2-21. No spaces or other characters should be used.
🔹 Pivot Machine Gun
Show Labels: Highlight detected PMGs with a label.
Min Sequence Length: Minimum sequence length of consecutive higher lows/lower highs required to detect a PMG.
Min Breaks: Minimum amount of broken previous highs/lows required to detect a PMG.
Show Levels: Show levels of the broken highs/lows.
🔹 Pivot Combos
Pivot Lookback: Lookback period used for detecting pivot points.
Right Bars Scan: Number of bars scanned to the right side of a detected pivot.
Left Bars Scan: Number of bars scanned to the left side of a detected pivot.
🔹 Dashboard
Show Dashboard: Displays statistics dashboard on chart.
Numbers Counter: Displays the numbers counter section on the dashboard.
Pivot Combos: Displays pivots combo section on the dashboard.
%: Display the percentage of detected pivot combos on the dashboard instead of absolute numbers.
Pivot Combos Rows: Number of rows displayed by the "Pivots Combo" dashboard section.
Show MTF: Showa MTF candle numbering on the dashboard.
Location: Location of the dashboard on the chart.
Size: Size of the displayed dashboard.
🔶 USAGE
This script allows users with an understanding of The Strat to quickly highlight elements such as candle numbers, pivot machine guns, and custom combos. The usage for these concepts is given in the sub-sections below.
🔹 Candle Numbers
The Strat assigns a number to individual candles, this number is determined by the current candle position relative to the precedent candle, these include:
Number 1 - Inside bar, occurs when the previous candle range engulfs the current one.
Number 2 Up - Upside Directional Bar, occurs when the current price high breaks the previous high while the current low is lower than the previous high.
Number 2 Down - Downside Directional Bar, occurs when the current price low breaks the previous low while the current high is higher than the previous low.
Number 3 - Outside bar, occurs when the current candle range engulfs the previous one.
The script can highlight the number of a candle by using labels but can also style candles by depending on the candle number. Inside bars (1) only have their candle wick highlighted, directional bars (2) (-2) only have their candle body highlighted. Outside bars have their candle range highlighted.
Note that downside directional bars are highlighted with the number -2.
Users can see the total amount of times a specific candle number is detected on the historical data on the dashboard available within the settings, as well as the number of times a candle number is detected relative to the total amount of detected candle numbers expressed as a percentage.
It is also possible to see the current candle numbers returned by multiple timeframes on the dashboard.
🔹 Searching For Custom Combos
Combos are made of a sequence of two or more candle numbers. These combos can highlight multiple reversals/continuation scenarios. Various common combos are documented by The Strat community.
This script allows users to search for custom combos by entering them on the Combo user setting field.
When a user combo is found, it is highlighted on the chart as a box highlighting the combo range.
🔹 Pivot Combos
It can be of interest to a user to display the combo associated with a pivot high/low. This script will highlight the location of pivot points on the chart and display its associated combo by default. These are based on the Pivot Combo lookback and not displayed in real-time.
Users can see on the dashboard the combos associated with a pivot high/low, these are ranked by frequency.
🔹 Pivot Machine Gun (PMG)
Pivot Machine Guns (PMG)s describe the scenario where a single price variation breaks the value of multiple past successive higher lows/lower highs. This can highlight a self-exciting behavior, where even more past successive higher lows/lower highs get broken.
Users can select the minimum sequence length of successive higher lows/lower highs required for a PMG to be detected, as well the amount of these successive higher lows/lower highs that must be broken.
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.
Rabbit HoleHow deep is the Rabbit hole? Interesting experiment that finds the RISING HIGHS and FALLING LOWS and place the difference between the highs and lows into separate arrays.
== Calculations ==
In case current high is higher than previous high, we calculate the value by subtracting the current highest high with the previous High (lowest high) into array A,
same method for the lows just in Array B.
Since we subtract highs and lows it means velocity is taken into consideration with the plotting.
After adding a new value we remove the oldest value if the array is bigger than the Look back length. This is done for both lows and highs array.
Afterwards we sum up the lows and highs array (separately) and plot them separately, We can also smooth them a bit with Moving averages like HMA, JMA, KAMA and more.
== RULES ==
When High Lines crosses the Low Line we get a GREEN tunnel.
When Low Lines crosses the High line we get the RED tunnel.
The Greenish the stronger the up trend.
The Redish the stronger the downtrend.
== NOTES ==
Bars are not colored by default.
Better for higher time frames, 1 hour and above.
Enjoy and like if you like!
Follow up for new scripts: www.tradingview.com
Pivot Trend Flow [BigBeluga]🔵 OVERVIEW
Pivot Trend Flow turns raw swing points into a clean, adaptive trend band. It averages recent pivot highs and lows to form two dynamic reference levels; when price crosses above the averaged highs, trend flips bullish and a green band is drawn; when it crosses below the averaged lows, trend flips bearish and a red band is drawn. During an uptrend the script highlights breakouts of previous pivot highs with ▲ labels, and during a downtrend it flags breakdowns of previous pivot lows with ▼ labels—making structure shifts and continuation signals obvious.
🔵 CONCEPTS
Pivot-Based Averages : Recent pivot highs/lows are collected and averaged to create smoothed upper/lower reference levels.
if not na(ph)
phArray.push(ph)
if not na(pl)
plArray.push(pl)
if phArray.size() > avgWindow
upper := phArray.avg()
phArray.shift()
if plArray.size() > avgWindow
lower := plArray.avg()
plArray.shift()
Trend State via Crosses : Close above the averaged-highs ⇒ bullish trend; close below the averaged-lows ⇒ bearish trend.
Trend Band : A colored band (green/red) is plotted and optionally filled to visualize the active regime around price.
Structure Triggers :
In bull mode the tool watches for prior pivot-high breakouts (▲).
In bear mode it watches for prior pivot-low breakdowns (▼).
🔵 FEATURES
Adaptive Trend Detection from averaged pivot highs/lows.
Clear Visuals : Green band in uptrends, red band in downtrends; optional fill for quick read.
Breakout/Breakdown Labels :
▲ marks breaks of previous pivot highs in uptrends
▼ marks breaks of previous pivot lows in downtrends
Minimal Clutter : Uses compact lines and labels that extend only on confirmation.
Customizable Colors & Fill for trend states and band styling.
🔵 HOW TO USE
Pivot Length : Sets how swing points are detected. Smaller = more reactive; larger = smoother.
Avg Window (pivots) : How many recent pivot highs/lows are averaged. Increase to stabilize the band; decrease for agility.
Read the Band :
Green band active ⇒ prioritize longs, pullback buys toward the band.
Red band active ⇒ prioritize shorts, pullback sells toward the band.
Trade the Triggers :
In bull mode, ▲ on a prior pivot-high break can confirm continuation.
In bear mode, ▼ on a prior pivot-low break can confirm continuation.
Combine with Context : Use HTF trend, S/R, or volume for confluence and to filter signals.
Fill Color Toggle : Enable/disable band fill to match your chart style.
🔵 CONCLUSION
Pivot Trend Flow converts swing structure into an actionable, low-lag trend framework. By blending averaged pivots with clean breakout/breakdown labels, it clarifies trend direction, timing, and continuation spots—ideal as a core bias tool or a confirmation layer in any trading system.
Trend Fib Zone Bounce (TFZB) [KedArc Quant]Description:
Trend Fib Zone Bounce (TFZB) trades with the latest confirmed Supply/Demand zone using a single, configurable Fib pullback (0.3/0.5/0.6). Trade only in the direction of the most recent zone and use a single, configurable fib level for pullback entries.
• Detects market structure via confirmed swing highs/lows using a rolling window.
• Draws Supply/Demand zones (bearish/bullish rectangles) from the latest MSS (CHOCH or BOS) event.
• Computes intra zone Fib guide rails and keeps them extended in real time.
• Triggers BUY only inside bullish zones and SELL only inside bearish zones when price touches the selected fib and closes back beyond it (bounce confirmation).
• Optional labels print BULL/BEAR + fib next to the triangle markers.
What it does
Finds structure using confirmed swing highs/lows (you choose the confirmation length).
Builds the latest zone (bullish = demand, bearish = supply) after a CHOCH/BOS event.
Draws intra-zone “guide rails” (Fib lines) and extends them live.
Signals only with the trend of that zone:
BUY inside a bullish zone when price tags the selected Fib and closes back above it.
SELL inside a bearish zone when price tags the selected Fib and closes back below it.
Optional labels print BULL/BEAR + Fib next to triangles for quick context
Why this is different
Most “zone + fib + signal” tools bolt together several indicators, or fire counter-trend signals because they don’t fully respect structure. TFZB is intentionally minimal:
Single bias source: the latest confirmed zone defines direction; nothing else overrides it.
Single entry rule: one Fib bounce (0.3/0.5/0.6 selectable) inside that zone—no counter-trend trades by design.
Clean visuals: you can show only the most recent zone, clamp overlap, and keep just the rails that matter.
Deterministic & transparent: every plot/label comes from the code you see—no external series or hidden smoothing
How it helps traders
Cuts decision noise: you always know the bias and the only entry that matters right now.
Forces discipline: if price isn’t inside the active zone, you don’t trade.
Adapts to volatility: pick 0.3 in strong trends, 0.5 as the default, 0.6 in chop.
Non-repainting zones: swings are confirmed after Structure Length bars, then used to build zones that extend forward (they don’t “teleport” later)
How it works (details)
*Structure confirmation
A swing high/low is only confirmed after Structure Length bars have elapsed; the dot is plotted back on the original bar using offset. Expect a confirmation delay of about Structure Length × timeframe.
*Zone creation
After a CHOCH/BOS (momentum shift / break of prior swing), TFZB draws the new Supply/Demand zone from the swing anchors and sets it active.
*Fib guide rails
Inside the active zone TFZB projects up to five Fib lines (defaults: 0.3 / 0.5 / 0.7) and extends them as time passes.
*Entry logic (with-trend only)
BUY: bar’s low ≤ fib and close > fib inside a bullish zone.
SELL: bar’s high ≥ fib and close < fib inside a bearish zone.
*Optionally restrict to one signal per zone to avoid over-trading.
(Optional) Aggressive confirm-bar entry
When do the swing dots print?
* The code confirms a swing only after `structureLen` bars have elapsed since that candidate high/low.
* On a 5-min chart with `structureLen = 10`, that’s about 50 minutes later.
* When the swing confirms, the script plots the dot back on the original bar (via `offset = -structureLen`). So you *see* the dot on the old bar, but it only appears on the chart once the confirming bar arrives.
> Practical takeaway: expect swing markers to appear roughly `structureLen × timeframe` later. Zones and signals are built from those confirmed swings.
Best timeframe for this Indicator
Use the timeframe that matches your holding period and the noise level of the instrument:
* Intraday :
* 5m or 15m are the sweet spots.
* Suggested `structureLen`:
* 5m: 10–14 (confirmation delay \~50–70 min)
* 15m: 8–10 (confirmation delay \~2–2.5 hours)
* Keep Entry Fib at 0.5 to start; try 0.3 in strong trends, 0.6 in chop.
* Tip: avoid the first 10–15 minutes after the open; let the initial volatility set the early structure.
* Swing/overnight:
* 1h or 4h.
* `structureLen`:
* 1h: 6–10 (6–10 hours confirmation)
* 4h: 5–8 (20–32 hours confirmation)
* 1m scalping: not recommended here—the confirmation lag relative to the noise makes zones less reliable.
Inputs (all groups)
Structure
• Show Swing Points (structureTog)
o Plots small dots on the bar where a swing point is confirmed (offset back by Structure Length).
• Structure Length (structureLen)
o Lookback used to confirm swing highs/lows and determine local structure. Higher = fewer, stronger swings; lower = more reactive.
Zones
• Show Last (zoneDispNum)
o Maximum number of zones kept on the chart when Display All Zones is off.
• Display All Zones (dispAll)
o If on, ignores Show Last and keeps all zones/levels.
• Zone Display (zoneFilter): Bullish Only / Bearish Only / Both
o Filters which zone types are drawn and eligible for signals.
• Clean Up Level Overlap (noOverlap)
o Prevents fib lines from overlapping when a new zone starts near the previous one (clamps line start/end times for readability).
Fib Levels
Each row controls whether a fib is drawn and how it looks:
• Toggle (f1Tog…f5Tog): Show/hide a given fib line.
• Level (f1Lvl…f5Lvl): Numeric ratio in . Defaults active: 0.3, 0.5, 0.7 (0 and 1 off by default).
• Line Style (f1Style…f5Style): Solid / Dashed / Dotted.
• Bull/Bear Colors (f#BullColor, f#BearColor): Per-fib color in bullish vs bearish zones.
Style
• Structure Color: Dot color for confirmed swing points.
• Bullish Zone Color / Bearish Zone Color: Rectangle fills (transparent by default).
Signals
• Entry Fib for Signals (entryFibSel): Choose 0.3, 0.5 (default), or 0.6 as the trigger line.
• Show Buy/Sell Signals (showSignals): Toggles triangle markers on/off.
• One Signal Per Zone (oneSignalPerZone): If on, suppresses additional entries within the same zone after the first trigger.
• Show Signal Text Labels (Bull/Bear + Fib) (showSignalLabels): Adds a small label next to each triangle showing zone bias and the fib used (e.g., BULL 0.5 or BEAR 0.3).
How TFZB decides signals
With trend only:
• BUY
1. Latest active zone is bullish.
2. Current bar’s close is inside the zone (between top and bottom).
3. The bar’s low ≤ selected fib and it closes > selected fib (bounce).
• SELL
1. Latest active zone is bearish.
2. Current bar’s close is inside the zone.
3. The bar’s high ≥ selected fib and it closes < selected fib.
Markers & labels
• BUY: triangle up below the bar; optional label “BULL 0.x” above it.
• SELL: triangle down above the bar; optional label “BEAR 0.x” below it.
Right-Panel Swing Log (Table)
What it is
A compact, auto-updating log of the most recent Swing High/Low events, printed in the top-right of the chart.
It helps you see when a pivot formed, when it was confirmed, and at what price—so you know the earliest bar a zone-based signal could have appeared.
Columns
Type – Swing High or Swing Low.
Date – Calendar date of the swing bar (follows the chart’s timezone).
Swing @ – Time of the original swing bar (where the dot is drawn).
Confirm @ – Time of the bar that confirmed that swing (≈ Structure Length × timeframe after the swing). This is also the earliest moment a new zone/entry can be considered.
Price – The swing price (high for SH, low for SL).
Why it’s useful
Clarity on repaint/confirmation: shows the natural delay between a swing forming and being usable—no guessing.
Planning & journaling: quick reference of today’s pivots and prices for notes/backtesting.
Scanning intraday: glance to see if you already have a confirmed zone (and therefore valid fib-bounce entries), or if you’re still waiting.
Context for signals: if a fib-bounce triangle appears before the time listed in Confirm @, it’s not a valid trade (you were too early).
Settings (Inputs → Logging)
Log swing times / Show table – turn the table on/off.
Rows to keep – how many recent entries to display.
Show labels on swing bar – optional tags on the chart (“Swing High 11:45”, “Confirm SH 14:15”) that match the table.
Recommended defaults
• Structure Length: 10–20 for intraday; 20–40 for swing.
• Entry Fib for Signals: 0.5 to start; try 0.3 in stronger trends and 0.6 in choppier markets.
• One Signal Per Zone: ON (prevents over trading).
• Zone Display: Both.
• Fib Lines: Keep 0.3/0.5/0.7 on; turn on 0 and 1 only if you need anchors.
Alerts
Two alert conditions are available:
• BUY signal – fires when a with trend bullish bounce at the selected fib occurs inside a bullish zone.
• SELL signal – fires when a with trend bearish bounce at the selected fib occurs inside a bearish zone.
Create alerts from the chart’s Alerts panel and select the desired condition. Use Once Per Bar Close to avoid intrabar flicker.
Notes & tips
• Swing dots are confirmed only after Structure Length bars, so they plot back in time; zones built from these confirmed swings do not repaint (though they extend as new bars form).
• If you don’t see a BUY where you expect one, check: (1) Is the active zone bullish? (2) Did the candle’s low actually pierce the selected fib and close above it? (3) Is One Signal Per Zone suppressing a second entry?
• You can hide visual clutter by reducing Show Last to 1–3 while keeping Display All Zones off.
Glossary
• CHOCH (Change of Character): A shift where price breaks beyond the last opposite swing while local momentum flips.
• BOS (Break of Structure): A cleaner break beyond the prior swing level in the current momentum direction.
• MSS: Either CHOCH or BOS – any event that spawns a new zone.
Extension ideas (optional)
• Add fib extensions (1.272 / 1.618) for target lines.
• Zone quality score using ATR normalization to filter weak impulses.
• HTF filter to only accept zones aligned with a higher timeframe trend.
⚠️ Disclaimer This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Volume ClusteringThis Volume Clustering script is a powerful tool for analyzing intraday trading dynamics by combining two key metrics: volume Z-Score and Cumulative Volume Delta (CVD). By categorizing market activity into distinct clusters, it helps you identify high-conviction trading opportunities and understand underlying market pressure.
How It Works
The script operates on a simple, yet effective, premise: it classifies each trading bar based on its statistical significance (volume Z-Score) and buying/selling pressure (CVD).
Volume Z-Score
The volume Z-Score measures how far the current bar's volume is from its average, helping to identify periods of unusually high or low volume. This metric is a powerful way to spot when institutional or large players might be entering the market. A high Z-Score suggests a significant event is taking place, regardless of direction.
Cumulative Volume Delta (CVD)
CVD tracks the net buying and selling pressure across different timeframes. The script uses a lower timeframe (e.g., 1-minute) and anchors it to a higher timeframe (e.g., 1-day) to capture intraday pressure. A positive CVD indicates more buying pressure, while a negative CVD suggests more selling pressure.
Cluster Categories
The script analyzes the confluence of these two metrics to assign a cluster to each bar, providing actionable insights. The clusters are color-coded and labeled to make them easy to interpret:
🟢 High Conviction Bullish: Unusually high volume (high Z-Score) combined with significant buying pressure (high CVD). This cluster suggests strong bullish momentum.
🔴 High Conviction Bearish: Unusually high volume (high Z-Score) coupled with significant selling pressure (low CVD). This cluster suggests strong bearish momentum.
🟡 Low Conviction/Noise: Low to moderate volume and mixed buying/selling pressure. This represents periods of indecision or consolidation, where market noise is more prevalent.
🟣 Other Clusters: The script also identifies other combinations, such as high volume with moderate CVD, or low volume with high CVD, which can provide additional context for understanding market dynamics.
Key Features & Customization
The script offers several customizable settings to tailor the analysis to your specific trading style:
Z-Score Lookback Length: Adjust the lookback period for calculating the average volume. A shorter period focuses on recent volume trends, while a longer period provides a broader context.
CVD Anchor & Lower Timeframe: Define the timeframes used for CVD calculation. You can anchor the analysis to a daily or weekly timeframe while using a lower timeframe (e.g., 1-minute) to capture granular intraday pressure.
High/Low Volume Mode: Toggle between "High Volume" mode (which uses 90th and 10th percentiles for clustering) and "Low Volume" mode (which uses 75th and 25th percentiles). This allows you to choose whether to focus on extreme events or more subtle shifts in market sentiment.
Monday's Range Superpowerkyu🔔 Settings
You can customize the colors and toggle ON/OFF in the indicator settings.
Works on daily, hourly, and minute charts.
Easily visualize Monday’s high, low, and mid-line range.
📌 1. Support & Resistance with Monday’s Range
Monday High: Acts as the first resistance of the week.
◽ Example: If price breaks above Monday’s high after Tuesday, it signals potential bullish continuation → long setup.
Monday Low: Acts as the first support of the week.
◽ Example: If price breaks below Monday’s low, it signals bearish continuation → short setup.
📌 2. Mid-Line Trend Confirmation
Monday Mid-Line = average price of Monday.
Price above mid-line → bullish bias.
Price below mid-line → bearish bias.
Use mid-line breaks as entry confirmation for long/short positions.
📌 3. Breakout Strategy
Break of Monday’s High = bullish breakout → long entry.
Break of Monday’s Low = bearish breakout → short entry.
Place stop-loss inside Monday’s range for a conservative approach.
📌 4. False Breakout Strategy
If price breaks Monday’s high/low but then falls back inside Monday’s range, it is a False Breakout.
Strategy: Trade in the opposite direction.
◽ False Breakout at High → short.
◽ False Breakout at Low → long.
Stop-loss at the wick (extreme point) of the failed breakout.
📌 5. Range-Based Scalping
Use Monday’s high and low as a trading range.
Sell near Monday’s High, buy near Monday’s Low, repeat until breakout occurs.
📌 6. Weekly Volatility Forecast
Narrow Monday range → higher chance of strong trend later in the week.
Wide Monday range → lower volatility expected during the week.
📌 7. Pattern & Trend Analysis within Monday Range
Look for candlestick patterns around Monday’s High/Low/Mid-Line.
◽ Example: Double Top near Monday’s High = short setup.
◽ Repeated bounce at Mid-Line = strong long opportunity.
✅ Summary
The Monday’s Range (Superpowerkyu) Indicator helps traders:
Identify weekly support & resistance
Confirm trend direction with Mid-Line
Trade breakouts & false breakouts
Apply range scalping strategies
Forecast weekly volatility
⚡ Especially, the False Breakout strategy is powerful as it captures failed moves and sudden sentiment reversals.
Pivot Points. High & Lows By Reversal PercentageLibrary "Pivot Points. High & Lows By Reversal Percentage" by Jal9000
This Pine Script library provides a robust function for identifying and tracking pivot points (reversal points) in price data, suitable for integration into custom trading indicators and strategies.
🛠️ Main Features:
- ✅ Identifies pivot highs and lows based on configurable price movement thresholds.
- ✅ Lightweight. No candle backtracing used. Much less computation heavy.
- ✅ Supports multiple calls (with different values) within a single script.
- ✅ Compatible with request.security for multi-timeframe analysis.
- ✅ Returns both confirmed and temporary pivots for flexible integration.
- ✅ Pinescript V5 and V6 compliant code.
Purpose:
The pivots library enables Pine Script developers to easily add pivot point detection to their scripts. It identifies significant price reversals by evaluating price movements against a minimum range threshold ( min_range_pct ) and confirming reversals based on a percentage ( reversal_pct ) of the prior trend’s magnitude. The library supports multiple simultaneous calls with different settings, making it ideal for multi-timeframe strategies.
How It Works:
The library’s f_calculatePivot function tracks price movements to detect pivot points:
Minimum Range Threshold : A potential pivot is considered if the price moves beyond the min_range_pct percentage of the current high (for a high pivot) or low (for a low pivot), ensuring sufficient movement.
Reversal Confirmation : A pivot is confirmed if the price reverses from the potential pivot by at least the reversal_pct percentage of the distance between the last confirmed pivot and the current potential pivot, measuring the retracement relative to the prior trend’s magnitude.
The function alternates between tracking highs (in an uptrend) and lows (in a downtrend), updating the trend when a pivot is confirmed.
State management uses an array of pivot_state objects, allowing independent calculations for different timeframes and min_range_pct values within the same script.
## Technical Reference
Functions:
f_calculatePivot(series float _high, series float _low, float _min_range_pct, float _reversal_pct) →
- Parameters:
_high : The high price series (e.g., high or math.max(open, close) ).
_low : The low price series (e.g., low or math.min(open, close) ).
_min_range_pct : The minimum percentage price movement to consider a potential pivot.
_reversal_pct : The percentage of the prior trend’s distance required to confirm a pivot.
- Returns:
A tuple containing:
isNewPivot : Boolean indicating if a new pivot was confirmed.
last_confirmed_pivot : The most recent confirmed pivot (type pivot ).
temp_pivot : The current temporary pivot (type pivot ).
Pivot type:
idx (series int) : Bar index of the pivot.
typ (series int) : Type of pivot ( PIVOT_HIGH or PIVOT_LOW ).
prc (series float) : Price of the pivot.
tme (series int) : Timestamp of the pivot.
Constants (internal):
TREND_LONG , TREND_SHORT : Trend direction indicators (1, -1).
PIVOT_HIGH , PIVOT_LOW : Pivot type indicators (1, -1).
✨ Example of Use:
//@version=5
indicator("Pivot Example", overlay=true)
import jal9000/pivots/1 as pivots
// Inputs
min_range_pct = input.float(20.0, 'Min Range %')
reversal_pct = input.float(30.0, 'Reversal %')
ignore_wick = input.bool(true, 'Ignore wick')
h = ignore_wick ? math.max(open, close) : high
l = ignore_wick ? math.min(open, close) : low
// Call the function with high, low, and input parameters
= pivots.f_calculatePivot(h, l, min_range_pct, reversal_pct)
// Variable to store previous confirmed pivot outside the function
var pivots.pivot prev_confirmed_pivot = na
// Draw the line if a new pivot is confirmed and previous pivot exists
if is_new_pivot
if not na(prev_confirmed_pivot) and not na(new_confirmed_pivot)
line.new(x1 = prev_confirmed_pivot.idx, y1 = prev_confirmed_pivot.prc, x2 = new_confirmed_pivot.idx, y2 = new_confirmed_pivot.prc, color = color.blue, width = 1)
prev_confirmed_pivot := new_confirmed_pivot
## Release Notes
v1
- Initial release of the pivots library with f_calculatePivot function for detecting pivot points and supporting multiple configurations and timeframes.
v2
- Code is Pinescript V6 ready. Remains identified as V5, but changing the version number is the only thing that is required to be v6.
Globex Trap w/ percentage [SLICKRICK]Globex Trap w/ Percentage
Overview
The Globex Trap w/ Percentage indicator is a powerful tool designed to help traders identify high-probability trading opportunities by analyzing price action during the Globex (overnight) session and regular trading hours. By combining Globex session ranges with Supply & Demand zones, this indicator highlights potential "trap" areas where significant price reactions may occur. Additionally, it calculates the Globex session range as a percentage of the daily Average True Range (ATR), providing valuable context for assessing market volatility.
This indicator is ideal for traders in futures markets or other instruments traded during Globex sessions, offering a visual and analytical edge for spotting key price levels and potential reversals or breakouts.
Key Features
Globex Session Tracking:
Visualizes the high and low of the Globex session (default: 3:00 PM to 6:30 AM PST) with customizable time settings.
Displays a semi-transparent box to mark the Globex range, with labels for "Globex High" and "Globex Low."
Calculates the Globex range as a percentage of the daily ATR, displayed as a label for quick reference.
Supply & Demand Zones:
Identifies Supply & Demand zones during regular trading hours (default: 6:00 AM to 8:00 AM PST) with customizable time settings.
Draws semi-transparent boxes to highlight these zones, aiding in the identification of key support and resistance areas.
Trap Area Identification:
Highlights potential trap zones where Globex ranges and Supply & Demand zones overlap, indicating areas where price may reverse or consolidate due to trapped traders.
Customizable Settings:
Adjust Globex and Supply & Demand session times to suit your trading preferences.
Toggle visibility of Globex and Supply & Demand zones independently.
Customize box colors for better chart readability.
Set the lookback period (default: 10 days) to control how many historical zones are displayed.
Configure the ATR length (default: 14) for the percentage calculation.
PST Timezone Default:
All times are based on Pacific Standard Time (PST) by default, ensuring accurate session tracking for users in this timezone or those aligning with U.S. West Coast market hours.
Recommended Usage
Timeframes: Best used on 1-hour charts or lower (e.g., 15-minute, 5-minute) for precise entry and exit points.
Markets: Optimized for futures (e.g., ES, NQ, CL) and other instruments traded during Globex sessions.
Historical Data: Ensure at least 10 days of historical data for optimal visualization of zones.
Strategy Integration: Use the indicator to identify potential reversals or breakouts at Globex highs/lows or Supply & Demand zones. The ATR percentage provides context for whether the Globex range is significant relative to typical daily volatility.
How It Works
Globex Session:
Tracks the high and low prices during the user-defined Globex session (default: 3:00 PM to 6:30 AM PST).
When the session ends, a box is drawn from the start to the end of the session, capturing the high and low prices.
Labels are placed at the midpoint of the session, showing "Globex High," "Globex Low," and the range as a percentage of the daily ATR (e.g., "75.23% of Daily ATR").
Supply & Demand Zones:
Tracks the high and low prices during the user-defined regular trading hours (default: 6:00 AM to 8:00 AM PST).
Draws a box to mark these zones, which often act as key support or resistance levels.
ATR Percentage:
Calculates the Globex range (high minus low) and divides it by the daily ATR to express it as a percentage.
This metric helps traders gauge whether the overnight price movement is significant compared to the instrument’s typical volatility.
Time Handling:
Uses PST (UTC-8) for all time calculations, ensuring accurate session timing for users aligning with this timezone.
Properly handles overnight sessions that cross midnight, ensuring seamless tracking.
Input Settings
Globex Session Settings:
Show Globex Session: Enable/disable Globex session visualization (default: true).
Globex Start/End Time: Set the start and end times for the Globex session (default: 3:00 PM to 6:30 AM PST).
Globex Box Color: Customize the color of the Globex session box (default: semi-transparent gray).
Supply & Demand Zone Settings:
Show Supply & Demand Zone: Enable/disable zone visualization (default: true).
Zone Start/End Time: Set the start and end times for Supply & Demand zones (default: 6:00 AM to 8:00 AM PST).
Zone Box Color: Customize the color of the zone box (default: semi-transparent aqua).
General Settings:
Days to Look Back: Number of historical days to display zones (default: 10).
ATR Length: Period for calculating the daily ATR (default: 14).
Notes
All times are in Pacific Standard Time (PST). Adjust the start and end times if your market operates in a different timezone or if you prefer different session windows.
The indicator is optimized for instruments with active Globex sessions, such as futures. Results may vary for non-24/5 markets.
A typo in the label "Globe Low" (should be "Globex Low") will be corrected in future updates.
Ensure your TradingView chart is set to display sufficient historical data to view the full lookback period.
Why Use This Indicator?
The Globex Trap w/ Percentage indicator provides a unique combination of session-based range analysis, Supply & Demand zone identification, and volatility context via the ATR percentage. Whether you’re a day trader, swing trader, or scalper, this tool helps you:
Pinpoint key price levels where institutional traders may act.
Assess the significance of overnight price movements relative to daily volatility.
Identify potential trap zones for high-probability setups.
Customize the indicator to fit your trading style and market preferences.
Transfer Function Filter [theUltimator5]The Transfer Function Filter is an engineering style approach to transform the price action on a chart into a frequency, then filter out unwanted signals using Butterworth-style filter approach.
This indicator allows you to analyze market structure by isolating or removing different frequency components of price movement—similar to how engineers filter signals in control systems and electrical circuits.
🔎 Features
Four Filter Types
1) Low Pass Filter – Smooths price data, highlighting long-term trends while filtering out short-term noise. This filter acts similar to an EMA, removing noisy signals, resulting in a smooth curve that follows the price of the stock relative to the filter cutoff settings.
Real world application for low pass filter - Used in power supplies to provide a clean, stable power level.
2) High Pass Filter – Removes slow-moving trends to emphasize short-term volatility and rapid fluctuations. The high pass filter removes the "DC" level of the chart, removing the average price moves and only outputting volatility.
Real world application for high pass filter - Used in audio equalizers to remove low-frequency noise (like rumble) while allowing higher frequencies to pass through, improving sound clarity.
3) Band Pass Filter – Allows signals to plot only within a band of bar ranges. This filter removes the low pass "DC" level and the high pass "high frequency noise spikes" and shows a signal that is effectively a smoothed volatility curve. This acts like a moving average for volatility.
Real world application for band pass filter - Radio stations only allow certain frequency bands so you can change your radio channel by switching which frequency band your filter is set to.
4) Band Stop Filter – Suppresses specific frequency bands (cycles between two cutoffs). This filter allows through the base price moving average, but keeps the high frequency volatility spikes. It allows you to filter out specific time interval price action.
Real world application for band stop filter - If there is prominent frequency signal in the area which can cause unnecessary noise in your system, a band stop filter can cancel out just that frequency so you get everything else
Configurable Parameters
• Cutoff Periods – Define the cycle lengths (in bars) to filter. This is a bit counter-intuitive with the numbering since the higher the bar count on the low-pass filter, the lower the frequency cutoff is. The opposite holds true for the high pass filter.
• Filter Order – Adjust steepness and responsiveness (higher order = sharper filtering, but with more delay).
• Overlay Option – Display Low Pass & Band Stop outputs directly on the price chart, or in a separate pane. This is enabled by default, plotting the filters that mimic moving averages directly onto the chart.
• Source Selection – Apply filters to close, open, high, low, or custom sources.
Histograms for Comparison
• BS–LP Histogram – Shows distance between Band Stop and Low Pass filters.
• BP–HP Histogram – Highlights differences between Band Pass and High Pass filters.
Histograms give the visualization of a pseudo-MACD style indicator
Visual & Informational Aids
• Customizable colors for each filter line.
• Optional zero-line for histogram reference.
• On-chart info table summarizing active filters, cutoff settings, histograms, and filter order.
📊 Use Cases
Trend Detection – Use the Low Pass filter to smooth noise and follow underlying market direction.
Volatility & Cycle Analysis – Apply High Pass or Band Pass to capture shorter-term patterns.
Noise Suppression – Deploy Band Stop to remove specific choppy frequencies.
Momentum Insight – Watch the histograms to spot divergences and relative filter strength.
Key Session Levels (KUUUMZ)
📜 Summary
Tired of manually drawing the same key levels every single trading day? The KUUMZ-Key Session Levels indicator automates this entire process, plotting the most critical intraday and previous day levels directly on your chart. This tool provides a clean, dynamic framework of potential support and resistance zones, allowing you to focus on your trading strategy, not on chart setup.
Built for day traders and scalpers of US equities, this indicator helps you instantly visualize the market's structure from the moment the session begins.
🎯 Key Levels Plotted
This indicator automatically identifies and draws horizontal lines for the following session levels:
Previous Day High (PDH) & Low (PDL): The highest and lowest points of the prior trading day, which often act as major psychological support and resistance magnets.
Pre-Market High & Low (PMH/PML): The range established during the pre-market session (4:00 - 9:30 AM ET). A breakout from this range can often signal the initial directional bias.
5-Minute Opening Range High & Low (OR5): The high and low of the first 5 minutes of the regular session (9:30 - 9:35 AM ET). A crucial level for opening range breakout (ORB) strategies.
15-Minute Opening Range High & Low (OR15): The high and low of the first 15 minutes (9:30 - 9:45 AM ET), providing a slightly broader view of the initial balance area.
📈 How to Use This Indicator
These levels are fundamental to many intraday trading strategies:
Support & Resistance: Watch how price reacts as it approaches these levels. A bounce or rejection can signal a potential reversal, while a clean break can indicate continuation.
Breakout Trading: A strong, high-volume move through one of these levels (e.g., breaking above the Pre-Market High) can be an entry signal for a breakout trade.
Market Context: Quickly gauge market sentiment. Is the price trading above or below the previous day's range? Is it trapped within the opening range? These levels provide immediate context to the current price action.
Setting Targets & Stops: Use these levels to set logical profit targets or place stop-loss orders. For example, if you go long on a breakout of the 5-min OR, the Pre-Market High or Previous Day High could be your first target.
⚙️ Features & Customization
The script is designed to be flexible and clean, allowing you to tailor it to your specific charting style.
Toggle Any Level: Enable or disable any set of levels (Previous Day, Pre-Market, etc.) to reduce clutter.
Full Style Control: Customize the Color, Width, and Style (Solid, Dotted, Dashed) for each pair of high/low lines independently.
Optional Labels: A master switch allows you to show or hide all price labels (like "PDH", "PM Low", etc.) with a single click.
Automatic & Dynamic: Levels are calculated and drawn in real-time as each session concludes and are automatically cleared and reset for the next trading day.
MTF Candles [Fadi x MMT]MTF Candles
Overview
The MTF Candles indicator is a powerful tool designed for traders who want to visualize higher timeframe (HTF) candles directly on their current chart. Built with flexibility and precision in mind, this Pine Script indicator displays up to six higher timeframe candles, complete with customizable styling, sweeps, midpoints, fair value gaps (FVGs), volume imbalances, and trace lines. It’s perfect for multi-timeframe analysis, helping traders identify key levels, market structure, and potential trading opportunities with ease.
Key Features
- Multi-Timeframe Candles : Display up to six higher timeframe candles (e.g., 5m, 15m, 30m, 4H, 1D, 1W) on your chart, with configurable timeframes and visibility.
- Sweeps Detection : Identify liquidity sweeps (highs/lows) with customizable line styles, widths, and colors, plus optional alerts for confirmed bullish or bearish sweeps.
- Midpoint Lines : Plot the midpoint (average of high and low) of the previous HTF candle, with customizable color, width, and style for enhanced market analysis.
- Fair Value Gaps (FVGs) : Highlight gaps between non-adjacent candles, indicating potential areas of interest for price action.
- Volume Imbalances : Detect and display volume imbalances between adjacent candles, aiding in spotting significant price levels.
- Trace Lines : Connect HTF candle open, close, high, and low prices to their respective chart bars, with customizable styles and optional price labels.
- Custom Daily Open Times : Support for custom daily candle open times (Midnight, 8:30, or 9:30) to align with specific market sessions.
- Dynamic Labels : Show timeframe names, remaining time until the next HTF candle, and interval labels (e.g., day of the week for daily candles) with adjustable positions and sizes.
- Highly Customizable : Fine-tune candle appearance, spacing, padding, and visual elements to suit your trading style.
How It Works
The indicator renders HTF candles as boxes (bodies) and lines (wicks) on the right side of the chart, with each timeframe offset for clarity. It dynamically updates candles in real-time, tracks their highs and lows, and displays sweeps and midpoints when conditions are met. FVGs and volume imbalances are calculated based on candle relationships, and trace lines link HTF candle levels to their originating bars on the chart.
Sweep Logic
- A bearish sweep occurs when the current candle’s high exceeds the previous candle’s high, but the close is below it.
- A bullish sweep occurs when the current candle’s low falls below the previous candle’s low, but the close is above it.
- Sweeps are visualized as horizontal lines and can trigger alerts when confirmed on the next candle.
Midpoint Logic
- A midpoint line is drawn at the average of the previous HTF candle’s high and low, extending until the next HTF candle forms.
- Useful for identifying potential support/resistance or mean reversion levels.
Imbalance Detection
- FVGs : Identified when a candle’s low is above the next-but-one candle’s high (or vice versa), indicating a price gap.
- Volume Imbalances : Detected between adjacent candles where the body of one candle doesn’t overlap with the next, signaling potential liquidity zones.
Settings
Timeframe Settings
- HTF 1–6 : Enable/disable up to six higher timeframes (default: 5m, 15m, 30m, 4H, 1D, 1W) and set the maximum number of candles to display per timeframe (default: 4).
- Limit to Next HTFs : Restrict the number of active timeframes (1–6).
Styling
- Body, Border, Wick Colors : Customize bull and bear candle colors (default: light gray for bulls, dark gray for bears).
- Candle Width : Adjust the width of HTF candles (1–4).
- Padding and Spacing : Set the offset from the current price action and spacing between candles and timeframes.
Label Settings
- HTF Label : Show/hide timeframe labels (e.g., "15m", "4H") at the top/bottom of candle sets.
- Remaining Time : Display the countdown to the next HTF candle.
Interval Value: Show day of the week for daily candles or time for intraday candles.
- Label Position/Alignment : Choose to display labels at the top, bottom, or both, and align them with the highest/lowest candles or follow individual candle sets.
Imbalance Settings
- Fair Value Gap : Enable/disable FVGs with customizable color (default: semi-transparent gray).
- Volume Imbalance : Enable/disable volume imbalances with customizable color (default: semi-transparent red).
Trace Settings
- Trace Lines : Enable/disable lines connecting HTF candle levels to their chart bars, with customizable colors, styles (solid, dashed, dotted), and sizes.
- Price Labels : Show price levels for open, close, high, and low trace lines.
- Anchor : Choose whether trace lines anchor to the first or last enabled timeframe.
Sweep Settings
- Show Sweeps : Enable/disable sweep detection and visualization.
- Sweep Line : Customize color, width, and style (solid, dashed, dotted).
- Sweep Alert : Enable alerts for confirmed sweeps.
Midpoint Settings
- Show Midpoint : Enable/disable midpoint lines.
- Midpoint Line : Customize color (default: orange), width, and style (solid, dashed, dotted).
Custom Daily Open
Custom Daily Candle Open : Choose between Midnight, 8:30, or 9:30 (America/New_York) for daily candle opens.
Usage
- Add the indicator to your TradingView chart.
- Configure the desired higher timeframes (HTF 1–6) and enable/disable features via the settings panel.
- Adjust styling, labels, and spacing to match your chart preferences.
Use sweeps, midpoints, FVGs, and volume imbalances to identify key levels for trading decisions.
- Enable sweep alerts to receive notifications for confirmed liquidity sweeps.
Notes
Performance: The indicator is optimized for up to 500 boxes, lines, and labels, with a maximum of 5000 bars back. Can be slow at a time
Time Zone: Custom daily opens use the America/New_York time zone for consistency with major financial markets.
Compatibility: Ensure selected HTFs are valid (higher than the chart’s timeframe and divisible by it for intraday periods).
Gabriel's Andean Oscillator📈 Gabriel's Andean Oscillator — Enhanced Trend-Momentum Hybrid
Gabriel's Andean Oscillator is a sophisticated trend-momentum indicator inspired by Alex Grover’s original Andean Oscillator concept. This enhanced version integrates multiple envelope types, smoothing options, and the ability to track volatility from both open/close and high/low dynamics—making it more responsive, adaptable, and visually intuitive.
🔍 What It Does
This oscillator measures bullish and bearish "energy" by calculating variance envelopes around price. Instead of traditional momentum formulas, it builds two exponential variance envelopes—one capturing the downside (bullish potential) and the other capturing the upside (bearish pressure). The result is a smoothed oscillator that reflects internal market tension and potential breakouts.
⚙️ Key Features
📐 Envelope Types:
Choose between:
"Regular" – Uses single EMA-based smoothing on open/close variance. Ideal for shorter timeframes.
"Double Smoothed" – Adds an extra layer of smoothing for noise reduction. Ideal for longer timeframes.
📊 Bullish & Bearish Components:
Bull = Measures potential upside using price lows (or open/close).
Bear = Measures downside pressure using highs (or open/close).
These can optionally be derived from high/low or open/close for flexible interpretation.
📏 Signal Line:
A customizable EMA of the dominant component to confirm momentum direction.
📉 Break Zone Area Plot:
An optional filled area showing when bull > bear or vice versa, useful for detecting expansion/contraction phases.
🟢 High/Low Overlay Option (Use Highs and Lows?):
Visualize secondary components derived from high/low prices to compare against the open/close dynamics and highlight volatility asymmetry.
🧠 How to Use It
Trend Confirmation:
When bull > bear and rising above signal → bullish bias.
When bear > bull and rising above signal → bearish bias.
Breakout Potential:
Watch the Break area plot (√(bull - bear)) for rapid expansion, signaling volatility bursts or directional moves.
High/Low Envelope Divergence:
Enabling the high/low comparison reveals hidden strength or weakness not visible in open/close alone.
🛠 Customizable Inputs
Envelope Type: Regular vs. Double Smoothed
EMA Envelope Lengths: For both regular and smoothed logic
Signal Length: Controls EMA smoothing for the signal
Use Highs and Lows?: Toggles second set of envelopes; the original doesn't include highs and lows.
Plot Breaks: Enables the filled “break” zone area, the squared difference between Open and Close.
🧪 Based On:
Andean Oscillator - Alpaca Markets
Licensed under CC BY-NC-SA 4.0
Developed by Gabriel, based on the work of Alex Grover
AP Session Liquidity with EQH/EQL and Previous DayThis indicator plots key intraday session highs and lows, along with essential market structure levels, to help traders identify areas of interest, potential liquidity zones, and high-probability trade setups. It includes the Asia Session High and Low (typically 00:00–08:00 UTC), London Session High and Low (08:00–12:00 UTC), New York AM Session High and Low (12:00–15:00 UTC), and New York Lunch High and Low (15:00–17:00 UTC). Additionally, it displays the Previous Day’s High and Low for context on recent price action, as well as automatically detected Equal Highs and Lows based on configurable proximity settings to highlight potential liquidity pools or engineered price levels. These session levels are widely used by institutional traders and are critical for analyzing market behavior during time-based volatility windows. Traders can use this indicator to anticipate breakouts, fakeouts, and reversals around session boundaries—such as liquidity grabs at Asia highs/lows before the London or New York sessions—or to identify key consolidation and expansion zones. Equal Highs and Lows serve as magnets for price, offering insight into potential stop hunts or inducement zones. This tool is ideal for day traders, scalpers, and smart money concept practitioners, and includes full customization for session timings, color schemes, line styles, and alert conditions. Whether you're trading price action, ICT concepts, or supply and demand, this indicator provides a powerful framework for intraday analysis.
RTH Session Highs & LowsA Pine Script indicator designed to track and plot the Regular Trading Hours (RTH) session highs and lows on a chart, typically for U.S. equity markets (e.g., S&P 500, Nasdaq, etc.), which operate from 9:30 AM to 4:00 PM Eastern Time.
Session High & Low Lines:
During the RTH session, the indicator draws green and red horizontal lines that represent the highest and lowest price seen so far within that trading session.
These levels help traders identify intraday support (low) and resistance (high) levels.
New High/Low Markers:
Small triangle markers are placed:
Above the bar when a new intraday high is made (green triangle).
Below the bar when a new intraday low is made (red triangle).
This visually flags when momentum may be building or reversing.
Intraday Strategy Support:
Use the session high/low as dynamic support/resistance for scalping or breakout strategies.
For example:
Breakouts above session highs may indicate bullish strength.
Breakdowns below session lows may suggest bearish momentum.
Mean Reversion Tactics:
Prices approaching these lines and then rejecting can be used for mean reversion setups.
Combine with volume or candlestick patterns for confirmation.
Risk Management:
Set stops or targets relative to session highs/lows.
For instance, use session high as a stop-loss level in a short position.
Volatility Gauge:
Tracking how frequently new highs/lows are formed can help assess intraday volatility or range expansion.
Complement with Indicators:
Combine this with our "McGinley Dynamic Channel with Directional Shading" indicator or our "EMA Crossover with Shading" indicator to add context to breakouts or rejections.
Bober XM v2.0# ₿ober XM v2.0 Trading Bot Documentation
**Developer's Note**: While our previous Bot 1.3.1 was removed due to guideline violations, this setback only fueled our determination to create something even better. Rising from this challenge, Bober XM 2.0 emerges not just as an update, but as a complete reimagining with multi-timeframe analysis, enhanced filters, and superior adaptability. This adversity pushed us to innovate further and deliver a strategy that's smarter, more agile, and more powerful than ever before. Challenges create opportunity - welcome to Cryptobeat's finest work yet.
## !!!!You need to tune it for your own pair and timeframe and retune it periodicaly!!!!!
## Overview
The ₿ober XM v2.0 is an advanced dual-channel trading bot with multi-timeframe analysis capabilities. It integrates multiple technical indicators, customizable risk management, and advanced order execution via webhook for automated trading. The bot's distinctive feature is its separate channel systems for long and short positions, allowing for asymmetric trade strategies that adapt to different market conditions across multiple timeframes.
### Key Features
- **Multi-Timeframe Analysis**: Analyze price data across multiple timeframes simultaneously
- **Dual Channel System**: Separate parameter sets for long and short positions
- **Advanced Entry Filters**: RSI, Volatility, Volume, Bollinger Bands, and KEMAD filters
- **Machine Learning Moving Average**: Adaptive prediction-based channels
- **Multiple Entry Strategies**: Breakout, Pullback, and Mean Reversion modes
- **Risk Management**: Customizable stop-loss, take-profit, and trailing stop settings
- **Webhook Integration**: Compatible with external trading bots and platforms
### Strategy Components
| Component | Description |
|---------|-------------|
| **Dual Channel Trading** | Uses either Keltner Channels or Machine Learning Moving Average (MLMA) with separate settings for long and short positions |
| **MLMA Implementation** | Machine learning algorithm that predicts future price movements and creates adaptive bands |
| **Pivot Point SuperTrend** | Trend identification and confirmation system based on pivot points |
| **Three Entry Strategies** | Choose between Breakout, Pullback, or Mean Reversion approaches |
| **Advanced Filter System** | Multiple customizable filters with multi-timeframe support to avoid false signals |
| **Custom Exit Logic** | Exits based on OBV crossover of its moving average combined with pivot trend changes |
### Note for Novice Users
This is a fully featured real trading bot and can be tweaked for any ticker — SOL is just an example. It follows this structure:
1. **Indicator** – gives the initial signal
2. **Entry strategy** – decides when to open a trade
3. **Exit strategy** – defines when to close it
4. **Trend confirmation** – ensures the trade follows the market direction
5. **Filters** – cuts out noise and avoids weak setups
6. **Risk management** – controls losses and protects your capital
To tune it for a different pair, you'll need to start from scratch:
1. Select the timeframe (candle size)
2. Turn off all filters and trend entry/exit confirmations
3. Choose a channel type, channel source and entry strategy
4. Adjust risk parameters
5. Tune long and short settings for the channel
6. Fine-tune the Pivot Point Supertrend and Main Exit condition OBV
This will generate a lot of signals and activity on the chart. Your next task is to find the right combination of filters and settings to reduce noise and tune it for profitability.
### Default Strategy values
Default values are tuned for: Symbol BITGET:SOLUSDT.P 5min candle
Filters are off by default: Try to play with it to understand how it works
## Configuration Guide
### General Settings
| Setting | Description | Default Value |
|---------|-------------|---------------|
| **Long Positions** | Enable or disable long trades | Enabled |
| **Short Positions** | Enable or disable short trades | Enabled |
| **Risk/Reward Area** | Visual display of stop-loss and take-profit zones | Enabled |
| **Long Entry Source** | Price data used for long entry signals | hl2 (High+Low/2) |
| **Short Entry Source** | Price data used for short entry signals | hl2 (High+Low/2) |
The bot allows you to trade long positions, short positions, or both simultaneously. Each direction has its own set of parameters, allowing for fine-tuned strategies that recognize the asymmetric nature of market movements.
### Multi-Timeframe Settings
1. **Enable Multi-Timeframe Analysis**: Toggle 'Enable Multi-Timeframe Analysis' in the Multi-Timeframe Settings section
2. **Configure Timeframes**: Set appropriate higher timeframes based on your trading style:
- Timeframe 1: Default is now 15 minutes (intraday confirmation)
- Timeframe 2: Default is 4 hours (trend direction)
3. **Select Sources per Indicator**: For each indicator (RSI, KEMAD, Volume, etc.), choose:
- The desired timeframe (current, mtf1, or mtf2)
- The appropriate price type (open, high, low, close, hl2, hlc3, ohlc4)
### Entry Strategies
- **Breakout**: Enter when price breaks above/below the channel
- **Pullback**: Enter when price pulls back to the channel
- **Mean Reversion**: Enter when price is extended from the channel
You can enable different strategies for long and short positions.
### Core Components
### Risk Management
- **Position Size**: Control risk with percentage-based position sizing
- **Stop Loss Options**:
- Fixed: Set a specific price or percentage from entry
- ATR-based: Dynamic stop-loss based on market volatility
- Swing: Uses recent swing high/low points
- **Take Profit**: Multiple targets with percentage allocation
- **Trailing Stop**: Dynamic stop that follows price movement
## Advanced Usage Strategies
### Moving Average Type Selection Guide
- **SMA**: More stable in choppy markets, good for higher timeframes
- **EMA/WMA**: More responsive to recent price changes, better for entry signals
- **VWMA**: Adds volume weighting for stronger trends, use with Volume filter
- **HMA**: Balance between responsiveness and noise reduction, good for volatile markets
### Multi-Timeframe Strategy Approaches
- **Trend Confirmation**: Use higher timeframe RSI (mtf2) for overall trend, current timeframe for entries
- **Entry Precision**: Use KEMAD on current timeframe with volume filter on mtf1
- **False Signal Reduction**: Apply RSI filter on mtf1 with strict KEMAD settings
### Market Condition Optimization
| Market Condition | Recommended Settings |
|------------------|----------------------|
| **Trending** | Use Breakout strategy with KEMAD filter on higher timeframe |
| **Ranging** | Use Mean Reversion with strict RSI filter (mtf1) |
| **Volatile** | Increase ATR multipliers, use HMA for moving averages |
| **Low Volatility** | Decrease noise parameters, use pullback strategy |
## Webhook Integration
The strategy features a professional webhook system that allows direct connectivity to your exchange or trading platform of choice through third-party services like 3commas, Alertatron, or Autoview.
The webhook payload includes all necessary parameters for automated execution:
- Entry price and direction
- Stop loss and take profit levels
- Position size
- Custom identifier for webhook routing
## Performance Optimization Tips
1. **Start with Defaults**: Begin with the default settings for your timeframe before customizing
2. **Adjust One Component at a Time**: Make incremental changes and test the impact
3. **Match MA Types to Market Conditions**: Use appropriate moving average types based on the Market Condition Optimization table
4. **Timeframe Synergy**: Create logical relationships between timeframes (e.g., 5min chart with 15min and 4h higher timeframes)
5. **Periodic Retuning**: Markets evolve - regularly review and adjust parameters
## Common Setups
### Crypto Trend-Following
- MLMA with EMA or HMA
- Higher RSI thresholds (75/25)
- KEMAD filter on mtf1
- Breakout entry strategy
### Stock Swing Trading
- MLMA with SMA for stability
- Volume filter with higher threshold
- KEMAD with increased filter order
- Pullback entry strategy
### Forex Scalping
- MLMA with WMA and lower noise parameter
- RSI filter on current timeframe
- Use highest timeframe for trend direction only
- Mean Reversion strategy
## Webhook Configuration
- **Benefits**:
- Automated trade execution without manual intervention
- Immediate response to market conditions
- Consistent execution of your strategy
- **Implementation Notes**:
- Requires proper webhook configuration on your exchange or platform
- Test thoroughly with small position sizes before full deployment
- Consider latency between signal generation and execution
### Backtesting Period
Define a specific historical period to evaluate the bot's performance:
| Setting | Description | Default Value |
|---------|-------------|---------------|
| **Start Date** | Beginning of backtest period | January 1, 2025 |
| **End Date** | End of backtest period | December 31, 2026 |
- **Best Practice**: Test across different market conditions (bull markets, bear markets, sideways markets)
- **Limitation**: Past performance doesn't guarantee future results
## Entry and Exit Strategies
### Dual-Channel System
A key innovation of the Bober XM is its dual-channel approach:
- **Independent Parameters**: Each trade direction has its own channel settings
- **Asymmetric Trading**: Recognizes that markets often behave differently in uptrends versus downtrends
- **Optimized Performance**: Fine-tune settings for both bullish and bearish conditions
This approach allows the bot to adapt to the natural asymmetry of markets, where uptrends often develop gradually while downtrends can be sharp and sudden.
### Channel Types
#### 1. Keltner Channels
Traditional volatility-based channels using EMA and ATR:
| Setting | Long Default | Short Default |
|---------|--------------|---------------|
| **EMA Length** | 37 | 20 |
| **ATR Length** | 13 | 17 |
| **Multiplier** | 1.4 | 1.9 |
| **Source** | low | high |
- **Strengths**:
- Reliable in trending markets
- Less prone to whipsaws than Bollinger Bands
- Clear visual representation of volatility
- **Weaknesses**:
- Can lag during rapid market changes
- Less effective in choppy, non-trending markets
#### 2. Machine Learning Moving Average (MLMA)
Advanced predictive model using kernel regression (RBF kernel):
| Setting | Description | Options |
|---------|-------------|--------|
| **Source MA** | Price data used for MA calculations | Any price source (low/high/close/etc.) |
| **Moving Average Type** | Type of MA algorithm for calculations | SMA, EMA, WMA, VWMA, RMA, HMA |
| **Trend Source** | Price data used for trend determination | Any price source (close default) |
| **Window Size** | Historical window for MLMA calculations | 5+ (default: 16) |
| **Forecast Length** | Number of bars to forecast ahead | 1+ (default: 3) |
| **Noise Parameter** | Controls smoothness of prediction | 0.01+ (default: ~0.43) |
| **Band Multiplier** | Multiplier for channel width | 0.1+ (default: 0.5-0.6) |
- **Strengths**:
- Predictive rather than reactive
- Adapts quickly to changing market conditions
- Better at identifying trend reversals early
- **Weaknesses**:
- More computationally intensive
- Requires careful parameter tuning
- Can be sensitive to input data quality
### Entry Strategies
| Strategy | Description | Ideal Market Conditions |
|----------|-------------|-------------------------|
| **Breakout** | Enters when price breaks through channel bands, indicating strong momentum | High volatility, emerging trends |
| **Pullback** | Enters when price retraces to the middle band after testing extremes | Established trends with regular pullbacks |
| **Mean Reversion** | Enters at channel extremes, betting on a return to the mean | Range-bound or oscillating markets |
#### Breakout Strategy (Default)
- **Implementation**: Enters long when price crosses above the upper band, short when price crosses below the lower band
- **Strengths**: Captures strong momentum moves, performs well in trending markets
- **Weaknesses**: Can lead to late entries, higher risk of false breakouts
- **Optimization Tips**:
- Increase channel multiplier for fewer but more reliable signals
- Combine with volume confirmation for better accuracy
#### Pullback Strategy
- **Implementation**: Enters long when price pulls back to middle band during uptrend, short during downtrend pullbacks
- **Strengths**: Better entry prices, lower risk, higher probability setups
- **Weaknesses**: Misses some strong moves, requires clear trend identification
- **Optimization Tips**:
- Use with trend filters to confirm overall direction
- Adjust middle band calculation for market volatility
#### Mean Reversion Strategy
- **Implementation**: Enters long at lower band, short at upper band, expecting price to revert to the mean
- **Strengths**: Excellent entry prices, works well in ranging markets
- **Weaknesses**: Dangerous in strong trends, can lead to fighting the trend
- **Optimization Tips**:
- Implement strong trend filters to avoid counter-trend trades
- Use smaller position sizes due to higher risk nature
### Confirmation Indicators
#### Pivot Point SuperTrend
Combines pivot points with ATR-based SuperTrend for trend confirmation:
| Setting | Default Value |
|---------|---------------|
| **Pivot Period** | 25 |
| **ATR Factor** | 2.2 |
| **ATR Period** | 41 |
- **Function**: Identifies significant market turning points and confirms trend direction
- **Implementation**: Requires price to respect the SuperTrend line for trade confirmation
#### Weighted Moving Average (WMA)
Provides additional confirmation layer for entries:
| Setting | Default Value |
|---------|---------------|
| **Period** | 15 |
| **Source** | ohlc4 (average of Open, High, Low, Close) |
- **Function**: Confirms trend direction and filters out low-quality signals
- **Implementation**: Price must be above WMA for longs, below for shorts
### Exit Strategies
#### On-Balance Volume (OBV) Based Exits
Uses volume flow to identify potential reversals:
| Setting | Default Value |
|---------|---------------|
| **Source** | ohlc4 |
| **MA Type** | HMA (Options: SMA, EMA, WMA, RMA, VWMA, HMA) |
| **Period** | 22 |
- **Function**: Identifies divergences between price and volume to exit before reversals
- **Implementation**: Exits when OBV crosses its moving average in the opposite direction
- **Customizable MA Type**: Different MA types provide varying sensitivity to OBV changes:
- **SMA**: Traditional simple average, equal weight to all periods
- **EMA**: More weight to recent data, responds faster to price changes
- **WMA**: Weighted by recency, smoother than EMA
- **RMA**: Similar to EMA but smoother, reduces noise
- **VWMA**: Factors in volume, helpful for OBV confirmation
- **HMA**: Reduces lag while maintaining smoothness (default)
#### ADX Exit Confirmation
Uses Average Directional Index to confirm trend exhaustion:
| Setting | Default Value |
|---------|---------------|
| **ADX Threshold** | 35 |
| **ADX Smoothing** | 60 |
| **DI Length** | 60 |
- **Function**: Confirms trend weakness before exiting positions
- **Implementation**: Requires ADX to drop below threshold or DI lines to cross
## Filter System
### RSI Filter
- **Function**: Controls entries based on momentum conditions
- **Parameters**:
- Period: 15 (default)
- Overbought level: 71
- Oversold level: 23
- Multi-timeframe support: Current, MTF1 (15min), or MTF2 (4h)
- Customizable price source (open, high, low, close, hl2, hlc3, ohlc4)
- **Implementation**: Blocks long entries when RSI > overbought, short entries when RSI < oversold
### Volatility Filter
- **Function**: Prevents trading during excessive market volatility
- **Parameters**:
- Measure: ATR (Average True Range)
- Period: Customizable (default varies by timeframe)
- Threshold: Adjustable multiplier
- Multi-timeframe support
- Customizable price source
- **Implementation**: Blocks trades when current volatility exceeds threshold × average volatility
### Volume Filter
- **Function**: Ensures adequate market liquidity for trades
- **Parameters**:
- Threshold: 0.4× average (default)
- Measurement period: 5 (default)
- Moving average type: Customizable (HMA default)
- Multi-timeframe support
- Customizable price source
- **Implementation**: Requires current volume to exceed threshold × average volume
### Bollinger Bands Filter
- **Function**: Controls entries based on price relative to statistical boundaries
- **Parameters**:
- Period: Customizable
- Standard deviation multiplier: Adjustable
- Moving average type: Customizable
- Multi-timeframe support
- Customizable price source
- **Implementation**: Can require price to be within bands or breaking out of bands depending on strategy
### KEMAD Filter (Kalman EMA Distance)
- **Function**: Advanced trend confirmation using Kalman filter algorithm
- **Parameters**:
- Process Noise: 0.35 (controls smoothness)
- Measurement Noise: 24 (controls reactivity)
- Filter Order: 6 (higher = more smoothing)
- ATR Length: 8 (for bandwidth calculation)
- Upper Multiplier: 2.0 (for long signals)
- Lower Multiplier: 2.7 (for short signals)
- Multi-timeframe support
- Customizable visual indicators
- **Implementation**: Generates signals based on price position relative to Kalman-filtered EMA bands
## Risk Management System
### Position Sizing
Automatically calculates position size based on account equity and risk parameters:
| Setting | Default Value |
|---------|---------------|
| **Risk % of Equity** | 50% |
- **Implementation**:
- Position size = (Account equity × Risk %) ÷ (Entry price × Stop loss distance)
- Adjusts automatically based on volatility and stop placement
- **Best Practices**:
- Start with lower risk percentages (1-2%) until strategy is proven
- Consider reducing risk during high volatility periods
### Stop-Loss Methods
Multiple stop-loss calculation methods with separate configurations for long and short positions:
| Method | Description | Configuration |
|--------|-------------|---------------|
| **ATR-Based** | Dynamic stops based on volatility | ATR Period: 14, Multiplier: 2.0 |
| **Percentage** | Fixed percentage from entry | Long: 1.5%, Short: 1.5% |
| **PIP-Based** | Fixed currency unit distance | 10.0 pips |
- **Implementation Notes**:
- ATR-based stops adapt to changing market volatility
- Percentage stops maintain consistent risk exposure
- PIP-based stops provide precise control in stable markets
### Trailing Stops
Locks in profits by adjusting stop-loss levels as price moves favorably:
| Setting | Default Value |
|---------|---------------|
| **Stop-Loss %** | 1.5% |
| **Activation Threshold** | 2.1% |
| **Trailing Distance** | 1.4% |
- **Implementation**:
- Initial stop remains fixed until profit reaches activation threshold
- Once activated, stop follows price at specified distance
- Locks in profit while allowing room for normal price fluctuations
### Risk-Reward Parameters
Defines the relationship between risk and potential reward:
| Setting | Default Value |
|---------|---------------|
| **Risk-Reward Ratio** | 1.4 |
| **Take Profit %** | 2.4% |
| **Stop-Loss %** | 1.5% |
- **Implementation**:
- Take profit distance = Stop loss distance × Risk-reward ratio
- Higher ratios require fewer winning trades for profitability
- Lower ratios increase win rate but reduce average profit
### Filter Combinations
The strategy allows for simultaneous application of multiple filters:
- **Recommended Combinations**:
- Trending markets: RSI + KEMAD filters
- Ranging markets: Bollinger Bands + Volatility filters
- All markets: Volume filter as minimum requirement
- **Performance Impact**:
- Each additional filter reduces the number of trades
- Quality of remaining trades typically improves
- Optimal combination depends on market conditions and timeframe
### Multi-Timeframe Filter Applications
| Filter Type | Current Timeframe | MTF1 (15min) | MTF2 (4h) |
|-------------|-------------------|-------------|------------|
| RSI | Quick entries/exits | Intraday trend | Overall trend |
| Volume | Immediate liquidity | Sustained support | Market participation |
| Volatility | Entry timing | Short-term risk | Regime changes |
| KEMAD | Precise signals | Trend confirmation | Major reversals |
## Visual Indicators and Chart Analysis
The bot provides comprehensive visual feedback on the chart:
- **Channel Bands**: Keltner or MLMA bands showing potential support/resistance
- **Pivot SuperTrend**: Colored line showing trend direction and potential reversal points
- **Entry/Exit Markers**: Annotations showing actual trade entries and exits
- **Risk/Reward Zones**: Visual representation of stop-loss and take-profit levels
These visual elements allow for:
- Real-time strategy assessment
- Post-trade analysis and optimization
- Educational understanding of the strategy logic
## Implementation Guide
### TradingView Setup
1. Load the script in TradingView Pine Editor
2. Apply to your preferred chart and timeframe
3. Adjust parameters based on your trading preferences
4. Enable alerts for webhook integration
### Webhook Integration
1. Configure webhook URL in TradingView alerts
2. Set up receiving endpoint on your trading platform
3. Define message format matching the bot's output
4. Test with small position sizes before full deployment
### Optimization Process
1. Backtest across different market conditions
2. Identify parameter sensitivity through multiple tests
3. Focus on risk management parameters first
4. Fine-tune entry/exit conditions based on performance metrics
5. Validate with out-of-sample testing
## Performance Considerations
### Strengths
- Adaptability to different market conditions through dual channels
- Multiple layers of confirmation reducing false signals
- Comprehensive risk management protecting capital
- Machine learning integration for predictive edge
### Limitations
- Complex parameter set requiring careful optimization
- Potential over-optimization risk with so many variables
- Computational intensity of MLMA calculations
- Dependency on proper webhook configuration for execution
### Best Practices
- Start with conservative risk settings (1-2% of equity)
- Test thoroughly in demo environment before live trading
- Monitor performance regularly and adjust parameters
- Consider market regime changes when evaluating results
## Conclusion
The ₿ober XM v2.0 represents a significant evolution in trading strategy design, combining traditional technical analysis with machine learning elements and multi-timeframe analysis. The core strength of this system lies in its adaptability and recognition of market asymmetry.
### Market Asymmetry and Adaptive Approach
The strategy acknowledges a fundamental truth about markets: bullish and bearish phases behave differently and should be treated as distinct environments. The dual-channel system with separate parameters for long and short positions directly addresses this asymmetry, allowing for optimized performance regardless of market direction.
### Targeted Backtesting Philosophy
It's counterproductive to run backtests over excessively long periods. Markets evolve continuously, and strategies that worked in previous market regimes may be ineffective in current conditions. Instead:
- Test specific market phases separately (bull markets, bear markets, range-bound periods)
- Regularly re-optimize parameters as market conditions change
- Focus on recent performance with higher weight than historical results
- Test across multiple timeframes to ensure robustness
### Multi-Timeframe Analysis as a Game-Changer
The integration of multi-timeframe analysis fundamentally transforms the strategy's effectiveness:
- **Increased Safety**: Higher timeframe confirmations reduce false signals and improve trade quality
- **Context Awareness**: Decisions made with awareness of larger trends reduce adverse entries
- **Adaptable Precision**: Apply strict filters on lower timeframes while maintaining awareness of broader conditions
- **Reduced Noise**: Higher timeframe data naturally filters market noise that can trigger poor entries
The ₿ober XM v2.0 provides traders with a framework that acknowledges market complexity while offering practical tools to navigate it. With proper setup, realistic expectations, and attention to changing market conditions, it delivers a sophisticated approach to systematic trading that can be continuously refined and optimized.
ATR Volatility giua64ATR Volatility giua64 – Smart Signal + VIX Filter
📘 Script Explanation (in English)
Title: ATR Volatility giua64 – Smart Signal + VIX Filter
This script analyzes market volatility using the Average True Range (ATR) and compares it to its moving average to determine whether volatility is HIGH, MEDIUM, or LOW.
It includes:
✅ Custom or preset configurations for different asset classes (Forex, Indices, Gold, etc.).
✅ An optional external volatility index input (like the VIX) to refine directional bias.
✅ A directional signal (LONG, SHORT, FLAT) based on ATR strength, direction, and external volatility conditions.
✅ A clean visual table showing key values such as ATR, ATR average, ATR %, VIX level, current range, extended range, and final signal.
This tool is ideal for traders looking to:
Monitor the intensity of price movements
Filter trading strategies based on volatility conditions
Identify momentum acceleration or exhaustion
⚙️ Settings Guide
Here’s a breakdown of the user inputs:
🔹 ATR Settings
Setting Description
ATR Length Number of periods for ATR calculation (default: 14)
ATR Smoothing Type of moving average used (RMA, SMA, EMA, WMA)
ATR Average Length Period for the ATR moving average baseline
🔹 Asset Class Preset
Choose between:
Manual – Define your own point multiplier and thresholds
Forex (Pips) – Auto-set for FX markets (high precision)
Indices (0.1 Points) – For index instruments like DAX or S&P
Gold (USD) – Preset suitable for XAU/USD
If Manual is selected, configure:
Setting Description
Points Multiplier Multiplies raw price ranges into useful units (e.g., 10 for Gold)
Low Volatility Threshold Threshold to define "LOW" volatility
High Volatility Threshold Threshold to define "HIGH" volatility
🔹 Extended Range and VIX
Setting Description
Timeframe for Extended High/Low Used to compare larger price ranges (e.g., Daily or Weekly)
External Volatility Index (VIX) Symbol for a volatility index like "VIX" or "EUVI"
Low VIX Threshold Below this level, VIX is considered "low" (default: 20)
High VIX Threshold Above this level, VIX is considered "high" (default: 30)
🔹 Table Display
Setting Description
Table Position Where the visual table appears on the chart (e.g., bottom_center, top_left)
Show ATR Line on Chart Whether to display the ATR line directly on the chart
✅ Signal Logic Summary
The script determines the final signal based on:
ATR being above or below its average
ATR rising or falling
ATR percentage being significant (>2%)
VIX being high or low
Conditions Signal
ATR rising + high volatility + low VIX LONG
ATR falling + high volatility + high VIX SHORT
ATR flat or low volatility or low %ATR FLAT
Key Recent Highs and LowsKey Recent Highs & Lows — Session‐Aware Market Structure
TL;DR
This tool plots the most important intraday price extremes for every U.S.‑equity trading segment—Early Premarket • Western Premarket • Regular Hours • Post‑Market Hours • Yesterday’s Range—and labels them so you can trade break‑outs, retests and mean‑reversion with instant context.
📐 Theory & Why These Levels Matter
Liquidity Pools
Visible session extremes attract resting orders (stop‑losses, take‑profits, opening prints). Price often accelerates into them and reacts at them.
Market Memory
The previous day’s high/low is a widely‑watched pivot for gap fills, overnight inventory corrections and multi‑day breakouts.
Mean‑Reversion Windows
Statistically, pre‑ and post‑market ranges are thin; an aggressive spike outside those bands often retraces when full liquidity returns.
Break‑Out Confirmation
A true breakout isn’t just a tick above RTH‑high—it usually closes or at least consolidates above the prior extreme. Seeing all bands lets you gauge whether a push is “real” or just probing thinner sessions.
Put simply, these levels help you decide:
Break‑out ➜ trade in the direction of expansion past a session extreme with follow‑through.
Fade/Mean‑Revert ➜ fade a spike that tags an extreme without commitment (e.g., hits Western‑Premkt‑High then stalls before RTH).
🔍 What the Script Draws
Session (UTC‑4 EST) Default Color / Style Typical Use‑Case
Early Premarket 4 – 7 AM Thick semi‑transparent orange line detect overnight retail spikes / fade plays
Western Premarket 7 – 9 : 30 AM Dashed orange‑red breakout watch as U.S. brokers open
Regular Session (RTH) 9 : 30 – 16 : 00 Bold teal dotted line core intraday structure; classic highs/lows
Post‑Market 16 – 23 : 59 Soft indigo band after‑hours news moves, earnings fades
Previous‑Day RTH Solid teal gap‑fill targets, trend continuation filters
(All colors, thicknesses and transparencies are editable in the settings.)
✨ Features
Real‑Time Updates
Levels refresh tick‑by‑tick inside their own session—no repainting later.
One‑Click Visibility Toggles
Show or hide any session extreme independently.
Clean Auto‑Labels
Optional right‑edge tags (“RTH High”, “Premkt Low”, etc.) keep your chart readable even when lines overlap.
Automatic Daily Reset
At midnight Eastern, buffers clear and yesterday’s extremes roll into the “Prev‑Day” pair.
Zero‑Noise Design
Transparencies and line styles are tuned so you can overlay on any symbol / timeframe without drowning candles.
📈 How to Trade with It
Intraday Breakout Strategy
Mark confluence (e.g., price pushes through Western Premkt High and Yesterday’s High).
Wait for a pullback that holds above the reclaimed band.
Enter with stop under that session line; target next band or measured‑move.
Fade / Mean‑Reversion
Pre‑market headline sends price 5 % above Early Premkt High.
Volume dries up before RTH open.
Short into exhaustion; cover near Western Premkt High or VWAP.
Gap‑Fill & Trend Days
Cash open gaps above Prev‑Day High.
If first 15‑min candle closes back inside yesterday’s range, bias shifts to downside fade.
If it holds above, treat gap as breakout and track RTH High extensions.
Pair it with volume‑profile, VWAP, or momentum oscillators for even higher‑confidence setups.
⚙️ Settings Cheat‑Sheet
Setting Effect
Show Regular / Premarket / Post‑market High/Low Master visibility per session
Show Previous Day High/Low Toggle yesterday’s anchor range
Show Session Labels Turn the right‑edge tags on/off
Style Panel Change each line’s color, width, transparency, dash/dot
🛠️ Best Practices
Works on any intraday timeframe (1‑min to 1‑hour).
Crypto or 24 h markets: adjust session times to match your exchange.
Combine with alerts (e.g., “price crossing RTH High”) for hands‑free monitoring.
Put KRHL on your chart and you’ll never wonder which high matters most again—because they’re all right there, clearly labeled and color‑coded. Trade breakouts or fades with confidence, armed with the exact market structure everyone else is watching.