Robust Channel [tbiktag]Introducing the Robust Channel indicator.
This indicator is based on a remarkable property of robust statistics , namely, the resistance to the presence of data points that deviate significantly from the established trend (generally speaking, outliers ). Being outlier-resistant, the Robust Channel indicator “remembers” a pre-existing trend and thus exhibits a very peculiar "lag" in case of a sharp price change. This allows high-confidence identification of such price actions as a trend reversal, range break, pullback, etc.
In the case of trending and range-bound market conditions, the price remains within the channel most of the time, fluctuating around the central line.
Technical details
The central line is calculated using the repeated median slope algorithm. For each data point in a lookback window of a user-specified Length , this method calculates the median slope of the lines that connect that point to all other points inside the window. The overall median of these median slopes is then calculated and used as an estimate of the trend slope. The algorithm is very efficient as it uses an on-the-fly procedure to update the array containing the slopes (new data pushed - old data removed).
The outer line is then calculated as the central line plus the Length -period standard deviation of the price data multiplied by a user-defined Channel Width Factor . The inner line is defined analogously below the central line.
Usage
As a stand-alone indicator, the Robust Channel can be applied similarly to the Bollinger Bands and the Keltner Channel:
A close above the outer line can be interpreted as a bullish signal and a close below the inner line as a bearish signal.
Likewise, a return to the channel from below after a break may serve as a bullish signal, while a return from above may indicate bearish sentiment.
Robust Channel can be also used to confirm chart patterns such as double tops and double bottoms.
If you like this indicator, feel free to leave your feedback in the comments below!
在脚本中搜索"algo"
Max Drawdown Calculating Functions (Optimized)Maximum Drawdown and Maximum Relative Drawdown% calculating functions.
I needed a way to calculate the maxDD% of a serie of datas from an array (the different values of my balance account). I didn't find any builtin pinescript way to do it, so here it is.
There are 2 algorithms to calculate maxDD and relative maxDD%, one non optimized needs n*(n - 1)/2 comparisons for a collection of n datas, the other one only needs n-1 comparisons.
In the example we calculate the maxDDs of the last 10 close values.
There a 2 functions : "maximum_relative_drawdown" and "maximum_dradown" (and "optimized_maximum_relative_drawdown" and "optimized_maximum_drawdown") with names speaking for themselves.
Input : an array of floats of arbitrary size (the values we want the DD of)
Output : an array of 4 values
I added the iteration number just for fun.
Basically my script is the implementation of these 2 algos I found on the net :
var peak = 0;
var n = prices.length
for (var i = 1; i < n; i++){
dif = prices - prices ;
peak = dif < 0 ? i : peak;
maxDrawdown = maxDrawdown > dif ? maxDrawdown : dif;
}
var n = prices.length
for (var i = 0; i < n; i++){
for (var j = i + 1; j < n; j++){
dif = prices - prices ;
maxDrawdown = maxDrawdown > dif ? maxDrawdown : dif;
}
}
Feel free to use it.
@version=4
Resampling Reverse Engineering Bands [DW]This is an experimental study designed to reverse engineer price levels from centered oscillators at user defined sample rates.
This study aims to educate users on the process of oscillator reverse engineering, and to give users an alternative perspective on some of the most commonly used oscillators in the trading game.
Reverse engineering price levels from an oscillator is actually a rather simple, straightforward process.
Rather than plugging price values into a function to solve for oscillator values, we rearrange the function using some basic algebraic operations and plug in a specified oscillator value to solve for price values instead.
This process tells us what price value is needed in order for the oscillator to equal a certain value.
For example, if you wanted to know what price value would be considered “overbought” or “oversold” according to your oscillator, you can do that using this process.
In this study, the reverse engineering functions are used to calculate the price values of user defined high and low oscillator thresholds, and the price values for the oscillator center.
This allows you to visualize what prices will trigger thresholds as a sort of confidence interval, which is information that isn't inherently available when simply analyzing the oscillator directly.
This script is equipped with three reverse engineering functions to choose from for calculating the band values:
-> Reverse Relative Strength Index (RRSI)
-> Reverse Stochastic Oscillator (RStoch)
-> Reverse Commodity Channel Index (RCCI)
You can easily select the function you want to utilize from the "Band Calculation Type" dropdown tab.
These functions are specially designed to calculate at any sample rate (up to 1 bar per sample) utilizing the process of downsampling that I introduced in my Resampling Filter Pack.
The sample rate can be determined with any of these three methods:
-> BPS - Resamples based on the number of bars.
-> Interval - Resamples based on time in multiples of current charting timeframe.
-> PA - Resamples based on changes in price action by a specified size. The PA algorithm in this script is derived from my Range Filter algorithm.
The range for PA method can be sized in points, pips, ticks, % of price, ATR, average change, and absolute quantity.
Utilizing downsampled rates allows you to visualize the reverse engineered values of an oscillator calculated at larger sample scales.
This can be rather beneficial for trend analysis since lower sample rates completely remove certain levels of noise.
By default, the sample rate is set to 1 BPS, which is the same as bar-to-bar calculation. Feel free to experiment with the sample rate parameters and configure them how you like.
Custom bar colors are included as well. The color scheme is based on disparity between sources and the reverse engineered center level.
In addition, background highlights are included to indicate when price is outside the bands, thus indicating "overbought" and "oversold" conditions according to the thresholds you set.
I also included four external output variables for easy integration of signals with other scripts:
-> Trend Signals (Current Resolution Prices) - Outputs 1 for bullish and -1 for bearish based on disparity between current resolution source and the central level output.
-> Trend Signals (Resampled Prices) - Outputs 1 for bullish and -1 for bearish based on disparity between resampled source and the central level output.
-> Outside Band Signal (Current Resolution Prices) - Outputs 1 for overbought and -1 for oversold based on current resolution source being outside the bands. Returns 0 otherwise.
-> Outside Band Signal (Resampled Prices) - Outputs 1 for overbought and -1 for oversold based on resampled source being outside the bands. Returns 0 otherwise.
To use these signals with another script, simply select the corresponding external output you want to use from your script's source input dropdown tab.
Reverse engineering oscillators is a simple, yet powerful approach to incorporate into your momentum or trend analysis setup.
By incorporating projected price levels from oscillators into our analysis setups, we are able to gain valuable insights, make (potentially) smarter trading decisions, and visualize the oscillators we know and love in a totally different way.
I hope you all find this script useful and enjoyable!
BuyTheDipWell, I often had arguments in online forum with a guy who claimed to time the market perfectly without any technical analysis or prior experience. He often claimed that technical analysis does not work and it only works when you trade on other's emotions. He also argued that algorithmic trading isn't profitable - if so, everyone would do that. Hence, I thought I will convert his idea to algorithm.
In his own words, the strategy is as below:
Chose an instrument which is in full uptrend.
Wait for the panic sell and buy the dip
Once market recovers back exit immediately
It seems to do just fine with indexes. But, not so good when it comes to stocks.
Resampling Filter Pack [DW]This is an experimental study that calculates filter values at user defined sample rates.
This study is aimed to provide users with alternative functions for filtering price at custom sample rates.
First, source data is resampled using the desired rate and cycle offset. The highest possible rate is 1 bar per sample (BPS).
There are three resampling methods to choose from:
-> BPS - Resamples based on the number of bars.
-> Interval - Resamples based on time in multiples of current charting timeframe.
-> PA - Resamples based on changes in price action by a specified size. The PA algorithm in this script is derived from my Range Filter algorithm.
The range for PA method can be sized in points, pips, ticks, % of price, ATR, average change, and absolute quantity.
Then, the data is passed through one of my custom built filter functions designed to calculate filter values upon trigger conditions rather than bars.
In this study, these functions are used to calculate resampled prices based on bar rates, but they can be used and modified for a number of purposes.
The available conditional sampling filters in this study are:
-> Simple Moving Average (SMA)
-> Exponential Moving Average (EMA)
-> Zero Lag Exponential Moving Average (ZLEMA)
-> Double Exponential Moving Average (DEMA)
-> Rolling Moving Average (RMA)
-> Weighted Moving Average (WMA)
-> Hull Moving Average (HMA)
-> Exponentially Weighted Hull Moving Average (EWHMA)
-> Two Pole Butterworth Low Pass Filter (BLP)
-> Two Pole Gaussian Low Pass Filter (GLP)
-> Super Smoother Filter (SSF)
Downsampling is a powerful filtering approach that can be applied in numerous ways. However, it does suffer from a trade off, like most studies do.
Reducing the sample rate will completely eliminate certain levels of noise, at the cost of some spectral distortion. The lower your sample rate is, the more distortion you'll see.
With that being said, for analyzing trends, downsampling may prove to be one of your best friends!
eha MA CrossIn the study of time series, and specifically technical analysis of the stock market, a moving-average cross occurs when, the traces of plotting of two moving averages each based on different degrees of smoothing cross each other. Although it does not predict future direction but at least shows trends.
This indicator uses two moving averages, a slower moving average and a faster-moving average. The faster moving average is a short term moving average. A short term moving average is faster because it only considers prices over a short period of time and is thus more reactive to daily price changes.
On the other hand, a long term moving average is deemed slower as it encapsulates prices over a longer period and is more passive. However, it tends to smooth out price noises which are often reflected in short term moving averages.
There are a bunch of parameters that you can set on this indicator based on your needs.
Moving Averages Algorithm
You can choose between three types provided of Algorithms
Simple Moving Average
Exponential Moving Average
Weighted Moving Average
I will update this study with more educational materials in the near future so be informed by following the study and let me know what you think about it.
Please hit the like button if this study is useful for you.
Renko RSIThis is live and non-repainting Renko RSI tool. The tool has it’s own engine and not using integrated function of Trading View.
Renko charts ignore time and focus solely on price changes that meet a minimum requirement. Time is not a factor on Renko chart but as you can see with this script Renko RSI created on time chart.
Renko chart provide several advantages, some of them are filtering insignificant price movements and noise, focusing on important price movements and making support/resistance levels much easier to identify.
As source Closing price or High/Low can be used.
Traditional or ATR can be used for scaling. If ATR is chosen then there is rounding algorithm according to mintick value of the security. For example if mintick value is 0.001 and brick size (ATR/Percentage) is 0.00124 then box size becomes 0.001. And also while using dynamic brick size (ATR), box size changes only when Renko closing price changed.
Renko RSI is calculated by own Renko RSI algorithm.
Alerts added:
Renko RSI moved below Overbought level
Renko RSI moved above Overbought level
Renko RSI moved below Oversold level
Renko RSI moved above Oversold level
RSI length is 2 by default, you can set as you wish.
You better to use this script with the following one:
Enjoy!
BitMEX pump catcher - MACDThis is a modified version of the BitMEX pump catcher by Jomy .
I have tweaked the algorithm to use the difference in MACD to get the correct direction of entries rather than using direction of candles which are not always indicative of trend direction. These changes increase net profit, profitable trades, while reducing drawdown.
Below is a copy and paste of Jomy's explanation of the algorithm.
What is going on here? This strategy is pretty simple. We start by measuring a very long chunk of volume history on BitMEX:XBTUSD 1 hour chart to find out if the current volume is high or low. At 1.0 the indicator is showing we are at 100% of normal historical volume . The blue line is a measure of recent volume! This indicator gets interested when the volume drops below 90% of the regular volume (0.9), and then comes back up over 90%. There's usually a pump of increased price activity during this time. When the 0.9 line is crossed by the blue line, the indicator surveys the last 2 bars of price action to figure out which way we're going, long or short. Green is long. Red is short. To exit the trade we use a 7 period fast ema of the volume crossing under an 11 ema slower period which shows declining interest in the market signifying an end to the pump or dump. The profit factor is quite high with 5x leverage, but historically we see 50% drawdown -- very risky. 1x leverage looks nice and tight with very low drawdown. Play with the inputs to see what matches your own risk profile. I would not recommend taking this into much lower timeframes as trading fees are not included in the profit calculations. Please don't get burned trading on stupid high leverage. This indicator is probably not going to work well on alts, as Bitcoin FOMO build up and behavior is different. This whole indicator is tuned to Bitcoin , and attempts to trade only the meatiest part of the market moves.
Jomy should get full credit to this indicator
My Recursive Bands [ChuckBanger]This is a different type of bands. I modified Alex Pierrefeu Recursive Bands algo. It is a smoothed version of Alex's algo and imo it suites better for heikin ashi candles but it works well with regular candles.
How to use it:
When price hugs the upper band. It is a potential long and when price hugs the lower band it is a potential short.
Credits to Alex Pierrefeu: figshare.com
[Autoview][BackTest] Blank R0.13BThis is a fork of JustUncleL's
Dual MA Ribbons R0.13
It is now a blank template for making new strategies / alerts for autoview
The changes are as follows:
Removed actual algo
Establish functions for long Signal, long Close Signal and short Signal, short Close Signal to minimize the places code must be edited to update / replace algos
Make allow Long and allow short and invert trade directions independent options
Added support for alternate candle types
Added autoset backtest period feature, and optional coloring
Moved strategy calls in to functions so they can all be commented out or activated / disabled in a single block at the top of the script
[Autoview][Alerts]Blank R0.13BThis is a fork of JustUncleL's
Dual MA Ribbons R0.13
It is now a blank template for making new strategies / alerts for autoview
The changes are as follows:
Removed actual algo
Establish functions for long Signal, long Close Signal and short Signal, short Close Signal to minimize the places code must be edited to update / replace algos
Make allow Long and allow short and invert trade directions independent options
Added support for alternate candle types
Added autoset backtest period feature, and optional coloring
Moved strategy calls in to functions so they can all be commented out or activated / disabled in a single block at the top of the script
Top Bottom Finder Public version- Jayy This script plots a 6 algos from the Coles/Hawkins "Midas Technical Analysis" book:
Top finder / Bottom Finder (Levine Algo by Bob English)* - onlinelibrary.wiley.com
MIDAS VWAP Gen-1) -
MIDAS VWAP average and deltas
VWAP (Gen-1) using a date or a bar n number can be initiated at bar 0 - useful for a new IPO
Standard Deviation of MIDAS VWAP
MIDAS Displacement Channels (Coles) - edmond.mires.co
An%20Anchored%20VWAP%20Channel%20For%20Congested%20Markets.pdf
* for better results with topfinder and bottomfinder use the companion TB-F Matcher script.
See wiki for a synopsis: en.wikipedia.org
Relevant info can be found in: Midas Technical Analysis: A VWAP Approach to Trading and Investing in Today’s Markets by
Andrew Coles, David G. Hawkins Copyright © 2011 by Andrew Coles and David G. Hawkins.
Appendix C: TradeStation Code for the MIDAS Topfinder/Bottomfinder Curves ported to Tradingview
This script requires a working understanding of "Midas Technical Analysis" Google "Midas Technical Analysis" and a variety of information will appear.
To find fit the curve as described in the Midas book a companion script is required that will after a few manual iterative inputs guide you to the appropriate D value for the for input into this program ( see the TB-F Matcher script). You might also try the Midas average and Deltas as described in the book. I have added the 2nd, 3rd and 4th multiples of Delta.
The advantage is that there is no curve fitting. You still need to select a starting point for Midas or the topfinder bottomfinder (TB_F)
or the VWAP.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
See the notes in the script below
Cheers Jayy
Volume Range EventsChanges in the feelings (positive, negative, neutral) in the market concerning the valuation of an instrument are often preceded with sudden outbursts of buying and selling frenzies. The aim of this indicator is to report such outbursts. We can see them as expansions of volume, sometimes 10 times more than usual. and as extensions of the trading range, also sometimes 10 times more than usual (e.g. usual range is 10 cent suddenly a whole dollar.) The changes are calculated in such a way that these fit between plus and minus 100 percent, the bars are scaled in some sort of logarithmic way. The Emoline is the same as the one in the True Balance of Power indicator, which I already published
ONLY RISES ARE EVENTS
Sometimes analysts are tempted to give meaning to low volume or small ranges. These simply mean that the market has little interest in trading this instrument. I believe that in such cases the trader needs to wait for expansion and extension events to happen, then he can make a better guess of where the market is heading. As events often mark the beginning or ending of a trend, this indicator provides an early and clear signal, because it doesn’t bother us about non-events.
WHAT IS USUAL?
If the algorithm would use an average as a normal to scale volume or range events, then previous peaks will act as spoilers by making the average so high that a following peak is scaled too small. I developed a function, usual() , that kicks out all extremes of a ‘population of values’ and which returns the average of the non-extreme values. It can be called with any serial. This function is called by both algorithms that report volume and range peaks, which guarantees that the results are really comparable. As this function has a fixed look back of 8 periods, we might state that ‘usual’ is a short lived relative value. I think this doesn’t matter for the practical use of the indicator.
COLORING AND INTERPRETATION
I follow the categories in the ‘Better Volume Indicator’, published by LeazyBear, these are:
1. Climactic Volumes, event >40 % (this means peak is 1.5 X usual)
LIME: Climax Buying Volume, direction up, range event also > 30 %
RED: Climax Selling Volume, direction down, range event also > 30 %
AQUA: Climax Churning Volume, both directions, range event < 30%
2. Smaller Volumes, event <40 %
GREEN: Supportive Volume, both directions, if combined with range event
BLUE: Churning Volume, both directions, if not combined with range event (Professional Trading)
3. Just Range Events
BLACK histogram bars (Amateurish Trading)
BUY & SELL VOLUME TO PRICE PRESSURE by @XeL_ArjonaBUY & SELL PRICE TO VOLUME PRESSURE
By Ricardo M Arjona @XeL_Arjona
DISCLAIMER:
The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.
The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.
Pine Script code MOD's and adaptations by @XeL_Arjona with special mention in regard of:
Buy (Bull) and Sell (Bear) "Power Balance Algorithm" by: Stocks & Commodities V. 21:10 (68-72): "Bull And Bear Balance Indicator by Vadim Gimelfarb"
Normalisation (Filter) from Karthik Marar's VSA work: karthikmarar.blogspot.mx
Buy to Sell Convergence / Divergence and Volume Pressure Counterforce Histogram Ideas by: @XeL_Arjona
WHAT IS THIS?
The following indicators try to acknowledge in a K-I-S-S approach to the eye (Keep-It-Simple-Stupid), the two most important aspects of nearly every trading vehicle: -- PRICE ACTION IN RELATION BY IT'S VOLUME --
Volume Pressure Histogram: Columns plotted in positive are considered the dominant Volume Force for the given period. All "negative" columns represents the counterforce Vol.Press against the dominant.
Buy to Sell Convergence / Divergence: It's a simple adaptation of the popular "Price Percentage Oscillator" or MACD but taking Buying Pressure against Selling Pressure Averages, so given a Positive oscillator reading (>0) represents Bullish dominant Trend and a Negative reading (<0) a Bearish dominant Trend. Histogram is the diff between RAW Volume Pressures Convergence/Divergence minus Normalised ones (Signal) which helps as a confirmation.
Volume bars are by default plotted from RAW Volume Pressure algorithms, but they can be as well filtered with Karthik Marar's approach against a "Total Volume Average" in favor to clean day to day noise like HFT.
ALL NEW IDEAS OR MODIFICATIONS to these indicators are Welcome in favor to deploy a better and more accurate readings. I will be very glad to be notified at Twitter: @XeL_Arjona
Any important addition to this work MUST REMAIN PUBLIC by means of CreativeCommons CC & TradingView. -- 2015
BUY & SELL VOLUME TO PRICE PRESSURE by @XeL_ArjonaBUY & SELL PRICE TO VOLUME PRESSURE
By Ricardo M Arjona @XeL_Arjona
DISCLAIMER:
The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.
The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.
Pine Script code MOD's and adaptations by @XeL_Arjona with special mention in regard of:
Buy (Bull) and Sell (Bear) "Power Balance Algorithm" by: Stocks & Commodities V. 21:10 (68-72): "Bull And Bear Balance Indicator by Vadim Gimelfarb"
Normalisation (Filter) from Karthik Marar's VSA work: karthikmarar.blogspot.mx
Buy to Sell Convergence / Divergence and Volume Pressure Counterforce Histogram Ideas by: @XeL_Arjona
WHAT IS THIS?
The following indicators try to acknowledge in a K-I-S-S approach to the eye (Keep-It-Simple-Stupid), the two most important aspects of nearly every trading vehicle: -- PRICE ACTION IN RELATION BY IT'S VOLUME --
Volume Pressure Histogram: Columns plotted in positive are considered the dominant Volume Force for the given period. All "negative" columns represents the counterforce Vol.Press against the dominant.
Buy to Sell Convergence / Divergence: It's a simple adaptation of the popular "Price Percentage Oscillator" or MACD but taking Buying Pressure against Selling Pressure Averages, so given a Positive oscillator reading (>0) represents Bullish dominant Trend and a Negative reading (<0) a Bearish dominant Trend. Histogram is the diff between RAW Volume Pressures Convergence/Divergence minus Normalised ones (Signal) which helps as a confirmation.
Volume bars are by default plotted from RAW Volume Pressure algorithms, but they can be as well filtered with Karthik Marar's approach against a "Total Volume Average" in favor to clean day to day noise like HFT.
ALL NEW IDEAS OR MODIFICATIONS to these indicators are Welcome in favor to deploy a better and more accurate readings. I will be very glad to be notified at Twitter: @XeL_Arjona
Any important addition to this work MUST REMAIN PUBLIC by means of CreativeCommons CC & TradingView. -- 2015
BUY & SELL VOLUME PRESSURE by @XeL_ArjonaBUY & SELL PRICE TO VOLUME PRESSURE
By Ricardo M Arjona @XeL_Arjona
DISCLAIMER:
The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.
The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.
Pine Script code MOD's and adaptations by @XeL_Arjona with special mention in regard of:
Buy (Bull) and Sell (Bear) "Power Balance Algorithm" by: Stocks & Commodities V. 21:10 (68-72): "Bull And Bear Balance Indicator by Vadim Gimelfarb"
Normalisation (Filter) from Karthik Marar's VSA work: karthikmarar.blogspot.mx
Buy to Sell Convergence / Divergence and Volume Pressure Counterforce Histogram Ideas by: @XeL_Arjona
WHAT IS THIS?
The following indicators try to acknowledge in a K-I-S-S approach to the eye (Keep-It-Simple-Stupid), the two most important aspects of nearly every trading vehicle: -- PRICE ACTION IN RELATION BY IT'S VOLUME --
Volume Pressure Histogram: Columns plotted in positive are considered the dominant Volume Force for the given period. All "negative" columns represents the counterforce Vol.Press against the dominant.
Buy to Sell Convergence / Divergence: It's a simple adaptation of the popular "Price Percentage Oscillator" or MACD but taking Buying Pressure against Selling Pressure Averages, so given a Positive oscillator reading (>0) represents Bullish dominant Trend and a Negative reading (<0) a Bearish dominant Trend. Histogram is the diff between RAW Volume Pressures Convergence/Divergence minus Normalised ones (Signal) which helps as a confirmation.
Volume bars are by default plotted from RAW Volume Pressure algorithms, but they can be as well filtered with Karthik Marar's approach against a "Total Volume Average" in favor to clean day to day noise like HFT.
ALL NEW IDEAS OR MODIFICATIONS to these indicators are Welcome in favor to deploy a better and more accurate readings. I will be very glad to be notified at Twitter: @XeL_Arjona
Any important addition to this work MUST REMAIN PUBLIC by means of CreativeCommons CC & TradingView. -- 2015
📊 Multi-Timeframe High/Low Strategy Pro v40.0📊 Multi-Timeframe High/Low Strategy Pro v40.0 (Mustang Algo)
🎯 OVERVIEW
Advanced trading strategy that identifies and trades breakouts of key support and resistance levels across multiple timeframes. Features intelligent pyramiding, ATR-based risk management, and comprehensive backtesting capabilities. Now upgraded to Pine Script v6 for enhanced performance and compatibility.
✨ KEY FEATURES
📈 Multi-Timeframe Levels:
- Yesterday's High/Low
- Today's High/Low (intraday)
- Last Week's High/Low
- Last Month's High/Low
- Last Year's High/Low
🔥 Advanced Position Management:
- Pyramiding up to 100 simultaneous positions
- Configurable equity allocation per trade (0.1% - 100%)
- Daily trade limiter to control overtrading
- Smart position sizing with percentage-based allocation
🎯 Flexible Entry Signals:
- 10 Long entry options (breakouts above key levels)
- 10 Short entry options (breakdowns below key levels)
- Mix and match any combination of signals
- Real-time alerts for all level breaks
🛡️ Risk Management:
- ATR-based or Percentage-based Stop Loss
- ATR-based or Percentage-based Take Profit
- Time-based exits (exit after X bars)
- Precise price-based exits using limit/stop orders
- Entry price calculation for accurate TP/SL placement
📊 Visual Features:
- Clean, modern design with color-coded levels
- Customizable labels with emojis for easy identification
- ATR bands and histogram visualization
- Real-time position information panel
- Adjustable line lookback period (10-500 bars)
⚙️ HOW TO USE
1️⃣ Enable Strategy:
• Check "▶️ Enable Strategy" in Backtesting Settings
• Optionally set date range filter for testing specific periods
2️⃣ Select Entry Signals:
• Choose which level breaks trigger Long entries (⬆️)
• Choose which level breaks trigger Short entries (⬇️)
• Can combine multiple signals for complex strategies
3️⃣ Configure Exits:
• Enable Take Profit and/or Stop Loss
• Choose between Percentage or ATR-based calculations
• Set percentage values (e.g., 10% TP, 5% SL)
• Optionally enable time-based exit (bars)
4️⃣ Advanced Options:
• Enable Pyramiding for multiple concurrent positions
• Set max number of trades per day (1-1000)
• Adjust position sizing per trade (0.1-100%)
📋 CONFIGURATION PARAMETERS
Visual Settings:
- Toggle individual levels on/off
- Line lookback length (10-500 bars)
- Label size (large/normal/small/tiny)
- Label color customization
- Label positioning offset (0-50)
ATR Settings:
- ATR Period (default: 14, range: 1-200)
- ATR Multiplier (default: 2.0, range: 0.1-10.0)
- Optional ATR bands visualization
- Optional ATR histogram display
Entry Signals:
- 10 Long entry triggers (crossover signals)
- 10 Short entry triggers (crossunder signals)
- Individual activation for each signal
Exit Settings:
Take Profit:
- Enable/Disable TP
- Type: Percent (0.1-100%) or ATR (0.1-20x)
- Percent: 0.1% to 100% gain target
- ATR: 0.1 to 20 ATR multipliers
Stop Loss:
- Enable/Disable SL
- Type: Percent (0.1-100%) or ATR (0.1-20x)
- Percent: 0.1% to 100% loss limit
- ATR: 0.1 to 20 ATR multipliers
Time Exit:
- 0-1000 bars (0 = disabled)
Multi-Trade Settings:
- Enable/Disable Pyramiding
- Max concurrent trades (1-100)
- Equity % per trade (0.1-100%)
Daily Limit:
- Enable/Disable daily trade limit
- Max trades per day (1-1000)
Backtesting:
- Date range filtering
- From/To Year, Month, Day selection
🎨 VISUAL DESIGN
Modern, clean interface featuring:
- Color-coded levels with transparency:
- 📗📕 Yesterday (bright green/red)
- 🟢🔴 Today (cyan/magenta)
- 🔵🟠 Last Week (blue/orange)
- 🟣🔷 Last Month (purple/light blue)
- 🟤🟫 Last Year (brown)
- Different line styles per timeframe
- Compact emoji labels (Y-High, T-Low, W-High, M-Low, Yr-High)
- Dynamic info panel showing active settings
- Semi-transparent fills for ATR zones
⚡ PERFECT FOR
- Breakout trading strategies
- Multi-timeframe analysis
- Systematic algorithmic trading
- Range breakout systems
- Support/Resistance trading
- Scalping with pyramiding
- Day trading with level breaks
📊 BACKTESTING ENGINE
Comprehensive backtesting with:
- Date range filtering for precise periods
- Accurate entry/exit execution
- Multiple position management
- Detailed performance metrics
- Trade-by-trade analysis
- Pyramiding simulation
🔔 ALERTS AVAILABLE
Set custom alerts for:
- Any level breakout (10 different levels)
- Crossover and crossunder events
- All timeframe combinations
- Entry and exit signals
- Position management events
🆕 VERSION 40.0 UPDATES
- Upgraded to Pine Script v6
- Enhanced compatibility and performance
- Improved input system (input.bool, input.int, input.float)
- Updated security function (request.security)
- Fixed ta.barssince calculations
- Optimized strategy.close implementation
- Shorter title for TradingView compliance
⚠️ IMPORTANT TECHNICAL NOTES
- Uses precise limit/stop prices for TP/SL (not ticks)
- Entry price-based calculations (not current close)
- Pyramiding controlled via strategy declaration
- Daily trade counter resets at midnight
- ATR calculated on each bar for consistency
- Works best on intraday timeframes for daily levels
- Time-based exits use global scope calculations
💡 USAGE TIPS
- Start with single signal testing to understand behavior
- Use percentage-based exits for consistent risk/reward ratios
- Enable daily limit to prevent overtrading volatile days
- Combine ATR-based stops with percentage targets
- Test different level combinations for your specific asset
- Lower pyramiding percentage for safer multi-position trading
- Consider market volatility when setting ATR multipliers
📈 STRATEGY LOGIC EXPLANATION
The strategy identifies critical support/resistance levels from multiple timeframes (yesterday, today, week, month, year) and generates trading signals when price breaks through these levels.
**Entry Logic:**
- LONG: Price crosses above selected high/low levels
- SHORT: Price crosses below selected high/low levels
**Exit Logic:**
- Take Profit: Fixed percentage or ATR-based target
- Stop Loss: Fixed percentage or ATR-based stop
- Time Exit: Maximum bars in position
**Position Management:**
- Pyramiding allows building multiple positions
- Daily limiter prevents excessive trading
- Per-trade allocation controls risk per entry
🎓 BEST PRACTICES
1. **Risk Management:** Never risk more than 1-2% per trade
2. **Pyramiding:** Use smaller percentages (0.5-2%) when enabled
3. **Daily Limits:** Set realistic limits based on market volatility
4. **TP/SL Ratio:** Aim for minimum 1:1.5 risk/reward ratio
5. **Backtesting:** Test thoroughly across different market conditions
6. **Timeframes:** Use appropriate timeframes for your trading style
7. **Level Selection:** Choose relevant levels for your asset class
📊 RECOMMENDED SETTINGS
**Conservative (Low Risk):**
- Pyramiding: Disabled
- TP: 5% or 3 ATR
- SL: 2% or 1.5 ATR
- Daily Limit: 3-5 trades
- Signals: Week/Month highs only
**Moderate (Balanced):**
- Pyramiding: Enabled (max 3)
- Per Trade: 2%
- TP: 3% or 2.5 ATR
- SL: 1.5% or 1 ATR
- Daily Limit: 5-10 trades
- Signals: Yesterday + Week levels
**Aggressive (High Risk):**
- Pyramiding: Enabled (max 5)
- Per Trade: 1%
- TP: 2% or 2 ATR
- SL: 1% or 0.75 ATR
- Daily Limit: 10-20 trades
- Signals: All levels enabled
⚠️ RISK DISCLAIMER
This indicator is for educational and informational purposes only. Trading involves substantial risk of loss and is not suitable for every investor. Past performance does not guarantee future results. Always:
- Test thoroughly in paper trading first
- Use proper risk management
- Never risk more than you can afford to lose
- Understand the strategy before live trading
- Consider transaction costs and slippage
- Consult a financial advisor if needed
🔧 TROUBLESHOOTING
- **No trades executing:** Check if "Enable Strategy" is ON
- **Too many trades:** Reduce signals or enable daily limit
- **TP/SL not working:** Verify percentage/ATR settings
- **Pyramiding not working:** Check max trades and % per trade
- **Labels not showing:** Ensure "Show Labels" is enabled
📞 SUPPORT & FEEDBACK
For questions, suggestions, bug reports, or feature requests:
- Comment below this indicator
- Contact the author through TradingView
- Report any issues with specific examples
🌟 FEATURES SUMMARY
✅ Multi-timeframe level detection
✅ Customizable breakout signals
✅ ATR and percentage-based exits
✅ Advanced pyramiding system
✅ Daily trade limiting
✅ Time-based exits
✅ Modern visual design
✅ Comprehensive backtesting
✅ Real-time alerts
✅ Pine Script v6 compatible
📚 VERSION HISTORY
- v40.0 - Pine Script v6 upgrade + bug fixes
- v39.3 - Fixed TP/SL with limit/stop prices
- v39.2 - Entry price-based calculations
- v39.1 - Fixed daily trade counter
- v39.0 - Pyramiding + daily limiter
- v38.0 - Multi-trade capability (100 positions)
- v37.0 - ATR-based exits
- v36.0 - Backtesting integration
- v35.0 - Added yearly levels
🚀 GET STARTED
1. Add indicator to your chart
2. Open settings panel
3. Enable "▶️ Enable Strategy"
4. Select your preferred entry signals
5. Configure TP/SL settings
6. Run backtest on historical data
7. Optimize parameters for your asset
8. Set up alerts for live trading
Happy Trading! 🎯💰📈
---
© 2025 Multi-Timeframe High/Low Strategy Pro
Built with precision. Tested with care. Trade with confidence.
Bitgak [Osprey]🟠 INTRODUCTION
Bitgak , translated as "Oblique Angle" in Korean, is a strategy used by multi-hundred-million traders in Korea, sometimes more heavily than Fibonacci retracement.
It is a concept that by connecting two or more pivot points on the chart and creating equidistant parallel lines, we can spot other pivot points. As seen in the example, a line at a different height but with the same angle spots many pivot points.
This indicator spots pivot points on the chart and tests all different possible Bitgak lines with a brute-force method. Then it shows the parallel line configuration with the most pivots hitting it. You may use the lines drawn on the chart as possible reversal points.
It is best to use on Day and Week candles . In the very short range of time, the noise makes it hard to capture meaningful data.
🟠 HOW TO USE
The orange dots are the major pivot points (you can set the period of the long-term pivot) upon which the lines are built.
Change the "Manual Lookback Bars" from 300 to a meaningful period upon your inspection.
"Hit Tolerance %" means how close a pivot needs to be to the line to be considered as having touched the line.
If the line is too narrow, which is not very useful, you may consider increasing the "Long-term Pivot Bars" and experimenting with different settings for Channel Lines and Heuristics.
The result:
"Top Anchors to Test (L)" is how many L highest peaks and L lowest troughs should be weighed heavily when testing the lines. That is, with L = 1, the algorithm will reward the Bitgak lines that touch 1 highest peak and 1 lowest trough. It doesn't make much intuitive sense, so I suggest just testing it out.
🟠 HOW IT WORKS
Step 1: Pivot Detection
The indicator runs two parallel detection systems:
Short-term pivots (default: 7 bars on each side) - Captures minor swing highs/lows for detailed analysis
Long-term pivots (default: 17 bars on each side) - Identifies major structural turning points
These pivots form the foundation for all channel calculations.
Step 2: Anchor Point Selection
From the detected long-term pivots, the algorithm identifies:
The L highest peaks (default L=1, meaning the single highest peak)
The L lowest troughs (default L=1, meaning the single lowest trough)
These become potential "anchor points" for channel construction. Higher L values test more combinations but increase computation time.
Step 3: Channel Candidate Generation
For support channels: Every pair of troughs becomes a potential base line (A-B)
For resistance channels: Every pair of peaks becomes a potential base line (A-B)
The algorithm then tests each peak (for support) or trough (for resistance) as pivot C.
Step 4: Optimal Spacing Calculation
For each A-B-C combination, the algorithm calculates:
Unit Spacing = (Distance from C to A-B line) / Multiplier
It tests multipliers from 0.5 to 4.0 (or your custom range), asking: "If pivot C sits on the 1.0 line, what spacing makes the most pivots hit other lines?"
Step 5: Scoring & Selection
Each configuration is scored by counting how many pivots fall within tolerance (default 1% of price) of any parallel line in the range . The highest-scoring channel is drawn on your chart.
Simplified Percentile ClusteringSimplified Percentile Clustering (SPC) is a clustering system for trend regime analysis.
Instead of relying on heavy iterative algorithms such as k-means, SPC takes a deterministic approach: it uses percentiles and running averages to form cluster centers directly from the data, producing smooth, interpretable market state segmentation that updates live with every bar.
Most clustering algorithms are designed for offline datasets, they require recomputation, multiple iterations, and fixed sample sizes.
SPC borrows from both statistical normalization and distance-based clustering theory , but simplifies them. Percentiles ensure that cluster centers are resistant to outliers , while the running mean provides a stable mid-point reference.
Unlike iterative methods, SPC’s centers evolve smoothly with time, ideal for charts that must update in real time without sudden reclassification noise.
SPC provides a simple yet powerful clustering heuristic that:
Runs continuously in a charting environment,
Remains interpretable and reproducible,
And allows traders to see how close the current market state is to transitioning between regimes.
Clustering by Percentiles
Traditional clustering methods find centers through iteration. SPC defines them deterministically using three simple statistics within a moving window:
Lower percentile (p_low) → captures the lower basin of feature values.
Upper percentile (p_high) → captures the upper basin.
Mean (mid) → represents the central tendency.
From these, SPC computes stable “centers”:
// K = 2 → two regimes (e.g., bullish / bearish)
=
// K = 3 → adds a neutral zone
=
These centers move gradually with the market, forming live regime boundaries without ever needing convergence steps.
Two clusters capture directional bias; three clusters add a neutral ‘range’ state.
Multi-Feature Fusion
While SPC can cluster a single feature such as RSI, CCI, Fisher Transform, DMI, Z-Score, or the price-to-MA ratio (MAR), its real strength lies in feature fusion. Each feature adds a unique lens to the clustering system. By toggling features on or off, traders can test how each dimension contributes to the regime structure.
In “Clusters” mode, SPC measures how far the current bar is from each cluster center across all enabled features, averages these distances, and assigns the bar to the nearest combined center. This effectively creates a multi-dimensional regime map , where each feature contributes equally to defining the overall market state.
The fusion distance is computed as:
dist := (rsi_d * on_off(use_rsi) + cci_d * on_off(use_cci) + fis_d * on_off(use_fis) + dmi_d * on_off(use_dmi) + zsc_d * on_off(use_zsc) + mar_d * on_off(use_mar)) / (on_off(use_rsi) + on_off(use_cci) + on_off(use_fis) + on_off(use_dmi) + on_off(use_zsc) + on_off(use_mar))
Because each feature can be standardized (Z-Score), the distances remain comparable across different scales.
Fusion mode combines multiple standardized features into a single smooth regime signal.
Visualizing Proximity - The Transition Gradient
Most indicators show binary or discrete conditions (e.g., bullish/bearish). SPC goes further, it quantifies how close the current value is to flipping into the next cluster.
It measures the distances to the two nearest cluster centers and interpolates between them:
rel_pos = min_dist / (min_dist + second_min_dist)
real_clust = cluster_val + (second_val - cluster_val) * rel_pos
This real_clust output forms a continuous line that moves smoothly between clusters:
Near 0.0 → firmly within the current regime
Around 0.5 → balanced between clusters (transition zone)
Near 1.0 → about to flip into the next regime
Smooth interpolation reveals when the market is close to a regime change.
How to Tune the Parameters
SPC includes intuitive parameters to adapt sensitivity and stability:
K Clusters (2–3): Defines the number of regimes. K = 2 for trend/range distinction, K = 3 for trend/neutral transitions.
Lookback: Determines the number of past bars used for percentile and mean calculations. Higher = smoother, more stable clusters. Lower = faster reaction to new trends.
Lower / Upper Percentiles: Define what counts as “low” and “high” states. Adjust to widen or tighten cluster ranges.
Shorter lookbacks react quickly to shifts; longer lookbacks smooth the clusters.
Visual Interpretation
In “Clusters” mode, SPC plots:
A colored histogram for each cluster (red, orange, green depending on K)
Horizontal guide lines separating cluster levels
Smooth proximity transitions between states
Each bar’s color also changes based on its assigned cluster, allowing quick recognition of when the market transitions between regimes.
Cluster bands visualize regime structure and transitions at a glance.
Practical Applications
Identify market regimes (bullish, neutral, bearish) in real time
Detect early transition phases before a trend flip occurs
Fuse multiple indicators into a single consistent signal
Engineer interpretable features for machine-learning research
Build adaptive filters or hybrid signals based on cluster proximity
Final Notes
Simplified Percentile Clustering (SPC) provides a balance between mathematical rigor and visual intuition. It replaces complex iterative algorithms with a clear, deterministic logic that any trader can understand, and yet retains the multidimensional insight of a fusion-based clustering system.
Use SPC to study how different indicators align, how regimes evolve, and how transitions emerge in real time. It’s not about predicting; it’s about seeing the structure of the market unfold.
Disclaimer
This indicator is intended for educational and analytical use.
It does not generate buy or sell signals.
Historical regime transitions are not indicative of future performance.
Always validate insights with independent analysis before making trading decisions.
Advanced Speedometer Gauge [PhenLabs]Advanced Speedometer Gauge
Version: PineScript™v6
📌 Description
The Advanced Speedometer Gauge is a revolutionary multi-metric visualization tool that consolidates 13 distinct trading indicators into a single, intuitive speedometer display. Instead of cluttering your workspace with multiple oscillators and panels, this gauge provides a unified interface where you can switch between different metrics while maintaining consistent visual interpretation.
Built on PineScript™ v6, the indicator transforms complex technical calculations into an easy-to-read semi-circular gauge with color-coded zones and a precision needle indicator. Each of the 13 available metrics has been carefully normalized to a 0-100 scale, ensuring that whether you’re analyzing RSI, volume trends, or volatility extremes, the visual interpretation remains consistent and intuitive.
The gauge is designed for traders who value efficiency and clarity. By consolidating multiple analytical perspectives into one compact display, you can quickly assess market conditions without the visual noise of traditional multi-indicator setups. All metrics are non-overlapping, meaning each provides unique insights into different aspects of market behavior.
🚀 Points of Innovation
13 selectable metrics covering momentum, volume, volatility, trend, and statistical analysis, all accessible through a single dropdown menu
Universal 0-100 normalization system that standardizes different indicator scales for consistent visual interpretation across all metrics
Semi-circular gauge design with 21 arc segments providing smooth precision and clear visual feedback through color-coded zones
Non-redundant metric selection ensuring each indicator provides unique market insights without analytical overlap
Advanced metrics including MFI (volume-weighted momentum), CCI (statistical deviation), Volatility Rank (extended lookback), Trend Strength (ADX-style), Choppiness Index, Volume Trend, and Price Distance from MA
Flexible positioning system with 5 chart locations, 3 size options, and fully customizable color schemes for optimal workspace integration
🔧 Core Components
Metric Selection Engine: Dropdown interface allowing instant switching between 13 different technical indicators, each with independent parameter controls
Normalization System: All metrics converted to 0-100 scale using indicator-specific algorithms that preserve the statistical significance of each measurement
Semi-Circular Gauge: Visual display using 21 arc segments arranged in curved formation with two-row thickness for enhanced visibility
Color Zone System: Three distinct zones (0-40 green, 40-70 yellow, 70-100 red) providing instant visual feedback on metric extremes
Needle Indicator: Dynamic pointer that positions across the gauge arc based on precise current metric value
Table Implementation: Professional table structure ensuring consistent positioning and rendering across different chart configurations
🔥 Key Features
RSI (Relative Strength Index): Classic momentum oscillator measuring overbought/oversold conditions with adjustable period length (default 14)
Stochastic Oscillator: Compares closing price to price range over specified period with smoothing, ideal for identifying momentum shifts
MFI (Money Flow Index): Volume-weighted RSI that combines price movement with volume to measure buying and selling pressure intensity
CCI (Commodity Channel Index): Measures statistical deviation from average price, normalized from typical -200 to +200 range to 0-100 scale
Williams %R: Alternative overbought/oversold indicator using high-low range analysis, inverted to match 0-100 scale conventions
Volume %: Current volume relative to moving average expressed as percentage, capped at 100 for extreme spikes
Volume Trend: Cumulative directional volume flow showing whether volume is flowing into up moves or down moves over specified period
ATR Percentile: Current Average True Range position within historical range using specified lookback period (default 100 bars)
Volatility Rank: Close-to-close volatility measured against extended historical range (default 252 days), differs from ATR in calculation method
Momentum: Rate of change calculation showing price movement speed, centered at 50 and normalized to 0-100 range
Trend Strength: ADX-style calculation using directional movement to quantify trend intensity regardless of direction
Choppiness Index: Measures market choppiness versus trending behavior, where high values indicate ranging markets and low values indicate strong trends
Price Distance from MA: Measures current price over-extension from moving average using standard deviation calculations
🎨 Visualization
Semi-Circular Arc Display: Curved gauge spanning from 0 (left) to 100 (right) with smooth progression and two-row thickness for visibility
Color-Coded Zones: Green zone (0-40) for low/oversold conditions, yellow zone (40-70) for neutral readings, red zone (70-100) for high/overbought conditions
Needle Indicator: Downward-pointing triangle (▼) positioned precisely at current metric value along the gauge arc
Scale Markers: Vertical line markers at 0, 25, 50, 75, and 100 positions with corresponding numerical labels below
Title Display: Merged cell showing “𓄀 PhenLabs” branding plus currently selected metric name in monospace font
Large Value Display: Current metric value shown with two decimal precision in large text directly below title
Table Structure: Professional table with customizable background color, text color, and transparency for minimal chart obstruction
📖 Usage Guidelines
Metric Selection
Select Metric: Default: RSI | Options: RSI, Stochastic, Volume %, ATR Percentile, Momentum, MFI (Money Flow), CCI (Commodity Channel), Williams %R, Volatility Rank, Trend Strength, Choppiness Index, Volume Trend, Price Distance | Choose the technical indicator you want to display on the gauge based on your current analytical needs
RSI Settings
RSI Length: Default: 14 | Range: 1+ | Controls the lookback period for RSI calculation, shorter periods increase sensitivity to recent price changes
Stochastic Settings
Stochastic Length: Default: 14 | Range: 1+ | Lookback period for stochastic calculation comparing close to high-low range
Stochastic Smooth: Default: 3 | Range: 1+ | Smoothing period applied to raw stochastic value to reduce noise and false signals
Volume Settings
Volume MA Length: Default: 20 | Range: 1+ | Moving average period used to calculate average volume for comparison with current volume
Volume Trend Length: Default: 20 | Range: 5+ | Period for calculating cumulative directional volume flow trend
ATR and Volatility Settings
ATR Length: Default: 14 | Range: 1+ | Period for Average True Range calculation used in ATR Percentile metric
ATR Percentile Lookback: Default: 100 | Range: 20+ | Historical range used to determine current ATR position as percentile
Volatility Rank Lookback (Days): Default: 252 | Range: 50+ | Extended lookback period for Volatility Rank metric using close-to-close volatility
Momentum and Trend Settings
Momentum Length: Default: 10 | Range: 1+ | Lookback period for rate of change calculation in Momentum metric
Trend Strength Length: Default: 20 | Range: 5+ | Period for directional movement calculations in ADX-style Trend Strength metric
Advanced Metric Settings
MFI Length: Default: 14 | Range: 1+ | Lookback period for Money Flow Index calculation combining price and volume
CCI Length: Default: 20 | Range: 1+ | Period for Commodity Channel Index statistical deviation calculation
Williams %R Length: Default: 14 | Range: 1+ | Lookback period for Williams %R high-low range analysis
Choppiness Index Length: Default: 14 | Range: 5+ | Period for calculating market choppiness versus trending behavior
Price Distance MA Length: Default: 50 | Range: 10+ | Moving average period used for Price Distance standard deviation calculation
Visual Customization
Position: Default: Top Right | Options: Top Left, Top Right, Bottom Left, Bottom Right, Middle Right | Controls gauge placement on chart for optimal workspace organization
Size: Default: Normal | Options: Small, Normal, Large | Adjusts overall gauge dimensions and text size for different monitor resolutions and preferences
Low Zone Color (0-40): Default: Green (#00FF00) | Customize color for low/oversold zone of gauge arc
Medium Zone Color (40-70): Default: Yellow (#FFFF00) | Customize color for neutral/medium zone of gauge arc
High Zone Color (70-100): Default: Red (#FF0000) | Customize color for high/overbought zone of gauge arc
Background Color: Default: Semi-transparent dark gray | Customize gauge background for contrast and chart integration
Text Color: Default: White (#FFFFFF) | Customize all text elements including title, value, and scale labels
✅ Best Use Cases
Quick visual assessment of market conditions when you need instant feedback on whether an asset is in extreme territory across multiple analytical dimensions
Workspace organization for traders who monitor multiple indicators but want to reduce chart clutter and visual complexity
Metric comparison by switching between different indicators while maintaining consistent visual interpretation through the 0-100 normalization
Overbought/oversold identification using RSI, Stochastic, Williams %R, or MFI depending on whether you prefer price-only or volume-weighted analysis
Volume analysis through Volume %, Volume Trend, or MFI to confirm price movements with corresponding volume characteristics
Volatility monitoring using ATR Percentile or Volatility Rank to identify expansion/contraction cycles and adjust position sizing
Trend vs range identification by comparing Trend Strength (high values = trending) against Choppiness Index (high values = ranging)
Statistical over-extension detection using CCI or Price Distance to identify when price has deviated significantly from normal behavior
Multi-timeframe analysis by duplicating the gauge on different timeframe charts to compare metric readings across time horizons
Educational purposes for new traders learning to interpret technical indicators through consistent visual representation
⚠️ Limitations
The gauge displays only one metric at a time, requiring manual switching to compare different indicators rather than simultaneous multi-metric viewing
The 0-100 normalization, while providing consistency, may obscure the raw values and specific nuances of each underlying indicator
Table-based visualization cannot be exported or saved as an image separately from the full chart screenshot
Optimal parameter settings vary by asset type, timeframe, and market conditions, requiring user experimentation for best results
💡 What Makes This Unique
Unified Multi-Metric Interface: The only gauge-style indicator offering 13 distinct metrics through a single interface, eliminating the need for multiple oscillator panels
Non-Overlapping Analytics: Each metric provides genuinely unique insights—MFI combines volume with price, CCI measures statistical deviation, Volatility Rank uses extended lookback, Trend Strength quantifies directional movement, and Choppiness Index measures ranging behavior
Universal Normalization System: All metrics standardized to 0-100 scale using indicator-appropriate algorithms that preserve statistical meaning while enabling consistent visual interpretation
Professional Visual Design: Semi-circular gauge with 21 arc segments, precision needle positioning, color-coded zones, and clean table implementation that maintains clarity across all chart configurations
Extensive Customization: Independent parameter controls for each metric, five position options, three size presets, and full color customization for seamless workspace integration
🔬 How It Works
1. Metric Calculation Phase:
All 13 metrics are calculated simultaneously on every bar using their respective algorithms with user-defined parameters
Each metric applies its own specific calculation method—RSI uses average gains vs losses, Stochastic compares close to high-low range, MFI incorporates typical price and volume, CCI measures deviation from statistical mean, ATR calculates true range, directional indicators measure up/down movement, and statistical metrics analyze price relationships
2. Normalization Process:
Each calculated metric is converted to a standardized 0-100 scale using indicator-appropriate transformations
Some metrics are naturally 0-100 (RSI, Stochastic, MFI, Williams %R), while others require scaling—CCI transforms from ±200 range, Momentum centers around 50, Volume ratio caps at 2x for 100, ATR and Volatility Rank calculate percentile positions, and Price Distance scales by standard deviations
3. Gauge Rendering:
The selected metric’s normalized value determines the needle position across 21 arc segments spanning 0-100
Each arc segment receives its color based on position—segments 0-8 are green zone, segments 9-14 are yellow zone, segments 15-20 are red zone
The needle indicator (▼) appears in row 5 at the column corresponding to the current metric value, providing precise visual feedback
4. Table Construction:
The gauge uses TradingView’s table system with merged cells for title and value display, ensuring consistent positioning regardless of chart configuration
Rows are allocated as follows: Row 0 merged for title, Row 1 merged for large value display, Row 2 for spacing, Rows 3-4 for the semi-circular arc with curved shaping, Row 5 for needle indicator, Row 6 for scale markers, Row 7 for numerical labels at 0/25/50/75/100
All visual elements update on every bar when barstate.islast is true, ensuring real-time accuracy without performance impact
💡 Note:
This indicator is designed for visual analysis and market condition assessment, not as a standalone trading system. For best results, combine gauge readings with price action analysis, support and resistance levels, and broader market context. Parameter optimization is recommended based on your specific trading timeframe and asset class. The gauge works on all timeframes but may require different parameter settings for intraday versus daily/weekly analysis. Consider using multiple instances of the gauge set to different metrics for comprehensive market analysis without switching between settings.
Smart Money Support/Resistance — LiteSmart Money Support/Resistance — Lite
Overview & Methodology
This indicator identifies support and resistance as zones derived from concentrated buying and selling pressure, rather than relying solely on traditional swing highs/lows. Its design focuses on transparency: how data is sourced, how zones are computed, and how the on‑chart display should be interpreted.
Lower‑Timeframe (LTF) Data
The script requests Up Volume, Down Volume, and Volume Delta from a lower timeframe to expose intrabar order‑flow structure that the chart’s native timeframe cannot show. In practical terms, this lets you see where buyers or sellers briefly dominated inside the body of a higher‑timeframe bar.
bool use_custom_tf_input = input.bool(true, title="Use custom lower timeframe", tooltip="Override the automatically chosen lower timeframe for volume calculations.", group=grpVolume)
string custom_tf_input = input. Timeframe("1", title="Lower timeframe", tooltip="Lower timeframe used for up/down volume calculations (default 5 seconds).", group=grpVolume)
import TradingView/ta/10 as tvta
resolve_lower_tf(useCustom, customTF) =>
useCustom ? customTF :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
get_up_down_volume(lowerTf) =>
= tvta.requestUpAndDownVolume(lowerTf)
var float upVolume = na
var float downVolume = na
var float deltaVolume = na
string lower_tf = resolve_lower_tf(use_custom_tf_input, custom_tf_input)
= get_up_down_volume(lower_tf)
upVolume := u_tmp
downVolume := d_tmp
deltaVolume := dl_tmp
• Data source: TradingView’s ta.requestUpAndDownVolume(lowerTf) via the official TA library.
• Plan capabilities: higher‑tier subscriptions unlock seconds‑based charts and allow more historical bars per chart. This expands both the temporal depth of LTF data and the precision of short‑horizon analysis, while base tiers provide minute‑level data suitable for day/short‑swing studies.
• Coverage clarity: a small on‑chart Coverage Panel reports the active lower timeframe, the number of bars covered, and the latest computed support/resistance ranges so you always know the bounds of valid LTF input.
Core Method
1) Data acquisition (LTF)
The script retrieves three series from the chosen lower timeframe:
– Up Volume (buyers)
– Down Volume (sellers)
– Delta (Up – Down)
2) Rolling window & extrema
Over a user‑defined lookback (Global Volume Period), the algorithm builds rolling arrays of completed bars and scans for extrema:
– Buyers_max / Buyers_min from Up Volume
– Sellers_max / Sellers_min from Down Volume
Only completed bars are considered; the current bar is excluded for stability.
3) Price mapping
The extrema are mapped back to their source candles to obtain price bounds:
– For “maximum” roles the algorithm uses the relevant candle highs.
– For “minimum” roles it uses the relevant candle lows.
These pairs define candidate resistance (max‑based) and support (min‑based) zones or vice versa.
4) Zone construction & minimum width
To ensure practicality on all symbols, zones enforce a minimum vertical thickness of two ticks. This prevents visually invisible or overly thin ranges on instruments with tight ticks.
5) Vertical role resolution
When both max‑ and min‑based zones exist, the script compares their midpoints. If, due to local price structure, the min‑based zone sits above the max‑based zone, display roles are swapped so the higher zone is labeled Resistance and the lower zone Support. Colors/widths are updated accordingly to keep the visual legend consistent.
6) Rendering & panel
Two horizontal lines and a filled box represent each active zone. The Coverage Panel (bottom‑right by default) prints:
– Lower‑timeframe in use
– Number of bars covered by LTF data
– Current Support and Resistance ranges
If the two zones overlap, an additional “Range Market” note is shown.
Key Inputs
• Global Volume Period: shared lookback window for the extrema search.
• Lower timeframe: user‑selectable override of the automatically resolved lower timeframe.
• Visualization toggles: independent show/hide controls and colors for maximum (resistance) and minimum (support) zones.
• Coverage Panel: enable/disable the single‑cell table and its readout.
Operational Notes
• The algorithm aligns all lookups to completed bars (no peeking). Price references are shifted appropriately to avoid using the still‑forming bar in calculations.
• Second‑based lower timeframes improve granularity for scalping and very short‑term entries. Minute‑based lower timeframes provide broader coverage for intraday and short‑swing contexts.
• Use the Coverage Panel to confirm the true extent of available LTF history on your symbol/plan before drawing conclusions from very deep lookbacks.
Visual Walkthrough
A step‑by‑step image sequence accompanies this description. Each figure demonstrates how the indicator reads LTF volume, locates extrema, builds price‑mapped zones, and updates labels/colors when vertical order requires it.
Chart Interpretation
This chart illustrates two distinct perspectives of the Smart Money Support/Resistance — Lite indicator, each derived from different lookback horizons and lower-timeframe (LTF) resolutions.
1- Short-term view (43 bars, 10-second LTF)
Using the most recent 43 completed bars with 10-second intrabar data, the algorithm detects that both maximum and minimum volume extrema fall within a narrow range. The result is a clearly identified range market: resistance between 178.15–184.55 and support between 175.02–179.38.
The Coverage Panel (bottom-right) confirms the scope of valid input: the lower timeframe used, number of bars covered, and the resulting zones. This short-term scan highlights how the indicator adapts to limited data depth, flagging sideways structure where neither side dominates.
2 - Long-term view (120 bars, 30-second LTF)
Over a wider 120-bar lookback with higher-granularity 30-second data, broader supply and demand zones emerge.
– The long-term resistance zone captures the concentration of buyers and sellers at the upper boundary of recent price history.
– The long-term support zone anchors to the opposite side of the distribution, derived from maxima and minima of both buying and selling pressure.
These zones reflect deeper structural levels where market participants previously committed significant volume.
Combined Perspective
By aligning the short-term and long-term outputs, the chart shows how the indicator distinguishes immediate consolidation (range market) from more durable support and resistance levels derived from extended history. This dual resolution approach makes clear that support and resistance are not static lines but dynamic zones, dependent on both timeframe depth and the resolution of intrabar volume data.
Lorentzian Key Support and Resistance Level Detector [mishy]🧮 Lorentzian Key S/R Levels Detector
Advanced Support & Resistance Detection Using Mathematical Clustering
The Problem
Traditional S/R indicators fail because they're either subjective (manual lines), rigid (fixed pivots), or break when price spikes occur. Most importantly, they don't tell you where prices actually spend time, just where they touched briefly.
The Solution: Lorentzian Distance Clustering
This indicator introduces a novel approach by using Lorentzian distance instead of traditional Euclidean distance for clustering. This is groundbreaking for financial data analysis.
Data Points Clustering:
🔬 Why Euclidean Distance Fails in Trading
Traditional K-means uses Euclidean distance:
• Formula: distance = (price_A - price_B)²
• Problem: Squaring amplifies differences exponentially
• Real impact: One 5% price spike has 25x more influence than a 1% move
• Result: Clusters get pulled toward outliers, missing real support/resistance zones
Example scenario:
Prices: ← flash spike
Euclidean: Centroid gets dragged toward 150
Actual S/R zone: Around 100 (where prices actually trade)
⚡ Lorentzian Distance: The Game Changer
Our approach uses Lorentzian distance:
• Formula: distance = log(1 + (price_difference)² / σ²)
• Breakthrough: Logarithmic compression keeps outliers in check
• Real impact: Large moves still matter, but don't dominate
• Result: Clusters focus on where prices actually spend time
Same example with Lorentzian:
Prices: ← flash spike
Lorentzian: Centroid stays near 100 (real trading zone)
Outlier (150): Acknowledged but not dominant
🧠 Adaptive Intelligence
The σ parameter isn't fixed,it's calculated from market disturbance/entropy:
• High volatility: σ increases, making algorithm more tolerant of large moves
• Low volatility: σ decreases, making algorithm more sensitive to small changes
• Self-calibrating: Adapts to any instrument or market condition automatically
Why this matters: Traditional methods treat a 2% move the same whether it's in a calm or volatile market. Lorentzian adapts the sensitivity based on current market behavior.
🎯 Automatic K-Selection (Elbow Method)
Instead of guessing how many S/R levels to draw, the indicator:
• Tests 2-6 clusters and calculates WCSS (tightness measure)
• Finds the "elbow" - where adding more clusters stops helping much
• Uses sharpness calculation to pick the optimal number automatically
Result: Perfect balance between detail and clarity.
How It Works
1. Collect recent closing prices
2. Calculate entropy to adapt to current market volatility
3. Cluster prices using Lorentzian K-means algorithm
4. Auto-select optimal cluster count via statistical analysis
5. Draw levels at cluster centers with deviation bands
📊 Manual K-Selection Guide (Using WCSS & Sharpness Analysis)
When you disable auto-selection, use both WCSS and Sharpness metrics from the analysis table to choose manually:
What WCSS tells you:
• Lower WCSS = tighter clusters = better S/R levels
• Higher WCSS = scattered clusters = weaker levels
What Sharpness tells you:
• Higher positive values = optimal elbow point = best K choice
• Lower/negative values = poor elbow definition = avoid this K
• Measures the "sharpness" of the WCSS curve drop-off
Decision strategy using both metrics:
K=2: WCSS = 150.42 | Sharpness = - | Selected =
K=3: WCSS = 89.15 | Sharpness = 22.04 | Selected = ✓ ← Best choice
K=4: WCSS = 76.23 | Sharpness = 1.89 | Selected =
K=5: WCSS = 73.91 | Sharpness = 1.43 | Selected =
Quick decision rules:
• Pick K with highest positive Sharpness (indicates optimal elbow)
• Confirm with significant WCSS drop (30%+ reduction is good)
• Avoid K values with negative or very low Sharpness (<1.0)
• K=3 above shows: Big WCSS drop (41%) + High Sharpness (22.04) = Perfect choice
Why this works:
The algorithm finds the "elbow" where adding more clusters stops being useful. High Sharpness pinpoints this elbow mathematically, while WCSS confirms the clustering quality.
Elbow Method Visualization:
Traditional clustering problems:
❌ Price spikes distort results
❌ Fixed parameters don't adapt
❌ Manual tuning is subjective
❌ No way to validate choices
Lorentzian solution:
☑️ Outlier-resistant distance metric
☑️ Entropy-based adaptation to volatility
☑️ Automatic optimal K selection
☑️ Statistical validation via WCSS & Sharpness
Features
Visual:
• Color-coded levels (red=highest resistance, green=lowest support)
• Optional deviation bands showing cluster spread
• Strength scores on labels: Each cluster shows a reliability score.
• Higher scores (0.8+) = very strong S/R levels with tight price clustering
• Lower scores (0.6-0.7) = weaker levels, use with caution
• Based on cluster tightness and data point density
• Clean line extensions and labels
Analytics:
• WCSS analysis table showing why K was chosen
• Cluster metrics and statistics
• Real-time entropy monitoring
Control:
• Auto/manual K selection toggle
• Customizable sample size (20-500 bars)
• Show/hide bands and metrics tables
The Result
You get mathematically validated S/R levels that focus on where prices actually cluster, not where they randomly spiked. The algorithm adapts to market conditions and removes guesswork from level selection.
Best for: Traders who want objective, data-driven S/R levels without manual chart analysis.
Credits: This script is for educational purposes and is inspired by the work of @ThinkLogicAI and an amazing mentor @DskyzInvestments . It demonstrates how Lorentzian geometrical concepts can be applied not only in ML classification but also quite elegantly in clustering.
GTrader-ICT All In One-Comumnity VersionMeet the **GTrader-ICT All In One **, a comprehensive toolkit designed to integrate key Inner Circle Trader (ICT) concepts directly onto your chart. This powerful overlay indicator consolidates multiple essential tools, streamlining your technical analysis and helping you identify key temporal and price-based events.
📚 References & Inspiration
This indicator stands on the shoulders of giants. With the help of **tradeforopp** and **LuxAlgo**. The concepts and some implementation details were referenced from the following excellent, publicly available scripts:
ICT Killzones: The session drawing and pivot logic is adapted from tradeforopp
ICT Macros: The macro detection and plotting functionality is inspired by the work of Lux Algo , particularly their widely-used indicators covering ICT concepts.
🎯 Core Features
* **ICT Killzones:** Visualize critical trading sessions with customizable boxes. You can easily toggle and style the **Asia**, **London**, and **New York (AM, Lunch, PM)** sessions to focus on the liquidity and volatility that matter most to your strategy.
* Fully customizable session times and colors.
* Timezone support to align sessions with your local or preferred trading time (defaults to `America/New_York`).
* **ICT Macros:** Automatically identify and plot specific, short-duration time windows where institutional algorithms are known to be active (e.g., `09:50-10:10`, `14:50-15:10`, etc.).
* Plots the high/low range of the macro, providing clear levels of interest.
* Utilizes 1-minute data for precision, even when viewing on 3-minute or 5-minute charts.
📚 Optimization over the other original indicators
We add the custom input for macros session, users just need to input the from/to hour: minute format, and they will be converted into session objects in pinescript
The macro draws function is optimized, removing redundant draws, leading to better performance
Add "Distance from Macro Line to Chart" option
Add "Session Drawings Limit" for better performance
⚠️ Notes on TradingView Warnings
You may encounter some warnings from TradingView when using this script. These are generally expected due to the script's advanced, event-driven nature:
1. **Function Call Consistency:** The function 'box.new' should be called on each calculation for consistency, which may appear. This happens because drawing elements (like session boxes) are intentionally created only on the *first bar* of a new session, not on every single bar. This is a necessary design choice for performance and to prevent duplicate drawings.
2. **Potential for Repainting/Slow Load:** The **Macro** feature uses the `request.security_lower_tf()` function to get accurate 1-minute data. This can trigger warnings about performance or slow loading times. This is a known trade-off for achieving the precision required for the feature.






















