Theil–Sen EstimatorThe Theil-Sen estimator is a nonparametric statistics method for  robustly  fitting a regression line to sample points (1,2).
As stated in the Wikipedia article (3), the method is " the most popular nonparametric technique for estimating a linear trend " in the applied sciences due to its robustness to outliers and limited assumptions regarding measurement errors. 
 Relation with other Methods
 The Theil-Sen estimator can be significantly more accurate than simple linear regression (least squares) for skewed and heteroskedastic data.
 
 Method Description 
 The script computes all the slopes between pairs of points and takes the median as the estimate of the regression slope,  m . Subsequently, the intercept,  b , is determined from the sample points as the median of y(i) −  m x(i) values. The regression line in the slope–intercept form, y =  m x +  b , is then plotted along with the calculated prediction interval (estimated by means of the root-mean-square error).
I have added two options for how to handle pairs of points: 
 
 Method == "All"  to use the slopes of all pairs of points;
 Method == "Random"  to use the slopes of randomly generated pairs of points.
 
The random choice of the pairs of points is based on the Wichmann–Hill is a pseudorandom number generator.
The reason for introducing the "Random" method is that the calculation of the median involves sorting the array of slopes (the size of N*(N-1)/2, where N is the number of sample points). This is a computationally demanding procedure, which runs into the limit on the cycle computation time (200 ms) set in TradingView. Therefore, the "All" method works only with Length < 50. 
Also note that the number of lookback points is limited by by the maximum array size allowed in TradingView.
 Literature 
1. Sen, P. K. (1968) "Estimates of the regression coefficient based on Kendall's tau." JASA, 1379-1389.
2. Theil, H. (1950) "A rank-invariant method of linear and polynomial regression analysis." Reprinted in 1992 in Henri Theil’s contributions to economics and econometrics, Springer, 345-381.
3.  en.wikipedia.org
스크립트에서 "tradingview+金龙指数"에 대해 찾기
Machine Learning: LVQ-based StrategyLVQ-based Strategy (FX and Crypto)
Description: 
Learning Vector Quantization (LVQ) can be understood as a special case of an artificial neural network, more precisely, it applies a winner-take-all learning-based approach. It is based on prototype supervised learning classification task and trains its weights through a competitive learning algorithm.
Algorithm:
Initialize weights
Train for 1 to N number of epochs
     - Select a training example
     - Compute the winning vector
     - Update the winning vector
Classify test sample
The LVQ algorithm offers a framework to test various indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action. The algo is tested with BTCUSD/1Hour.
Warning: This is a preliminary version! Signals ARE repainting.
***Warning***: Signals LARGELY depend on hyperparams (lrate and epochs).
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
Machine Learning: Logistic RegressionMulti-timeframe Strategy based on Logistic Regression algorithm
Description: 
This strategy uses a classic machine learning algorithm that came from statistics - Logistic Regression (LR).
The first and most important thing about logistic regression is that it is not a 'Regression' but a 'Classification' algorithm. The name itself is somewhat misleading. Regression gives a continuous numeric output but most of the time we need the output in classes (i.e. categorical, discrete). For example, we want to classify emails into “spam” or 'not spam',  classify treatment into “success” or 'failure', classify statement into “right” or 'wrong', classify election data into 'fraudulent vote' or 'non-fraudulent vote', classify market move into 'long' or 'short' and so on. These are the examples of logistic regression having a binary output (also called dichotomous). 
You can also think of logistic regression as a special case of linear regression when the outcome variable is categorical, where we are using log of odds as dependent variable. In simple words, it predicts the probability of occurrence of an event by fitting data to a logit function.
Basically, the theory behind Logistic Regression is very similar to the one from Linear Regression, where we seek to draw a best-fitting line over data points, but in Logistic Regression, we don’t directly fit a straight line to our data like in linear regression. Instead, we fit a S shaped curve, called Sigmoid, to our observations, that best SEPARATES data points. Technically speaking, the main goal of building the model is to find the parameters (weights) using gradient descent. 
In this script the LR algorithm is retrained on each new bar trying to classify it into one of the two categories. This is done via the logistic_regression function by updating the weights w in the loop that continues for iterations number of times. In the end the weights are passed through the sigmoid function, yielding a prediction.
Mind that some assets require to modify the script's input parameters. For instance, when used with BTCUSD and USDJPY, the 'Normalization Lookback' parameter should be set down to 4 (2,...,5..), and optionally the 'Use Price Data for Signal Generation?' parameter should be checked. The defaults were tested with EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours/Days
Machine Learning: Perceptron-based strategyPerceptron-based strategy
Description:
The Learning Perceptron is the simplest possible artificial neural network  (ANN), consisting of just a single neuron and capable of learning a certain  class of binary classification problems. The idea behind ANNs is that by selecting good values for the weight parameters (and the bias), the ANN can model the relationships between the inputs and some target.
Generally, ANN neurons receive a number of inputs, weight each of those inputs, sum the weights, and then transform that sum using a special function called an activation function. The output of that activation function is then either used as the prediction (in a single neuron model) or is combined with the outputs of other neurons for further use in more complex models.
The purpose of the activation function is to take the input signal (that’s the weighted sum of the inputs and the bias) and turn it into an output signal. Think of this activation function as firing (activating) the neuron when it returns 1, and doing nothing when it returns 0. This sort of computation is accomplished with a function called step function: f(z) = {1 if z > 0 else 0}. This function then transforms any weighted sum of the inputs and converts it  into a binary output (either 1 or 0). The trick to making this useful is finding (learning) a set of weights that lead to good predictions using this activation function.
Training our perceptron is simply a matter of initializing the weights to zero (or random value) and then implementing the perceptron learning rule, which just updates the weights based on the error of each observation with the current weights. This has the effect of moving the classifier’s decision boundary in the direction that would have helped it classify the last observation correctly. This is achieved via a for loop which iterates over each observation, making a prediction of each observation, calculating the error of that prediction and then updating the weights accordingly. In this way, weights are gradually updated until they converge. Each sweep through the training data is called an epoch.
In this script the perceptron is retrained on each new bar trying to classify  this bar by drawing the moving average curve above or below the bar.
This script was tested with BTCUSD, USDJPY, and EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+/Days
Machine Learning: kNN-based StrategykNN-based Strategy (FX and Crypto)
Description: 
This strategy uses a classic machine learning algorithm - k Nearest Neighbours (kNN) - to let you find a prediction for the next (tomorrow's, next month's, etc.) market move. Being an unsupervised machine learning algorithm, kNN is one of the most simple learning algorithms. 
To do a prediction of the next market move, the kNN algorithm uses the historic data, collected in 3 arrays - feature1, feature2 and directions, - and finds the k-nearest 
neighbours of the current indicator(s) values. 
The two dimensional kNN algorithm just has a look on what has happened in the past when the two indicators had a similar level. It then looks at the k nearest neighbours, 
sees their state and thus classifies the current point.
The kNN algorithm offers a framework to test all kinds of indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
Zignaly TutorialThis strategy serves as a beginner's guide to connect TradingView signals to Zignaly Crypto Trading Platform.
It was originally tested at BTCUSDT pair and 1D timeframe.
Before using this documentation it's recommended that you:
 
  Use default TradingView strategy script or another script and setup its associated alert manually. Just make the alert pop-up in the screen.
  Create a 'Copy-Trader provider' (or Signal Provider) in Zignaly and send signals to it either thanks to your browser or with some basic programming.
 
 SETTINGS 
 __ SETTINGS - Capital 
 
  (CAPITAL) Capital quote invested per order in USDT units {100.0}. This setting is only used when '(ZIG) Provider type' is set to 'Signal Provider'.
  (CAPITAL) Capital percentage invested per order (%) {25.0}. This setting is only used when '(ZIG) Provider type' is set to 'Copy Trader Provider'.
 
 __ SETTINGS - Misc 
 
  (ZIG) Enable Alert message {True}: Whether to enable alert message or not.
  (DEBUG) Enable debug on order comments {True}: Whether to show alerts on order comments or not.
  Number of decimal digits for Prices {2}.
  (DECIMAL) Maximum number of decimal for contracts {3}.
 
 __ SETTINGS - Zignaly 
 
  (ZIG) Integration type {TradingView only}:  Hybrid : Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync.  TradingView only : TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
  (ZIG) Zignaly Alert Type {WebHook}: 'Email' or 'WebHook'.
  (ZIG) Provider type {Copy Trader Provider}: 'Copy Trader Provider' or 'Signal Provider'. 'Copy Trader Provider' sends a percentage to manage. 'Signal Provider' sends a quote to manage.
  (ZIG) Exchange: 'Binance' or 'Kucoin'.
  (ZIG) Exchange Type {Spot}: 'Spot' or 'Futures'.
  (ZIG) Leverage {1}. Set it to '1' when '(ZIG) Exchange Type' is set to 'Spot'.
 
 __ SETTINGS - Strategy 
 
  (STRAT) Strategy Type: 'Long and Short', 'Long Only' or 'Short Only'.
  (STOPTAKE) Take Profit? {false}: Whether to enable Take Profit.
  (STOPTAKE) Stop Loss? {True}: Whether to enable Stop Loss.
  (TRAILING) Enable Trailing Take Profit (%) {True}: Whether to enable Trailing Take Profit.
  (STOPTAKE) Take Profit % {3.0}: Take profit percentage. This setting is only used when '(STOPTAKE) Take Profit?' setting is set to true.
  (STOPTAKE) Stop Loss % {2.0}: Stop loss percentage. This setting is only used when '(STOPTAKE) Stop Loss?' setting is set to true.
  (TRAILING) Trailing Take Profit Trigger (%) {2.5}: Trailing Stop Trigger Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
  (TRAILING) Trailing Take Profit as a percentage of Trailing Take Profit Trigger (%) {25.0}: Trailing Stop Distance Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
  (RECENT) Number of minutes to wait to open a new order after the previous one has been opened {6}.
 
 DEFAULT SETTINGS 
