MTF SMAThis script overcomes the issues with TV multitimeframe being wrong due to its bugs. It generates higher timeframe SMA on a lower timeframe chart. Enter the number of minutes of the higher timeframe as a setting.
Cari dalam skrip untuk "mtf"
MTF Deviation - Mtrl_ScientistHi everyone,
There are a lot of possible ways to look at markets and find valid patterns.
This time, I've looked at how shorter time frames deviate from the overall price consensus.
What you're seeing here is a range-bound difference of the lowest time frame from the overall price consensus (baseline), represented as blue line.
When lower time frames agree with the baseline, the difference becomes 0.
Logically, this difference cannot deviate too much from the baseline, and to quantify that, I've added fib-levels based on a deviation percentage that depends on price volatility and can be adjusted in the settings.
How it works:
First of all, you need to switch to the 1min time frame to get access to the lowest time frame data.
Look at how the blue line follows the support/resistance fib levels.
Oversold conditions are usually given by entering the lowest red band, whereas overbought conditions are given by entering the upper red band.
However, there are also extreme cases, where the blue line exceeds the set fib levels. In that case, price will reverse with very high likelihood.
Alternatively you can also ping-pong between two fib levels for frequent small trades.
Note that this indicator doesn't use any security functions to access time frame data. Instead, I found a different way to avoid repainting.
At the moment I'm just playing around with this to see how I can improve it. Feedback is very welcome!
MTF Auto Fibonacci LevelsDear traders,
It is time to diversify and to "fibonaccify" my developer experience.
On the preview you can see the daily chart with fibo levels from 3h timeframe.
Features
24 Fibonacci levels
24 timeframes
Ability to customize levels
Ability to specify a preferred timeframe
Supported levels
0
0.236
0.382
0.5
0.618
0.786
1
1.272
1.414
1.618
2
2.272
2.414
2.618
3
3.272
3.414
3.618
4
4.236
4.272
4.414
4.618
4.764
Supported resolutions
"1"
"3"
"5"
"10"
"15"
"30"
"45"
"60"
"120"
"180"
"240"
"300"
"360"
"420"
"480"
"540"
"600"
"660"
"720"
"D"
"2D"
"3D"
"W"
"M"
How to get access
Buy for 29$ to get lifetime access to this indicator
MTF SROC v1 by JustUncleLDescription:
This study plots Smoothed Rate of Change (SROC) indicators for up to 4 different time frames. The indicator does not use higher time frame data, so will not re-paint. The SROC is a momentum indicator and can be used in ranging or trending markets, please refer to the reference for further details of how to use the indicators.
References:
www.incrediblecharts.com
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....
MTF EMA Combo with Background ColorDaily/Weekly EMA combo for longer term trend direction, with combo background color for varying trend direction.
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
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 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.
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.
FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the TradingView platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for TradingView to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open TradingView's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).
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.