MTF Oscillator Stack [BigBeluga]🔵 OVERVIEW
The MTF Oscillator Stack brings powerful multi-timeframe momentum analysis directly into your price chart. You can select one oscillator— RSI , MFI , or Stochastic RSI —and display it across up to 4 different timeframes. Each panel is neatly stacked horizontally above price , offering quick insight into cross-timeframe conditions like trend direction, exhaustion zones, and momentum shifts.
🔵 CONCEPTS
Single Oscillator Mode: Select one oscillator type (RSI, MFI, or Stoch RSI) to analyze across all selected timeframes.
Top-Chart Horizontal Panels: Oscillator plots are aligned horizontally at the top of the chart for seamless top-down reading.
Signal Comparison Arrows: Arrows (🢁 / 🢃) indicate oscillator position relative to its signal line.
Overbought/Oversold Zones: Transparent 30–70 fill zones highlight key reversal areas.
Dynamic Display Logic: Only enabled panels are shown; spacing adjusts based on active timeframes.
Timeframe Tagging: Each oscillator panel is labeled with its corresponding timeframe (e.g., 1H, 2H, 4H).
🔵 FEATURES
Choose one oscillator (RSI, MFI, or Stoch RSI) and apply it across up to 4 timeframes.
Each oscillator panel includes: price-synced plot, signal line, and zone shading.
Scale alignment allows users to place charts at the bottom or top.
Clear arrow signals show whether oscillator is bullish or bearish.
Individual length and signal settings per timeframe.
Toggle for alignment mode: evenly spaced or floating layout.
All panels use a consistent layout for faster decision-making.
🔵 HOW TO USE
Select your preferred oscillator and activate 2–4 key timeframes (e.g., 1H, 4H, D1, W1).
Use signal crossovers as a bullish (🢁) or bearish (🢃) trend cue.
Look for aligned extremes (e.g., all timeframes overbought) to spot momentum exhaustion.
Ideal for momentum confluence strategies and top-down confirmation.
Use horizontal layout to stay focused on price while assessing broader structure.
🔵 CONCLUSION
MTF Oscillator Stack simplifies complex multi-timeframe momentum analysis into one clean, actionable visual. Whether you're tracking RSI, MFI, or Stoch RSI, this tool helps you stay aligned with the broader trend—without ever leaving your main chart.
M-oscillator
Bollinger Bands % | QuantEdgeB📊 Introducing Bollinger Bands % (BB%) by QuantEdgeB
🛠️ Overview
BB% | QuantEdgeB is a volatility-aware momentum tool that maps price within a Bollinger envelope onto a normalized scale. By letting you choose the base moving average (SMA, EMA, DEMA, TEMA, HMA, ALMA, EHMA, THMA, RMA, WMA, VWMA, T3, LSMA) and even Heikin-Ashi sources, it adapts to your style while keeping readings consistent across symbols and timeframes. Clear thresholds and color-coded visuals make it easy to spot emerging strength, fading moves, and potential mean-reversions.
✨ Key Features
• 🔹 Flexible Baseline
Pick from 12 MA types (plus Heikin-Ashi source option) to tailor responsiveness and smoothness.
• 🔹 Normalized Positioning
Price is expressed as a percentage of the band range, yielding an intuitive 0–100 style read (can exceed in extreme trends).
• 🔹 Actionable Thresholds
Default Long 55 / Short 45 levels provide simple, objective triggers.
• 🔹 Visual Clarity
Color-coded candles, shaded OB/OS zones, and adaptive color themes speed up decision-making.
• 🔹 Ready-to-Alert
Built-in alerts for long/short transitions.
📐 How It Works
1️⃣ Band Construction
A moving average (your choice) defines the midline; volatility (standard deviation) builds upper/lower bands.
2️⃣ Normalization
The indicator measures where price sits between the lower and upper band, scaling that into a bounded oscillator (BB%).
3️⃣ Signal Logic
• ✅ Long when BB% rises above 55 (strength toward the top of the envelope).
• ❌ Short when BB% falls below 45 (weakness toward the bottom).
4️⃣ OB/OS Context
Shaded regions above/below typical ranges highlight exhaustion and potential snap-backs.
⚙️ Custom Settings
• Base MA Type: SMA, EMA, DEMA, TEMA, HMA, ALMA, EHMA, THMA, RMA, WMA, VWMA, T3, LSMA
• Source Mode: Classic price or Heikin-Ashi (close/open/high/hlc3)
• Base Length: default 40
• Band Width: standard deviation-based (2× SD by default)
• Long / Short Thresholds: defaults 55 / 45
• Color Mode: Alpha, MultiEdge, TradingSuite, Premium, Fundamental, Classic, Warm, Cold, Strategy
• Candles & Labels: optional candle coloring and signal markers
👥 Ideal For
✅ Trend Followers — Ride strength as price compresses near the upper band.
✅ Swing/Mean-Reversion Traders — Fade extremes when BB% stretches into OB/OS zones.
✅ Multi-Timeframe Analysts — Compare band position consistently across periods.
✅ System Builders — Use BB% as a normalized feature for strategies and filters.
📌 Conclusion
BB% | QuantEdgeB delivers a clean, normalized read of price versus its volatility envelope—adaptable via rich MA/source options and easy to automate with thresholds and alerts.
🔹 Key Takeaways:
1️⃣ Normalized view of price inside the volatility bands
2️⃣ Flexible baseline (12+ MA choices) and Heikin-Ashi support
3️⃣ Straightforward 55/45 triggers with clear visual context
📌 Disclaimer: Past performance is not indicative of future results. No strategy guarantees success.
📌 Strategic Advice: Always backtest, tune parameters, and align with your risk profile before live trading.
BUY-SIGNAL Pro - 10 Indicators - Strategy Godinho 2Best 10 indicators
Strong buy YELLOW
Buy GREEN
Hold PINK
Sell RED
Screener based on Profitunity strategy for multiple timeframes
Screener based on Profitunity strategy by Bill Williams for multiple timeframes (max 5, including chart timeframe) and customizable symbol list. The screener analyzes the Alligator and Awesome Oscillator indicators, Divergent bars and high volume bars.
The maximum allowed number of requests (symbols and timeframes) is limited to 40 requests, for example, for 10 symbols by 4 requests of different timeframes. Therefore, the indicator automatically limits the number of displayed symbols depending on the number of timeframes for each symbol, if there are more symbols than are displayed in the screener table, then the ordinal numbers are displayed to the left of the symbols, in this case you can display the next group of symbols by increasing the value by 1 in the "Show tickers from" field, if the "Group" field is enabled, or specify the symbol number by 1 more than the last symbol in the screener table. 👀 When timeframe filtering is applied, the screener table displays only the columns of those timeframes for which the filtering value is selected, which allows displaying more symbols.
For each timeframe, in the "TIMEFRAMES > Prev" field, you can enable the display of data for the previous bar relative to the last (current) one, if the market is open for the requested symbol. In the "TIMEFRAMES > Y" field, you can enable filtering depending on the location of the last five bars relative to the Alligator indicator lines, which are designated by special symbols in the screener table:
⬆️ — if the Alligator is open upwards (Lips > Teeth > Jaw) and none of the bars is closed below the Lips line;
↗️ — if one of the bars, except for the penultimate one, is closed below Lips, or two bars, except for the last one, are closed below Lips, or the Alligator is open upwards only below four bars, but none of the bars is closed below Lips;
⬇️ — if the Alligator is open downwards (Lips < Teeth < Jaw), but none of the bars is closed above Lips;
↘️ — if one of the bars, except the penultimate one, is closed above the Lips, or two bars, except the last one, are closed above the Lips, or the Alligator is open down only above four bars, but none of the bars are closed above the Lips;
➡️ — in other cases, including when the Alligator lines intersect and one of the bars is closed behind the Lips line or two bars intersect one of the Alligator lines.
In the "TIMEFRAMES > Show bar change value for TF" field, you can add a column to the right of the selected timeframe column with the percentage change between the closing price of the last bar (current) and the closing price of the previous bar ((close – previous close) / previous close * 100). Depending on the percentage value, the background color of the screener table cell will change: dark red if <= -3%; red if <= -2%, light red if <= -0.5%; dark green if >= 3%; green if >= 2%; light green if >= 0.5%.
For each timeframe, the screener table displays the symbol of the latest (current) bar, depending on the closing price relative to the bar's midpoint ((high + low) / 2) and its location relative to the Alligator indicator lines: ⎾ — the bar's closing price is above its midpoint; ⎿ — the bar's closing price is below its midpoint; ├ — the bar's closing price is equal to its midpoint; 🟢 — Bullish Divergent bar, i.e. the bar's closing price is above its midpoint, the bar's high is below all Alligator lines, the bar's low is below the previous bar's low; 🔴 — Bearish Divergent bar, i.e. the bar's closing price is below its midpoint, the bar's low is above all Alligator lines, the bar's high is above the previous bar's high. When filtering is enabled in the "TIMEFRAMES > Filtering by Divergent bar" field, the data in the screener table cells will be displayed only for those timeframes that have a Divergent bar. A high bar volume signal is also displayed — 📶/📶² if the bar volume is greater than 40%/70% of the average volume value calculated using a simple moving average (SMA) in the 140 bar interval from the last bar.
In the indicator settings in the "SYMBOL LIST" field, each ticker (for example: OANDA:SPX500USD) must be on a separate line. If the market is closed, then the data for requested symbols will be limited to the time of the last (current) bar on the chart, for example, if the current symbol was traded yesterday, and the requested symbol is traded today, when requesting data for an hourly timeframe, the last bar will be for yesterday, if the timeframe of the current chart is not higher than 1 day. Therefore, by default, a warning will be displayed on the chart instead of the screener table that if the market is open, you must wait for the screener to load (after the first price change on the current chart), or if the highest timeframe in the screener is 1 day, you will be prompted to change the timeframe on the current chart to 1 week, if the screener requests data for the timeframe of 1 week, you will be prompted to change the timeframe on the current chart to 1 month, or switch to another symbol on the current chart for which the market is open (for example: BINANCE:BTCUSDT), or disable the warning in the field "SYMBOL LIST > Do not display screener if market is close".
The number of the last columns with the color of the AO indicator that will be displayed in the screener table for each timeframe is specified in the indicator settings in the "AWESOME OSCILLATOR > Number of columns" field.
For each timeframe, the direction of the trend between the price of the highest and lowest bars in the specified range of bars from the last bar is displayed — ↑ if the trend is up (the highest bar is to the right of the lowest), or ↓ if the trend is down (the lowest bar is to the right of the highest). If there is a divergence on the AO indicator in the specified interval, the symbol ∇ is also displayed. The average volume value is also calculated in the specified interval using a simple moving average (SMA). The number of bars is set in the indicator settings in the "INTERVAL FOR HIGHEST AND LOWEST BARS > Bars count" field.
In the indicator settings in the "STYLE" field you can change the position of the screener table relative to the chart window, the background color, the color and size of the text.
***
Скринер на основе стратегии Profitunity Билла Вильямса для нескольких таймфреймов (максимум 5, включая таймфрейм графика) и настраиваемого списка символов. Скринер анализирует индикаторы Alligator и Awesome Oscillator, Дивергентные бары и бары с высоким объемом.
Максимально допустимое количество запросов (символы и таймфреймы) ограничено 40 запросами, например, для 10 символов по 4 запроса разных таймфреймов. Поэтому в индикаторе автоматически ограничивается количество отображаемых символов в зависимости от количества таймфреймов для каждого символа, если символов больше чем отображено в таблице скринера, то слева от символов отображаются порядковые номера, в таком случае можно отобразить следующую группу символов, увеличив значение на 1 в настройках индикатора поле "Show tickers from", если включено поле "Group", или указать номер символа на 1 больше, чем последний символ в таблице скринера. 👀 Когда применяется фильтрация по таймфрейму, в таблице скринера отображаются только столбцы тех таймфреймов, для которых выбрано значение фильтрации, что позволяет отображать большее количество символов.
Для каждого таймфрейма в настройках индикатора в поле "TIMEFRAMES > Prev" можно включить отображение данных для предыдущего бара относительно последнего (текущего), если для запрашиваемого символа рынок открыт. В поле "TIMEFRAMES > Y" можно включить фильтрацию, в зависимости от расположения последних пяти баров относительно линий индикатора Alligator, которые обозначаются специальными символами в таблице скринера:
⬆️ — если Alligator открыт вверх (Lips > Teeth > Jaw) и ни один из баров не закрыт ниже линии Lips;
↗️ — если один из баров, кроме предпоследнего, закрыт ниже Lips, или два бара, кроме последнего, закрыты ниже Lips, или Alligator открыт вверх только ниже четырех баров, но ни один из баров не закрыт ниже Lips;
⬇️ — если Alligator открыт вниз (Lips < Teeth < Jaw), но ни один из баров не закрыт выше Lips;
↘️ — если один из баров, кроме предпоследнего, закрыт выше Lips, или два бара, кроме последнего, закрыты выше Lips, или Alligator открыт вниз только выше четырех баров, но ни один из баров не закрыт выше Lips;
➡️ — в остальных случаях, в то числе когда линии Alligator пересекаются и один из баров закрыт за линией Lips или два бара пересекают одну из линий Alligator.
В поле "TIMEFRAMES > Show bar change value for TF" можно добавить справа от выбранного столбца таймфрейма столбец с процентным изменением между ценой закрытия последнего бара (текущего) и ценой закрытия предыдущего бара ((close – previous close) / previous close * 100). В зависимости от величины процента будет меняться цвет фона ячейки таблицы скринера: темно-красный, если <= -3%; красный, если <= -2%, светло-красный, если <= -0.5%; темно-зеленый, если >= 3%; зеленый, если >= 2%; светло-зеленый, если >= 0.5%.
Для каждого таймфрейма в таблице скринера отображается символ последнего (текущего) бара, в зависимости от цены закрытия относительно середины бара ((high + low) / 2) и расположения относительно линий индикатора Alligator: ⎾ — цена закрытия бара выше его середины; ⎿ — цена закрытия бара ниже его середины; ├ — цена закрытия бара равна его середине; 🟢 — Бычий Дивергентный бар, т.е. цена закрытия бара выше его середины, максимум бара ниже всех линий Alligator, минимум бара ниже минимума предыдущего бара; 🔴 — Медвежий Дивергентный бар, т.е. цена закрытия бара ниже его середины, минимум бара выше всех линий Alligator, максимум бара выше максимума предыдущего бара. При включении фильтрации в поле "TIMEFRAMES > Filtering by Divergent bar" данные в ячейках таблицы скринера будут отображаться только для тех таймфреймов, где есть Дивергентный бар. Также отображается сигнал высокого объема бара — 📶/📶², если объем бара больше чем на 40%/70% среднего значения объема, рассчитанного с помощью простой скользящей средней (SMA) в интервале 140 баров от последнего бара.
В настройках индикатора в поле "SYMBOL LIST" каждый тикер (например: OANDA:SPX500USD) должен быть на отдельной строке. Если рынок закрыт, то данные для запрашиваемых символов будут ограничены временем последнего (текущего) бара на графике, например, если текущий символ торговался последний день вчера, а запрашиваемый символ торгуется сегодня, при запросе данных для часового таймфрейма, последний бар будет за вчерашний день, если таймфрейм текущего графика не выше 1 дня. Поэтому по умолчанию на графике будет отображаться предупреждение вместо таблицы скринера о том, что если рынок открыт, то необходимо дождаться загрузки скринера (после первого изменения цены на текущем графике), или если в скринере самый высокий таймфрейм 1 день, то будет предложено изменить на текущем графике таймфрейм на 1 неделю, если в скринере запрашиваются данные для таймфрейма 1 неделя, то будет предложено изменить на текущем графике таймфрейм на 1 месяц, или же переключиться на другой символ на текущем графике, для которого рынок открыт (например: BINANCE:BTCUSDT), или отключить предупреждение в поле "SYMBOL LIST > Do not display screener if market is close".
Количество последних столбцов с цветом индикатора AO, которые будут отображены в таблице скринера для каждого таймфрейма, указывается в настройках индикатора в поле "AWESOME OSCILLATOR > Number of columns".
Для каждого таймфрейма отображается направление тренда между ценой самого высокого и самого низкого баров в указанном интервале баров от последнего бара — ↑, если тренд направлен вверх (самый высокий бар справа от самого низкого), или ↓, если тренд направлен вниз (самый низкий бар справа от самого высокого). Если есть дивергенция на индикаторе AO в указанном интервале, то также отображается символ — ∇. В указанном интервале также рассчитывается среднее значение объема с помощью простой скользящей средней (SMA). Количество баров устанавливается в настройках индикатора в поле "INTERVAL FOR HIGHEST AND LOWEST BARS > Bars count".
В настройках индикатора в поле "STYLE" можно изменить положение таблицы скринера относительно окна графика, цвет фона, цвет и размер текста.
Capiba Custom RSI with Divergences v2
🇬🇧 English
Summary
This indicator is an enhanced and customizable version of the classic RSI, designed to provide clearer and more powerful trading signals. It combines an alternative, more price-sensitive RSI calculation with an automatic divergence detection, which is one of the most effective tools for predicting trend reversals and finding high-probability entry and exit points.
Built upon the compilation of knowledge and open-source codes from the community, this script has been refined to be an all-in-one tool for traders who base their strategies on momentum and trend exhaustion.
Key Features and How to Use
Ultimate RSI and Signal Line (Momentum)
What it is: The main indicator (white line) is an RSI variation that reacts more dynamically to changes in price volatility. It is accompanied by a signal line (orange, by default), which is a moving average of the RSI itself, serving to smooth the indicator and generate crossover signals.
How to use for Entries/Exits:
Buy Signal (Short-Term): Crossover of the RSI line (white) above the signal line (orange).
Sell Signal (Short-Term): Crossover of the RSI line (white) below the signal line (orange). These are momentum signals, ideal for confirming a trend or for scalping.
Automatic Divergence Detection (Reversal Signals) This is the most powerful feature of the indicator. A divergence occurs when the price moves in one direction and the momentum indicator moves in the opposite direction, signaling a likely exhaustion of the current trend.
Bullish Divergence (Green Line):
What it is: The price makes a lower low, but the RSI makes a higher low.
Meaning: Selling pressure is decreasing. It is a strong signal of a potential market bottom and an excellent entry opportunity for a long position.
Bearish Divergence (Red Line):
What it is: The price makes a higher high, but the RSI makes a lower high.
Meaning: Buying pressure is losing strength. It is a strong signal of a potential market top and an excellent exit opportunity for a long position or an entry for a short position.
Customizable Overbought & Oversold Levels
The horizontal lines (default 80 and 20) and the colored areas show when the asset is overextended to the upside (overbought) or downside (oversold), helping to contextualize the divergence and crossover signals.
Recommended Strategy
For maximum effectiveness, combine the signals:
High-Probability Entry (Buy): Look for a Bullish Divergence (green line) forming in the oversold zone. Confirm the entry when the RSI line crosses above its signal line.
High-Probability Exit (Sell): Look for a Bearish Divergence (red line) forming in the overbought zone. Confirm the exit or new short entry when the RSI line crosses below its signal line.
Acknowledgements
This indicator was developed by compiling and customizing excellent open-source ideas and codes shared by the TradingView community. Special thanks to everyone who contributes to the advancement of technical analysis.
Multi-Timeframe Bollinger Band PositionBeta version.
My hope is to optimize the settings for this indicator and reintroduce it as a "strategy" with suggested position entry and exit points shown in the price pane.
Any feedback is appreciated.
Overview
This indicator is an oscillator that measures the normalized position of the price relative to Bollinger Bands across multiple timeframes. It takes the price's position within the Bollinger Bands (calculated on different timeframes) and averages those positions to create a single value that oscillates between 0 and 1. This value is then plotted as the oscillator, with reference lines and colored regions to help interpret the price's relative strength or weakness.
How It Works
Bollinger Band Calculation:
The indicator uses a custom function f_getBBPosition() to calculate the position of the price within Bollinger Bands for a given timeframe.
Price Position Normalization:
For each timeframe, the function normalizes the price's position between the upper and lower Bollinger Bands.
It calculates three positions based on the high, low, and close prices of the requested timeframe:
pos_high = (High - Lower Band) / (Upper Band - Lower Band)
pos_low = (Low - Lower Band) / (Upper Band - Lower Band)
pos_close = (Close - Lower Band) / (Upper Band - Lower Band)
If the upper band is not greater than the lower band or if the data is invalid (e.g., na), it defaults to 0.5 (the midline).
The average of these three positions (avg_pos) represents the normalized position for that timeframe, ranging from 0 (at the lower band) to 1 (at the upper band).
Multi-Timeframe Averaging:
The indicator fetches Bollinger Band data from four customizable timeframes (default: 30min, 60min, 240min, daily) using request.security() with lookahead=barmerge.lookahead_on to get the latest available data.
It calculates the normalized position (pos1, pos2, pos3, pos4) for each timeframe using f_getBBPosition().
These four positions are then averaged to produce the final avg_position:avg_position = (pos1 + pos2 + pos3 + pos4) / 4
This average is the oscillator value, which is plotted and typically oscillates between 0 and 1.
Moving Averages:
Two optional moving averages (MA1 and MA2) of the avg_position can be enabled, calculated using simple moving averages (ta.sma) with customizable lengths (default: 5 and 10).
These can be potentially used for MA crossover strategies.
What Is Being Averaged?
The oscillator (avg_position) is the average of the normalized price positions within the Bollinger Bands across the four selected timeframes. Specifically:It averages the avg_pos values (pos1, pos2, pos3, pos4) calculated for each timeframe.
Each avg_pos is itself an average of the normalized positions of the high, low, and close prices relative to the Bollinger Bands for that timeframe.
This multi-timeframe averaging smooths out short-term fluctuations and provides a broader perspective on the price's position within the volatility bands.
Interpretation:
0.0 The price is at or below the lower Bollinger Band across all timeframes (indicating potential oversold conditions).
0.15: A customizable level (green band) which can be used for exiting short positions or entering long positions.
0.5: The midline, where the price is at the average of the Bollinger Bands (neutral zone).
0.85: A customizable level (orange band) which can be used for exiting long positions or entering short positions.
1.0: The price is at or above the upper Bollinger Band across all timeframes (indicating potential overbought conditions).
The colored regions and moving averages (if enabled) help identify trends or crossovers for trading signals.
Example:
If the 30min timeframe shows the close at the upper band (position = 1.0), the 60min at the midline (position = 0.5), the 240min at the lower band (position = 0.0), and the daily at the upper band (position = 1.0), the avg_position would be:(1.0 + 0.5 + 0.0 + 1.0) / 4 = 0.625
This value (0.625) would plot in the orange region (between 0.85 and 0.5), suggesting the price is relatively strong but not at an extreme.
Notes:
The use of lookahead=barmerge.lookahead_on ensures the indicator uses the latest available data, making it more real-time, though its effectiveness depends on the chart timeframe and TradingView's data feed.
The indicator’s sensitivity can be adjusted by changing bb_length ("Bollinger Band MA Length" in the Input tab), bb_mult ("Bollinger Band Standard Deviation," also in the Input tab), or the selected timeframes.
CNS - Multi-Timeframe Bollinger Band OscillatorMy hope is to optimize the settings for this indicator and reintroduce it as a "strategy" with suggested position entry and exit points shown in the price pane.
I’ve been having good results setting the “Bollinger Band MA Length” in the Input tab to between 5 and 10. You can use the standard 20 period, but your results will not be as granular.
This indicator has proven very good at finding local tops and bottoms by combining data from multiple timeframes. Use BB timeframes that are lower than the timeframe you are viewing in your price pane.
The default settings work best on the weekly timeframe, but can be adjusted for most timeframes including intraday.
Be cognizant that the indicator, like other oscillators, does occasionally produce divergences at tops and bottoms.
Any feedback is appreciated.
Overview
This indicator is an oscillator that measures the normalized position of the price relative to Bollinger Bands across multiple timeframes. It takes the price's position within the Bollinger Bands (calculated on different timeframes) and averages those positions to create a single value that oscillates between 0 and 1. This value is then plotted as the oscillator, with reference lines and colored regions to help interpret the price's relative strength or weakness.
How It Works
Bollinger Band Calculation:
The indicator uses a custom function f_getBBPosition() to calculate the position of the price within Bollinger Bands for a given timeframe.
Price Position Normalization:
For each timeframe, the function normalizes the price's position between the upper and lower Bollinger Bands.
It calculates three positions based on the high, low, and close prices of the requested timeframe:
pos_high = (High - Lower Band) / (Upper Band - Lower Band)
pos_low = (Low - Lower Band) / (Upper Band - Lower Band)
pos_close = (Close - Lower Band) / (Upper Band - Lower Band)
If the upper band is not greater than the lower band or if the data is invalid (e.g., na), it defaults to 0.5 (the midline).
The average of these three positions (avg_pos) represents the normalized position for that timeframe, ranging from 0 (at the lower band) to 1 (at the upper band).
Multi-Timeframe Averaging:
The indicator fetches Bollinger Band data from four customizable timeframes (default: 30min, 60min, 240min, daily) using request.security() with lookahead=barmerge.lookahead_on to get the latest available data.
It calculates the normalized position (pos1, pos2, pos3, pos4) for each timeframe using f_getBBPosition().
These four positions are then averaged to produce the final avg_position:avg_position = (pos1 + pos2 + pos3 + pos4) / 4
This average is the oscillator value, which is plotted and typically oscillates between 0 and 1.
Moving Averages:
Two optional moving averages (MA1 and MA2) of the avg_position can be enabled, calculated using simple moving averages (ta.sma) with customizable lengths (default: 5 and 10).
These can be potentially used for MA crossover strategies.
What Is Being Averaged?
The oscillator (avg_position) is the average of the normalized price positions within the Bollinger Bands across the four selected timeframes. Specifically:It averages the avg_pos values (pos1, pos2, pos3, pos4) calculated for each timeframe.
Each avg_pos is itself an average of the normalized positions of the high, low, and close prices relative to the Bollinger Bands for that timeframe.
This multi-timeframe averaging smooths out short-term fluctuations and provides a broader perspective on the price's position within the volatility bands.
Interpretation
0.0 The price is at or below the lower Bollinger Band across all timeframes (indicating potential oversold conditions).
0.15: A customizable level (green band) which can be used for exiting short positions or entering long positions.
0.5: The midline, where the price is at the average of the Bollinger Bands (neutral zone).
0.85: A customizable level (orange band) which can be used for exiting long positions or entering short positions.
1.0: The price is at or above the upper Bollinger Band across all timeframes (indicating potential overbought conditions).
The colored regions and moving averages (if enabled) help identify trends or crossovers for trading signals.
Example
If the 30min timeframe shows the close at the upper band (position = 1.0), the 60min at the midline (position = 0.5), the 240min at the lower band (position = 0.0), and the daily at the upper band (position = 1.0), the avg_position would be:(1.0 + 0.5 + 0.0 + 1.0) / 4 = 0.625
This value (0.625) would plot in the orange region (between 0.85 and 0.5), suggesting the price is relatively strong but not at an extreme.
Notes
The use of lookahead=barmerge.lookahead_on ensures the indicator uses the latest available data, making it more real-time, though its effectiveness depends on the chart timeframe and TradingView's data feed.
The indicator’s sensitivity can be adjusted by changing bb_length ("Bollinger Band MA Length" in the Input tab), bb_mult ("Bollinger Band Standard Deviation," also in the Input tab), or the selected timeframes.
Multi-Timeframe Bollinger BandsMy hope is to optimize the settings for this indicator and reintroduce it as a "strategy" with suggested position entry and exit points shown in the price pane.
I’ve been having good results setting the “Bollinger Band MA Length” in the Input tab to between 5 and 10. You can use the standard 20 period, but your results will not be as granular.
This indicator has proven very good at finding local tops and bottoms by combining data from multiple timeframes. Use timeframes that are lower than the timeframe you are viewing in your price pane. Be cognizant that the indicator, like other oscillators, does occasionally produce divergences at tops and bottoms.
Any feedback is appreciated.
Overview
This indicator is an oscillator that measures the normalized position of the price relative to Bollinger Bands across multiple timeframes. It takes the price's position within the Bollinger Bands (calculated on different timeframes) and averages those positions to create a single value that oscillates between 0 and 1. This value is then plotted as the oscillator, with reference lines and colored regions to help interpret the price's relative strength or weakness.
How It Works
Bollinger Band Calculation:
The indicator uses a custom function f_getBBPosition() to calculate the position of the price within Bollinger Bands for a given timeframe.
Price Position Normalization:
For each timeframe, the function normalizes the price's position between the upper and lower Bollinger Bands.
It calculates three positions based on the high, low, and close prices of the requested timeframe:
pos_high = (High - Lower Band) / (Upper Band - Lower Band)
pos_low = (Low - Lower Band) / (Upper Band - Lower Band)
pos_close = (Close - Lower Band) / (Upper Band - Lower Band)
If the upper band is not greater than the lower band or if the data is invalid (e.g., na), it defaults to 0.5 (the midline).
The average of these three positions (avg_pos) represents the normalized position for that timeframe, ranging from 0 (at the lower band) to 1 (at the upper band).
Multi-Timeframe Averaging:
The indicator fetches Bollinger Band data from four customizable timeframes (default: 30min, 60min, 240min, daily) using request.security() with lookahead=barmerge.lookahead_on to get the latest available data.
It calculates the normalized position (pos1, pos2, pos3, pos4) for each timeframe using f_getBBPosition().
These four positions are then averaged to produce the final avg_position:avg_position = (pos1 + pos2 + pos3 + pos4) / 4
This average is the oscillator value, which is plotted and typically oscillates between 0 and 1.
Moving Averages:
Two optional moving averages (MA1 and MA2) of the avg_position can be enabled, calculated using simple moving averages (ta.sma) with customizable lengths (default: 5 and 10).
These can be potentially used for MA crossover strategies.
What Is Being Averaged?
The oscillator (avg_position) is the average of the normalized price positions within the Bollinger Bands across the four selected timeframes. Specifically:It averages the avg_pos values (pos1, pos2, pos3, pos4) calculated for each timeframe.
Each avg_pos is itself an average of the normalized positions of the high, low, and close prices relative to the Bollinger Bands for that timeframe.
This multi-timeframe averaging smooths out short-term fluctuations and provides a broader perspective on the price's position within the volatility bands.
Interpretation
0.0 The price is at or below the lower Bollinger Band across all timeframes (indicating potential oversold conditions).
0.15: A customizable level (green band) which can be used for exiting short positions or entering long positions.
0.5: The midline, where the price is at the average of the Bollinger Bands (neutral zone).
0.85: A customizable level (orange band) which can be used for exiting long positions or entering short positions.
1.0: The price is at or above the upper Bollinger Band across all timeframes (indicating potential overbought conditions).
The colored regions and moving averages (if enabled) help identify trends or crossovers for trading signals.
Example
If the 30min timeframe shows the close at the upper band (position = 1.0), the 60min at the midline (position = 0.5), the 240min at the lower band (position = 0.0), and the daily at the upper band (position = 1.0), the avg_position would be:(1.0 + 0.5 + 0.0 + 1.0) / 4 = 0.625
This value (0.625) would plot in the orange region (between 0.85 and 0.5), suggesting the price is relatively strong but not at an extreme.
Notes
The use of lookahead=barmerge.lookahead_on ensures the indicator uses the latest available data, making it more real-time, though its effectiveness depends on the chart timeframe and TradingView's data feed.
The indicator’s sensitivity can be adjusted by changing bb_length ("Bollinger Band MA Length" in the Input tab), bb_mult ("Bollinger Band Standard Deviation," also in the Input tab), or the selected timeframes.
Average True Range %The ATR% oscillator measures market volatility as a percentage of the closing price, smooths it using a chosen method (RMA, SMA, EMA, or WMA), and compares it to the threshold levels of 0.95% and 1.20%.
Becak I-series: Indicator Floating Panels v.80Becak I-series: Floating Panels v.80th (Indonesia Independence Days)
What it does:
This indicator creates three floating overlay panels that display MACD, RSI, and Stochastic oscillators directly on your price chart. Unlike traditional separate panes, these panels hover over your chart with customizable positioning and transparency, providing a clean, space-efficient way to monitor multiple technical indicators simultaneously.
When to use:
When you need to monitor momentum, trend strength, and overbought/oversold conditions without cluttering your workspace
Perfect for traders who want quick visual access to multiple oscillators while maintaining focus on price action
Ideal for any timeframe and asset class (stocks, crypto, forex, commodities)
How it works:
The script calculates standard MACD (12,26,9), RSI (14), and Stochastic (14,3,3) values, then renders them as floating panels with:
MACD Panel: Shows MACD line (blue), Signal line (orange), and histogram (green/red bars)
RSI Panel: Displays RSI line (purple) with overbought (70) and oversold (30) reference levels
Stochastic Panel: Shows %K (blue) and %D (orange) lines with optional buy/sell signals and highlighted overbought/oversold zones
Customization options:
Position: Choose Top, Bottom, or Auto-Center placement
Size: Adjust panel height (15-35% of chart) and spacing between panels
Positioning: Fine-tune vertical center offset and horizontal positioning
Appearance: Toggle panel backgrounds and adjust transparency (50-95%)
Parameters: Modify all indicator lengths and overbought/oversold levels
Signals: Enable/disable Stochastic crossover signals
Display: Control lookback period (30-100 bars) and right margin spacing
Universal compatibility: Works seamlessly across all asset types with automatic range detection and scaling.
DIRGAHAYU HARI KEMERDEKAAN KE 80 - INDONESIA ... MERDEKA!!!!!
Machine Learning BBPct [BackQuant]Machine Learning BBPct
What this is (in one line)
A Bollinger Band %B oscillator enhanced with a simplified K-Nearest Neighbors (KNN) pattern matcher. The model compares today’s context (volatility, momentum, volume, and position inside the bands) to similar situations in recent history and blends that historical consensus back into the raw %B to reduce noise and improve context awareness. It is informational and diagnostic—designed to describe market state, not to sell a trading system.
Background: %B in plain terms
Bollinger %B measures where price sits inside its dynamic envelope: 0 at the lower band, 1 at the upper band, ~ 0.5 near the basis (the moving average). Readings toward 1 indicate pressure near the envelope’s upper edge (often strength or stretch), while readings toward 0 indicate pressure near the lower edge (often weakness or stretch). Because bands adapt to volatility, %B is naturally comparable across regimes.
Why add (simplified) KNN?
Classic %B is reactive and can be whippy in fast regimes. The simplified KNN layer builds a “nearest-neighbor memory” of recent market states and asks: “When the market looked like this before, where did %B tend to be next bar?” It then blends that estimate with the current %B. Key ideas:
• Feature vector . Each bar is summarized by up to five normalized features:
– %B itself (normalized)
– Band width (volatility proxy)
– Price momentum (ROC)
– Volume momentum (ROC of volume)
– Price position within the bands
• Distance metric . Euclidean distance ranks the most similar recent bars.
• Prediction . Average the neighbors’ prior %B (lagged to avoid lookahead), inverse-weighted by distance.
• Blend . Linearly combine raw %B and KNN-predicted %B with a configurable weight; optional filtering then adapts to confidence.
This remains “simplified” KNN: no training/validation split, no KD-trees, no scaling beyond windowed min-max, and no probabilistic calibration.
How the script is organized (by input groups)
1) BBPct Settings
• Price Source – Which price to evaluate (%B is computed from this).
• Calculation Period – Lookback for SMA basis and standard deviation.
• Multiplier – Standard deviation width (e.g., 2.0).
• Apply Smoothing / Type / Length – Optional smoothing of the %B stream before ML (EMA, RMA, DEMA, TEMA, LINREG, HMA, etc.). Turning this off gives you the raw %B.
2) Thresholds
• Overbought/Oversold – Default 0.8 / 0.2 (inside ).
• Extreme OB/OS – Stricter zones (e.g., 0.95 / 0.05) to flag stretch conditions.
3) KNN Machine Learning
• Enable KNN – Switch between pure %B and hybrid.
• K (neighbors) – How many historical analogs to blend (default 8).
• Historical Period – Size of the search window for neighbors.
• ML Weight – Blend between raw %B and KNN estimate.
• Number of Features – Use 2–5 features; higher counts add context but raise the risk of overfitting in short windows.
4) Filtering
• Method – None, Adaptive, Kalman-style (first-order),
or Hull smoothing.
• Strength – How aggressively to smooth. “Adaptive” uses model confidence to modulate its alpha: higher confidence → stronger reliance on the ML estimate.
5) Performance Tracking
• Win-rate Period – Simple running score of past signal outcomes based on target/stop/time-out logic (informational, not a robust backtest).
• Early Entry Lookback – Horizon for forecasting a potential threshold cross.
• Profit Target / Stop Loss – Used only by the internal win-rate heuristic.
6) Self-Optimization
• Enable Self-Optimization – Lightweight, rolling comparison of a few canned settings (K = 8/14/21 via simple rules on %B extremes).
• Optimization Window & Stability Threshold – Governs how quickly preferred K changes and how sensitive the overfitting alarm is.
• Adaptive Thresholds – Adjust the OB/OS lines with volatility regime (ATR ratio), widening in calm markets and tightening in turbulent ones (bounded 0.7–0.9 and 0.1–0.3).
7) UI Settings
• Show Table / Zones / ML Prediction / Early Signals – Toggle informational overlays.
• Signal Line Width, Candle Painting, Colors – Visual preferences.
Step-by-step logic
A) Compute %B
Basis = SMA(source, len); dev = stdev(source, len) × multiplier; Upper/Lower = Basis ± dev.
%B = (price − Lower) / (Upper − Lower). Optional smoothing yields standardBB .
B) Build the feature vector
All features are min-max normalized over the KNN window so distances are in comparable units. Features include normalized %B, normalized band width, normalized price ROC, normalized volume ROC, and normalized position within bands. You can limit to the first N features (2–5).
C) Find nearest neighbors
For each bar inside the lookback window, compute the Euclidean distance between current features and that bar’s features. Sort by distance, keep the top K .
D) Predict and blend
Use inverse-distance weights (with a strong cap for near-zero distances) to average neighbors’ prior %B (lagged by one bar). This becomes the KNN estimate. Blend it with raw %B via the ML weight. A variance of neighbor %B around the prediction becomes an uncertainty proxy ; combined with a stability score (how long parameters remain unchanged), it forms mlConfidence ∈ . The Adaptive filter optionally transforms that confidence into a smoothing coefficient.
E) Adaptive thresholds
Volatility regime (ATR(14) divided by its 50-bar SMA) nudges OB/OS thresholds wider or narrower within fixed bounds. The aim: comparable extremeness across regimes.
F) Early entry heuristic
A tiny two-step slope/acceleration probe extrapolates finalBB forward a few bars. If it is on track to cross OB/OS soon (and slope/acceleration agree), it flags an EARLY_BUY/SELL candidate with an internal confidence score. This is explicitly a heuristic—use as an attention cue, not a signal by itself.
G) Informational win-rate
The script keeps a rolling array of trade outcomes derived from signal transitions + rudimentary exits (target/stop/time). The percentage shown is a rough diagnostic , not a validated backtest.
Outputs and visual language
• ML Bollinger %B (finalBB) – The main line after KNN blending and optional filtering.
• Gradient fill – Greenish tones above 0.5, reddish below, with intensity following distance from the midline.
• Adaptive zones – Overbought/oversold and extreme bands; shaded backgrounds appear at extremes.
• ML Prediction (dots) – The KNN estimate plotted as faint circles; becomes bright white when confidence > 0.7.
• Early arrows – Optional small triangles for approaching OB/OS.
• Candle painting – Light green above the midline, light red below (optional).
• Info panel – Current value, signal classification, ML confidence, optimized K, stability, volatility regime, adaptive thresholds, overfitting flag, early-entry status, and total signals processed.
Signal classification (informational)
The indicator does not fire trade commands; it labels state:
• STRONG_BUY / STRONG_SELL – finalBB beyond extreme OS/OB thresholds.
• BUY / SELL – finalBB beyond adaptive OS/OB.
• EARLY_BUY / EARLY_SELL – forecast suggests a near-term cross with decent internal confidence.
• NEUTRAL – between adaptive bands.
Alerts (what you can automate)
• Entering adaptive OB/OS and extreme OB/OS.
• Midline cross (0.5).
• Overfitting detected (frequent parameter flipping).
• Early signals when early confidence > 0.7.
These are purely descriptive triggers around the indicator’s state.
Practical interpretation
• Mean-reversion context – In range markets, adaptive OS/OB with ML smoothing can reduce whipsaws relative to raw %B.
• Trend context – In persistent trends, the KNN blend can keep finalBB nearer the mid/upper region during healthy pullbacks if history supports similar contexts.
• Regime awareness – Watch the volatility regime and adaptive thresholds. If thresholds compress (high vol), “OB/OS” comes sooner; if thresholds widen (calm), it takes more stretch to flag.
• Confidence as a weight – High mlConfidence implies neighbors agree; you may rely more on the ML curve. Low confidence argues for de-emphasizing ML and leaning on raw %B or other tools.
• Stability score – Rising stability indicates consistent parameter selection and fewer flips; dropping stability hints at a shifting backdrop.
Methodological notes
• Normalization uses rolling min-max over the KNN window. This is simple and scale-agnostic but sensitive to outliers; the distance metric will reflect that.
• Distance is unweighted Euclidean. If you raise featureCount, you increase dimensionality; consider keeping K larger and lookback ample to avoid sparse-neighbor artifacts.
• Lag handling intentionally uses neighbors’ previous %B for prediction to avoid lookahead bias.
• Self-optimization is deliberately modest: it only compares a few canned K/threshold choices using simple “did an extreme anticipate movement?” scoring, then enforces a stability regime and an overfitting guard. It is not a grid search or GA.
• Kalman option is a first-order recursive filter (fixed gain), not a full state-space estimator.
• Hull option derives a dynamic length from 1/strength; it is a convenience smoothing alternative.
Limitations and cautions
• Non-stationarity – Nearest neighbors from the recent window may not represent the future under structural breaks (policy shifts, liquidity shocks).
• Curse of dimensionality – Adding features without sufficient lookback can make genuine neighbors rare.
• Overfitting risk – The script includes a crude overfitting detector (frequent parameter flips) and will fall back to defaults when triggered, but this is only a guardrail.
• Win-rate display – The internal score is illustrative; it does not constitute a tradable backtest.
• Latency vs. smoothness – Smoothing and ML blending reduce noise but add lag; tune to your timeframe and objectives.
Tuning guide
• Short-term scalping – Lower len (10–14), slightly lower multiplier (1.8–2.0), small K (5–8), featureCount 3–4, Adaptive filter ON, moderate strength.
• Swing trading – len (20–30), multiplier ~2.0, K (8–14), featureCount 4–5, Adaptive thresholds ON, filter modest.
• Strong trends – Consider higher adaptive_upper/lower bounds (or let volatility regime do it), keep ML weight moderate so raw %B still reflects surges.
• Chop – Higher ML weight and stronger Adaptive filtering; accept lag in exchange for fewer false extremes.
How to use it responsibly
Treat this as a state descriptor and context filter. Pair it with your execution signals (structure breaks, volume footprints, higher-timeframe bias) and risk management. If mlConfidence is low or stability is falling, lean less on the ML line and more on raw %B or external confirmation.
Summary
Machine Learning BBPct augments a familiar oscillator with a transparent, simplified KNN memory of recent conditions. By blending neighbors’ behavior into %B and adapting thresholds to volatility regime—while exposing confidence, stability, and a plain early-entry heuristic—it provides an informational, probability-minded view of stretch and reversion that you can interpret alongside your own process.
QST RSI - Directional Entry Strict📌 Quantum Swing Trading – RSI
The RSI Zones – Directional Entry Strict indicator is designed to highlight high-probability buy and sell opportunities by focusing on strict RSI entry conditions within predefined trading zones.
🔎 How it works:
Calculates the Relative Strength Index (RSI) over a customizable period (default: 14).
Defines Buy Zone between RSI 35–40 and Sell Zone between RSI 60–65 (user adjustable).
Plots shaded green boxes whenever RSI enters the Buy Zone from above, signaling a potential oversold bounce.
Plots shaded red boxes whenever RSI enters the Sell Zone from below, signaling a potential overbought rejection.
Each box dynamically extends as long as RSI stays within the respective zone, giving a clear visual region of opportunity.
A neutral midline (50) is plotted to help confirm momentum bias.
✅ Key Features:
Clear visual zones for directional entries.
Strict entry condition avoids false signals (RSI must enter from the opposite side).
Adjustable thresholds to adapt to different markets or strategies.
Works across Forex, Stocks, Crypto, and Indices.
⚡ How traders use it:
Buy setups when price enters the green RSI zone and aligns with bullish structure/support.
Sell setups when price enters the red RSI zone and aligns with bearish structure/resistance.
Combine with trend filters (EMA, VWAP, Market Structure) for higher accuracy.
🔒 Exclusive Access: This indicator is not free and is available only to members who value premium tools. If you’re ready to level up your trading with institutional precision, this is your edge.
Send me a direct message here on TradingView or via our Discord community: discord.gg
FibAlgo® - Oscillator Matrix™FibAlgo® - Oscillator Matrix™
OVERVIEW
This script takes traditional oscillator analysis a step further by providing a dynamic oscillator framework based on statistical data. Instead of using fixed overbought and oversold levels like 70/30, it analyzes historical price peaks (PH) and troughs (PL) to determine which oscillator levels have historically led to the most frequent reversals. Based on this analysis, it creates "smart" and dynamic overbought (resistance) and oversold (support) zones that continuously update according to market conditions. This offers a data-driven approach that adapts to the market's current volatility and character, unlike the static nature of standard oscillators.
CONCEPTS
The power of the FibAlgo® - Oscillator Matrix™ comes from four core concepts. Understanding this logic will allow you to use the indicator most effectively.
1. The Statistical Engine (ZigZag and Pivot Analysis): The indicator's brain uses a ZigZag algorithm to detect significant turning points (peaks and troughs) in price action. It analyzes a user-defined number of past peaks (PH) and troughs (PL) as set by Lookback Pivots. Each time a pivot point is formed, it records the oscillator's value at that moment (e.g., RSI, MFI, Stochastic, etc.).
2. Frequency Analysis and Dynamic Zones:
These recorded oscillator values are grouped into categories with specific ranges (e.g., '80-85', '85-90'). The indicator then statistically calculates which category has occurred most frequently at price peaks and which at price troughs.
Maroon Band (Peak Zone): This is the dynamic overbought/resistance zone, representing the oscillator range where price peaks have historically occurred most often.
Teal Band (Trough Zone): This is the dynamic oversold/support zone, representing the oscillator range where price troughs have historically occurred most often.
3. Data Decay (Adaptive Analysis):
When this advanced feature is enabled, the indicator gives more statistical weight to the most recent pivots in its analysis. This is based on the principle that "recent market behavior is more relevant than older data," allowing the indicator to adapt more quickly to changing market conditions. You can control the weighting of recent data with the
Decay Rate setting.
4. Built-in Performance Analysis: The indicator doesn't just show potential reversal zones; it also measures the historical performance of these zones. For each oscillator zone, it calculates the average percentage the price rose or fell (
Avg Drop% / Avg Rise%) and the average number of bars it took for that maximum move to occur (Avg Time). This feature provides critical data for assessing the strength and potential of signals.
FEATURES
Multi-Oscillator Support: Don't limit yourself to a single oscillator. Switch between popular oscillators like RSI, MFI, Momentum, Stochastic, Stochastic RSI, and Chaikin Money Flow to diversify your analysis.
Dynamic and Adaptive Zones: Statistically significant overbought (Maroon) and oversold (Teal) zones that update themselves as new market data comes in.
Advanced Analysis Table: A powerful dashboard that summarizes all of the indicator's statistical findings. This table presents the following data for each oscillator zone:
Zone: The oscillator value range.
Count: The weighted number of pivots that occurred in that zone.
Conf% (Confidence): The percentage telling you how often pivots occurred in this zone relative to all others.
Avg Drop% / Avg Rise%: Shows the average percentage price moved after a pivot in that zone.
Avg Time: Shows the average number of bars it took for the maximum price move to occur.
Built-in Performance Tracking: Objectively measure the historical effectiveness of signal zones to see which levels have offered higher probability trades.
Comprehensive Customization: Adjust numerous parameters to fit your personal strategy, including the ZigZag period, the number of pivots to analyze, the data decay rate, and each oscillator's specific settings (length, smoothing, etc.).
USAGE
The primary purpose of this indicator is to identify buying and selling opportunities based on data-driven zones.
SELL Signals:
Wait for the oscillator to enter the Maroon Band (Peak Zone). This indicates that the oscillator has reached a level historically associated with price tops.
Confirm the signal by checking the Analysis Table. A high
Conf% (Confidence percentage) and a significant Avg Drop% for the corresponding zone suggest a higher probability trade.
BUY Signals:
Wait for the oscillator to enter the Teal Band (Trough Zone). This indicates that the oscillator has reached a level historically associated with price bottoms.
Confirm the signal by checking the Analysis Table. Look for a high Conf% and a strong Avg Rise%. This confirms that the zone has historically provided profitable buying opportunities.
Important Note: While this indicator is a powerful decision-support tool, it should always be used in conjunction with your own price action analysis and risk management strategies. The
Avg Time column can give you an idea of how long a trade might potentially take to play out.
Simple NASDAQ TrackerNasdaq Tracker, is an indicator to use while trading nasdaq stocks.
It uses the chart as a market tracker too know what the overall blue chip market is doing, if it trades above the moving average, it indicates the the overall market is going upp or down.
MVRV and RSI Std DevThis indicator provides a comprehensive, long-term view of market risk and opportunity for Bitcoin by combining fundamental on-chain data with classic momentum analysis.
How It Works:
The oscillator's value is calculated by multiplying two key metrics:
MVRV Ratio: An on-chain metric that indicates if the market price is "fair," "overvalued," or "undervalued" relative to the average price at which all coins last moved.
Weekly RSI: The standard Relative Strength Index on a weekly timeframe to measure long-term market momentum and identify overbought/oversold conditions.
Key Features:
Adaptive Risk Bands: Instead of fixed "overbought/oversold" levels, this indicator uses dynamic bands based on a long-term 4 year moving average and standard deviation. These bands automatically adjust to the market's changing volatility and cyclical nature, ensuring the risk/reward zones remain relevant over time.
Gradient Coloring: The oscillator line is colored on a smooth gradient from deep green (high reward/low risk) to bright red (high risk/low reward). This provides an intuitive, at-a-glance visualization of the market's "temperature."
RSI 自动标注You’ll see : an RSI line, 75/50/25 reference levels, gradient background (green near highs, red near lows), optional smoothing MA/Bollinger Bands, and auto-labeled Bull/Bear divergences.
你将看到:一条 RSI 曲线、75/50/25 三条水平参考线、背景渐变(高位偏绿、低位偏红),可选 平滑均线/布林带,以及自动标注的 Bull/Bear 背离。
W%R
Positioning of this %R setup
Three lines, three roles
Len3 = 42 (slow): defines the environment/direction (trend or range).
Len2 = 25 (medium): filtering/confirmation.
Len1 = 10 (fast): timing/trigger.
Value range: 0 to −100; the closer to 0, the stronger / more overbought; the closer to −100, the weaker / more oversold.
Reference levels: −20 (upper band) / −50 (midline) / −80 (lower band).
Top-right panel: displays the current values and states (overbought / neutral / oversold) for all three lines.
这套 %R 的定位
三根线各司其职
Len3=42(慢):定环境/方向(趋势或震荡)。
Len2=25(中):做过滤/确认。
Len1=10(快):做择时/触发。
读数区间:0 到 -100;越靠近 0 越“强/易超买”,越靠近 -100 越“弱/易超卖”。
三条参考线:-20(上轨)/-50(中线)/-80(下轨)。
右上角表格直接给出三条线的当前值与状态(超买/中性/超卖)。
Order/Breaker Blocks + RSIThis indicator visualizes bullish and bearish order/breaker blocks on the chart and provides entry signals for long and short trades based on RSI and price position relative to the blocks. It features candle highlighting: white when RSI > 70, yellow when RSI < 30 (can be enabled/disabled in the settings). The indicator helps you spot key supply/demand zones and market polarity shifts.
Automatic detection and display of order/breaker blocks.
Long/short signals based on RSI and block position.
Flexible settings for block display and candle highlighting.
Historical polarity change markers.
Useful for visual analysis and finding entry/exit points using the Order Block + RSI strategy.
Индикатор отображает бычьи и медвежьи блоки (Order/Breaker Blocks) на графике, а также сигнальные стрелки для входа в лонг и шорт на основе RSI и положения цены относительно блоков. Встроена функция подсветки свечей: белый цвет при RSI > 70, жёлтый — при RSI < 30 (можно включить/отключить в настройках). Индикатор помогает визуализировать ключевые зоны спроса/предложения и моменты смены рыночной динамики.
Автоматическое определение и отображение блоков.
Сигналы для лонга и шорта с учётом RSI.
Гибкая настройка отображения блоков и подсветки свечей.
Поддержка исторических меток смены полярности.
Подходит для визуального анализа и поиска точек входа/выхода по стратегии Order Block + RSI.
Currency Strength v3.0Currency Strength v3.0
Summary
The Currency Strength indicator is a powerful tool designed to gauge the relative strength of major and emerging market currencies. By plotting the True Strength Index (TSI) of various currency indices, it provides a clear visual representation of which currencies are gaining momentum and which are losing it. This indicator automatically detects the currency pair on your chart and highlights the corresponding strength lines, simplifying analysis and helping you quickly identify potential trading opportunities based on currency dynamics.
Key Features
Comprehensive Currency Analysis: Tracks the strength of 19 currencies, including major pairs and several emerging market currencies.
Automatic Pair Detection: Intelligently identifies the base and quote currency of the active chart, automatically highlighting the relevant strength lines.
Dynamic Coloring: The base currency is consistently colored blue, and the quote currency is colored gold, making it easy to distinguish between the two at a glance.
Non-Repainting TSI Calculation: Uses the True Strength Index (TSI) for smooth and reliable momentum readings that do not repaint.
Customizable Settings: Allows for adjustment of the fast and slow periods for the TSI calculation to fit your specific trading style.
Clean Interface: Features a minimalist legend table that only displays the currencies relevant to your current chart, keeping your workspace uncluttered.
How It Works
The indicator pulls data from major currency indices (like DXY for the US Dollar and EXY for the Euro). For currencies that don't have a dedicated index, it uses their USD pair (e.g., USDCNY) and inverts the calculation to derive the currency's strength relative to the dollar. It then applies the True Strength Index (TSI) to this data. The TSI is a momentum oscillator that is less volatile than other oscillators, providing a more reliable measure of strength. The resulting values are plotted on the chart, allowing you to see how different currencies are performing against each other in real-time.
How to Use
Trend Confirmation: When the base currency's line is rising and above the zero line, and the quote currency's line is falling, it can confirm a bullish trend for the pair. The opposite would suggest a bearish trend.
Identifying Divergences: Look for divergences between the currency strength lines and the price action of the pair. For example, if the price is making higher highs but the base currency's strength is making lower highs, it could signal a potential reversal.
Crossovers: A crossover of the base and quote currency lines can signal a shift in momentum. A bullish signal occurs when the base currency line crosses above the quote currency line. A bearish signal occurs when it crosses below.
Overbought/Oversold Levels: The horizontal dashed lines at 0.5 and -0.5 can be used as general guides for overbought and oversold conditions, respectively. Strength moving beyond these levels may indicate an unsustainable move that is due for a correction.
Settings
Fast Period: The short-term period for the TSI calculation. Default is 7.
Slow Period: The long-term period for the TSI calculation. Default is 15.
Index Source: The price source used for the calculations (e.g., Close, Open). Default is Close.
Base Currency Color: The color for the base currency line. Default is Royal Blue.
Quote Currency Color: The color for the quote currency line. Default is Goldenrod.
Disclaimer
This indicator is intended for educational and analytical purposes only. It is not financial advice. Trading involves substantial risk, and past performance is not indicative of future results. Always conduct your own research and risk management before making any trading decisions.
Q-Stochastic RSI (0–100) — RSI Divergence Addedtesting divergence, and momentum detection with both RSI raw and stoch rsi, pivot point always shown on RAW RSI
RSI + MACD Combo (sajadbagheri)The "RSI+MACD Persian Combo" integrates two classic oscillators with smart normalization. It detects overbought/oversold zones, MACD/RSI convergences, and highlights high-probability reversals using Z-Score scaling. Customizable alerts provide trade-ready signals.
Created by: Sajad Bagheri
SatoshiMultiFrame RSI SatoshiMultiFrame 📈
SatoshiMultiFrame is an advanced, multi-timeframe version of the RSI indicator, designed to look and feel like the built-in TradingView RSI — but with more customization options and professional visual enhancements.
🎯 Features
Multi-Timeframe (MTF) Support – choose any timeframe for RSI calculation.
Customizable RSI Line – change color, thickness, and style (Solid / Dashed / Dotted).
Editable 30 / 50 / 70 Bands – fully customizable in the Style tab.
Smooth Gradient Fill for OB/OS Zones:
🟢 Green shading above Overbought (70)
🔴 Red shading below Oversold (30)
Customizable background for the entire panel.
No repainting – stable and reliable data.
⚙️ Inputs
RSI Length – default 14.
Source – select the price source (Close, Open, etc.).
RSI Timeframe – pick a higher or lower timeframe.
RSI Line Style – choose between Solid / Dashed / Dotted.
Dash Period & Dash Length – adjust the look of dashed lines.
🎨 Style Tab :
Change RSI line color, thickness, and optional MA line.
Edit colors and styles of 30 / 50 / 70 bands.
Enable/disable and recolor OB/OS gradient fills.
Adjust background color and transparency.
📌 How to Use :
Add the indicator to your chart.
In Inputs, set your preferred timeframe, RSI length, and line style.
In Style, adjust colors, thickness, and gradient effects to your preference.
Use the 50 line as a trend reference and monitor RSI behavior in OB/OS zones.
⚠️ Disclaimer: This tool is for educational purposes only and should not be considered financial advice. Always practice proper risk management.