By default this strategy has been setup with these beginner settings:
 
  '(ZIG) Integration type' : TradingView only
  '(ZIG) Provider type'    : 'Copy Trader Provider'
  '(ZIG) Exchange'         : 'Binance'
  '(ZIG) Exchange Type'    : 'Spot'
  '(STRAT) Strategy Type'  : 'Long Only'
  '(ZIG) Leverage'         : '1' (Or no leverage)
 
but you can change those settings if needed.
 FIRST STEP 
 
  For both future of spot markets you should make sure to change '(ZIG) Zignaly Alert Type' to match either WebHook or Email. If you have a non paid account in TradingView as in October 2020 you would have to use Email which it's free to use.
 
 RECOMMENDED SETTINGS 
 __ RECOMMENDED SETTINGS - Spot markets 
 
  '(ZIG) Exchange Type'   setting should be set to 'Spot'
  '(STRAT) Strategy Type' setting should be set to 'Long Only'
  '(ZIG) Leverage'        setting should be set to '1'
 
 __ RECOMMENDED SETTINGS - Future markets 
 
  '(ZIG) Exchange Type'   setting should be set to 'Futures'
  '(STRAT) Strategy Type' setting should be set to 'Long and Short'
  '(ZIG) Leverage'        setting might be changed if desired.
 
 __ RECOMMENDED SETTINGS - Signal Providers 
 
  '(ZIG) Provider type'   setting should be set to 'Signal Provider'
  '(CAPITAL) Capital quote invested per order in USDT units' setting might be changed if desired.
 
 __ RECOMMENDED SETTINGS - Copy Trader Providers 
 
  '(ZIG) Provider type'   setting should be set to 'Copy Trader Provider'
  '(CAPITAL) Capital percentage invested per order (%)' setting might be changed if desired.
  Strategy Properties setting: 'Initial Capital' might be changed if desired.
 
 INTEGRATION TYPE EXPLANATION 
 
  'Hybrid': Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync.
  'TradingView only': TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
 
 HOW TO USE THIS STRATEGY 
 
  Beginner: Copy and paste the strategy and change it to your needs. Turn off '(DEBUG) Enable debug on order comments' setting.
  Medium: Reuse functions and inputs from this strategy into your own as if it was a library.
  Advanced: Check Strategy Tester. List of trades. Copy and paste the different suggested 'alert_message' variable contents to your script.
  Expert: I needed a way to pass data from TradingView script to the alert. Now I know it's the 'alert_message' variable. I can do this own my own.
 
  ALERTS SETUP 
