MTF MAA multi timeframe version of the SMA.
You can select one of the proposed timeframes in the input box or you can modify the code at line 5 :
>>>
>>> tf = input("D", title = "TimeFrame", type = resolution)
>>>
Change the D by your desired timeframe => 1, 7, 555 (minutes up to 1440) => D, 2D... => W, 2W... => M, 2M....
Search in scripts for "mtf"
MTF EMA Combo with Background ColorDaily/Weekly EMA combo for longer term trend direction, with combo background color for varying trend direction.
Multi SMA EMA WMA HMA BB (5+5 MAs + Bollinger Bands) by RRB
Multi SMA EMA WMA HMA BB (5+5 Moving Averages of Any Type with Bollinger Bands) by RagingRocketBull 2018
Version 1.0
This indicator shows multiple MAs of any type (SMA EMA WMA HMA etc) with BB on a chart at the same time with/without MTF support depending on the version.
There are several versions (published later): Simple, MTF, Pro MTF and Ultimate MTF. This is the Simple version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +assign 1 custom Timeframe to any group combo (5+5 Custom TF)
- Pro MTF: +multiple Timeframes for multiple MA groups (4*3 MTF), horizontal levels and show max bars back options
- Ultimate MTF: +individual settings for each MA, multiple Timeframes
You can use different types of MAs as dynamic S/R levels to trade of off and MA crosses as signals for possible trend change (golden/death bull/bear crosses).
Most common MA types are: SMA, EMA, WMA, HMA.
Most common MA lengths are: 12, 20, 26, 30, 50, 100, 200, 400 etc.
Features:
- 2 groups of custom 5+5 MAs of any type including Hull Moving Average (HMA)
- BB
1. based on 3EmaBB, uses plot, fill, stdev and custom hma functions
2. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
Feel free to use. Good Luck!
MTF Polarity Grid [DW]This is an experimental study designed to track directional polarities across multiple timeframes and express them as a simple two color grid.
The polarity in this calculation is determined by divergence between a fast and slow McGinley Dynamic.
Your current resolution's polarity is the top row, the rows below are are for higher timeframes of your choice.
MTF EMAExponential Moving Average indicator that can be configured to display different timeframe EMA's.
Timeframe is set in minutes. Max timeframe currently is the daily (1440 minutes). Any value higher than 1440 will result in no plot.
Examples:
Daily 50 EMA plotted on 4H chart
4H 50 EMA and Daily 50 EMA plotted on 1H chart
Can also work in reverse if needed.
Example, Daily 50 EMA plotted on Weekly Chart
MTF EMAExponential Moving Average indicator that can be configured to display different timeframe EMA's.
Timeframe is set in minutes. Max timeframe currently is the daily (1440 minutes). Any value higher than 1440 will result in no plot.
Examples:
Daily 50 EMA plotted on 4H chart
4H 50 EMA and Daily 50 EMA plotted on 1H chart
Can also work in reverse if needed.
Example, Daily 50 EMA plotted on Weekly Chart
MTF EMAExponential Moving Average indicator which can be configured to plot different timeframe EMA's on the one chart.
For example, Daily 50 EMA plotted on 4H chart
4H 50 EMA plotted on 1H chart
Max timeframe available is the daily (1440 minutes). Any value higher than this will not work.
MTF CCI_8_34_5m_30minThis indicator is used in NimblrTA for plotting the following:
CCI-8 on 5 minutes
CCI-34 on 5 minutes
CCI-34 on 30 minutes interval on 5 minutes
MTF Previous Open/Close/RangeThis indicator will simply plot on your chart the Daily/Weekly/Monthly previous candle levels.
The "Auto" mode will allow automatic adjustment of timeframe displayed according to your chart.
Otherwise you can select manually.
Indicator plots the open/close and colors the high-low range area in the background.
Hope this simple indicator will help you !
You can check my indicators via my TradingView's Profile : @PRO_Indicators
AQPRO Block Force
📝 INTRODUCTION
AQPRO Block Force is a powerful trading tool designed to identify and track Orderblocks (OBs) in real-time based on Fair Value Gap (FVG) principles. This indicator employs quite strict yet effective FVG filtering criteria to ensure only significant OBs are displayed, avoiding minor inefficiencies or duplicates within the same impulse or corrective moves. Each OB adapts dynamically to price action and can be categorized as Classic, Strong, or Extreme, based on proprietary conditions and best ideas from SMC (Smart Money Concepts).
In addition to plotting Orderblocks, the indicator offers useful filtering systems like an Age Filter to ensure cleanliness of the OB data on the chart and prevent old, irrelevant OBs from obstructing the chart. Users can also enable MTF (Multi-Timeframe) functionality to view OBs from other timeframes, providing a comprehensive analysis across multiple levels of market structure. With extensive customization options, AQPRO Block Force allows traders to tailor the visuals and behavior to fit their specific trading preferences.
This indicator does not parse any instituotinal data, order books and other fancy financial sources for finding order blocks nor it uses them for confirmation purposes. Calculations algorithms of order blocks are based purely on current asset's price history.
IMPORTANT NOTE: in the sections below term 'quality' will be applied to orderblocks quite a number of times. By 'quality' in the context of orderblocks we mean the reaction of price upon the sweep of orderblock. Basically, if the price reverses after reaching the orderblock, this orderblock is considered to be of high quality. Definition for low -quality orderblock can be deducted by analogy.
🎯 PURPOSE OF USAGE
This indicator serves one and only purpose — help traders identify most lucrative institutional orderblocks on the chart in real time. Even though event of price reaching an orderblock cannot be considered as a sole signal in many trading strategies without proper confirmation, such event nevertheless is quite important in SMC-based trading, because when price sweeps OB it usually means, that a reversal will soon follow, but, of course, this is not the case every time.
Traders should not expect from this indicator detection of perfect orderblocks, which would surely revese the price on encounter, but they can expect is a time-proven algorithm of determing orderblocks that on average produces more high-quality orderblocks than simple similar tools from open-source libraries.
More in-depth advices on the usage will be given in the sections below, but for now let's summarise subgoals of the indicator:
Detecting orderblocks filtered through strict FVG validation rules to improve overall quality of orderblocks;
Classifying orderblocks as Classic, Strong, or Extreme based on wether or not classic orderblocks pass filtering conditions, which are based on crossing critical price levels and SMC principles like ChoCh (Change of Character);
Eliminating clutter and manage chart space with the Age Filter, removing old OBs outside a user-defined age range;
Utilizing MTF functionality to track significant OBs from other timeframes alongside current timeframe analysis;
Providing traders with customization options for indicator's visuals to help them organize information on the chart in a clean way.
⚙️ SETTINGS OVERVIEW
This indicator's customization options allow you to fully control its functionality and visuals. Below is a breakdown of the settings grouped by the exact setting sections and parameters from the indicator:
🔑 Main Settings
Show OBs from current timeframe — toggles the display of OBs from the current timeframe on the chart;
Show classic OBs — enables or disables the display of Classic OBs;
Show strong OBs — enables or disables the display of Strong OBs, which meet the ChoCh-based filter criteria;
Show extreme OBs — enables or disables the display of Extreme OBs, which exceed proprietary price level risk thresholds.
⏳ Filter: Age
Use Age Filter — toggles the Age Filter, which removes old OBs based on their age;
Max Age — sets the maximum age of OBs to be displayed (in bars). OBs older than this value will be hidden;
Min Age — sets the minimum age of OBs to be displayed (in bars). OBs younger than this value will not be shown.
🌋 MTF Settings
Show MTF OBs — toggles the display of OBs from higher timeframes;
Timeframe — select the timeframe to use for MTF OB detection (e.g., 15m, 1h).
⏳ MTF / Filter: Age
Use Age Filter (MTF) — toggles the Age Filter for MTF OBs;
Max Age — sets the maximum age of MTF OBs to be displayed (in bars);
Min Age — sets the minimum age of MTF OBs to be displayed (in bars).
🎨 Visual Settings
Classic OB (Bullish) — sets the color for bullish Classic OBs;
Classic OB (Bearish) — sets the color for bearish Classic OBs;
Strong OB (Bullish) — sets the color for bullish Strong OBs;
Strong OB (Bearish) — sets the color for bearish Strong OBs;
Extreme OB (Bullish) — sets the color for bullish Extreme OBs;
Extreme OB (Bearish) — sets the color for bearish Extreme OBs.
📈 APPLICATION GUIDE
Application methodology of this indicator is pretty much the same as with any other indicator, whose purpose is to find and display orderblocks on the chart. However, before actually diving into the guide on application, we want to make a small step back to remind traders of the history of orderblocks as a concept, its limitations and benefits.
Orderblocks themselves are essentially just zones of potential institutional interest, which if reached are expected to reverse the price in the opposite direction. 'Potential' is a suitable remark for indicator's success probability, because, as was mentioned above, orderblocks don't guarantee price reversal regardless of quality of the indicator. This is the case for the simplest of reasons — orderblocks are based solely on price history and thus are to be considered a mathematical model , degree of success of which is never 100%, because all mathematical models abide by a "golden rule of trading" : past performance doesn't guarantee future results.
However, the extensive history of orderblocks clearly shows that this tool, despite being decades old, can still help traders produce market insights and improve any strategy's performance. Orderblocks can be used both as a primary source of signals and as confirmation tool, but from our experience they are better to be used as confirmation tool. Our indicator is not an exception in this matter and we advice any trader to use it mainly for confirmation purposes, because use-case of orderblocks as confirmation tools have much success stories on average than being used as primary signal source.
This being said, let's return to the application guide and start reviewing the indicator from the most basic step — how it will look like when you first load it on your chart:
This indicator consisis of 3 main logic blocks:
Orderblock evaluation;
MTF Orderblock evaluation;
Orderblock post-filtering.
The principles behind these logic blocks will be easy to understand for truly experiences traders, but we understand the need to explain them to a wider audience, so let's review each of these logic blocks below.
ORDERBLOCK EVALUATION
Principles behind our orderblock detection logic are as follows:
Find FVG (Fair Value Gap) .
Note: this indicator uses only three-candle FVGs and doesn't track FVGs with insidebars after third (farther) candle.
If you don't know what FVG means, we recommend researching this term in the Internet, but the basic explanation is this: FVG is the formation of candles, which are positioned in a way that there are an unclosed price area between 1st and 3rd candle.
Conditions:
bullish FVG = high of 3rd candle < low of 1st candle AND high of 3rd candle < close of 2nd candle AND high of 2nd candle < close of 1st candle AND low of 3rd candle < low of 2nd candle ;
bearish FVG = low of 3rd candle < high of 1st candle AND low of 3rd candle > close of 2nd candle AND low of 2nd candle > close of 1st candle AND high of 3rd candle > high of 2nd candle .
See visual showcase of valid & invalid bullish & bearish FVGs on the screenshot below:
As was shown on the screenshot above, the only correc t formation for FVGs are considered to be just like on pictures 1 and 2 (leftmost column of patterns) . Only these formations will take part in further determenings orderblocks.
Send FVGs through filtering conditions.
This is the truly important part. Without properly filtering FVGs we would get huge clusters of FVGs on the chart and they will not make sense to be reviewed, because there will be just too much of them and their quality will be very questionable .
Even though there is a quite number of ways to filter FVGs, we decided to go with the ones we deem actually useful. For this indicator we chose two methods, that work in tandem — 1) base candle's inside bar condition and 2) single appearance on current impulse/correction line. Let's review these conditions below and start with looking at the examples of them on the screenshot below:
Examples of 1st & 2nd conditions are displayed on the left and right charts respectively.
The filtering logic in 1st and 2nd is quite connected and further explanation should help you understand it just enough to start trading with our indicator.
Let's start with explaining the term 'base candle' and logic behind it. Base candle candle be explained quite shortly: it is the latest candle on the chart, whose high or low broke previous base candle's high or low respectively. The first candle in the time series of price data is by default considered the base candle. If any new candle after base candle doesn't overtake base candle's high or low (meaning, that this candle is inside the range of base candle), such candle is called an "inside bar" .
Inside bar's term is important to understand, because FVGs, which appear inside the inside bars are usually quite useless, because price doesn't react from them, so orderblocks with such FVGs are also of bad quality as well. Clear depiction of inside bar was provided in the screenshot of conditions above on the left chart, so we won't waste time making another example.
However, this is not it. Base candle, inside bars and a few other types of bars are all a part of SMC ideas and in the world of SMC there is a special term, that hold the most important place and is considered the cornerstone of SMC methodology — impulse/correction lines (valid pullbacks) . The average definition of impulse/correction lines is quite hard to understand for an average trader, but we can summarise like this:
Impulse/correction line is a line, that starts at the beginning of the sequence of base candles, each new candle of which consistently updates previous base candle's respective high/low.
We won't go into description of this principle because it is outside of scope of this indicator, but you can research this topic in the Internet by keywords ' impulse correction trading ' or 'valid pullback principles trading '. The general idea of usage of impulse/correction lines in the context of this indicator is that each such lines 'holds' inside at least one FVG and we need to find exactly the first FVG, while leaving all other FVGs behind, because they to be of worse quality on average.
Basically, by using translating these terms into conditions from example above, we have achieved a simple yet powerful filtering system. system for FVGs, which allows us to work with orderblocks of much higher quality than average open-source indicators.
If FVG passed filters, evaluate its OB.
When FVG is confirmed, we can start the evaluation of its orderblock. The evaluation of orderblocks consists of several checkpoints: 1) is orderblock beyond current ChoCh* AND/OR 2) is orderblock from extreme price levels, calculated by our proprietary risk system. Let's review these checkpoints below.
* ChoCh (Change of Character, fundamental SMC idea) — price level, which if broken by close of price can potentially cause a revesal of the trend to direction opposite to the the previous one. To learn more about ChoCh please research the term on the Internet, because this indicator uses its standard definition and explaining of this term goes beyond the scope of this indicator.
To determine if orderblock is beyond current ChoCh levels, we need to first determine where these levels are on the chart. ChoCh levels of this indicator are calculated with a very lite approach, which is based on pivot points.
You can see basic demonstration of ChoCh levels in action on the screenshot below:
IMPORTANT NOTE: pivot period for pivots points inside our indicator is by default equal to 5 and cannot be changed in settings at the moment of publication.
On the screenshot above you can clearly see that ChoCh levels are essentially highest/lowest pivot point levels in between certain range of bars, where price doesn't update its extremum. You can see on there screenshot a new type of line — BoS (Break of Structure). BoS is almost the same thing as ChoCh, but with one change: it is a confirmation of price updating its extremum in the same direction as it was before, while ChoCh updates price extremum in the direction opposite to which it was before .
Why do these levels matter when evaluating the orderblocks? Orderblocks, which are located beyond current BoS/ChoCh levels, are of much higher quality on average than average orderblocks and they are called Strong Orderblocks .
On the chart such orderblocks are marked with 'Strong OB' label inside the body of an orderblock.
You can see the examples of Strong OBs on the screenshot below:
That was the explanation of the 1st orderblock evaluation criteria. Now let's talk about the 2nd one.
Our 2nd evaluation criteria for orderblocks is a test on whether or price is behind specific price level, which is calculated by our proprietary risk system, which is based on fundamental of statistics, such as 'standard deviation' and etc.
This criteria allows us to catch orderblocks, which are located at quite extreme price levels, and mark them on trader's chart explicitly. Orderblocks, which are above our custom price levels, are called Extreme Orderblocks an are marked with 'Extreme OB' label inside orderblock's body.
You can see the example of Extreme OB on the screenshot below:
That was the explanation of the 2nd evaluation criteria of the orderblock.
If an orderblock doesn't pass any of these two criterias, it is considered a classic orderblock. These orderblock are most common ones and have the lowest success rate among other types of orderblocks, listed above. Such orderblocks are marked with 'OB' label inside the orderblock's body.
You can see the examples of classic OB on the screenshot below:
This is it for orderblock evaluation logic. After doing all these steps, all orderblocks that we found are collected and displayed on the chart with their bodies and label marks.
What happens after the detection of the orderblocks?
All active orderblocks are being tracked in real time and their statuses are being updated as well (Strong orderblock can become Extreme orderblock and vice versa) . By an active orderblock we mean an orderblock, which wasn't swept by price's high or low. Bodies of active orderblocks are prolonged to the next candle on each new candle.
If an orderblock was swept, indicator will stop prolonging this orderblock and will mark it as swept on the chart with almost hollow body and dashed border line of the orderblock's body. Also swept orderblocks lose their name label, so you won't see any text in the orderblock after it was swept, but you will see its colour.
You can see the example of an active & swept orderblocks on the screenshot below:
This functionality helps distinguish active orderblocks from swept ones (inactive) and make more informed decisions.
MTF OB EVALUATION
Principles of MTF OBs evaluation are exactly the same as they are for current timeframe's OBs.
MTF OBs are displayed on the chart in same way as other OBs, but with one little change: to the right side of MTF OB's status will be postfix of the timeframe, from which this OB came from. Timeframe for MTF OBs can be chosen by user in the settings of the indicator.
MTF OBs also preserve their statuses (Strong, Extreme and Classic) when displayed on the current timeframe, so you won't stack of mistakenly marked MTF OBs as Extreme just because they are far away from the price.
You can see the example of MTF OBs on the screenshot below:
Also MTF OBs when swept lose only their name label, but the timeframe postfix will still be there, so you could distinguish MTF OBs from OBs of the current timeframe.
See the example of swept MTF OBs below:
Overall MTF orderblocks is a very useful to get a sense of where the higher timeframe liquidity reside and then adjust your strategy accordingly. Taking your trades from the place of high liquidity, like orderblocks, doesn't guarantee certain solid price reaction, but it definitely provides a trader with much a greater change of 1) catching a decent price move 2) not losing money white trading against institutional players.
As was stated above, we recommend using this tool as a confirmation system for your main trading strategy, because its usage as primary source of signals in the long-run is not viable, judging from historical backtest results and general public opinions of traders.
ORDERBLOCK POST-FILTERING
To enhance filtering capabilities of this indicator even further, we decided to add two filters, which would help reduce the amount of bad and untradeable orderblocks. These two filters are 1) age filter and 2) cancellation filter. Let's review both of them below.
Talking about the age filter , this filter was designed to help get rid of old orderblocks, which clutter the chart with visual noise and make it harder to find valueable orderblocks. This filter has to parameters: min age and max age . What does age mean in the context of an orderblock? It is the distance between OB's left border's bar and current bar. If this distance is between min age and max age values, such orderblock is considered valid and age filter passes it for further evaluation, but this distance is too short or too long, age filter deletes this orderblock from the chart.
You can the example of an orderblock which didn't pass age filter requirements and was deleted from the chart on the screenshot below:
It is important to mention that the missing orderblock from the right chart will be appear on the chart right when its age will exceed min age parameter of age filter.
The principle of work for max age parameter can be deducted by analogy: if the orderblock's age in bigger than max age value of age filter, this orderblock will be deleted from the chart .
For MTF OBs we decided to their own age filter, so that it won't abide by current timeframe's restrictions, because MTF OBs are usually much older than OB from current timeframe, so they would deleted a lot of time before they even appear on the chart, if they would abide by the age filter of current timeframe.
Default parameters of age filter are "max age = 500" and "min age = 0" . "Min age = 0" means that there is restrictions on the minimum age of orderblocks and they will appear on the chart as soon as the indicator validates them.
That was the explanation of the age filter.
Talking about the cancellation filter , this filter was intended to spot orderblocks which were extremely untradable and visually alert traders about them on the chart. In this indicator this filter works like this: for each orderblock cancellation filter creates a special price level and checks if it was broken by the close of price.
This special price level consists of the farthest border. of the orderblock ( top border for bearish OBs and bottom border for bullish OBs) and a certain threshold, which is added to the farthest border. This threshold is based on the current ATR value of the asset. This filter helps detect the orderblocks which should not be considered for trading, because price has already went too far beyond the liquidity of this orderblock.
Orderblocks, which are spotted by this filter, are marked with '❌' emoji on the price history.
You can see the example of an orderblock which was spotted by the cancellation filter in the screenshot below:
This filter is applied to both current timeframe and MTF timeframe and is NOT configurable in the settings.
🔔 ALERTS
This indicator employs alerts for an event when new signal occurs on the current timeframe or on MTF timeframe. While creating the alert below 'Condition' field choose 'any alert() function call'.
When this alert is triggered, it will generate this kind of message:
// Alerts for current timeframe
string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH OB at SWEPT_OB_BORDER_PRICE was reached."
string msg_example = "BINANCE:BTCUSDT, 15m: bearish OB at 170000.00 was reached."
// Alerts for MTF timeframe
string msg_template_mtf = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH MTF OB at SWEPT_OB_BORDER_PRICE was reached."
string msg_example_mtf = "BINANCE:BTCUSDT, 15m: bearish MTF OB at 170000.00 was reached."
📌 NOTES
These OBs work on any timeframe, but we would advise to to use on higher timeframes, starting from at least 15m, because liquidity from higher timeframe tends to be much valuable when deciding which orderblock to take for a trade;
Use these OBs as a confirmation tool for your main strategy and refrain from using them as primary signal source. Traders, which use SMC-based strategies, will benefit from these orderblocks the most;
We recommend trading only with Strong and Extreme orderblocks, because they are proved to be of much greater quality than classic orderblocks and they work quite well in mid-term and long-term trading strategies. Classic orderblocs can be used for short-term trading strategies, but even in this case these OBs cannot be blindly trusted;
We strongly advise against take for a trading orderblocks, which were spotted by cancellation filter, because they are considered to be voided of liquidity;
Don't forget that you can toggle different types of OBs, MTF settings and visual settings in the settings of the indicator and fine-tune them to your liking.
🏁 AFTERWORD
AQPRO Block Force is an indicator which designed with idea of helping trading save time on automatically detecting valuable orderblocks on the chart, evaluate their strength and filter out bad orderblocks. These employ the best principles of SMC, including FVGs, valid pullbacks and etc. FVGs play the key role in validating the existence of a particular orderblock and work in tandem with valid pullback to determine the maximum amount of true FVGs even in the most cluttered impulse/correction moves of the price. Our filters — Age Filter and Cancellation Filter — enhance the quality of the orderblocks by allowing only the newest and liquid orderblocks to appear on the chart. Additional MTF functionality allow trader to see orderblocks from other timeframe, which can be chosen in the settings, and get a sense of where the global liquidity resides. This indicator will be a useful confirmation tool to any trading strategy, but the SMC traders will surely get the most benefits out of it.
ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.
Black RSI (Pro Suite)Black RSI (Pro Suite) is combination of RSI (Relative Strength Index), Volume RSI, Heikin Ashi RSI & other multi Oscillators with multi features into one indicator, features like (Quad Divergences, Multi Time Frame RSI, MTF RSI Panel, Oscillator Support/Resistance/Wedges/Trendlines, Oscillator Moving Average/BBs, Smooth RSI, RSI Price Estimator, Oscillator Over bought/sold Bars, Osc OB/OS Zones, Osc OB/OS Highlights, additionally Black RSI indicator is flexible & completely customizable).
Indicator goal: I have tried my best to organized RSI & other suitable oscillators and oscillator useful tools into one simple and free indicator for Tradingview users (specifically for Tradingview 'basic' subscription users). suggestions are always welcome. please give feedback & appreciate if you like my work.
Black RSI Indicator Features Summary:
Black RSI indicator includes many features mainly relevant to RSI and other Oscillators, these are briefly highlighted below:
Black RSI Dashboard
Multi Oscillators: Choose between multiple oscillators. All oscillators settings are customizable.
Multi Symbol: Multi Symbol Support, applicable on all oscillators
RSI (Relative Strength Index)
VRSI (Volume Relative Strength Index)
HA RSI (Heikin Ashi Relative Strength Index)
OBV (On Balance Volume)
CVD (Comulative Volume Delta)
MFI (Money Flow Index)
UO (Ultimate Oscillator)
MOM (Momentum Oscillator)
ATR (Average True Range)
Stoch (Stochastic Oscillator)
Stoch RSI (Stochastic RSI)
Oscillator Primary Tools ◢
Oscillator Moving Average/Bollinger Bands
Smooth RSI
Multi Timeframe RSI
Multi Timeframe RSI Panel
RSI Price Estimator
Oscillator Support/Resistance/Wedges/Trendlines
Oscillator Moving Average/BBs: Shows Moving Average for selected oscillator.
Smooth Smooth: Smooths out RSI
Multi Timeframe RSI: Displays Multiple Time Frame/Multiple Symbol RSI and converts it and shows it as it is in current time frame without effecting Primary RSI
Multi Timeframe RSI Panel: Displays Multiple Time Frame/Multiple Symbol RSI values of user input specific timeframes in compact panel (max 8 Time frames)
RSI Price Estimator: Calculates RSI estimate price values of 3 different user specific RSI input levels, RSI x MA cross price and RSI future value of user specific price input level.
Oscillator Support/Resistance/Wedges/Trendlines: Draws Trendlines, Wedges and Support & Resistance lines on selected oscillator
Oscillator Quad Divergence ◢
1st Oscillator Divergence: Traditional divergence indicator with enhancements & customization
2nd Oscillator Divergence: Traditional divergence indicator with enhancements & customization
3rd Oscillator Divergence: Advanced Divergence indicator with source selection, RSI/Price threshold, potential divergences & customization
4th Oscillator Divergence: Pivots divergence indicator with flexible pivots selection & customization
Regular bullish divergences are indicated when price is forming lower lows while an oscillator shows higher lows.
Regular bearish divergences are indicated when price is forming higher highs while an oscillator shows lower highs.
While regular divergences indicate trend reversals, hidden divergences indicate a trend continuation.
When the price is making higher lows and the oscillator is showing lower lows, we speak of a bullish hidden divergence.
When the price is making lower highs and the oscillator shows higher highs, it's a bearish hidden divergence.
Oscillator Secondary Tools ◢
Oscillator HH/LL pivots
Osc OB/OS Color Bars
Osc OB/OS Zones
Osc OB/OS Highlights
Background
Oscillator HH/LL pivots: Shows HH/LL pivot points on selected oscillator
Osc OB/OS Color Bars: Plots color chart bars based on RSI, MFI, Stochastic, Stochastic RSI or combine overbought/oversold conditions
Osc OB/OS Zones: Plots Osc OB/OS Zones with user input levels
Osc OB/OS Highlights: Highlight oscillator OB/OS background area
Background: background color customization
+ Primary RSI Settings ▾
- Primary RSI Length: User input RSI Length value
- Primary RSI Source: User RSI Source selection
- RSI Overbought Threshold: Allows the user to set the RSI overbought threshold value. This Overbought Threshold value will also be applied on "RSI Divergence overbought condition", "RSI OB Color Bars" and "Primary RSI Color Schemes
- RSI Oversold Threshold: Allows the user to set the RSI oversold threshold value. The lower band (oversold line) of RSI. This Oversold Threshold value will also be applied on "RSI Divergence oversold condition", "RSI OS Color Bars" and "Primary RSI Color Schemes
- RSI Middle Band: Allows the user to set the RSI middle band value. This value will also applied to "Center Line" color scheme from "Primary RSI Color Schemes" drop menu
- Primary RSI Colors:
Range color specifies a gradient of colors from the overbought to the oversold threshold user inputs from "Primary RSI" section. Color interpolation also a gradient but smoother than Range color. Center Line is similar but is not a gradient, linked to Middle Band ("Primary RSI" section) and changes color with RSI Middle Band. Traditional is simple with Overbought and Oversold colors change.
- RSI Bullish Band: Allows the user to plot extra/optional RSI band on RSI Oscillator (Note: it will not be plotted if "OB/OS Zone only" enabled from "OB/OS Zone Settings" section)
- RSI Bearish Band: Allows the user to plot extra/optional RSI band on RSI Oscillator (Note: it will not be plotted if "OB/OS Zone only" enabled from "OB/OS Zone Settings" section)
+ Primary RSI Smooth Settings ▾
- Smooth Moving Average Type: User selected Smooth MA type. With RSI Smooth enabled, will also effect all RSI Divergences detection (all divergences will be plot according to "Smoothed RSI line")
- Smooth Moving Average Length: User input Smooth MA length value
+ Oscillator Moving Average Settings ▾
- Osc Moving Average Colors: Allows user to select Bullish/Bearish colors of Oscillator Moving Average
- Osc Moving Average Type: Allows user to select Oscillator MA Type
- Osc Moving Average Length: User input Oscillator MA length value
- Osc Moving Average Thickness: User input Oscillator MA thickness
- BB StdDev: user input Bollinger Bands standard deviation value
+ Stochastic Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Stochastic RSI Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Money Index Flow Settings ▾
- Same as Traditional/Default indicator
+ Ultimate Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Momentum Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Average True Range Settings ▾
- Same as Traditional/Default indicator
+ Multi Timeframe RSI Settings ▾
- MTF RSI Time Frame: Allows user to select MTF RSI Time Frame
- MTF RSI Symbol: Allows user to select MTF RSI Time Symbol
- MTF RSI Length: User input MTF RSI length value
- MTF RSI Source: User selected MTF RSI source
- MTF RSI Line Width: User input MTF RSI line thickness value
- Number of Bars for MTF RSI plot
- MTF RSI Color > OB color > OS color : Allows user to select MTF RSI color with additionally Overbought/Oversold colors
+ MTF RSI Panel Settings ▾
- Select MTF RSI Type: If "Primary RSI" or "Volume RSI" selected MTF RSI Panel will show output values based on "Primary RSI" or "Volume RSI" parameters e.g. source, length, but without smooth.
- MTF RSI Panel Symbol: Allows user to select MTF RSI Panel symbol, leave symbol blank or uncheck "checkbox" for current chart symbol
- Show Symbol in Panel: Shows symbol ticker(current or user selected) in MTF RSI Panel
- Panel Background: Allows user to select MTF RSI Panel Background (enable/disable) and Background color selection
- TF1: MTF RSI Timeframe 1 user selection
- TF2: MTF RSI Timeframe 2 user selection
- TF3: MTF RSI Timeframe 3 user selection
- TF4: MTF RSI Timeframe 4 user selection
- TF5: MTF RSI Timeframe 5 user selection
- TF6: MTF RSI Timeframe 6 user selection
- TF7: MTF RSI Timeframe 7 user selection
- TF8: MTF RSI Timeframe 8 user selection
- Panel Top Offset: MTF RSI Panel offset input value
- Position: MTF RSI Panel position selection
- Text Size: MTF RSI Panel text size selection
- Bullish Colors: MTF RSI Panel bullish color selection. (Bullish colors range RSI >75, <75 to >65, <65 to >55)
- Bearish Colors: MTF RSI Panel bearish color selection. (Bearish colors range RSI <45 to >35, <35 to >25, <25)
+ RSI Price Estimator Settings ▾
- Price 1: User input value for RSI future price
- Price 2: User input value for RSI future price
- Price 3: User input value for RSI future price
- Panel Position Offset: User input value for panel position offset
- Price Decimals: User input value for output price decimals in panel
- Show RSI/OscMA cross Price: Enable/Disable RSIxOscillator MA cross future price
- Show RSI Level for Input Price: User input price for future RSI level
- Invisible Background: Enable/Disable Background
Auto Text Color > Auto color change of Panel text according to Dark/Light chart theme
+ Oscillator Support/Resistance Settings ▾
- Show Support line: Allows user to Enable/Disable Oscillator support line
Color > Auto Color: Auto color change of support line according to Dark/Light chart theme
- Show Resistance line: Allows user to Enable/Disable Oscillator resistance line
Color > Auto Color: Auto color display of resistance line according to Dark/Light chart theme
- Lookback lows/highs: User input of Lookback lows/highs value
- Distance threshold: Distance from the line to the low
- Line touch points: Number of points that have to be around the line
- Low/High left bars: User input of Low/High left bars value
- Low/High right bars: User input of Low/High right bars value
- Line style: User selection of line style
- Line thickness: User input of line thickness value
+ Oscillator 1st Divergence Settings ▾
- Divergence Source: User selection of divergence source. "High/Low" (high/low of oscillator/price divergence detection), "Close" (close of oscillator/price divergence detection) and "Both" (Both Close + High/Low of oscillator/price divergence detection). (Note: Traditional Divergence indicator default source is "High/Low")
- Pivot Lookback Right: How many candle to compare on the right side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Pivot Lookback Left: How many candle to compare on the left side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Divergence Max Length (Bars): The maximum length of a divergence (number of bars). If a detected divergence is longer than this, it will be discarded
- Divergence Min Length (Bars): The minimum length of a divergence (number of bars). If a detected divergence is shorter than this, it will be discarded
- Show Divergence as:
- Line Thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
> Oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
> Overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
- Hidden Bull Div: Enable/Disable of Hidden Bull divergences
> Color: User selection of Hidden Bull divergence color
- Hidden Bear Div: Enable/Disable of Hidden Bear divergences
> Color: User selection of Hidden Bear divergence color
+ Oscillator 2nd Divergence Settings ▾
- Same as Oscillator 1st Divergence Settings
+ Oscillator 3rd Divergence Settings ▾
- Divergence source: User selection of divergence source . "oscillator" (divergence detection with high/low or close of selected oscillator), "price" (divergence detection with high/low or close of price)
- Bull price source: User selection of Bull price source. Bull price source: "Low" (low of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Bear price source: User selection of Bear price source. Bear price source: "High" (high of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Low/High left bars: How many candle to compare on the left side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Low/High right bars: How many candle to compare on the right side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Maximum lookback bars: The maximum length of a divergence (number of bars). If a detected divergence is longer than this, it will be discarded.
- Price threshold: User selection of Price threshold, higher values more lines
- RSI threshold: User selection of RSI threshold, higher values more lines
- Show Lows: Displays lows of RSI
- Show Highs: Displays highs of RSI
- Show Divergence as:
- Line Style:
- Line thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
> Potential Bull: It will plot potential regular bull divergence with dotted line.
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
> Potential Bear: It will plot potential regular bear divergence with dotted line.
- Hidden Bull Div: Enable/Disable of Hidden Bull divergences
> Color: User selection of Hidden Bull divergence color
> Potential H.Bull: It will plot potential hidden bull divergence with dotted line.
- Hidden Bear Div: Enable/Disable of Hidden Bear divergences
> Color: User selection of Hidden Bear divergence color
> Hidden Bear divergence: It will plot potential hidden bear divergence with dotted line.
> Regular Bull oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
> Regular Bear overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
+ Oscillator 4th Divergences Settings ▾
- Upper Length: User pivot input value of draw upper divergence line From
- To Pivot:
- Lower Length: User pivot input value of draw lower divergence line From
- To Pivot:
- Show Divergence as:
- Line Style:
- Line thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
- Regular Bull oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
- Regular Bear overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
+ Oscillator HHLL Pivots Settings ▾
- Pivot Length: User input value of HH/LL pivot length
> L.Text Color: User label text color selection
- HH color: User HH Label color selection
- HL color: User HL Label color selection
- LH color: User LH Label color selection
- LL color: User LL Label color selection
+ Oscillator OB/OS Colored Bars Settings▾
- Overbought/Oversold Bars Oscillator: Plots Overbought/Oversold color bars based on RSI, MFI, Stoch, Stoch RSI overbought/oversold threshold conditions separately or combined(when every oscillator reach its OB or OS threshold condition at same time).
- Overbought Bar Color: User RSI OB Bars color selection
- Oversold Bar Color: User RSI OS Bars color selection
+ Primary RSI Range Color ▾
- OB: Overbought Color
- OS: Oversold Color
- Bullish: Bullish Color
- Bearish: Bearish Color
+ Primary RSI Color interpolation ▾
- RSI Color: RSI Color
- OB: Overbought Color
- OS: Oversold Color
+ Primary RSI Center Line Color ▾
- OB: Overbought Color
- Bullish: Bullish Color
- Bearish: Bearish Color
- OS: Oversold Color
+ Primary RSI Traditional Color ▾
- RSI Color: RSI Color
- OB: Overbought Color
- OS: Oversold Color
Osc Overbought/Oversold Zones Settings ▾
- OB/OS Zone Band Lines: Enable/Disable OB/OS Zone Band Lines
- OB/OS Zones only: Only shows OB/OS Zones and disable all RSI band lines except Middle Band. Background will not be effected by this setting.
- Overbought Zone: User input value of Overbought Zone from
> To:
- Oversold Zone: User input value of Oversold Zone from
> To:
Osc Overbought/Oversold Highlights ▾
- Overbought Highlights : Enable/Disable Overbought Highlights
- Oversold Highlights : Enable/Disable Oversold Highlights
- Transparency: Gradient transparency of highlighted area
+ 'Oscillators Color Settings ▾
- Show Osc Symbol label : Enable/Disable of oscillator symbol label. Displays current oscillator symbol, but with "Override Oscillator Symbol" enabled from "Black RSI Dashboard" it will Auto/forcefully displays Override Oscillator Symbol on Oscillator
- Fade out Oscillator line: Fade out the oscillator line color, focusing only the most recent periods prominent for a clearer chart
- Fill Stoch/StochRSI lines: Fills Stoch/Stoch RSI lines
- Oscillator line thickness: user input value of oscillator line thickness
- Oscillator line offset: Shifts the oscillator to the left or to the right on the given number of bars, Default is 0
- OBV Color
- MFI Color
- ATR Color
- UO Color
- MOM Color
- CVD Bullish Color
- CVD Bearish Color
+ Background Setting ▾
- Custom Background Color: User selection of Background color
Authors & Credits: I'd like to THANK to Nabeel Black(myself), LonesomeTheBlue, iFuSiiOnzZ, jmosullivan, zdmre, creengrack, and TradingView for the locally sourced ingredients.
Disclaimer: DYOR. Not financial advice. Not a trading system. I am not affiliated with TradingView or any authors mentioned here; You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely. Always trade with confluence and Risk Management.
Feedback & Bug report
if you found any bug in this indicator or any suggestion, please let me know. Please give feedback & appreciate if you like to see more future updates and indicators. Thank you
AQPRO ScalperX📝 INTRODUCTION
AQPRO ScalperX is a trading indicator designed for fast-paced, intraday trading. It uses Donchian channel breakouts, combined with a proprietary filtering system, to catch buy and sell opportunities as close to the beginning as possible without losing quality of the signals.
On top of core signals, ScalperX includes a real-time max profit tracker, a multi-timeframe (MTF) dashboard, support and resistance zones, and risk management visualization tools like automatic rendering of TP and SL lines. The indicator is fully customizable for both its visuals and functional settings.
🎯 PURPOSE OF USAGE
This indicator was initially designed with the idea of trying to make such a tool, that would be able to catch trend reversal in the most safe way. In this particular situation term 'safe way' is very abstract and it is up to interpretation, but we decided that our definition will be 'trading with price breakouts' , meaning that we would like to capitalize on price breaking its previous structure in the direction opposite to the previous one.
You can clearly see on the chart how buy and sell signals are going one after another on the screenshot below:
This ensures that we follow trend consistently and without missing out on potential profits. Just like they say: " let the winners run ".
Even though indicator with similar goals already exist in the open market, we believe that our proprietary algorithms and filters for determining price breakouts can make a big difference to traders, which employ similar strategies on daily basis, by helping them understand where are the potential high-quality breakouts might be. We haven't found indicator with exact same functionality as ours, which means that traders will be able to leverage an actually new tool to generate new price insights.
In short, main goals of this indicator are as follows:
Catching high-quality price breakouts, filtered to reduce the amount of choppy moves and false signals;
Tracking potential profits in real-time, directly on trader's chart;
Organizing data visualization of data pf latest signals from chosen asset from multiple timeframe in one dashboard;
Automated highlighting of key support and resistance zones on the chart, which serve as confirmation for main signals;
⚙️ SETTINGS OVERVIEW
Options for customization of this indicator are straightforward, but let's review them to make things certainly clear:
🔑 ScalperX / Main Settings
Range — defines the "wideness" of the breakout boxes. Higher values create wider breakout zones and impact breakout sensitivity;
Filter — adjusts the spacing between breakout boxes, determining the strictness of signal filtering. Higher values lead to more selective and rarer signals;
Show Max Profit — displays a real-time line and label that updates when a trade achieves a new peak profit, measured in ticks.
⏰ MTF Signal / Main Settings
Show MTF Signals — enables the generation of buy/sell signals from selected higher timeframes, displayed as labels on the current chart;
Timeframe — specifies the higher timeframe to use for MTF signal detection, such as 1 hour (1h) or 4 hours (4h).
🗂️ MTF Dashboard / Main Settings
Show MTF Dashboard — activates a dashboard that tracks entries, TP, SL, and overall trade bias for one selected symbol across four customizable timeframes;
* Dashboard position ( Vertical ) — adjusts whether the dashboard appears on the Top, Middle, or Bottom of the chart;
* Dashboard position ( Horizontal ) — aligns the dashboard Left, Center, or Right within the chart window;
* the name of the parameter is hidden in the settings
🗂️ MTF Dashboard / Ticker
Ticker to Track — Allows you to choose the specific ticker symbol (e.g., BINANCE:BTCUSDT) for MTF tracking.
🗂️ MTF Dashboard / Timeframes
* Timeframe 1 — set the first timeframe for multi-timeframe analysis (e.g., 15 minutes);
* Timeframe 2 — set the second timeframe for multi-timeframe analysis (e.g., 30 minutes);
* Timeframe 3 — set the third timeframe for multi-timeframe analysis (e.g., 1 hour);
* Timeframe 4 — set the fourth timeframe for multi-timeframe analysis (e.g., 4 hours).
* the name of the parameter is hidden in the settings
🛡️ Risk Management / Main Settings
Show TP&SL — displays dynamic lines and labels for the entry, Take Profit (TP), and Stop Loss (SL) of the most recent signal, updated in real-time until a new signal triggers;
Risk-to-Reward Ratio (R:R) — defines the ratio for TP and SL calculation to control your risk and reward on every trade.
📐 Support & Resistance / Main Settings
Show Support & Resistance Zones — enables dynamic zones based on pivot points, colored bullish or bearish based on price context;
History Lookback — defines the number of bars to consider when calculating support and resistance levels. Increasing this results in zones derived from longer-term price structures.
🎨 Visual Settings / ScalperX
Bullish Box — defines the color for bullish breakout boxes;
Bearish Box — defines the color for bearish breakout boxes;
Max Profit — sets the color for the max profit line on the chart.
🎨 Visual Settings / S&R
Support — defines color used for standard support zones;
Resistance — defines color used for standard resistance zones;
Strong Support — defines special color for zones classified as "strong support";
Strong Resistance — defines special color for zones classified as "strong resistance".
🎨 Visual Settings / MTF Dashboard
Bullish — sets the color for bullish trade states in the MTF dashboard;
Bearish — sets the color for bearish trade states in the MTF dashboard.
🔔 Alerts / Main Settings
Buy & Sell — toggles alerts for buy and sell signals detected by the indicator in the current chart timeframe;
MTF Buy & Sell — toggles alerts for buy and sell signals detected across the selected MTF timeframes.
📈 APPLICATION GUIDE
Application flow of this indicator very easy to understand and get used to, because all of the necessary elements — analysis, drawing, alert — are already automated by our algorithms. Let's review how the indicator works.
Let's start with the most basic thing — how will your indicator look when you load it on your chart for the first time:
AQPRO ScalperX consists mainly of 6 logic blocks:
ScalperX signals;
Risk visualization;
Max Profit tracking;
MTF scalper signals;
MTF dashboard;
Support & Resistance zones.
Description of each logic block is provided in the corresponding sections below.
SCALPERX SIGNALS
Signals, generated by our indicator, are shown on the chart as coloured up/down triangle. When a signal appears on the chart, indicator also create a box of length equal to 'Range' parameter from "Main Settings" group of settings. This box is intended to show which area of the price was broken by current candle.
It also important to acknowledge, the breakout itself happens only when price closes beyond broken price area with its close (!) price . Breakouts with highs or lows are not counted. This reduces the amount of low-quality signals and ensures that only the strong breakout will appear on the chart.
VERY IMPORTANT NOTE: all signals are considered valid only on the close of the candle, which triggered the signal, so if you want to enter a trade by any signal, wait for its candle to close and open your trade right on the next candle.
Talking about scalper's settings, we need to shed a light on how the changes in them affect signal's quality.
Parameter 'Range' defines the amount of bars, that will be review prior to current candle to determine wether the price area of this bars is good enough to track and if current candle actually broke this price area.
👍 Rule of thumb : the higher the 'Range' is, the "wider" the boxes. Also the with the increase of this parameter rises the lag of the signals, so be carefully with setting high values to this parameter.
See the visual showcase of signals with different 'Range' parameters on the screenshot below:
The example above features two instancies of ScalperX with two different 'Range' parameter values: 15 (leftchart) and 5 (right chart). You can clearly see, that on left chart here are 2 signals in comparison to 6 signals on right chart. Also signals on the left side have bigger lag and they don't catch the start of the move in comparison to how quickly tops and bottoms are catched with low 'Range' . However, low 'Range' will lead to excessive amount of signals, quality of which during 'whipsaw' markets is not that great.
✉️ Our advice on how to optimally set 'Range' parameter:
Use low values to trade during the times, when there are a lot of clean up and down impulses. This way you will catch reversal opportunities sooner and the quality of the signals will still be great;
Use high values on the 'whipsaw' markets. This will filter out many bad signals, that you would get with low-value 'Range' , and will drastically reduces amount of losing trades.
Talking about the 'Filter' parameter, this particular setting defines the 'strictness' of rules which will be applied to price area validation process. Essentially, the higher this parameter is, the stronger price impulse has to be confirm the breakout. However, changes in this parameter will not impact the "wideness" of boxes at all.
👍 Rule of thumb : the higher the 'Filter' is, the more separated the signal will be. Setting this parameter to high value will lead to increase in lag and big reduction in amount of signals, so be careful this parameter to high values.
See the visual showcase of signals with different 'Filter' parameters on the screenshot below:
The example above features two instancies of ScalperX with two different 'Filter' parameter values: 20 (left chart) and 2.5 (right chart). You can clear see, that low 'Filter' generated 6 signals, while higher one generated only 4 signals. However if you look closer, you will see that 2 signals, that existing in the yellow dashed area on the right chart, don't exist in the same area on the left chart. This is because high value of this parameter requires price impulse to be very strong in order for the indicator to mark this breakout as a valid one. What is more important is that these 2 'missing' signals were actually bad and, technically, we actually cut our losses in this case with high value of 'Filter' . You can see that the leftmost sell signal on the left chart eventually closed in a nice profit, in comparison to the same trade being closed in a loss on the right chart because of the 2 signals that we were talking about above.
It is important to note, that setting 'Filter' to low values will not affect performance this much as it low value of 'Range' do, because the indicator already works on low values of this parameter by default and the signals on average are already good enough for trading.
✉️ Our advice on how to optimally set 'Filter' parameter:
Use low values to trade on the markets with clean up and down impulses. This way you avoid excessive filtering and leave a room for good signals to come right at you;
Use high values to trade on 'whipsaw' markets. Higher values of this parameter on these markets have same effect as high 'Range' parameter: filtering false signals and leaving room for actually strong price impulses, which you will later capitalize on.
RISK VISUALIZATION (TP&SL)
Rendering Take-Profits and Stop-Losses in our indicator works quite simple: for each new trade indicator creates new pairs of lines and labels for TP and SL, while lines & labels from previous trade are erased for aesthetics purposes. Each label shows price coordinates, so that each trader would be able to grap the numbers in seconds.
See the visual showcase of TP & SL visualization on the screenshot below:
Also, whenever TP or SL of the current trade is reached, drawing of both TP and SL stops. When the TP is reached, additional '✅' emoji on the TP price is shown as confirmation of Take-Profit.
However, while TP or SL has not been reached, TP&SL labels and lines will be prolonged until one of them will be reached or new signals will come.
See the visual showcase of TP & SL stopping being visualized & TP on the screenshot below:
MAX PROFIT TRACKING
This mechanic is not particularly a new one in field of trading, but people usually forgot that it can be a useful indicator of state of the market:
when lines and labels of Max Profit are far from entry points on consistent basis , it usually means that indicator's signals actually can catch a beginning of good price moves, which enables trader to capitalize on them;
when lines and labels of Max Profit are close to entry points on consistent basis , it means that either market is choppy or the indicator can't catch trading opportunities in time. To 'fix' this you can try to reconfigure scalper's parameters, which were described above.
Principles of Max Profit in this indicator are of industry-standard: when price updates its extremum and 'generates' more profit than it previously did, Max Profit label and line change their position to this extremum. Max Profit label displays the maximum potential amount of profit that a trader could have got during this trade in pips (!) .
See the visual showcase of Max Profit work on the screenshot below:
MTF SCALPER SIGNALS
The principles of these signals are exactly the same as principles for classic Scalper signals. Refer to 'Scalper Signals' section above to rehearse the knowledge.
Logic behind these signals is very simple:
We take classic Scalper signals;
We request the data about these latest signals from specific other timeframe ( user can choose it in the settings );
If such signals appeared, we display it on the chart as a big label with timeframe value inside of it. In comparison to classic signals, no additional boxes are created . TP&SL functionality doesn't cover MTF signals, so don't expect to see TP&SL lines and labels for MTF signals.
See the visual showcase of MTF Scalper signals on the screenshot below:
MTF DASHBOARD
The functionality of the dashboard is pretty simple, but it makes the dashboard itself a very powerful tool in a hands of experienced trader.
Let's review structure of MTF dashboard on the screenshot below:
The important feature of MTF dashboard is that its tracks latest trade's data from a particular ticker and its four timeframes, all of which any trader chooses in the settings. This means, that you can be on asset ABC , but track the data from asset XYZ . This allows for a quick scan of sentiment from different assets and their timeframes, which gives traders a clue on what is the trend on these assets both on lower and higher timeframes at the same moment and saves a lot of time from jumping from one asset & timeframe to another.
To see that this is exactly the case with our indicator, see the screenshot below:
Needless to say, that you can track current asset in the dashboard as well. This will have the same benefits, described in the paragraph above.
You can also customize colours for bullish and bearish patterns for MTF Dashboard in the settings.
SUPPORT & RESISTANCE ZONES
Support & resistance (S&R) zones are a great tool for confirming Scalper signals in complex situations. Using these zones to determine whether or a particular entry opportunity is good is a practice of professional traders, which we specifically added to our indicator for the reason of improving the quality of Scalper signals in long run.
The mechanics behind these zones is based on pivot points, the lookback for which you can customize in the parameter called 'History Lookback (Bars)' in "Support & Resistance / Main Settings" group of settings. Increasing this parameter will lead to a appearance of more 'global' zones, but they will appear much rarer, rather then zones, generated with low values of this parameter.
The quality of these zones doesn't change much when changing this parameter — it only changes the frequency of the zones on the chart. Zones, generated from high values of this parameter are more suitable for long-term trading, while zones, generated from low value of this parameter, are more suitable for short-term trading.
It also important to mention that any zone on the chart is considered active only until the moment its farther border ( top border for resistance zones and bottom border for support zones) is reached by price's high or low .
Take a look on the screenshot below to see which zones does the indicator draw:
Let's review the zones themselves now:
Classic Support/Resistance Zone — a standard zone, which on average has amedium success rate to reverse the price when collided with it;
High-buyer-volume/High-seller-volume Support/Resistance Zone — a stronger zone, which on average has much better success rate to reverse the price when collided with it. Classic zone is marked as high-volume only if the up/down volume near the pivot point of this zone is greater than a certain threshold ( not changeable );
Extreme Support/Resistance Zone — a zone, which appeared beyond price's least-possible-to-cross levels, and has to the highest success rate of reversing the price on encounter across the zones, mentioned previously. Classic zone, which appeared beyond certain price levels, calculated with our proprietary risk system, is considered extreme. Classic zone doesn't need to be high-volume to become an Extreme Zone!
High-buyer-volume/High-seller-volume Extreme Support/Resistance Zone — an Extreme Zone, which has also passed up/down volume evolution process, mentioned in the point 2 .
Trading with the zones, mentioned above, with highest-on-paper success rate — especially Extreme Zones — does NOT guarantee you a price reversal when the price will reach this zone. However, by conducting our own extensive research with this indicator, we have found that using these zone will actually help you increase your success rate on average, because using these zones as confirmation systems filter out quite a number of false signals on average.
It is also important to mention, that opacity (same as 'transparency') of S&R zones depends on the volume of around zone's pivot point:
if volume is high , zone has 'brighter' (less opacity) colour;
if volume is low , zone has 'darker' (more opacity) colour.
Let's review examples of Scalper signal, which 1) where filtered out by our S&R zones and 2) where confirmed by our S&R zones. See the screenshot below:
The example above clearly shows the importance of having an S&R zone confirming the signal. This kind of 'team work' between of Scalper signals and S&R zones results in filtering lots of bad signals and confirmation of truly strong ones.
🔔 ALERTS
This indicator employs alerts for an event when new signal occurs on the current timeframe or on MTF timeframe. While creating the alert below 'Condition' field choose 'any alert() function call'.
When this alert is triggered, it will generate this kind of message:
// Alerts for current timeframe
string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BUY_OR_SELL"
string msg_example = "BINANCE:BTCUSDT, 15m: Buy"
// Alerts for MTF timeframe
string msg_template_mtf = "MTF / EXCHANGE:ASSET, TIMEFRAME: BUY_OR_SELL"
string msg_example_mtf = "MTF / BINANCE:BTCUSDT, 1h: Buy"
📌 NOTES
This indicators works best on assets with high liquidity; most suitable timeframes range from 1m to 4h (depends on your trading style) ;
Seriously consider using S&R zones as confirmation to main Scalper signals or any of your own signals. Confirmation process may filter out a lot of signals, but your PNL History will say "thank you" to you in the long-run and you will see yourself how good confirmed signals actually do work;
Don't forget to look at MTF dashboard from time to time to see global sentiment. This will help you time your entry moments better and will improve your performance in the long run;
This indicator can serve both as primary source of signals and as confirmation tool, but we advise to try to combine it with your own strategy frst to see if it will improve your performance.
🏁 AFTERWORD
AQPRO ScalperX was designed to help traders identify high-quality price breakouts and generate market insights based on them, which include signal generation. Main feature of this indicator is Scalper algorithm, which generate price-breakout-based signals directly on your chart.
Alongside these signals you can leverage 1) MTF Dashboard to track latest trade's data from chosen asset and its four timeframes, 2) risk visualization functionality (TP&SL) to improve understanding of current market risks and 3) Support & Resistance zones, which serve as a great confirmation tool for Scalper signals, but can also work with any other signal generation tool to enhance its performance.
ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.
AQPRO Pattern Map
📝 INTRODUCTION
AQPRO Pattern Map is a comprehensive trading tool designed to automate the detection of 27 most popular candlestick patterns across any financial asset, making it a powerful tool for traders who use strategies, which are based on candlestick patterns.
This indicator not only identifies candlestick patterns but also incorporates multi-timeframe (MTF) analysis , risk management tools like Take-Profit (TP) and Stop-Loss (SL) , and labeled visual cues for effortless chart reading. Below is the complete list of patterns it supports:
📜 Patterns scanned by the indicator:
One-candle patterns:
Hammer;
Shooting Star;
Marubozu (Bullish/Bearish);
Doji.
Two-candle patterns:
Belt Hold (Bullish/Bearish);
Engulfing (Bullish/Bearish);
Harami (Bullish/Bearish);
Harami Cross (Bullish/Bearish);
Kicker (Bullish/Bearish);
Window (Rising/Falling Gap);
Piercing Line / Dark Cloud Cover.
Three-candle patterns:
Outside Up / Down Bar;
Inside Up / Down Bar;
Morning Star / Evening Star;
Three White Soldiers / Three Black Crows;
Advance Block / Descent Block;
Tasuki Gap (Upside/Downside);
Side-by-Side White Lines.
Multi-candle patterns:
Rising One / Falling One;
Rising Two / Falling Two;
Rising Three / Falling Three;
Rising Four / Falling Four;
Rising Five / Falling Five;
Breakaway Two / Three / Four / Five (Bullish/Bearish);
Fakey (Bullish/Bearish).
With this tool, traders can visually and systematically track key candlestick setups across multiple timeframes simultaneously, making it an all-in-one solution for identifying actionable patterns.
🎯 PURPOSE OF USAGE
The primary goal of the "AQPRO Pattern Map" is to equip traders with a highly efficient way of identifying significant candlestick patterns across different timeframes, making the decision-making process stronger in a sense of both quality and quantity of presented information.
Specifically, this indicator addresses the following needs:
Automation of pattern detection.
Nobody likes searching for patterns on the chart "by hand", because it takes too much time and mental energy. With this screener you can forget about this problem: automatic scanning for 27 of the most commonly used patterns will save your tens, if not hundreds of hours of time, so you can focus on what really matters;
Multi-timeframe (MTF) analysis.
This one is one of the most unique features of this indicator, because after conducting product research in library of open-source scripts alike this screener, almost none of reviewed indicators had MTF analysis feature embedded in them. This feature is important for the simplest of reasons: you see candlestick data from other timeframes without jumping from one timeframe to another . Needless to say how much time it will save for traders over the years of trading. See description below to learn more on exact functionality of our MTF analysis;
Risk management automation.
Humans tend to overestimate risk, when matters are about earning money from "financially-dangerous" activities and trading is no exception. To help traders better understand what they risk, we implemented a simple, yet effective way of displaying levels of risk for each pattern. For each new pattern on the chart you will be able see automatic creation of Take-Profit (TP) and Stop-Loss (SL) levels. It involves creation and displaying of lines and labels, representing each level at its exact coordinates. This elevates visual perception of risk for fellow traders and avoid excessive risk in many cases;
Simplicity in data visualization.
Charts, which are cluttered with pointless visual noise, presented as 'additional confirmation analysis', don't foster insights and are not worth a dime . We understand this issue very well and we designed our indicator with the solution to this problem in mind. Every bit of information, that you will see on your chart, will make sense both technically and visually — no more wasting time cleaning mess on your charts.
By addressing the needs, described above, this indicator will be a useful tool for any trader, who employs principles of candlestick pattern analysis, because most important pains of this kind of analysis are efficiently handled by our indicator.
⚙️ SETTINGS OVERVIEW
Customization options of our indicator are quite extensive, because flexibility in such indicator is in the top of most important qualities. Let's review each group of settings deeper:
📊 Patterns: One-Candle
This group allows you to enable or disable specific onep -candle candlestick patterns.
Toggle on/off switch for Hammer, Shooting Star, Marubozu, and Doji .
📊 Patterns: Two-Candle
This group allows you to enable or disable specific two -candle candlestick patterns.
Toggle on/off switch for Belt Hold, Engulfing, Harami & Harami Cross, Kicker, Window, Piercing Line & Dark Cloud Cover .
📊 Patterns: Three-Candle
This group allows you to enable or disable specific three -candle candlestick patterns.
Toggle on/off switch for Morning Star & Evening Star, Three White Soldiers, Three Black Crows, Advance Block & Descent Block, Tasuki Gap, Side-by-Side Gap (Bullish), Squeeze .
📊 Patterns: Multi-Candle
This group allows you to enable or disable specific multi -candle (3 or more candle) candlestick patterns.
Toggle on/off switch for Rising/Falling sequences, Breakaway patterns, and Fakey .
📊 MTF Settings
These settings allow you to use the Multi-Timeframe Screener to display patterns from additional timeframes.
"Use MTF Screener" — toggles the addition of MTF Screener to main dashboard ( described in 'Visual Settings' ). If enabled, adds section of MTF Screener below main dashboard
* List of four timeframes — your personal list to choose your timeframe, which will be used to get data about latest patterns. Default list of timeframes includes timeframes like 15min, 30min 1hr, 4hr .
* The detected patterns from these timeframes will be displayed in the MTF Dashboard on the chart.
🛡️ Risk Settings
As was described above, risk settings in our indicator will control appearance of TP and SL labels and lines, which appear for each new trade. Here you can customize the most essential parameters.
"Show TP/SL" — toggles the visibility of Take-Profit (TP) and Stop-Loss (SL) values for the most recent pattern.
"Risk-to-Reward Ratio (R:R)" — defines your desired risk/reward ratio for the TP and SL calculations. The more this parameter is, the further the TP from entry level will be.
🎨 Visual Settings
In this group of settings you can fine-tune the visual appearance of the indicator to fit your preferences.
IMPORTANT: colour parameters from this group of settings affect ONLY colours in the dashboard.
"Use info dashboard" — if enabled, shows dashboard in the top right corner of the chart, which displays latest pattern's TP and SL alongside with this pattern's trade status: '⏳' - TP or SL have not been reached yet, '✋' - TP or SL have already been reached already, refrain from taking the trade.
"Bullish Pattern" — defines the color for bullish patterns.
"Bearish Pattern" — defines the color for bearish patterns.
"Neutral Pattern" — specify the color for neutral patterns like Doji.
"Frame Width" — adjusts the thickness of frames highlighting detected patterns on the chart.
📈 APPLICATION GUIDE
The way of application of this indicator is pretty straightforward, because trading methodologies based on candlestick patterns were developed decades ago and haven't changed much since then. However, we find it necessary to explain the most essential ways of application in this section.
Let's start with the basics — how you will your chart look when you load the indicator for the first time:
By default we have 5 main visual data "blocks":
Bullish patterns;
Bearish patterns;
Risk visualization;
Main Dashboard;
MTF Screener.
Let's review each of these groups one by one.
BULLISH & BEARISH PATTERNS
Patterns are displayed as up/down labels, which are styled in corresponding to trend colours. Each patterns has its own unique emoji to help traders easily navigate between patterns.
Also by default each pattern has its custom frame, inside of which resides candle (or multiple candles) of the pattern iself. These frames are made with purpose to show each pattern in a very clear way on the chart, because huge number of public scripts usually only show simple label of such patterns and don't highlight the pattern itself on the chart. To remove frames you can set "Frame Width" parameter to 0 in 'Visual Settings' group in the settings.
You can see the examples of frame on the screenshot below:
RISK VISUALIZATION (TP & SL)
Displaying Take-Profits and Stop-Losses in our indicator on the chart works quite simple: for each new trade indicator creates new pairs of lines and labels for TP and SL, while lines & labels from previous trade are erased for aesthetics purposes. Each label shows price coordinates, so that each trader would be able to grap the numbers in seconds.
See the visual showcase of TP & SL visualization on the screenshot below:
Also, whenever TP or SL of the current trade is reached, drawing of both TP and SL stops . When the TP is reached, additional '✅' emoji on the TP price is shown as confirmation of Take-Profit.
However, while TP or SL has not been reached, TP&SL labels and lines will be prolonged until one of them will be reached or new signals will come.
See the visual showcase of TP & SL stopping being visualized & TP on the screenshot below:
MAIN DASHBOARD
Main dashboard is displayed in the top right corner of the chart and it shows the data of latest pattern, that occurred on the current asset and current timeframe: pattern's name, TP, SL and trade status. Depending on bullishness or bearishness of the pattern, dashboard is colour in respective colour.
Also on the right of side TP and SL data block there is a so called trade status. It is basically an indication of wether or not latest pattern's trade is still active or not:
If TP or SL of the pattern have not been reached yet, trade is considered active and is marked with '⏳' emoji;
If TP or SL of the pattern have already been reached, trade is considered inactive and is marked with '✋' emoji.
See the visual showcase of dashboard on the screenshot below:
MTF Screener
MTF Screener is displayed right below the main dashboard and its has distinctive 'MTF Patterns' header row on the top, painted in gray colour to make sure that every traders understand he is looking at.
This screener shows the timeframe and name of patterns from four other timeframes, which trader can customize in the settings to his liking. This will help trader get more insights on global sentiment of other timeframes, which improves trading results overall if applied correctly.
In the future MTF Screener will be expanded to have more data in it, like TP and SL, age of pattern and etc.
See the visual showcase of the MTF Screener on the screenshot below:
Features, explained above, make this indicator quite versatile and suitable for incorporation in any trading strategy, which uses candlestick patterns. They are simple, yet insightful, and traders, which use similar strategies everyday, will truly appreciate the benefits of this indicator when they will set up this indicator for the first time on their chart.
🔔 ALERTS
This indicator employs alerts for an event when new pattern occurs. While creating the alert below 'Condition' field choose 'any alert() function call' .
When this alert is triggered, it will generate this kind of message:
string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BULLISH_OR_BEARISH pattern PATTERN_NAME was found."
string msg_example = "BINANCE:BTCUSDT, 15m: bullish pattern 'Hammer' was found."
📌 NOTES
This indicator is most effective when used in combination with other technical analysis tools such as trendlines, moving averages, support/resistance levels or any other indicator-type tool. We strongly recommend using this indicator as confirmation indicator for your main trading strategy, not as primary source of signals;
If you want to trade directly by these patterns, make sure to use proper risk management techniques of your own and use TP&SL visualization on the chart to always have a clue about your current position;
If you lost track of visual components on the chart, look at the main dashboard to see text summary of data from latest pattern. Also don't forget to look at MTF Screener to have more context about MTF sentiment, because it is increases your understandings of MTF price trend and improves your decision-making process.
🏁 AFTERWORD
AQPRO Pattern Map was built to help traders automate candlestick pattern searching routine, improve chart readability and enhance perception of current potential risks, which may come from trading from a specific pattern. Indicator's main dashboard and MTF screener eliminate the need for constantly checking other timeframe for global sentiment, helping traders save even more time and fostering improved decision making.
This indicator will work in great conjunction with any other trading strategy as confirmation tool for entry decision. Using this indicator as primary source of signals is not recommended due to unstable nature of trading patterns.
ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.
Multi-Fibonacci Trend Average[FibonacciFlux]Multi-Fibonacci Trend Average (MFTA): An Institutional-Grade Trend Confluence Indicator for Discerning Market Participants
My original indicator/Strategy:
Engineered for the sophisticated demands of institutional and advanced traders, the Multi-Fibonacci Trend Average (MFTA) indicator represents a paradigm shift in technical analysis. This meticulously crafted tool is designed to furnish high-definition trend signals within the complexities of modern financial markets. Anchored in the rigorous principles of Fibonacci ratios and augmented by advanced averaging methodologies, MFTA delivers a granular perspective on trend dynamics. Its integration of Multi-Timeframe (MTF) filters provides unparalleled signal robustness, empowering strategic decision-making with a heightened degree of confidence.
MFTA indicator on BTCUSDT 15min chart with 1min RSI and MACD filters enabled. Note the refined signal generation with reduced noise.
MFTA indicator on BTCUSDT 15min chart without MTF filters. While capturing more potential trading opportunities, it also generates a higher frequency of signals, including potential false positives.
Core Innovation: Proprietary Fibonacci-Enhanced Supertrend Averaging Engine
The MFTA indicator’s core innovation lies in its proprietary implementation of Supertrend analysis, strategically fortified by Fibonacci ratios to construct a truly dynamic volatility envelope. Departing from conventional Supertrend methodologies, MFTA autonomously computes not one, but three distinct Supertrend lines. Each of these lines is uniquely parameterized by a specific Fibonacci factor: 0.618 (Weak), 1.618 (Medium/Golden Ratio), and 2.618 (Strong/Extended Fibonacci).
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval=0.01, step=0.01, tooltip='Factor 1 (Weak/Fibonacci)', group="Fibonacci Supertrend")
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval=0.01, step=0.01, tooltip='Factor 2 (Medium/Golden Ratio)', group="Fibonacci Supertrend")
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval=0.01, step=0.01, tooltip='Factor 3 (Strong/Extended Fib)', group="Fibonacci Supertrend")
This multi-faceted architecture adeptly captures a spectrum of market volatility sensitivities, ensuring a comprehensive assessment of prevailing conditions. Subsequently, the indicator algorithmically synthesizes these disparate Supertrend lines through arithmetic averaging. To achieve optimal signal fidelity and mitigate inherent market noise, this composite average is further refined utilizing an Exponential Moving Average (EMA).
// Calculate average of the three supertends and a smoothed version
superlength = input.int(21, 'Smoothing Length', tooltip='Smoothing Length for Average Supertrend', group="Fibonacci Supertrend")
average_trend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_trend = ta.ema(average_trend, superlength)
The resultant ‘Smoothed Trend’ line emerges as a remarkably responsive yet stable trend demarcation, offering demonstrably superior clarity and precision compared to singular Supertrend implementations, particularly within the turbulent dynamics of high-volatility markets.
Elevated Signal Confluence: Integrated Multi-Timeframe (MTF) Validation Suite
MFTA transcends the limitations of conventional trend indicators by incorporating an advanced suite of three independent MTF filters: RSI, MACD, and Volume. These filters function as sophisticated validation protocols, rigorously ensuring that only signals exhibiting a confluence of high-probability factors are brought to the forefront.
1. Granular Lower Timeframe RSI Momentum Filter
The Relative Strength Index (RSI) filter, computed from a user-defined lower timeframe, furnishes critical momentum-based signal validation. By meticulously monitoring RSI dynamics on an accelerated timeframe, traders gain the capacity to evaluate underlying momentum strength with precision, prior to committing to signal execution on the primary chart timeframe.
// --- Lower Timeframe RSI Filter ---
ltf_rsi_filter_enable = input.bool(false, title="Enable RSI Filter", group="MTF Filters", tooltip="Use RSI from lower timeframe as a filter")
ltf_rsi_timeframe = input.timeframe("1", title="RSI Timeframe", group="MTF Filters", tooltip="Timeframe for RSI calculation")
ltf_rsi_length = input.int(14, title="RSI Length", minval=1, group="MTF Filters", tooltip="Length for RSI calculation")
ltf_rsi_threshold = input.int(30, title="RSI Threshold", minval=0, maxval=100, group="MTF Filters", tooltip="RSI value threshold for filtering signals")
2. Convergent Lower Timeframe MACD Trend-Momentum Filter
The Moving Average Convergence Divergence (MACD) filter, also calculated on a lower timeframe basis, introduces a critical layer of trend-momentum convergence confirmation. The bullish signal configuration rigorously mandates that the MACD line be definitively positioned above the Signal line on the designated lower timeframe. This stringent condition ensures a robust indication of converging momentum that aligns synergistically with the prevailing trend identified on the primary timeframe.
// --- Lower Timeframe MACD Filter ---
ltf_macd_filter_enable = input.bool(false, title="Enable MACD Filter", group="MTF Filters", tooltip="Use MACD from lower timeframe as a filter")
ltf_macd_timeframe = input.timeframe("1", title="MACD Timeframe", group="MTF Filters", tooltip="Timeframe for MACD calculation")
ltf_macd_fast_length = input.int(12, title="MACD Fast Length", minval=1, group="MTF Filters", tooltip="Fast EMA length for MACD")
ltf_macd_slow_length = input.int(26, title="MACD Slow Length", minval=1, group="MTF Filters", tooltip="Slow EMA length for MACD")
ltf_macd_signal_length = input.int(9, title="MACD Signal Length", minval=1, group="MTF Filters", tooltip="Signal SMA length for MACD")
3. Definitive Volume Confirmation Filter
The Volume Filter functions as an indispensable arbiter of trade conviction. By establishing a dynamic volume threshold, defined as a percentage relative to the average volume over a user-specified lookback period, traders can effectively ensure that all generated signals are rigorously validated by demonstrably increased trading activity. This pivotal validation step signifies robust market participation, substantially diminishing the potential for spurious or false breakout signals.
// --- Volume Filter ---
volume_filter_enable = input.bool(false, title="Enable Volume Filter", group="MTF Filters", tooltip="Use volume level as a filter")
volume_threshold_percent = input.int(title="Volume Threshold (%)", defval=150, minval=100, group="MTF Filters", tooltip="Minimum volume percentage compared to average volume to allow signal (100% = average)")
These meticulously engineered filters operate in synergistic confluence, requiring all enabled filters to definitively satisfy their pre-defined conditions before a Buy or Sell signal is generated. This stringent multi-layered validation process drastically minimizes the incidence of false positive signals, thereby significantly enhancing entry precision and overall signal reliability.
Intuitive Visual Architecture & Actionable Intelligence
MFTA provides a demonstrably intuitive and visually rich charting environment, meticulously delineating trend direction and momentum through precisely color-coded plots:
Average Supertrend: Thin line, green/red for uptrend/downtrend, immediate directional bias.
Smoothed Supertrend: Bold line, teal/purple for uptrend/downtrend, cleaner, institutionally robust trend.
Dynamic Trend Fill: Green/red fill between Supertrends quantifies trend strength and momentum.
Adaptive Background Coloring: Light green/red background mirrors Smoothed Supertrend direction, holistic trend perspective.
Precision Buy/Sell Signals: ‘BUY’/‘SELL’ labels appear on chart when trend touch and MTF filter confluence are satisfied, facilitating high-conviction trade action.
MFTA indicator applied to BTCUSDT 4-hour chart, showcasing its effectiveness on higher timeframes. The Smoothed Length parameter is increased to 200 for enhanced smoothness on this timeframe, coupled with 1min RSI and Volume filters for signal refinement. This illustrates the indicator's adaptability across different timeframes and market conditions.
Strategic Applications for Institutional Mandates
MFTA’s sophisticated design provides distinct advantages for advanced trading operations and institutional investment mandates. Key strategic applications include:
High-Probability Trend Identification: Fibonacci-averaged Supertrend with MTF filters robustly identifies high-probability trend continuations and reversals, enhancing alpha generation.
Precision Entry/Exit Signals: Volume and momentum-filtered signals enable institutional-grade precision for optimized risk-adjusted returns.
Algorithmic Trading Integration: Clear signal logic facilitates seamless integration into automated trading systems for scalable strategy deployment.
Multi-Asset/Timeframe Versatility: Adaptable parameters ensure applicability across diverse asset classes and timeframes, catering to varied trading mandates.
Enhanced Risk Management: Superior signal fidelity from MTF filters inherently reduces false signals, supporting robust risk management protocols.
Granular Customization and Parameterized Control
MFTA offers unparalleled customization, empowering users to fine-tune parameters for precise alignment with specific trading styles and market conditions. Key adjustable parameters include:
Fibonacci Factors: Adjust Supertrend sensitivity to volatility regimes.
ATR Length: Control volatility responsiveness in Supertrend calculations.
Smoothing Length: Refine Smoothed Trend line responsiveness and noise reduction.
MTF Filter Parameters: Independently configure timeframes, lookback periods, and thresholds for RSI, MACD, and Volume filters for optimal signal filtering.
Disclaimer
MFTA is meticulously engineered for high-quality trend signals; however, no indicator guarantees profit. Market conditions are unpredictable, and trading involves substantial risk. Rigorous backtesting and forward testing across diverse datasets, alongside a comprehensive understanding of the indicator's logic, are essential before live deployment. Past performance is not indicative of future results. MFTA is for informational and analytical purposes only and is not financial or investment advice.
Dow Theory Trend Direction VisualizerJapanese below / 日本語説明は下記
Overview
What is difficult for beginner traders is to identify trend occurrence, continuation and reversal.
This indicator visualizes market direction by changing background colors based on Dow Theory so that traders can visually grasp trends.
Sample chart
Functions
1.MTF Higher High/Lower High/Higher Low/Lower Low(HH/LH/HL/LL)
Indicator shows HH/LH/HL/LL of an upper timeframe(MTF) and those of chart’s timeframe at the same time.
As usual, HH/LH/HL/LL of chart’s timeframe can be used to identify trend continuation based on Dow Theory while MTF HH/LH/HL/LL can be used as support/resistance.
Auto and manual mode for MTF
When you select “Auto” mode, then an upper timeframe will be automatically determined as MTF based on chart’s timeframe. If “Manual “ mode selected, then you need to specify MTF timeframe.
MTF HH/LH/HL/LL are displayed only below the selected MTF timeframe so it will not disturb when you open higher timeframe.
For instance, if you select daily timeframe as MTF, then HH/LH/HL/LL of daily timeframe will be shown on 4 hour or below timeframes.
Auto and manual mode for MTF
When you select “Auto” mode, then an upper timeframe will be automatically determined as MTF based on chart’s timeframe. If “Manual “ mode selected, then you need to specify MTF timeframe.
MTF HH/LH/HL/LL are displayed only below the selected MTF timeframe so it will not disturb when you open higher timeframe.
For instance, if you select daily timeframe as MTF, then HH/LH/HL/LL of daily timeframe will be shown on 4 hour or below timeframes.
Sample chart (AUDJPY 4H + Daily timeframe HH/LH/HL/LL )
In this chart, you can see two different timeframe’s trend.
In 4hour timeframe, a new high recorded as HH and in daily timeframe, lows going up from LL to HL and high going up from LH to HH hence daily chart is uptrend.
Also, you can predict that Daily HH would be respected as resistance line.
2.Visualize trends direction with colors based on HH/LH/HL/LL.
Background color will change based on break up/down of HH/LH/HL/LL.
———————
トレードを習得する上で多くの人が苦手意識を持つ「目線付け」。
この目線付けをダウ理論を元に訓練するためのインジケーターを開発しました。
高値·安値の更新状況に応じて相場の方向性を色で可視化するため、視覚的に目線付けをすることが可能です。
サンプルチャート
ダウ理論による目線付けの二つの方法
これは僕の持論ですが、ダウ理論による目線付けの方法には、「トレンドは明確なシグナルが出るまで継続する」という原則を共通の拠り所とする二つの方法があると考えています。
一つは日本人投資家/トレーダーにも良く知られている押し安値·戻り高値を基準とする方法。そしてもう一つは高値·安値の切り上げ·切り下げのみを基準とする方法です。
このインジケーターは後者の方法で目線を可視化します。
(もちろん押し安値·戻り高値と併用した目線判断にも活用可能です。)
機能
1.上位足とチャートの時間軸両方のHigher High/Lower High/Higher Low/Lower Low(HH/LH/HL/LL)の表示(MTF機能)
上位足タイムフレームのHH/LH/HL/LLとチャートタイムフレームのHH/LH/HL/LLを同時に表示することができます。
チャートタイムフレームのHH/LH/HL/LLはダウ理論に基づくトレンドの継続・反転の判断用に、上位足のHH/LH/HL/LLは上位足での高値・安値の切り上げ/切り下げ判断及びレジスタンス・サポートとして使うことができます。
上位足の選択には自動モードとマニュアルモードが選択可能です。自動モードを選択した場合、チャートのタイムフレームに応じて上位足が自動的に決定されます。マニュアルモードの場合は選択した時間軸が上位足タイムフレームとして適用されます。
上位足のHH/LH/HL/LLは選択したタイムフレーム未満でのみ表示されます。例えば上位足のタイムフレームとして日足を選択した場合、日足のHH/LH/HL/LLは日足未満でのみ表示されます。
サンプルチャート (AUDJPY 4H に日足のHH/LH/HL/LL を表示)
このチャートでは二つの異なるタイムフレームの高値・安値更新状況を一度に把握することができます。
4Hでは高値の切り上げが発生しているため、安値を更新しなければ上昇トレンド確定です。一方日足では安値がLLからHLへ(赤の矢印)、高値がLHからHHへと切り上がり(緑の矢印)、上昇トレンドであることがわかります。
また、この場面では上位足のHHがレジスタンスとして機能する可能性も予測できます。
2.目線の方向を色で可視化
HH/LH/HL/LLの更新状況から目線を判断し、背景色とともに可視化します。
Higher High/Lower High/Higher Low/Lower Lowとは何か?
日本人投資家/トレーダーの中にはあまり馴染みのない方もいるかと思いますので、定義を記載します。
Higher High(HH)
切り上がった高値を意味します。当インジケーターでは一つ前の高値(HH/LH)から切り上がった場合にHHとしています。
Lower High(LH)
切り下がった高値を意味します。Lower Highなのでより低い方の高値という意味です。当インジケーターでは一つ前の高値(HH/LH)から切り下がった場合にLHとしています。
Higher Low(HL)
切り上がった安値を意味します。Higher Lowなのでより高い方の安値という意味です。当インジケーターでは一つ前の安値(HL/LL)から切り上がった場合にHLとしています。
Lower Low(LL)
切り下がった安値を意味します。当インジケーターでは一つ前の安値(HL/LL)から切り下がった場合にLLとしています。
使い方
高値·安値の切り上げ·切り下げの判断及びトレンド継続·転換の判断に活用
`security()` revisited [PineCoders]NOTE
The non-repainting technique in this publication that relies on bar states is now deprecated, as we have identified inconsistencies that undermine its credibility as a universal solution. The outputs that use the technique are still available for reference in this publication. However, we do not endorse its usage. See this publication for more information about the current best practices for requesting HTF data and why they work.
█ OVERVIEW
This script presents a new function to help coders use security() in both repainting and non-repainting modes. We revisit this often misunderstood and misused function, and explain its behavior in different contexts, in the hope of dispelling some of the coder lure surrounding it. The function is incredibly powerful, yet misused, it can become a dangerous WMD and an instrument of deception, for both coders and traders.
We will discuss:
• How to use our new `f_security()` function.
• The behavior of Pine code and security() on the three very different types of bars that make up any chart.
• Why what you see on a chart is a simulation, and should be taken with a grain of salt.
• Why we are presenting a new version of a function handling security() calls.
• Other topics of interest to coders using higher timeframe (HTF) data.
█ WARNING
We have tried to deliver a function that is simple to use and will, in non-repainting mode, produce reliable results for both experienced and novice coders. If you are a novice coder, stick to our recommendations to avoid getting into trouble, and DO NOT change our `f_security()` function when using it. Use `false` as the function's last argument and refrain from using your script at smaller timeframes than the chart's. To call our function to fetch a non-repainting value of close from the 1D timeframe, use:
f_security(_sym, _res, _src, _rep) => security(_sym, _res, _src )
previousDayClose = f_security(syminfo.tickerid, "D", close, false)
If that's all you're interested in, you are done.
If you choose to ignore our recommendation and use the function in repainting mode by changing the `false` in there for `true`, we sincerely hope you read the rest of our ramblings before you do so, to understand the consequences of your choice.
Let's now have a look at what security() is showing you. There is a lot to cover, so buckle up! But before we dig in, one last thing.
What is a chart?
A chart is a graphic representation of events that occur in markets. As any representation, it is not reality, but rather a model of reality. As Scott Page eloquently states in The Model Thinker : "All models are wrong; many are useful". Having in mind that both chart bars and plots on our charts are imperfect and incomplete renderings of what actually occurred in realtime markets puts us coders in a place from where we can better understand the nature of, and the causes underlying the inevitable compromises necessary to build the data series our code uses, and print chart bars.
Traders or coders complaining that charts do not reflect reality act like someone who would complain that the word "dog" is not a real dog. Let's recognize that we are dealing with models here, and try to understand them the best we can. Sure, models can be improved; TradingView is constantly improving the quality of the information displayed on charts, but charts nevertheless remain mere translations. Plots of data fetched through security() being modelized renderings of what occurs at higher timeframes, coders will build more useful and reliable tools for both themselves and traders if they endeavor to perfect their understanding of the abstractions they are working with. We hope this publication helps you in this pursuit.
█ FEATURES
This script's "Inputs" tab has four settings:
• Repaint : Determines whether the functions will use their repainting or non-repainting mode.
Note that the setting will not affect the behavior of the yellow plot, as it always repaints.
• Source : The source fetched by the security() calls.
• Timeframe : The timeframe used for the security() calls. If it is lower than the chart's timeframe, a warning appears.
• Show timeframe reminder : Displays a reminder of the timeframe after the last bar.
█ THE CHART
The chart shows two different pieces of information and we want to discuss other topics in this section, so we will be covering:
A — The type of chart bars we are looking at, indicated by the colored band at the top.
B — The plots resulting of calling security() with the close price in different ways.
C — Points of interest on the chart.
A — Chart bars
The colored band at the top shows the three types of bars that any chart on a live market will print. It is critical for coders to understand the important distinctions between each type of bar:
1 — Gray : Historical bars, which are bars that were already closed when the script was run on them.
2 — Red : Elapsed realtime bars, i.e., realtime bars that have run their course and closed.
The state of script calculations showing on those bars is that of the last time they were made, when the realtime bar closed.
3 — Green : The realtime bar. Only the rightmost bar on the chart can be the realtime bar at any given time, and only when the chart's market is active.
Refer to the Pine User Manual's Execution model page for a more detailed explanation of these types of bars.
B — Plots
The chart shows the result of letting our 5sec chart run for a few minutes with the following settings: "Repaint" = "On" (the default is "Off"), "Source" = `close` and "Timeframe" = 1min. The five lines plotted are the following. They have progressively thinner widths:
1 — Yellow : A normal, repainting security() call.
2 — Silver : Our recommended security() function.
3 — Fuchsia : Our recommended way of achieving the same result as our security() function, for cases when the source used is a function returning a tuple.
4 — White : The method we previously recommended in our MTF Selection Framework , which uses two distinct security() calls.
5 — Black : A lame attempt at fooling traders that MUST be avoided.
All lines except the first one in yellow will vary depending on the "Repaint" setting in the script's inputs. The first plot does not change because, contrary to all other plots, it contains no conditional code to adapt to repainting/no-repainting modes; it is a simple security() call showing its default behavior.
C — Points of interest on the chart
Historical bars do not show actual repainting behavior
To appreciate what a repainting security() call will plot in realtime, one must look at the realtime bar and at elapsed realtime bars, the bars where the top line is green or red on the chart at the top of this page. There you can see how the plots go up and down, following the close value of each successive chart bar making up a single bar of the higher timeframe. You would see the same behavior in "Replay" mode. In the realtime bar, the movement of repainting plots will vary with the source you are fetching: open will not move after a new timeframe opens, low and high will change when a new low or high are found, close will follow the last feed update. If you are fetching a value calculated by a function, it may also change on each update.
Now notice how different the plots are on historical bars. There, the plot shows the close of the previously completed timeframe for the whole duration of the current timeframe, until on its last bar the price updates to the current timeframe's close when it is confirmed (if the timeframe's last bar is missing, the plot will only update on the next timeframe's first bar). That last bar is the only one showing where the plot would end if that timeframe's bars had elapsed in realtime. If one doesn't understand this, one cannot properly visualize how his script will calculate in realtime when using repainting. Additionally, as published scripts typically show charts where the script has only run on historical bars, they are, in fact, misleading traders who will naturally assume the script will behave the same way on realtime bars.
Non-repainting plots are more accurate on historical bars
Now consider this chart, where we are using the same settings as on the chart used to publish this script, except that we have turned "Repainting" off this time:
The yellow line here is our reference, repainting line, so although repainting is turned off, it is still repainting, as expected. Because repainting is now off, however, plots on historical bars show the previous timeframe's close until the first bar of a new timeframe, at which point the plot updates. This correctly reflects the behavior of the script in the realtime bar, where because we are offsetting the series by one, we are always showing the previously calculated—and thus confirmed—higher timeframe value. This means that in realtime, we will only get the previous timeframe's values one bar after the timeframe's last bar has elapsed, at the open of the first bar of a new timeframe. Historical and elapsed realtime bars will not actually show this nuance because they reflect the state of calculations made on their close , but we can see the plot update on that bar nonetheless.
► This more accurate representation on historical bars of what will happen in the realtime bar is one of the two key reasons why using non-repainting data is preferable.
The other is that in realtime, your script will be using more reliable data and behave more consistently.
Misleading plots
Valiant attempts by coders to show non-repainting, higher timeframe data updating earlier than on our chart are futile. If updates occur one bar earlier because coders use the repainting version of the function, then so be it, but they must then also accept that their historical bars are not displaying information that is as accurate. Not informing script users of this is to mislead them. Coders should also be aware that if they choose to use repainting data in realtime, they are sacrificing reliability to speed and may be running a strategy that behaves very differently from the one they backtested, thus invalidating their tests.
When, however, coders make what are supposed to be non-repainting plots plot artificially early on historical bars, as in examples "c4" and "c5" of our script, they would want us to believe they have achieved the miracle of time travel. Our understanding of the current state of science dictates that for now, this is impossible. Using such techniques in scripts is plainly misleading, and public scripts using them will be moderated. We are coding trading tools here—not video games. Elementary ethics prescribe that we should not mislead traders, even if it means not being able to show sexy plots. As the great Feynman said: You should not fool the layman when you're talking as a scientist.
You can readily appreciate the fantasy plot of "c4", the thinnest line in black, by comparing its supposedly non-repainting behavior between historical bars and realtime bars. After updating—by miracle—as early as the wide yellow line that is repainting, it suddenly moves in a more realistic place when the script is running in realtime, in synch with our non-repainting lines. The "c5" version does not plot on the chart, but it displays in the Data Window. It is even worse than "c4" in that it also updates magically early on historical bars, but goes on to evaluate like the repainting yellow line in realtime, except one bar late.
Data Window
The Data Window shows the values of the chart's plots, then the values of both the inside and outside offsets used in our calculations, so you can see them change bar by bar. Notice their differences between historical and elapsed realtime bars, and the realtime bar itself. If you do not know about the Data Window, have a look at this essential tool for Pine coders in the Pine User Manual's page on Debugging . The conditional expressions used to calculate the offsets may seem tortuous but their objective is quite simple. When repainting is on, we use this form, so with no offset on all bars:
security(ticker, i_timeframe, i_source )
// which is equivalent to:
security(ticker, i_timeframe, i_source)
When repainting is off, we use two different and inverted offsets on historical bars and the realtime bar:
// Historical bars:
security(ticker, i_timeframe, i_source )
// Realtime bar (and thus, elapsed realtime bars):
security(ticker, i_timeframe, i_source )
The offsets in the first line show how we prevent repainting on historical bars without the need for the `lookahead` parameter. We use the value of the function call on the chart's previous bar. Since values between the repainting and non-repainting versions only differ on the timeframe's last bar, we can use the previous value so that the update only occurs on the timeframe's first bar, as it will in realtime when not repainting.
In the realtime bar, we use the second call, where the offsets are inverted. This is because if we used the first call in realtime, we would be fetching the value of the repainting function on the previous bar, so the close of the last bar. What we want, instead, is the data from the previous, higher timeframe bar , which has elapsed and is confirmed, and thus will not change throughout realtime bars, except on the first constituent chart bar belonging to a new higher timeframe.
After the offsets, the Data Window shows values for the `barstate.*` variables we use in our calculations.
█ NOTES
Why are we revisiting security() ?
For four reasons:
1 — We were seeing coders misuse our `f_secureSecurity()` function presented in How to avoid repainting when using security() .
Some novice coders were modifying the offset used with the history-referencing operator in the function, making it zero instead of one,
which to our horror, caused look-ahead bias when used with `lookahead = barmerge.lookahead_on`.
We wanted to present a safer function which avoids introducing the dreaded "lookahead" in the scripts of unsuspecting coders.
2 — The popularity of security() in screener-type scripts where coders need to use the full 40 calls allowed per script made us want to propose
a solid method of allowing coders to offer a repainting/no-repainting choice to their script users with only one security() call.
3 — We wanted to explain why some alternatives we see circulating are inadequate and produce misleading behavior.
4 — Our previous publication on security() focused on how to avoid repainting, yet many other considerations worthy of attention are not related to repainting.
Handling tuples
When sending function calls that return tuples with security() , our `f_security()` function will not work because Pine does not allow us to use the history-referencing operator with tuple return values. The solution is to integrate the inside offset to your function's arguments, use it to offset the results the function is returning, and then add the outside offset in a reassignment of the tuple variables, after security() returns its values to the script, as we do in our "c2" example.
Does it repaint?
We're pretty sure Wilder was not asked very often if RSI repainted. Why? Because it wasn't in fashion—and largely unnecessary—to ask that sort of question in the 80's. Many traders back then used daily charts only, and indicator values were calculated at the day's close, so everybody knew what they were getting. Additionally, indicator values were calculated by generally reputable outfits or traders themselves, so data was pretty reliable. Today, almost anybody can write a simple indicator, and the programming languages used to write them are complex enough for some coders lacking the caution, know-how or ethics of the best professional coders, to get in over their heads and produce code that does not work the way they think it does.
As we hope to have clearly demonstrated, traders do have legitimate cause to ask if MTF scripts repaint or not when authors do not specify it in their script's description.
► We recommend that authors always use our `f_security()` with `false` as the last argument to avoid repainting when fetching data dependent on OHLCV information. This is the only way to obtain reliable HTF data. If you want to offer users a choice, make non-repainting mode the default, so that if users choose repainting, it will be their responsibility. Non-repainting security() calls are also the only way for scripts to show historical behavior that matches the script's realtime behavior, so you are not misleading traders. Additionally, non-repainting HTF data is the only way that non-repainting alerts can be configured on MTF scripts, as users of MTF scripts cannot prevent their alerts from repainting by simply configuring them to trigger on the bar's close.
Data feeds
A chart at one timeframe is made up of multiple feeds that mesh seamlessly to form one chart. Historical bars can use one feed, and the realtime bar another, which brokers/exchanges can sometimes update retroactively so that elapsed realtime bars will reappear with very slight modifications when the browser's tab is refreshed. Intraday and daily chart prices also very often originate from different feeds supplied by brokers/exchanges. That is why security() calls at higher timeframes may be using a completely different feed than the chart, and explains why the daily high value, for example, can vary between timeframes. Volume information can also vary considerably between intraday and daily feeds in markets like stocks, because more volume information becomes available at the end of day. It is thus expected behavior—and not a bug—to see data variations between timeframes.
Another point to keep in mind concerning feeds it that when you are using a repainting security() plot in realtime, you will sometimes see discrepancies between its plot and the realtime bars. An artefact revealing these inconsistencies can be seen when security() plots sometimes skip a realtime chart bar during periods of high market activity. This occurs because of races between the chart and the security() feeds, which are being monitored by independent, concurrent processes. A blue arrow on the chart indicates such an occurrence. This is another cause of repainting, where realtime bar-building logic can produce different outcomes on one closing price. It is also another argument supporting our recommendation to use non-repainting data.
Alternatives
There is an alternative to using security() in some conditions. If all you need are OHLC prices of a higher timeframe, you can use a technique like the one Duyck demonstrates in his security free MTF example - JD script. It has the great advantage of displaying actual repainting values on historical bars, which mimic the code's behavior in the realtime bar—or at least on elapsed realtime bars, contrary to a repainting security() plot. It has the disadvantage of using the current chart's TF data feed prices, whereas higher timeframe data feeds may contain different and more reliable prices when they are compiled at the end of the day. In its current state, it also does not allow for a repainting/no-repainting choice.
When `lookahead` is useful
When retrieving non-price data, or in special cases, for experiments, it can be useful to use `lookahead`. One example is our Backtesting on Non-Standard Charts: Caution! script where we are fetching prices of standard chart bars from non-standard charts.
Warning users
Normal use of security() dictates that it only be used at timeframes equal to or higher than the chart's. To prevent users from inadvertently using your script in contexts where it will not produce expected behavior, it is good practice to warn them when their chart is on a higher timeframe than the one in the script's "Timeframe" field. Our `f_tfReminderAndErrorCheck()` function in this script does that. It can also print a reminder of the higher timeframe. It uses one security() call.
Intrabar timeframes
security() is not supported by TradingView when used with timeframes lower than the chart's. While it is still possible to use security() at intrabar timeframes, it then behaves differently. If no care is taken to send a function specifically written to handle the successive intrabars, security() will return the value of the last intrabar in the chart's timeframe, so the last 1H bar in the current 1D bar, if called at "60" from a "D" chart timeframe. If you are an advanced coder, see our FAQ entry on the techniques involved in processing intrabar timeframes. Using intrabar timeframes comes with important limitations, which you must understand and explain to traders if you choose to make scripts using the technique available to others. Special care should also be taken to thoroughly test this type of script. Novice coders should refrain from getting involved in this.
█ TERMINOLOGY
Timeframe
Timeframe , interval and resolution are all being used to name the concept of timeframe. We have, in the past, used "timeframe" and "resolution" more or less interchangeably. Recently, members from the Pine and PineCoders team have decided to settle on "timeframe", so from hereon we will be sticking to that term.
Multi-timeframe (MTF)
Some coders use "multi-timeframe" or "MTF" to name what are in fact "multi-period" calculations, as when they use MAs of progressively longer periods. We consider that a misleading use of "multi-timeframe", which should be reserved for code using calculations actually made from another timeframe's context and using security() , safe for scripts like Duyck's one mentioned earlier, or TradingView's Relative Volume at Time , which use a user-selected timeframe as an anchor to reset calculations. Calculations made at the chart's timeframe by varying the period of MAs or other rolling window calculations should be called "multi-period", and "MTF-anchored" could be used for scripts that reset calculations on timeframe boundaries.
Colophon
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
Snippets were lifted from our MTF Selection Framework , then massaged to create the `f_tfReminderAndErrorCheck()` function.
█ THANKS
Thanks to apozdnyakov for his help with the innards of security() .
Thanks to bmistiaen for proofreading our description.
Look first. Then leap.
GOD Complex Analysis Table By QTX Algo SystemsGOD Complex Analysis Table by QTX Algo Systems
Overview
The GOD Complex Analysis Table is a powerful visual companion for traders using the GOD Complex ecosystem. It displays detailed confluence scores for each trade type (Reversal Long, Reversal Short, Continuation Long, Continuation Short), offering a breakdown of required vs. extra signals, as well as multi-timeframe (MTF) scores and bias.
This tool is designed to help discretionary traders better understand how multiple conditions across timeframes align to support high-quality trade setups. It is not a standalone signal generator but rather an advanced diagnostic table that reveals the logic driving the GOD Complex entries.
How It Works
Each row in the table represents a trade type (e.g., Reversal Long), and includes:
Required Score – Based on must-have conditions for that trade type (e.g., oversold levels, statistical extremes, key momentum shifts).
Extra Score – Bonus confluence points from higher timeframe agreement, slope shifts, or secondary confirmation indicators.
Total Score – Combined Required + Extra score (max 200), useful for comparing relative strength across trade types.
Breakdown Columns – Show exactly which conditions are currently satisfied or missing, categorized as Required or Extra.
MTF Scores – Score-based analysis across 5m to 1M timeframes, highlighting how confluence changes with zoomed-out perspectives.
MTF Bias Row – Net bullish vs. bearish confluence per timeframe (positive = green, negative = red).
Indicators Used (All Proprietary QTX Tools)
VBM (Volatility-Based Momentum): Confirms directional trend and volatility environment.
VBSMI (Volatility-Based SMI): Adapts momentum oscillator based on market conditions and tilt logic.
SEA (Statistically Extreme Areas): Identifies when price reaches statistically rare volatility/range zones.
SPB (Statistical Price Bands): Tracks dynamically adjusted support/resistance based on percentile deviation.
COI (Continuation Opportunity Indicator): Detects pullback exhaustion and momentum re-acceleration opportunities.
Each trade type (Reversal or Continuation) is scored based on these tools across local and higher timeframes.
Key Table Features
🔍 Reversal Scoring Logic
Reversal trades must meet key oversold/overbought criteria (e.g., VBSMI extremes, SEA/SPB triggers) and be supported by trend weakness or exhaustion in the COI/VBM logic. High confluence across timeframes boosts the score.
📈 Continuation Scoring Logic
Continuations require strong trend alignment (VBM, COI), confirmation of momentum (VBSMI cross + slope), and lack of statistical extremes (no SEA/SPB hits). HTF agreement increases the score further.
🧠 Multi-Timeframe (MTF) Scoring
MTF scores are generated by evaluating each trade type’s core confluence across timeframes (e.g., 5m, 1H, 1D, etc.). This helps traders gauge how well a setup aligns with the broader market structure.
📊 Bias Coloring
The MTF Bias row shows net directional strength. Green = bullish bias. Red = bearish bias. Gray = neutral.
🔎 Factors Breakdown
View factors for each trade type. These factors explain which required and extra conditions are currently contributing or missing.
Customization Options
Table position (top/bottom, left/right)
Table size (small, medium, large)
Show/hide trade type rows
Enable/disable breakdown details
Toggle MTF Score section
Use Cases
Analyze high-confluence setups for discretionary trade planning
Cross-check live trades to understand setup quality
Confirm MTF alignment before entries
Study historical patterns to build intuition and strategy
Disclaimer
This indicator is for educational purposes only. It does not provide financial advice or trade recommendations. Always backtest and validate strategies before use.
Multi Timeframe Relative Strength Index {DCAquant}Overview
The Multi Timeframe Relative Strength Index (MTF RSI) is a powerful technical analysis tool designed to provide insights into market momentum and potential trend reversals across multiple timeframes. Leveraging the Relative Strength Index (RSI) formula, this indicator offers traders a comprehensive view of market sentiment and identifies overbought and oversold conditions.
Key Features
RSI Calculation:
Utilizes the standard RSI calculation formula to measure the magnitude of recent price changes and assess the strength of market trends.
Employs a user-defined length parameter to customize the sensitivity of the RSI calculation based on trading preferences.
Multiple Timeframe Analysis:
Allows traders to analyze RSI values across up to six different timeframes, ranging from minutes to days, providing a holistic perspective on market dynamics.
Calculates RSI values independently for each selected timeframe, enabling comparison and trend identification.
Threshold Levels:
Defines overbought and oversold levels to highlight potential reversal points in market trends.
Offers flexibility in adjusting threshold levels based on individual risk tolerance and trading strategies.
Neutral Zone:
Establishes upper and lower neutral thresholds to identify periods of consolidation or sideways movement in price.
Helps traders distinguish between trending and ranging market conditions for more accurate analysis.
Moving Average Smoothing:
Provides the option to apply moving average smoothing to aggregated RSI values for enhanced clarity and reduced noise.
Enables smoother visualization of RSI trends, facilitating easier interpretation for traders.
Visual Representation:
Plots the aggregated MTF RSI values on the price chart, allowing traders to visually assess market momentum and potential reversal points.
Utilizes color-coded backgrounds to indicate Long, Short, or Neutral conditions for quick identification.
Dynamic Table Display:
Displays trading signals alongside graphical indicators (rocket for Long, snowflake for Short, and star for Neutral) in a customizable table format.
Offers flexibility in table placement and size to accommodate user preferences.
How to Use:
Parameter Configuration:
Adjust the length parameter to fine-tune the sensitivity of the RSI calculation based on the desired timeframe and trading strategy.
Define overbought and oversold levels to identify potential reversal points in market trends.
Customize upper and lower neutral thresholds to differentiate between trending and ranging market conditions.
Interpretation:
Monitor the aggregated MTF RSI values plotted on the price chart for signals of overbought or oversold conditions.
Pay attention to color-coded backgrounds and graphical indicators in the table for actionable trading insights.
Trading Strategy:
Consider entering Long positions when the aggregated MTF RSI is above the upper neutral threshold, indicating potential bullish momentum.
Evaluate Short opportunities when the aggregated MTF RSI falls below the lower neutral threshold, signaling possible bearish momentum.
Exercise caution during Neutral conditions, as there may be uncertainty in market direction.
Risk Management:
Combine MTF RSI analysis with robust risk management strategies, including stop-loss and take-profit levels, to manage trading risks effectively.
Practice prudent risk management and trade within your risk tolerance to minimize potential losses.
Disclaimer
Trading in financial markets involves risk, and past performance is not indicative of future results. The use of the MTF RSI indicator does not guarantee profits or prevent losses. Traders should conduct their own analysis, exercise caution, and seek advice from qualified financial professionals before making trading decisions.
Fair Value Gap█ OVERVIEW
This indicator displays the Fair Value Gap of the current timeframe and an additional higher timeframe. For each FVG the gaps act as targets creating bullish and bearish gaps that are often filled.
█ FEATURES
MTF Options
MidPoint FIll
Delete Old On Fill
Label FVG Timeframe
MTF Options
Enabling the MTF Options will allow the user to use the "MTF Timeframe" setting to choose what HTF Fair Value Gap to display
MidPoint FIll
A line plot at the Half way point will be included in the Fair Value Gap, this will be used to delete the gap when reached instead of a full fill.
Delete Old On Fill
Deletes historical Fair Value Gaps when filled.
Label FVG Timeframe
Labels Every Fair Value gap with there relevant timeframe to make it easier to determine which gap is being filled.
█ HOW TO USE IT
The indicator is quite straight forward in its application, providing users with targets that are often filled as they are seen as market imbalance.
Just applying it to your chart will provide the existing Fair Value Gaps. MTF Confluence is helpful in seeing what is happening on the macro perspective.
█ SUGGESTION
My suggestion for clarity is to use a different color to some degree between the MTF and Current TF as Opposed to text, keeps the chart clear.
█ LIMITATIONS OF PINE (Please read)
I see many users going on different indicators with MTF in mind and trying to use it for LTF data e.g. 1hour chart, and selecting 5min in chart settings.
This is not recommended by the team themselves and should be noted for use always use HTF: www.tradingview.com
To understand how to use fair value gaps I recommend learning about the subject some more, searching online will provide you resources. The internet is your friend when learning. All the best.