Transfer Function Filter [theUltimator5]The Transfer Function Filter is an engineering style approach to transform the price action on a chart into a frequency, then filter out unwanted signals using Butterworth-style filter approach.
This indicator allows you to analyze market structure by isolating or removing different frequency components of price movement—similar to how engineers filter signals in control systems and electrical circuits.
🔎 Features
Four Filter Types
1) Low Pass Filter – Smooths price data, highlighting long-term trends while filtering out short-term noise. This filter acts similar to an EMA, removing noisy signals, resulting in a smooth curve that follows the price of the stock relative to the filter cutoff settings.
Real world application for low pass filter - Used in power supplies to provide a clean, stable power level.
2) High Pass Filter – Removes slow-moving trends to emphasize short-term volatility and rapid fluctuations. The high pass filter removes the "DC" level of the chart, removing the average price moves and only outputting volatility.
Real world application for high pass filter - Used in audio equalizers to remove low-frequency noise (like rumble) while allowing higher frequencies to pass through, improving sound clarity.
3) Band Pass Filter – Allows signals to plot only within a band of bar ranges. This filter removes the low pass "DC" level and the high pass "high frequency noise spikes" and shows a signal that is effectively a smoothed volatility curve. This acts like a moving average for volatility.
Real world application for band pass filter - Radio stations only allow certain frequency bands so you can change your radio channel by switching which frequency band your filter is set to.
4) Band Stop Filter – Suppresses specific frequency bands (cycles between two cutoffs). This filter allows through the base price moving average, but keeps the high frequency volatility spikes. It allows you to filter out specific time interval price action.
Real world application for band stop filter - If there is prominent frequency signal in the area which can cause unnecessary noise in your system, a band stop filter can cancel out just that frequency so you get everything else
Configurable Parameters
• Cutoff Periods – Define the cycle lengths (in bars) to filter. This is a bit counter-intuitive with the numbering since the higher the bar count on the low-pass filter, the lower the frequency cutoff is. The opposite holds true for the high pass filter.
• Filter Order – Adjust steepness and responsiveness (higher order = sharper filtering, but with more delay).
• Overlay Option – Display Low Pass & Band Stop outputs directly on the price chart, or in a separate pane. This is enabled by default, plotting the filters that mimic moving averages directly onto the chart.
• Source Selection – Apply filters to close, open, high, low, or custom sources.
Histograms for Comparison
• BS–LP Histogram – Shows distance between Band Stop and Low Pass filters.
• BP–HP Histogram – Highlights differences between Band Pass and High Pass filters.
Histograms give the visualization of a pseudo-MACD style indicator
Visual & Informational Aids
• Customizable colors for each filter line.
• Optional zero-line for histogram reference.
• On-chart info table summarizing active filters, cutoff settings, histograms, and filter order.
📊 Use Cases
Trend Detection – Use the Low Pass filter to smooth noise and follow underlying market direction.
Volatility & Cycle Analysis – Apply High Pass or Band Pass to capture shorter-term patterns.
Noise Suppression – Deploy Band Stop to remove specific choppy frequencies.
Momentum Insight – Watch the histograms to spot divergences and relative filter strength.
Indicatori e strategie
Elliott Wave Detector with FibonacciDetermines what timeframe (if any) the underlying asset displays congruence with Elliot Waves, validated by examining the congruence of the waves with fibonacci patterns. Like all backwards-looking indicators, any actual match will be a very pretty coincidence rather than any kind of indicator of potential future behaviour,
Ruptura + EMAs + VWAP + Vela Impulsiva Indicator: Breakout + EMAs + VWAP + Impulsive Candle + TP/SL
This indicator is designed to identify breakout trading opportunities by combining price action, moving averages, volume-weighted price, and impulsive candles, with clearly defined Take Profit (TP) and Stop Loss (SL) levels.
⏱️ Timeframe Logic:
The 15-minute chart is used to define the price range.
Entries are made on the 2-minute chart when breakout conditions align with momentum confirmation.
📌 Key Components:
Range Definition:
Calculates a price range based on a customizable number of candles (rangeBars), typically from the 15-minute timeframe.
Displays a shaded box highlighting this range.
Trend Filters:
Uses a fast EMA (9) and a slow EMA (21) to determine short-term and medium-term trends.
Includes VWAP as a dynamic support/resistance and directional filter.
Only allows trades when both EMAs and price confirm alignment above (for long) or below (for short) the VWAP.
Impulsive Candle Detection:
Confirms breakouts using large-bodied candles that engulf the previous candle's range.
The candle must exceed a certain multiple of the average range (minRangeMult) to qualify.
Breakout Entry Conditions:
Long Setup: Price breaks above the range high, with EMAs and VWAP confirming bullish alignment, and confirmed by an impulsive candle.
Short Setup: Price breaks below the range low, with EMAs and VWAP aligned bearishly, confirmed by an impulsive candle.
Trade Management:
Automatically plots Take Profit and Stop Loss levels based on the size of the entry candle and a customizable TP multiplier.
Visual dashed lines indicate TP (green) and SL (red) zones.
Session Filter:
Entry signals are limited to a specific time window (e.g., 9:00 to 10:00 AM New York time), typically during the NY session open.
Visual Aids:
Background color highlights potential entry zones (green for long, red for short).
Icons mark confirmed impulsive candles and entry signals.
Range box is updated periodically to reflect the active breakout zone.
Script de código abierto
Siguiendo fielmente el espíritu de TradingView, el creador de este script lo ha publicado en código abierto, permitiendo que otros traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Puede utilizarlo de forma gratuita, pero tenga en cuenta que la publicación de este código está sujeta a nuestras Normas internas.
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.
VELA RANGO FUTURESNQ-@MRXAUFXRange candle plus Asian session, add EMAs 9 and 21 and VWAP for the strategy to work
2 Reds -> 2 Greens Strategy with Custom TP/SLcustom candle configuration with a 61 percent win rate in the strategy tester user can configure take profit and stop loss to suit
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.
BTC Power Law Valuation BandsBTC Power Law Rainbow
A long-term valuation framework for Bitcoin based on Power Law growth — designed to help identify macro accumulation and distribution zones, aligned with long-term investor behavior.
🔍 What Is a Power Law?
A Power Law is a mathematical relationship where one quantity varies as a power of another. In this model:
Price ≈ a × (Time)^b
It captures the non-linear, exponentially slowing growth of Bitcoin over time. Rather than using linear or cyclical models, this approach aligns with how complex systems, such as networks or monetary adoption curves, often grow — rapidly at first, and then more slowly, but persistently.
🧠 Why Power Law for BTC?
Bitcoin:
Has finite supply and increasing adoption.
Operates as a monetary network , where Metcalfe’s Law and power laws naturally emerge.
Exhibits exponential growth over logarithmic time when viewed on a log-log chart .
This makes it uniquely well-suited for power law modeling.
🌈 How to Use the Valuation Bands
The central white line represents the modeled fair value according to the power law.
Colored bands represent deviations from the model in logarithmic space, acting as macro zones:
🔵 Lower Bands: Deep value / Accumulation zones.
🟡 Mid Bands: Fair value.
🔴 Upper Bands: Euphoria / Risk of macro tops.
📐 Smart Money Concepts (SMC) Alignment
Accumulation: Occurs when price consolidates near lower bands — often aligning with institutional positioning.
Markup: As price re-enters or ascends the bands, we often see breakout behavior and trend expansion.
Distribution: When price extends above upper bands, potential for exit liquidity creation and distribution events.
Reversion: Historically, price mean-reverts toward the model — rarely staying outside the bands for long.
This makes the model useful for:
Cycle timing
Long-term DCA strategy zones
Identifying value dislocations
Filtering short-term noise
⚠️ Disclaimer
This tool is for educational and informational purposes only . It is not financial advice. The power law model is a non-predictive, mathematical framework and does not guarantee future price movements .
Always use additional tools, risk management, and your own judgment before making trading or investment decisions.
ATR Stoploss 15m with EMA Trend 1H - Dotted Fixeduse this as a basic ATR stoploss. It uses 100 and 20 EMA on 1hr to determine trend.
ConcatenatedAlertsHi all!
This library is useful if you want to concatenate every tick alert for sending on bar close. The 'alert()' function, provided by Tradingview, with the 'freq' parameter set to 'alert.freq_once_per_bar_close' only fires when the realtime bar closes. So if something has happened intrabar, the alert wont be sent.
This library concatenates all alert messages during the bar and sends them on bar close with a header saying how many messages it contains.
It's useful in many cases, but here are a few examples:
When you want alerts for a zone having a breakout (with a candle close) and another one being entered, like this:
When a candle breaks through 2, or more, lines. Like in this example:
There are of course more useful use cases, but above is 2 examples.
The library uses an own enum saying 'alert.freq_all', 'alert.freq_once_per_bar' and 'alert.freq_once_per_bar_close'. The value of this enumeration represents how often an alert will be sent. 'alert.freq_all' and 'alert.freq_once_per_bar' will behave as the once in the 'alert()' function provided by Tradingview. No concatenatination will take place in this case. However, when 'alert.freq_once_per_bar_close' is set, concatenatination will happen with all alert messages during the bar and sent on bar close. Helper functions can be used for both the string value used by the 'alert()' function by Tradingview and this enum type. Example code is provided in the source code, with the usage of input values for both this string and the enumeration.
Hope this is of help!
Concatenate(a_lert, message)
Concatenates all alert messages (called on every tick) to fire all of them with 'Alert()'.
Parameters:
a_lert (Alert) : The 'Alert' object to be used for the alert messages concatination.
message (string) : The string message to be added to the bar alert.
Alert(a_lert)
When the 'Alert.Frequency' is set to fire on the current tick, this function will concatenate all messages on the current bar and fire an alert. Concatenation will occur if 'alert.freq_once_per_bar_close' is set on 'a_lert.Frequency' separated by new lines and a header saying how many messages the bar contains.
Parameters:
a_lert (Alert) : The 'Alert' object to be used for the alert messages concatination and all its 'Messages' will be alerted.
Create(frequency)
Helper function to create an 'Alert' object.
Parameters:
frequency (series Frequency) : The 'Frequency' in the created 'Alert' object.
Returns: The 'Alert' object that can be used for concatination.
CreateFromAlertFreq(alertFreq)
Helper function to convert 'alert.freq_all', 'alert.freq_once_per_bar' or 'lert.freq_once_per_bar_close'.
Parameters:
alertFreq (string) : The 'alert.freq_all', 'alert.freq_once_per_bar' or 'lert.freq_once_per_bar_close' to convert to 'Frequency' enum.
Returns: The 'Alert' object that can be used for concatination.
Alert
Holds all the values for the 'Alert' to be used.
Fields:
Messages (array) : Holds the alert messages within the current bar that will be sent according to 'Frequency'.
Frequency (series Frequency) : The frequency for the final alert. One of 'alert.freq_all', 'alert.freq_once_per_bar' or 'alert.freq_once_per_bar_close'. If 'alert.freq_all' is set the alert messages will be fired on each tick and no concatination will occure. The same when 'alert.freq_once_per_bar' is set, but the alert will only fire once per bar. If 'alert.freq_once_per_bar_close' is set concatenation will occure before sending an alert (with all concatenated messages) on bar close.
SkipAddition (series bool) : Will skip addition of messages. Used internally if 'Frequency' is 'alert.freq_once_per_bar'.
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.
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" можно изменить положение таблицы скринера относительно окна графика, цвет фона, цвет и размер текста.
Zero Tolerance - NeilsonVWAP Wave system. Perfect for every!!
Helps predict reversals.
Entry point
Exit points
Everything else
ICT Midnight PDH PDLPara marcar rango Midnight to Midnight (NYMO).
También para marcar rangos horarios que tu quieras.
TrueOpens [AY]¹ See how price reacts to key multi-day and monthly open levels—perfect for S/R-focused traders.
Experimental indicator for tracking multi-day openings and ICT True Month Open levels, ideal for S/R traders.
TrueOpens ¹ – Multi-Day & True Month Open Levels
This indicator is experimental and designed to help traders visually track opening price levels across multiple days, along with the ICT True Month Open (TMO).
Key Features:
Supports up to 12 configurable multi-day opening sessions, each with independent color, style, width, and label options.
Automatically detects the True Month Open using the ICT method (2nd Monday of each month) and plots it on the chart.
Lines can extend dynamically and are limited to a user-defined number of historical bars for clarity.
Fully customizable timezones, label sizes, and display options.
This indicator is ideal for observing how price interacts with key levels, especially for traders who favor support and resistance-based strategies.
Disclaimer: This is an analytical tool for observation purposes. It does not provide buy or sell signals. Users should combine it with their own analysis and risk management.
Lanzadera)The Lanzadera Indicator is designed to identify market momentum and potential breakout opportunities. It works as a dynamic tool that helps traders detect price acceleration zones, providing clear signals for possible entries and exits. With customizable settings and a user-friendly design, this indicator is suitable for both beginners and experienced traders.
Use it to:
Spot momentum shifts before major price movements.
Enhance your breakout trading strategies.
Gain a clearer view of market dynamics with visual alerts.
This indicator is built for traders who want precision, discipline, and a professional edge in their decision-making process.
Whale VWAP HeatmapWhat it does
This indicator paints a heatmap around an anchored VWAP to make market context obvious at a glance.
Above VWAP → cyan background
Below VWAP → amber background
The farther price is from VWAP (in %), the stronger the color intensity.
How it works
Uses an anchored VWAP that resets on the period you choose (Session / Week / Month / Quarter / Year / Decade / Century / Earnings / Dividends / Splits).
Computes the percentage distance between price and VWAP, then maps that distance to background opacity.
Optional VWAP line can be shown/hidden.
Inputs (Settings)
Anchor Period — choose when VWAP resets (Session→Year, plus E/D/S options).
Source — price source (default hlc3).
Hide on D/W/M (Session only) — hides the script on Daily/Weekly/Monthly when anchor=Session (avoids NA behavior).
Enable Heatmap — turn background coloring on/off.
Max distance for full color (%) — at/above this % from VWAP, color hits full intensity (typical 0.5–2% depending on volatility).
Show VWAP Line / Line Color/Width — visual preference.
How to read it (quick playbook)
Context first: color tells you if price is trading above/below “fair value” (VWAP).
Intensity = how stretched price is from VWAP.
Use it to frame bias (above/below VWAP) and to avoid chasing extended moves.
Notes & limitations
Requires volume (VWAP is volume-weighted). If the data vendor doesn’t provide volume for the symbol, the script will stop.
For intraday, Session anchor is common. For swing/context, try Week or Month.
Amiya's Crude Oil Alligator RSI StrategyCrude Oil Futures with the following conditions:
15 minutes candle.
Indicators: William Alligator and RSI- both default setting.
Buy signal to be generated when following conditions are met:
1. Candle closes above Lips.
2. Lips is above teeth
3. Teeth is above jaws
4. RSI is above 55.
Stop loss when either of the following conditions are met:
1. RSI is below 50 or
2. Candle close crosses below Teeth or
3. Lips is lower than teeth.
Take Profit Signal to be generated when the current price is 25 rupees above the entry price.
Sell signal to be generated when following conditions are met:
1. Candle closes below lips.
5. Lips is below teeth
6. Teeth is below jaws
7. RSI is below 45.
Stop loss when either of the following conditions are met:
2. RSI is above 50 or
3. Candle close crosses above Teeth or
4. Lips is higher than teeth.
Take Profit Signal to be generated when the current price is 25 rupees lower than the entry price.
In cases of Buy Signal, Sell Signal, Stop Loss and Take Profit, alerts should be generated and also, alerts should be shown on the chart, mentioning Buy Signal, Sell Signal, Stop Loss and Take Profit.
Master Simple Indicator 2.0Master Simple Indicator 2.0 combines dynamic moving average signals with ATR-based price bands. It plots a volatility range around the current price using customizable ATR length, smoothing, and multiplier settings, while also highlighting long/short opportunities when price crosses a 120-period moving average. Visual cues and alerts help identify momentum shifts, trend direction, and potential trade entries across all timeframes.
GrayZone Sniper [CHE] — Breakout Validation System GrayZone Sniper — Breakout Validation System
Trade only the clean breakouts. Detect the sideways “gray zone,” wait for a confirmed breach, and act only when momentum (TFRSI) and range expansion (Mean Deviation) align. Clear long/short triggers, one-shot exit signals, and persistent levels keep your manual trading disciplined and repeatable.
Why it boosts manual trading
* No guesswork: Grey box marks consolidation; you trade the validated break.
* Fewer fakeouts: Triggers require momentum + volatility—not just a wick through a level.
* Rules > bias: Optional close-only signals stop intrabar noise.
* Built-in exits: One-shot LS/SS (Long/Short Stop) when conditions degrade.
* Actionable visuals: Gray-zone boxes, persistent highs/lows, and a smooth T3 trendline.
What it does (short + precise)
1. Maps consolidation as a gray box (running high/low while state is neutral).
2. Validates breakouts only when:
* Mean Deviation filter says current range expands vs. its own baseline, and
* TFRSI momentum is above 50 + deadzone (long) or below 50 − deadzone (short), and
* Price closes beyond the last gray high/low (optional close-only).
→ You get L (long) or S (short).
3. Manages exits with a smooth T3 trendline plus MD trend: when MD weakens and T3 turns against the prior side, you get a single LS/SS stop signal.
4. Extends structure: Last gray-zone H/L can persist as right-extended levels for retests/targets.
5. Ready for alerts: Prebuilt alert conditions for L, S, LS, SS.
Signals at a glance
* L – Long Trigger (validated breakout up)
* S – Short Trigger (validated breakout down)
* LS – Long Stop (exit hint for open long)
* SS – Short Stop (exit hint for open short)
Why TFRSI + Mean Deviation is a killer combo
They measure different, complementary things—and that reduces correlated errors.
* Mean Deviation (MD) = range expansion filter. It checks whether current absolute deviation of Typical Price from its SMA (|TP − SMA(TP)|) is greater than its own historical mean deviation baseline. In plain English: *is the market actually moving beyond its usual wiggle?* If not, most breakouts are noise.
* TFRSI = directional momentum around a 50 baseline, normalized and smoothed to react fast while avoiding raw RSI twitchiness.
* Synergy:
* MD confirms there’s energy (volatility regime has expanded).
* TFRSI confirms where that energy points (bull or bear).
* Requiring both gives you high-quality, directional expansion—the exact condition that tends to produce follow-through, while filtering the classic “thin break, immediate snap-back.”
Result: Fewer trades, better quality. You skip most range breaks without momentum or momentum pops without real expansion.
Inputs & Functions (clean overview)
Core: TFRSI & MD
* TFRSI Length (`tfrsiLen`, default 6): Longer = smoother, slower.
* TFRSI Smoothing (`tfrsiSignalLen`, default 2): SMA on TFRSI for cleaner signals.
* Mean Deviation Period (`mdLen`, default 20): Baseline for expansion filter.
* Use classical MD (`useTaDev`, default off):
* Off: MD vs current SMA (warning-free internal baseline).
* On: Classical `ta.dev` implementation.
* TFRSI Deadzone ± around 50 (`tfrsiDeadzone`, default 1.0): Wider deadzone = stricter momentum confirmation (less chop).
Triggers & Logic
* Trigger only on bar close (`fireOnCloseOnly`, default on): Confirmed signals only; no intrabar flicker.
* Reset gray bounds after trigger (`resetGrayBoundsAfterTrigger`, default on): Clears last gray H/L once a trade triggers.
* Auto-deactivate on neutral (`autoDeactivateOnNeutral`, default off): Strict disarm when state flips back to neutral.
Gray-Zone Boxes
* Show boxes (`showGrayBoxes`, default on): Draws the neutral consolidation box.
* Max boxes (`maxGrayBoxes`, default 10): How many historic boxes to keep.
* Transparency (`boxFillTransp`/`boxBorderTransp`, defaults 85/30): Visual tuning.
Trendline (T3)
* T3 Length (`t3Length`, default 3): Smoothing depth (higher = smoother).
* T3 Volume Factor (`t3VolumeFactor`, default 0.7): Controls responsiveness of the T3 curve.
Persistent Levels
* Persist gray H/L (`saveGrayLevels`, default on): Extend last gray high/low to the right.
* Max saved level pairs (`maxSavedGrayLvls`, default 1): How many H/L pairs to keep.
* Reset levels on trigger (`resetLevelsOnTrig`, default off): Clean slate after new trigger.
Debug & Visuals
* Show debug markers (`showDebugMarkers`, default on): Display L/S/LS/SS in the pane.
* Show legend (`showLegend`, default on): Compact legend (top-right).
How to trade it (practical)
1. Keep close-only on. Let the market finish the candle.
2. Wait for a clean gray box. Let the range define itself.
3. Take only L/S triggers where MD filter passes and TFRSI confirms.
4. Use persistent levels for retests/partials/targets.
5. Respect LS/SS. When expansion fades and T3 turns, exit without debate.
Tuning tips:
* More chop? Increase `tfrsiDeadzone` or `mdLen`.
* Want faster entries? Slightly reduce `t3Length` or deadzone, but expect more noise.
* Works across assets/timeframes (crypto/FX/indices/equities).
Bottom line
GrayZone Sniper enforces a simple, robust rule: Don’t touch the market until it breaks a defined range with real expansion and aligned momentum. That’s why TFRSI + Mean Deviation is hard to beat—and why your manual breakout trades get cleaner, calmer, and more consistent.
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 Triple Power Stop (CHE)! 🚀
Happy trading
Chervolino
🚀 Ultimate Trading Tool + Strat Method🎯 What You Get - Two Powerful Systems in One:
🔥 Original Ultimate Trading Tool:
✅ Automated trendlines with dynamic support/resistance
✅ Multi-factor analysis (trend, momentum, RSI, volume)
✅ Dynamic risk management with ATR-based stops/targets
✅ Real-time dashboard with all market conditions
🎯 Advanced Strat Method Integration:
✅ Classic patterns: 2-2, 1-2-2 setups
✅ Advanced patterns: 3-1-2, 2-1-2, F2→3 setups
✅ Timeframe continuity filter (Daily + Weekly alignment)
✅ Trigger confirmations for precise entries