This is the important piece of information that allows you to connect TradingView to Zignaly in a semi-automatic manner.
  __ ALERTS SETUP - WebHook 
 
  Webhook URL: https : // zignaly . com / api / signals.php?key=MYSECRETKEY
  Message: { {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
 
  __ ALERTS SETUP - Email 
 
  Setup a new Hotmail account
  Add it as an 'SMS email' in TradingView Profile settings page.
  Confirm your own the email address
  Create a rule in your Hotmail account that 'Redirects' (not forwards) emails to 'signals @ zignaly . email' when (1): 'Subject' includes 'Alert', (2): 'Email body' contains string 'MYZIGNALYREDIRECTTRIGGER' and (3): 'From' contains 'noreply @ tradingview . com'.
  In 'More Actions' check: Send Email-to-SMS
  Message: ||{{strategy.order.alert_message}}||key=MYSECRETKEY||
MYZIGNALYREDIRECTTRIGGER
 
'(DEBUG) Enable debug on order comments' is turned on by default so that you can see in the Strategy Tester. List of Trades. The different orders alert_message that would have been sent to your alert. You might want to turn it off it some many letters in the screen is problem.
 STRATEGY ADVICE 
 
  If you turn on 'Take Profit' then turn off 'Trailing Take Profit'.
 
 ZIGNALY SIDE ADVICE 
 
  If you are a 'Signal Provider' make sure that 'Allow reusing the same signalId if there isn't any open position using it?' setting in the profile tab is set to true.
  You can find your 'MYSECRETKEY' in your 'Copy Trader/Signal' provider Edit tab at 'Signal URL'.
 
 ADDITIONAL ZIGNALY DOCUMENTATION 
 
  docs . zignaly . com / signals / how-to -- How to send signals to Zignaly
  3 Ways to send signals to Zignaly
  SIGNALS
 
 FINAL REMARKS 
 
  This strategy tries to match the Pine Script Coding Conventions as best as possible.
Linear Regression (Log Scale)This code is a slightly modified version of Tradingviews' built-in "linear regression" script which can be correctly plotted on logarithmic charts.
EMA / Fibonacci / Bollinger Indicator for Market Sniper SuiteHello all,
this script was created to be used in conjunction with  Market Sniper -  Trading/Scalping Suite . It was put together to make instrument analysis faster and less convoluted.
 
 It includes 
 
  9 Fibonacci Exponential moving averages + 2 Simple moving averages
  Auto Fibonacci levels - Tradingviews Auto Fib Retracement - with some modifications
  Bollinger Bands - To faster spot squeeze momentum
 
Modified version of On-Balance Volume [ChuckBanger]This is a smoothed version of the classic On-Balance Volume indicator. And I added a signal line with alerts that the user can set through TradingViews alert panel to indicate long or short play. I also find that this indicator is good to do divergences analysis on the asset you want to trade.
Higher Highs & Lower Lows Stochastics - Vitali ApirineThis is my modified "Higher Highs & Lower Lows Stochastics"  employing PSv4.0, originally formulated by Vitali Apirine for TASC - February 2016 Traders Tips. Reading through a TASC magazine of mine, behold, I found a little known indicator that I can't find anywhere on all of Tradingview. That was a tragedy I felt I had to resolve... This indicator is best described as a dual momentum indicator, being helpful with anticipating reversals, spotting emerging trends, and defining correction periods. I felt it worthy of justice to unveil this for all TV members to utilize and also learn from. It's uniqueness is beyond past due for the honor it deserves on Tradingview.
As always, I have included advanced Pine programming techniques that conform to proper "Pine Etiquette". For those of you who are newcomers to Pine Script, this code release may also help you comprehend the "Power of Pine" by employing advanced programming techniques while exhibiting code utilization in a most effective manner. This script's uniqueness displays that we can now override built-in Pine functions. Firstly, you may have noticed that I replaced ema(), sma(), highest(), and lowest(). If you weren't aware of this Pine capability, well, here is a prime example... Now you know! Just heed caution when doing so to ensure your replacement algorithms are 100% sound. Lastly, I also added an additional "Median" line where the companion stochastics seemingly appear to gravitate within a central zone.
NOTICE: You may have observed, there is highest(), lowest(), ema(), and sma() custom functions overwriting Pine built-ins, some of which are audaciously used in ternary. "IF" you are planning to use Pine Script v4.0 functions in ternary, be forewarned, they  WILL NOT  operate as expected in most scenarios. The reason why I legitimately used them here in ternary is because they are ONLY manually controlled by an input(). If these were dynamically controlled with bar-to-bar dynamic conditional logic, you would most certainly run into serious unexpected programming issues, potentially resulting in hours of frustrations and guaranteed loss of hair. That's my lesson for this release, so never ever forget this when utilizing the full potential of the "Power of Pine". For more information concerning these potential dilemmas, please consult "Execution of Pine functions and historical context inside function blocks" in the "Pine Script v4 User Manual".
 Features List Includes: 
Dark Background - Easily disabled in indicator Settings->Style for "Light" charts or with Pine commenting
AND much, much more... You have the source!
The comments section below is solely just for commenting and other remarks, ideas, compliments, etc... regarding only this indicator, not others. When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
Trend WaveHello Traders!
You know, I can sill remember the first time I started tinkering with Pinescript. As I had no prior programming experience, I learned by experimenting with other open-source scripts on TradingViews Marketplace. Tearing apart and combining interesting scripts to see what the output would be. @ChrisMoody was a huge source of inspiration for learning, and I wanted to thank him, as well as @TheLark for the concept behind this script.
The Trend Wave is based on @ChrisMoody's  PPO-PercentileRank-Mkt-Tops-Bottoms , which also happens to be based on @TheLark's  TheLark-Laguerre-PPO/ .
Within my experimentation, I found that if I isolate the ppoT & ppoB variables and plot them calculated from extremely small decimals, you can get an extremely fast reacting, mirroring trend detector.
Within the script, you have the ability to plot the background colors based on trend to make it easier to see where crossovers occured, as well as a Mirror Input to view the mirrored version of the script.
  
  
  
-@DayTradingOil
Krown Cryptos 6 Moving AveragesCouldnt find Krown's moving average indicator so I took the time to make my own use and to aid those who follow his channel.
The  moving averages are a mixed batch with mostly EMAS with the 10SMA and 200SMA included.  The MAs are labelled so if you question which one is which
10SMA
21EMA
50EMA
89EMA
200SMA
200EMA
377EMA
If anyone has experience with tradingviews pineeditor and knows how to change the title of each MA so I can remove the "6 moving averages" part that would be a great help so please feel free to inbox me. 
Moving Averages Cross - MTF - StrategyBacktesting Script for the following strategy 
Strategy Injector Source: github.com
FREE INDICATOR: Relative Momentum Index (RMI)RMI, as requested by glaz
Description:
The Relative Momentum Index was developed by Roger Altman and was introduced in his article in the February, 1993 issue of Technical Analysis of Stocks & Commodities magazine.
While your typical RSI counts up and down days from close to close, the Relative Momentum Index counts up and down days from the close relative to a close x number of days ago. The result is an RSI that is a bit smoother.
Usage:
Use in the same way you would any other RSI. There are overbought and oversold zones, and can also be used for divergence and trend analysis .
Grab the source code here: pastebin.com
Installation video by @ChrisMoody here : vimeopro.com
            ░░░░░░░░░░░░░░░ Feel free to follow me to keep up with my latest scripts! ░░░░░░░░░░░░░░░
            ░░░░░░░░░░░░ PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ░░░░░░░░░░░░
                                                          I'd like as many people as possible to get it :)
FREE INDICATOR: VOLUME MOMENTUMFor the momentum trader there are plenty of price momentum indicators, here's one that tracks the volume's momentum. Rising momentum in both price and volume is great for any momentum trader.
Add this to your chart, play with the settings, and maybe you'll notice something new! 
Grab the source code here: pastebin.com
Installation video by @ChrisMoody here : vimeopro.com
          ·´¯`·.¸¸.·´¯`· Feel free to follow me to keep up with my latest scripts! ·´¯`·.¸¸.·´¯`·
·´¯`·.¸¸.·´¯`· PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ·´¯`·.¸¸.·´¯`·
                                 I'd like as many people as possible to get it :)
pine script tradingbot - many ema oscillator## 🧭 **Many EMA Oscillator (TradingView Pine Script Indicator)**  
*A multi-layer EMA differential oscillator for trend strength and momentum analysis*
---
### 🧩 **Overview**
The **Many EMA Oscillator** is a **TradingView Pine Script indicator** designed to help traders visualize **trend direction**, **momentum strength**, and **multi-timeframe EMA alignment** in one clean oscillator panel.  
It’s a **custom EMA-based trend indicator** that shows how fast or slow different **Exponential Moving Averages (EMAs)** are expanding or contracting — helping you identify **bullish and bearish momentum shifts** early.
This **Pine Script EMA indicator** is especially useful for traders looking to combine multiple **EMA signals** into one **momentum oscillator** for better clarity and precision.
---
### ⚙️ **How It Works**
1. **Multiple EMA Layers:**  
   The indicator calculates seven **EMAs** (default: 20, 50, 100, 150, 200, 300) and applies a **smoothing filter** using another EMA (default smoothing = 20).  
   This removes short-term noise and gives a smoother, professional-grade momentum reading.
2. **EMA Gap Analysis:**  
   The oscillator measures the **difference between consecutive EMAs**, revealing how trend layers are separating or converging.  
   ```
   diff1 = EMA(20) - EMA(50)
   diff2 = EMA(50) - EMA(100)
   diff3 = EMA(100) - EMA(150)
   diff4 = EMA(150) - EMA(200)
   diff5 = EMA(200) - EMA(300)
   ```
   These gaps (or “differentials”) show **trend acceleration or compression**, acting like a **multi-EMA MACD system**.
3. **Color-Coded Visualization:**  
   Each differential (`diff1`–`diff5`) is plotted as a **histogram**:  
   - 🟢 **Green bars** → EMAs expanding → bullish momentum growing  
   - 🔴 **Red bars** → EMAs contracting → bearish momentum or correction  
   This gives a clean, compact view of **trend strength** without cluttering your chart.
4. **Automatic Momentum Signals:**  
   - **🟡 Up Triangle** → All EMA gaps increasing → strong bullish trend alignment  
   - **⚪ Down Triangle** → All EMA gaps decreasing → trend weakening or bearish transition  
---
### 📊 **Inputs**
| Input | Default | Description |
|-------|----------|-------------|
| `smmoth_emas` | 20 | Smoothing factor for all EMAs |
| `Length2`–`Length7` | 20–300 | Adjustable EMA periods |
| `Length21`, `Length31`, `Length41`, `Length51` | Optional | For secondary EMA analysis |
---
### 🧠 **Interpretation Guide**
| Observation | Meaning |
|--------------|----------|
| Increasing green bars | Trend acceleration and bullish continuation |
| Decreasing red bars | Trend exhaustion or sideways consolidation |
| Yellow triangles | All EMA layers aligned bullishly |
| White triangles | All EMA layers aligned bearishly |
This **EMA oscillator for TradingView** simplifies **multi-EMA trading strategies** by showing alignment strength in one place.  
It works great for **swing traders**, **scalpers**, and **trend-following systems**.
---
### 🧪 **Best Practices for Use**
- Works on **all TradingView timeframes** (1m, 5m, 1h, 1D, etc.)  
- Suitable for **stocks, forex, crypto, and indices**  
- Combine with **RSI**, **MACD**, or **price action** confirmation  
- Excellent for detecting **EMA compression zones**, **trend continuation**, or **momentum shifts**  
- Can be used as part of a **multi-EMA trading strategy** or **trend strength indicator setup**
---
### 💡 **Why It Stands Out**
- 100% built in **Pine Script v6**  
- Optimized for **smooth EMA transitions**  
- Simple color-coded momentum visualization  
- Professional-grade **multi-timeframe trend oscillator**  
This is one of the most **lightweight and powerful EMA oscillators** available for TradingView users who prefer clarity over clutter.
---
### ⚠️ **Disclaimer**
This indicator is published for **educational and analytical purposes only**.  
It does **not provide financial advice**, buy/sell signals, or investment recommendations.  
Always backtest before live use and trade responsibly.
---
### 👨💻 **Author**
Developed by **@algo_coders**  
Built in **Pine Script v6** on **TradingView**  
Licensed under the  (mozilla.org)
ahr999 Index BITSTAMP 
Credits to discountry for making the original script.
reference: 
Updates:
- Updated the historical data to use BITSTAMP:BTCUSD since BLX:BNC api is not working anymore
- Implemented a tooltip label displaying the latest AHR index value.
CM_Donchian Channels V5NOTE: this indicator was created by @ChrisMoody. I found it really useful, so I upgraded it from v3 to v5
This Indicator replicates the Donchian Channels, but with Alerts Capability
You can set up an alert for when the price breaks above the upper band or when the price breaks below the lower band
It will display respectively a green upward arrow or a red downward arrow
It is possible to change the length of the Indicator
Original Post: 
Micro SuiteWhat it is: One Pine v5 indicator that stacks several tools: EMA ribbon + a color-flipping 11/34 EMA trend line, multi-timeframe RSI pressure arrows, and a Bollinger Band re-entry system that marks Top/Bottom triggers (T/B) and later “r” confirmations. It also sprinkles in 3-Line Strike, Leledc exhaustion dots, and a small “Micro Dots” engine (ATR regime + VMA filter). Alerts for all of it. 
TradingView
The core signals you’ll actually use:
RSI arrows: Up arrow when current RSI(6) < 30 and selected higher-TF RSIs are also < 30; down arrow when > 70 cluster cools. Idea = stacked OB/OS “pressure.” 
TradingView
Bollinger re-entry (T/B + r):
T = first close back inside upper band; B = first close back inside lower band.
r = confirmation within N bars (price takes out the trigger bar’s high/low). These bars tint so they’re easy to see. 
TradingView
Trend filter: EMA-11 vs EMA-34 color flip + optional VMA trend line; helps you ignore counter-trend stabs. 
TradingView
Quick playbook (how to read it):
Reversal short: See a T near the top band → get the r within your window → bonus if a down RSI arrow or a Leledc high dot shows up.
Reversal long: Mirror that with B → r, plus an up RSI arrow/Leledc low dot.
Continuation: If Micro Dot stays green (or red) and 11>34 EMA holds, ignore isolated T/B traps. 
TradingView
Inputs that matter:
confirmBars for the T/B “r” window.
Which higher-TF RSIs must agree for arrows.
Show/hide and lengths for EMAs and BB.
Micro block: show dots, VMA line, and speed (Fast/Med/Slow). 
TradingView
Why people like it: You get trend, momentum, and mean-revert cues on one pane with ready-made alerts, so it’s easier to build a ruleset (e.g., “only take B→r longs when 11>34 and there’s an RSI up arrow”). 
TradingView
Caveats: It’s still just TA—OB/OS clusters can persist in trends; confirmations can miss V-shaped turns; and stacking signals can be late in fast markets. Pair it with risk rules (fixed R, ATR stops) and a higher-TF bias.
One-liner cheat sheet:
Longs: B → r + RSI up arrow + 11>34 (optional Micro Dot green).
Shorts: T → r + RSI down arrow + 11<34 (optional Micro Dot red). 
TradingView
MA Dist% Screener [Pineify]MA Distance Screener: Multi-Asset Market Scanner for TradingView 
Screen multiple symbols and multiple timeframes on TradingView with the MA Distance Screener. Compare asset prices to flexible moving average types. Visual table view, custom assets, timeframes, and MA types. Supercharge your TradingView screener, optimize your workflow, and catch opportunities across assets in real time.
 Key Features 
 
 Screen up to 10 custom symbols simultaneously across four configurable timeframes.
 Choose from multiple Moving Average types: EMA, SMA, WMA, HMA, RMA, VWMA for flexible market context.
 Visualize real-time % distance between price and moving average per asset/timeframe in a clean, color-coded table.
 Highly customizable: Set your own symbol list, timeframes, MA length and type.
 Alerts for symbol/MA deviations—instantly see overbought/oversold status with intuitive background coloring.
 Optimized for crypto, FX, and traditional assets – all asset types supported.
 
 How It Works 
The  MA Distance Screener  acts as a dynamic multi-symbol, multi-timeframe scanner. For each selected symbol and timeframe, it calculates the percentage distance between the latest close price and the selected type of moving average (EMA/SMA/etc.). This is achieved by making secure `request.security` calls per asset/timeframe combination, retrieving updated values for each matrix cell. The computed distance (%) is displayed in a color-coded table: a positive value signals price above the MA (potential trend strength), while negatives indicate price below the MA (potential weakness or retracement). Custom colors highlight extreme overbought/oversold readings for quick visual cues.
 Trading Ideas and Insights 
 
 Quickly spot assets showing the largest deviation from their moving averages – ideal for mean reversion or trend-following entries.
 Identify clusters of assets and timeframes lining up in overbought or oversold states; optimize entries with multi-timeframe confirmation.
 Scan the market in one glance—reduce chart-hopping and never miss an opportunity when multiple assets align for signals.
 
 The ability to scan distance-to-MA across assets and periods gives traders a statistical edge, surfacing hidden pivots, breakouts, and mean-reversion trades that single-chart analysis may miss. 
 How Multiple Indicators Work Together 
At its core, this screener allows the trader to configure  what  gets scanned—pick your top 10 assets and favorite 4 timeframes. With each matrix cell, the selected MA (e.g., 14-period EMA) is recalculated, and the current price's distance (%) from that value is computed. By offering six distinct moving average algorithms (EMA, SMA, RMA, HMA, WMA, VWMA), traders can choose their preferred method, adapting the screener for trend, swing, or mean-reversion style. All values are visualized in a single table, creating a true "market dashboard" effect for real-time cross-asset assessment.
 Unique Aspects 
 
 True cross-asset, cross-timeframe screening in a unified table—rare for Pine Script indicators.
 Full flexibility—customizable list of assets, timeframes, and MA parameters to suit any market/trading plan.
 Intuitive color-coding and table display eliminates guesswork, enabling “at-a-glance” screening and rapid decision-making.
 Efficient, optimized Pine v6 codebase—minimal lag even with 40+ concurrent streams.
 
 How to Use 
 
 Add the indicator to your TradingView chart (overlay: off, use a clean chart).
 In the settings panel, enter up to 10 symbols (tickers) you want to screen—crypto, stocks, FX, or indices.
 Set the 4 timeframes to scan (e.g., 1m, 5m, 15m, 1h), plus your preferred moving average length and type.
 Review the results in the pop-up table, where each cell shows "% Distance" from MA for each symbol/timeframe.
 Monitor table background/text color for overbought vs. oversold cues.
 
 Customization 
 
 Symbol List: Track any asset by typing its TradingView ticker.
 Timeframes: Full freedom to select 4 timeframes per scan, from 1min to monthly.
 MA Config: Choose period length and MA algorithm (classic or exotic types).
 Color Themes: Easily spot signals with dynamic color backgrounds and customizable thresholds.
 
 Conclusion 
The  MA Distance Screener  is a must-have tool for systematic traders, portfolio managers, and retail chartists seeking a true multi-asset edge. With real-time cross-checking against multiple moving averages and timeframes, it empowers faster, more confident decision-making, while reducing chart fatigue and missed setups.  
 Unlock new insights, catch broad and hidden opportunities, and optimize your market workflow—all in a single TradingView panel. 
BOCS Channel Scalper Indicator - Mean Reversion Alert System# BOCS Channel Scalper Indicator - Mean Reversion Alert System
## WHAT THIS INDICATOR DOES:
This is a mean reversion trading indicator that identifies consolidation channels through volatility analysis and generates alert signals when price enters entry zones near channel boundaries. **This indicator version is designed for manual trading with comprehensive alert functionality.** Unlike automated strategies, this tool sends notifications (via popup, email, SMS, or webhook) when trading opportunities occur, allowing you to manually review and execute trades. The system assumes price will revert to the channel mean, identifying scalp opportunities as price reaches extremes and preparing to bounce back toward center.
## INDICATOR VS STRATEGY - KEY DISTINCTION:
**This is an INDICATOR with alerts, not an automated strategy.** It does not execute trades automatically. Instead, it:
- Displays visual signals on your chart when entry conditions are met
- Sends customizable alerts to your device/email when opportunities arise
- Shows TP/SL levels for reference but does not place orders
- Requires you to manually enter and exit positions based on signals
- Works with all TradingView subscription levels (alerts included on all plans)
**For automated trading with backtesting**, use the strategy version. For manual control with notifications, use this indicator version.
## ALERT CAPABILITIES:
This indicator includes four distinct alert conditions that can be configured independently:
**1. New Channel Formation Alert**
- Triggers when a fresh BOCS channel is identified
- Message: "New BOCS channel formed - potential scalp setup ready"
- Use this to prepare for upcoming trading opportunities
**2. Long Scalp Entry Alert**
- Fires when price touches the long entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "LONG scalp signal at 24731.75 | TP: 24743.2 | SL: 24716.5"
**3. Short Scalp Entry Alert**
- Fires when price touches the short entry zone
- Message includes current price, calculated TP, and SL levels
- Notification example: "SHORT scalp signal at 24747.50 | TP: 24735.0 | SL: 24762.75"
**4. Any Entry Signal Alert**
- Combined alert for both long and short entries
- Use this if you want a single alert stream for all opportunities
- Message: "BOCS Scalp Entry:   at  "
**Setting Up Alerts:**
1. Add indicator to chart and configure settings
2. Click the Alert (⏰) button in TradingView toolbar
3. Select "BOCS Channel Scalper" from condition dropdown
4. Choose desired alert type (Long, Short, Any, or Channel Formation)
5. Set "Once Per Bar Close" to avoid false signals during bar formation
6. Configure delivery method (popup, email, webhook for automation platforms)
7. Save alert - it will fire automatically when conditions are met
**Alert Message Placeholders:**
Alerts use TradingView's dynamic placeholder system:
- {{ticker}} = Symbol name (e.g., NQ1!)
- {{close}} = Current price at signal
- {{plot_1}} = Calculated take profit level
- {{plot_2}} = Calculated stop loss level
These placeholders populate automatically, creating detailed notification messages without manual configuration.
## KEY DIFFERENCE FROM ORIGINAL BOCS:
**This indicator is designed for traders seeking higher trade frequency.** The original BOCS indicator trades breakouts OUTSIDE channels, waiting for price to escape consolidation before entering. This scalper version trades mean reversion INSIDE channels, entering when price reaches channel extremes and betting on a bounce back to center. The result is significantly more trading opportunities:
- **Original BOCS**: 1-3 signals per channel (only on breakout)
- **Scalper Indicator**: 5-15+ signals per channel (every touch of entry zones)
- **Trade Style**: Mean reversion vs trend following
- **Hold Time**: Seconds to minutes vs minutes to hours
- **Best Markets**: Ranging/choppy conditions vs trending breakouts
This makes the indicator ideal for active day traders who want continuous alert opportunities within consolidation zones rather than waiting for breakout confirmation. However, increased signal frequency also means higher potential commission costs and requires disciplined trade selection when acting on alerts.
## TECHNICAL METHODOLOGY:
### Price Normalization Process:
The indicator normalizes price data to create consistent volatility measurements across different instruments and price levels. It calculates the highest high and lowest low over a user-defined lookback period (default 100 bars). Current close price is normalized using: (close - lowest_low) / (highest_high - lowest_low), producing values between 0 and 1 for standardized volatility analysis.
### Volatility Detection:
A 14-period standard deviation is applied to the normalized price series to measure price deviation from the mean. Higher standard deviation values indicate volatility expansion; lower values indicate consolidation. The indicator uses ta.highestbars() and ta.lowestbars() to identify when volatility peaks and troughs occur over the detection period (default 14 bars).
### Channel Formation Logic:
When volatility crosses from a high level to a low level (ta.crossover(upper, lower)), a consolidation phase begins. The indicator tracks the highest and lowest prices during this period, which become the channel boundaries. Minimum duration of 10+ bars is required to filter out brief volatility spikes. Channels are rendered as box objects with defined upper and lower boundaries, with colored zones indicating entry areas.
### Entry Signal Generation:
The indicator uses immediate touch-based entry logic. Entry zones are defined as a percentage from channel edges (default 20%):
- **Long Entry Zone**: Bottom 20% of channel (bottomBound + channelRange × 0.2)
- **Short Entry Zone**: Top 20% of channel (topBound - channelRange × 0.2)
Long signals trigger when candle low touches or enters the long entry zone. Short signals trigger when candle high touches or enters the short entry zone. Visual markers (arrows and labels) appear on chart, and configured alerts fire immediately.
### Cooldown Filter:
An optional cooldown period (measured in bars) prevents alert spam by enforcing minimum spacing between consecutive signals. If cooldown is set to 3 bars, no new long alert will fire until 3 bars after the previous long signal. Long and short cooldowns are tracked independently, allowing both directions to signal within the same period.
### ATR Volatility Filter:
The indicator includes a multi-timeframe ATR filter to avoid alerts during low-volatility conditions. Using request.security(), it fetches ATR values from a specified timeframe (e.g., 1-minute ATR while viewing 5-minute charts). The filter compares current ATR to a user-defined minimum threshold:
- If ATR ≥ threshold: Alerts enabled
- If ATR < threshold: No alerts fire
This prevents notifications during dead zones where mean reversion is unreliable due to insufficient price movement. The ATR status is displayed in the info table with visual confirmation (✓ or ✗).
### Take Profit Calculation:
Two TP methods are available:
**Fixed Points Mode**: 
- Long TP = Entry + (TP_Ticks × syminfo.mintick)
- Short TP = Entry - (TP_Ticks × syminfo.mintick)
**Channel Percentage Mode**:
- Long TP = Entry + (ChannelRange × TP_Percent)
- Short TP = Entry - (ChannelRange × TP_Percent)
Default 50% targets the channel midline, a natural mean reversion target. These levels are displayed as visual lines with labels and included in alert messages for reference when manually placing orders.
### Stop Loss Placement:
Stop losses are calculated just outside the channel boundary by a user-defined tick offset:
- Long SL = ChannelBottom - (SL_Offset_Ticks × syminfo.mintick)
- Short SL = ChannelTop + (SL_Offset_Ticks × syminfo.mintick)
This logic assumes channel breaks invalidate the mean reversion thesis. SL levels are displayed on chart and included in alert notifications as suggested stop placement.
### Channel Breakout Management:
Channels are removed when price closes more than 10 ticks outside boundaries. This tolerance prevents premature channel deletion from minor breaks or wicks, allowing the mean reversion setup to persist through small boundary violations.
## INPUT PARAMETERS:
### Channel Settings:
- **Nested Channels**: Allow multiple overlapping channels vs single channel
- **Normalization Length**: Lookback for high/low calculation (1-500, default 100)
- **Box Detection Length**: Period for volatility detection (1-100, default 14)
### Scalping Settings:
- **Enable Long Scalps**: Toggle long alert generation on/off
- **Enable Short Scalps**: Toggle short alert generation on/off
- **Entry Zone % from Edge**: Size of entry zone (5-50%, default 20%)
- **SL Offset (Ticks)**: Distance beyond channel for stop (1+, default 5)
- **Cooldown Period (Bars)**: Minimum spacing between alerts (0 = no cooldown)
### ATR Filter:
- **Enable ATR Filter**: Toggle volatility filter on/off
- **ATR Timeframe**: Source timeframe for ATR (1, 5, 15, 60 min, etc.)
- **ATR Length**: Smoothing period (1-100, default 14)
- **Min ATR Value**: Threshold for alert enablement (0.1+, default 10.0)
### Take Profit Settings:
- **TP Method**: Choose Fixed Points or % of Channel
- **TP Fixed (Ticks)**: Static distance in ticks (1+, default 30)
- **TP % of Channel**: Dynamic target as channel percentage (10-100%, default 50%)
### Appearance:
- **Show Entry Zones**: Toggle zone labels on channels
- **Show Info Table**: Display real-time indicator status
- **Table Position**: Corner placement (Top Left/Right, Bottom Left/Right)
- **Long Color**: Customize long signal color (default: darker green for readability)
- **Short Color**: Customize short signal color (default: red)
- **TP/SL Colors**: Customize take profit and stop loss line colors
- **Line Length**: Visual length of TP/SL reference lines (5-200 bars)
## VISUAL INDICATORS:
- **Channel boxes** with semi-transparent fill showing consolidation zones
- **Colored entry zones** labeled "LONG ZONE ▲" and "SHORT ZONE ▼"
- **Entry signal arrows** below/above bars marking long/short alerts
- **TP/SL reference lines** with emoji labels (⊕ Entry, 🎯 TP, 🛑 SL)
- **Info table** showing channel status, last signal, entry/TP/SL prices, risk/reward ratio, and ATR filter status
- **Visual confirmation** when alerts fire via on-chart markers synchronized with notifications
## HOW TO USE:
### For 1-3 Minute Scalping with Alerts (NQ/ES):
- ATR Timeframe: "1" (1-minute)
- ATR Min Value: 10.0 (for NQ), adjust per instrument
- Entry Zone %: 20-25%
- TP Method: Fixed Points, 20-40 ticks
- SL Offset: 5-10 ticks
- Cooldown: 2-3 bars to reduce alert spam
- **Alert Setup**: Configure "Any Entry Signal" for combined long/short notifications
- **Execution**: When alert fires, verify chart visuals, then manually place limit order at entry zone with provided TP/SL levels
### For 5-15 Minute Day Trading with Alerts:
- ATR Timeframe: "5" or match chart
- ATR Min Value: Adjust to instrument (test 8-15 for NQ)
- Entry Zone %: 20-30%
- TP Method: % of Channel, 40-60%
- SL Offset: 5-10 ticks
- Cooldown: 3-5 bars
- **Alert Setup**: Configure separate "Long Scalp Entry" and "Short Scalp Entry" alerts if you trade directionally based on bias
- **Execution**: Review channel structure on alert, confirm ATR filter shows ✓, then enter manually
### For 30-60 Minute Swing Scalping with Alerts:
- ATR Timeframe: "15" or "30"
- ATR Min Value: Lower threshold for broader market
- Entry Zone %: 25-35%
- TP Method: % of Channel, 50-70%
- SL Offset: 10-15 ticks
- Cooldown: 5+ bars or disable
- **Alert Setup**: Use "New Channel Formation" to prepare for setups, then "Any Entry Signal" for execution alerts
- **Execution**: Larger timeframes allow more analysis time between alert and entry
### Webhook Integration for Semi-Automation:
- Configure alert webhook URL to connect with platforms like TradersPost, TradingView Paper Trading, or custom automation
- Alert message includes all necessary order parameters (direction, entry, TP, SL)
- Webhook receives structured data when signal fires
- External platform can auto-execute based on alert payload
- Still maintains manual oversight vs full strategy automation
## USAGE CONSIDERATIONS:
- **Manual Discipline Required**: Alerts provide opportunities but execution requires judgment. Not all alerts should be taken - consider market context, trend, and channel quality
- **Alert Timing**: Alerts fire on bar close by default. Ensure "Once Per Bar Close" is selected to avoid false signals during bar formation
- **Notification Delivery**: Mobile/email alerts may have 1-3 second delay. For immediate execution, use desktop popups or webhook automation
- **Cooldown Necessity**: Without cooldown, rapidly touching price action can generate excessive alerts. Start with 3-bar cooldown and adjust based on alert volume
- **ATR Filter Impact**: Enabling ATR filter dramatically reduces alert count but improves quality. Track filter status in info table to understand when you're receiving fewer alerts
- **Commission Awareness**: High alert frequency means high potential trade count. Calculate if your commission structure supports frequent scalping before acting on all alerts
## COMPATIBLE MARKETS:
Works on any instrument with price data including stock indices (NQ, ES, YM, RTY), individual stocks, forex pairs (EUR/USD, GBP/USD), cryptocurrency (BTC, ETH), and commodities. Volume-based features are not included in this indicator version. Multi-timeframe ATR requires higher-tier TradingView subscription for request.security() functionality on timeframes below chart timeframe.
## KNOWN LIMITATIONS:
- **Indicator does not execute trades** - alerts are informational only; you must manually place all orders
- **Alert delivery depends on TradingView infrastructure** - delays or failures possible during platform issues
- **No position tracking** - indicator doesn't know if you're in a trade; you must manage open positions independently
- **TP/SL levels are reference only** - you must manually set these on your broker platform; they are not live orders
- **Immediate touch entry can generate many alerts** in choppy zones without adequate cooldown
- **Channel deletion at 10-tick breaks** may be too aggressive or lenient depending on instrument tick size
- **ATR filter from lower timeframes** requires TradingView Premium/Pro+ for request.security()
- **Mean reversion logic fails** in strong breakout scenarios - alerts will fire but trades may hit stops
- **No partial closing capability** - full position management is manual; you determine scaling out
- **Alerts do not account for gaps** or overnight price changes; morning alerts may be stale
## RISK DISCLOSURE:
Trading involves substantial risk of loss. This indicator provides signals for educational and informational purposes only and does not constitute financial advice. Past performance does not guarantee future results. Mean reversion strategies can experience extended drawdowns during trending markets. Alerts are not guaranteed to be profitable and should be combined with your own analysis. Stop losses may not fill at intended levels during extreme volatility or gaps. Never trade with capital you cannot afford to lose. Consider consulting a licensed financial advisor before making trading decisions. Always verify alerts against current market conditions before executing trades manually.
## ACKNOWLEDGMENT & CREDITS:
This indicator is built upon the channel detection methodology created by **AlgoAlpha** in the "Smart Money Breakout Channels" indicator. Full credit and appreciation to AlgoAlpha for pioneering the normalized volatility approach to identifying consolidation patterns. The core channel formation logic using normalized price standard deviation is AlgoAlpha's original contribution to the TradingView community.
Enhancements to the original concept include: mean reversion entry logic (vs breakout), immediate touch-based alert generation, comprehensive alert condition system with customizable notifications, multi-timeframe ATR volatility filtering, cooldown period for alert management, dual TP methods (fixed points vs channel percentage), visual TP/SL reference lines, and real-time status monitoring table. This indicator version is specifically designed for manual traders who prefer alert-based decision making over automated execution.
RSI ADX Bollinger Analysis High-level purpose and design philosophy
 This indicator — RSI-ADX-Bollinger Analysis  — is a compact, educational market-analysis toolkit that blends momentum (RSI), trend strength (ADX), volatility structure (Bollinger Bands) and simple volumetrics to provide traders a snapshot of market condition and trade idea quality. The design philosophy is explicit and layered: use each component to answer a different question about price action (momentum, conviction, volatility, participation), then combine answers to form a more robust, explainable signal. The mashup is intended for analysis and learning, not automatic execution: it surfaces the why behind signals so traders can test, learn and apply rules with risk management.
________________________________________
What each indicator contributes (component-by-component)
RSI (Relative Strength Index) — role and behavior: RSI measures short-term momentum by comparing recent gains to recent losses. A high RSI (near or above the overbought threshold) indicates strong recent buying pressure and potential exhaustion if price is extended. A low RSI (near or below the oversold threshold) indicates strong recent selling pressure and potential exhaustion or a value area for mean-reversion. In this dashboard RSI is used as the primary momentum trigger: it helps identify whether price is locally over-extended on the buy or sell side.
ADX (Average Directional Index) — role and behavior: ADX measures trend strength independently of direction. When ADX rises above a chosen threshold (e.g., 25), it signals that the market is trending with conviction; ADX below the threshold suggests range or weak trend. Because patterns and momentum signals perform differently in trending vs. ranging markets, ADX is used here as a filter: only when ADX indicates sufficient directional strength does the system treat RSI+BB breakouts as meaningful trade candidates.
Bollinger Bands — role and behavior: Bollinger Bands (20-period basis ± N standard deviations) show volatility envelope and relative price position vs. a volatility-adjusted mean. Price outside the upper band suggests pronounced extension relative to recent volatility; price outside the lower band suggests extended weakness. A band expansion (increasing width) signals volatility breakout potential; contraction signals range-bound conditions and potential squeeze. In this dashboard, Bollinger Bands provide the volatility/structural context: RSI extremes plus price beyond the band imply a stronger, volatility-backed move.
Volume split & basic MA trend — role and behavior: Buy-like and sell-like volume (simple heuristic using close>open or closeopen) or sell-like (close1.2 for validation and compare win rate and expectancy.
4.	TF alignment: Accept signals only when higher timeframe (e.g., 4h) trend agrees — compare results.
5.	Parameter sensitivity: Vary RSI threshold (70/30 vs 80/20), Bollinger stddev (2 vs 2.5), and ADX threshold (25 vs 30) and measure stability of results.
These exercises teach both statistical thinking and the specific failure modes of the mashup.
________________________________________
Limitations, failure modes and caveats (explicit & teachable)
• ADX and Bollinger measures lag during fast-moving news events — signals can be late or wrong during earnings, macro shocks, or illiquid sessions.
• Volume classification by open/close is a heuristic; it does not equal TAPEDATA, footprint or signed volume. Use it as supportive evidence, not definitive proof.
• RSI can remain overbought or oversold for extended stretches in persistent trends — relying solely on RSI extremes without ADX or BB context invites large drawdowns.
• Small-cap or low-liquidity instruments yield noisy band behavior and unreliable volume ratios.
Being explicit about these limitations is a strong point in a TradingView description — it demonstrates transparency and educational intent.
________________________________________
Originality & mashup justification (text you can paste)
This script intentionally combines classical momentum (RSI), volatility envelope (Bollinger Bands) and trend-strength (ADX) because each indicator answers a different and complementary question: RSI answers is price locally extreme?, Bollinger answers is price outside normal volatility?, and ADX answers is the market moving with conviction?. Volume participation then acts as a practical check for real market involvement. This combination is not a simple “indicator mashup”; it is a designed ensemble where each element reduces the others’ failure modes and together produce a teachable, testable signal framework. The script’s purpose is educational and analytical — to show traders how to interpret the interplay of momentum, volatility, and trend strength.
________________________________________
TradingView publication guidance & compliance checklist
To satisfy TradingView rules about mashups and descriptions, include the following items in your script description (without exposing source code):
1.	Purpose statement: One or two lines describing the script’s objective (educational multi-indicator market overview and idea filter).
2.	Component list: Name the major modules (RSI, Bollinger Bands, ADX, volume heuristic, SMA trend checks, signal tracking) and one-sentence reason for each.
3.	How they interact: A succinct non-code explanation: “RSI finds momentum extremes; Bollinger confirms volatility expansion; ADX confirms trend strength; all three must align for a BUY/SELL.”
4.	Inputs: List adjustable inputs (RSI length and thresholds, BB length & stddev, ADX threshold & smoothing, volume MA, table position/size).
5.	Usage instructions: Short workflow (check TF alignment → confirm participation → define stop & R:R → backtest).
6.	Limitations & assumptions: Explicitly state volume is approximated, ADX has lag, and avoid promising guaranteed profits.
7.	Non-promotional language: No external contact info, ads, claims of exclusivity or guaranteed outcomes.
8.	Trademark clause: If you used trademark symbols, remove or provide registration proof.
9.	Risk disclaimer: Add the copy-ready disclaimer below.
This matches TradingView’s request for meaningful descriptions that explain originality and inter-component reasoning.
________________________________________
Copy-ready short publication description (paste into TradingView)
Advanced RSI-ADX-Bollinger Market Overview — educational multi-indicator dashboard. This script combines RSI (momentum extremes), Bollinger Bands (volatility envelope and band expansion), ADX (trend strength), simple SMA trend bias and a basic buy/sell volume heuristic to surface high-quality idea candidates. Signals require alignment of momentum, volatility expansion and rising ADX; volume participation is displayed to support signal confidence. Inputs are configurable (RSI length/levels, BB length/stddev, ADX length/threshold, volume MA, display options). This tool is intended for analysis and learning — not for automated execution. Users should back test and apply robust risk management. Limitations: volume classification here is a heuristic (close>open), ADX and BB measures lag in fast news events, and results vary by instrument liquidity.
________________________________________
Copy-ready risk & misuse disclaimer (paste into description or help file)
This script is provided for educational and analytical purposes only and does not constitute financial or investment advice. It does not guarantee profits. Indicators are heuristics and may give false or late signals; always back test and paper-trade before using real capital. The author is not responsible for trading losses resulting from the use or misuse of this indicator. Use proper position sizing and risk controls.
________________________________________
Risk Disclaimer: This tool is provided for education and analysis only. It is not financial advice and does not guarantee returns. Users assume all risk for trades made based on this script. Back test thoroughly and use proper risk management.
FibNexus [CHE]FibNexus   — Auto-Fibonacci with Adaptive TrendLen + TFRSI Triggers 
 What it is. 
FibNexus   is a chart overlay that auto-anchors Fibonacci levels to the most relevant swing range without any manual timeframe picking. It does this by computing an adaptive trend length (“TrendLen”) from recent price behavior, then drawing retracements/extensions from the detected swing High/Low. A built-in TFRSI module adds LONG/SHORT triggers and ready-made alerts.
  What makes FibNexus different (the TrendLen edge) 
Most Fibonacci tools either (a) use fixed lookbacks or (b) force you to choose a higher reference timeframe (or a multiplier of it) and then place Fibs on those higher-TF swings. Your earlier Ultimate Fibonacci Trading Tool \  follows that higher-reference approach (auto TF, multiplier, or manual) and emphasizes custom level/label options. ( )
 FibNexus flips that workflow: 
* It doesn’t rely on a higher timeframe or a static lookback.
* Instead, it measures multiple window lengths inside the current chart timeframe and selects the one that best fits the data right now.
* From that data-driven window, it automatically finds the most recent swing high & low and draws the entire Fib stack from there.
* When the statistically “best” window changes, anchors update once, labels refresh cleanly, and then lines just extend to the right on each new bar.
Result: No more guesswork about “which timeframe or lookback should I use?”—FibNexus adapts the anchors to market conditions and keeps the drawing noise low.
  How TrendLen works (transparent, deterministic) 
1. Scan windows: The script evaluates a series of lookbacks (10, 20, …, 500 bars).
2. Score by correlation: For each window, it computes the correlation between price and its lagged version and picks the window with the highest correlation (the strongest, most self-consistent trend segment).
3. Anchor the swing: On a confirmed bar and only when TrendLen changes, it scans the last `TrendLen` bars to capture the highest high and lowest low and marks them with “X”.
4. Draw once, extend later: It deletes the old Fib objects, redraws the active levels from those anchors, and from then on extends the lines to the right as new bars print (no redraw spam).
This makes FibNexus responsive (it adapts when the structure shifts) and quiet (it doesn’t constantly repaint Fibs).
  Fibonacci engine (levels, labels, direction) 
* Retracements: 0.000 · 0.236 · 0.382 · 0.500 · 0.618 · 0.786 · 1.000
* Extensions: 1.618 · 2.618 · 3.618 · 4.236
* Label styles: *Default* (percent + price), *None*, *Percentage*, *Price*
* Label sizing: *tiny → huge*
* Bull/Bear context: Direction is inferred from mid-range positioning; prices are projected accordingly (retracement vs. extension math is handled for both cases).
* Selective toggles: You can show/hide any level and color it independently.
  Momentum & signals (TFRSI module) 
FibNexus embeds your TFRSI (“The Forbidden RSI \ ”) as the momentum/trigger layer. TFRSI is your open-source oscillator published on TradingView and designed for fast, normalized momentum readouts with customizable length/smoothing. ( )
* Defaults: `TFRSI length = 6`, `signal smoothing = 2`
* Triggers:
  * LONG when TFRSI crosses up through the Long level (default 2.0)
  * SHORT when TFRSI crosses down through the Short level (default 98.0)
* On-chart labels: Green LONG under the bar, red SHORT above the bar.
* Spam control: Keep only the N most recent labels to avoid clutter.
* Confirmed bars only: Signals/labels finalize at bar close to reduce flicker.
  Alerts (ready for TradingView) 
* LONG signal (TFRSI crossover)
* SHORT signal (TFRSI crossunder)
* TrendLen changed (anchors/Fibs recalculated)
* Price crossed a Fib level (any active level)
Use the provided `alertcondition(...)` entries in the TV dialog. Optionally enable instant `alert()` calls with verbose text (avoid duplicates if you also add alertconditions).
  Typical use-cases & playbook 
* Level reaction trading: In trends, watch 0.382 / 0.5 / 0.618 for reaction. A TFRSI up-cross near a retracement in an uptrend is a straightforward continuation setup; the opposite applies in downtrends.
* Breakout objectives: After clearing the 1.000 line (old swing), 1.618 is a common first extension target; beyond that, 2.618/3.618/4.236 map stretch objectives.
* Chop control: In range conditions, keep signals conservative (e.g., stick with the tight defaults 2.0/98.0 or raise thresholds). Always seek confluence (candlesticks, volume, HTF bias).
* Less micromanagement: You don’t need to babysit timeframe selection or anchors—TrendLen recomputes only when the data say so.
  Inputs (by group) 
* Core: TFRSI length & smoothing.
* Fibonacci Levels: Per-level toggles, numeric values, colors.
* Fibonacci Labels: Style (percentage/price/both/none) and size.
* Signals: Max number of visible LONG/SHORT labels (or 0 = off).
* TFRSI Trigger: Long/Short thresholds (defaults 2.0 / 98.0).
* Alerts: Master enable, per-event toggles, optional instant `alert()`.
  Performance & UX 
* Overlay indicator; efficient object handling.
* Clean redraw policy: Full re-draw only when TrendLen changes; otherwise Fibs extend horizontally.
* Clarity: Auto-marked swing anchors (“X”), configurable labels/colors.
  Credits & references 
* TFRSI – “The Forbidden RSI \ ” (open-source publication and description on TradingView). Used here as the momentum basis. 
* “Ultimate Fibonacci Trading Tool \ ” (your earlier open-source tool on TradingView). Focuses on higher-reference timeframe selection (auto/multiplier/manual) and rich labeling controls; FibNexus replaces the fixed/higher-TF anchor logic with adaptive TrendLen in the current timeframe. 
  Risk disclaimer 
This indicator is for educational/information purposes only and is not financial advice. No performance guarantees; past behavior does not predict future results. Trading involves substantial risk (including total loss). Always do your own research, test on demo, use risk management, and consult a licensed advisor where appropriate. Use at your own risk.
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Enhance your trading precision and confidence with FibNexus  ! 🚀
Happy trading
Chervolino






















