Psychological levels (Bank levels) PsychoLevels v3 - TartigradiaPsychological levels (Bank levels) plots the closest "round" price levels above and below current price, based on neuroscience research of how humans intuitively calculate in logarithms.
Psychological levels, also called bank levels, are "round" price numbers, by truncating after the nth leftmost digits, around which price often experience resistance or support, because traders and investors tend to set orders around these round numbers.
The calculation done here is fully automatic and dynamic, contrary to other similar scripts, this one uses a mathematical calculation that extracts the 1, 2 or 3 leftmost digits and calculate the previous and next level by incrementing/decrementing these digits. This means it works for any symbol under any price range.
This approach is based on neuroscience research, which found that human brains intuitively approximate numbers on a logarithmic scale, adults and children alike, and similarly to macaques, for more info see Numerical Cognition , Weber-Fechner Law , Zipf law .
For example, if price is at 0.0421, the next major price level is 0.05 and medium one is 0.043. For another asset currently priced at 19354, the next and previous major price levels are 20000 and 10000 respectively, and the next/previous medium levels are 20000 and 19000, and the next/previous weak levels are 19400 and 19300.
IMPORTANT: Please enable "Scale price chart only" in the chart's scale's options, as otherwise major levels may make the chart's scale very small and hard to read.
How it works
At any time, there are 3 levels of strength (1 leftmost digit, 2 leftmost digits, 3 leftmost digits) represented by different sizes, and 3 directional levels for each of these strengths (level above, level below, and half-level) represented by different colors and positions, around current price.
Indeed, contrary to other similar price levels scripts, we do not plot ALL price levels at all times, because otherwise the chart becomes wayyy too cluttered, and also it's highly processing intensive to plot so many lines. So we here use a dynamical approach: we plot only the relevant levels, the closest ones according to current price.
Hence, when a level disappears, it does not mean that it does not exist anymore, but simply that we are not drawing it right now because it is not pertinent for the current price movement (ie, too far away).
Breakouts can be detected in two different ways depending on if SMA is set to a value higher than 1 or not: if SMA == 1, then there is no smoothing, so the levels adapt instantaneously to the current price, so to detect breakout, you should refer to the levels at the previous tick and whether they were broken by current tick's price; if SMA > 1, then there is some smoothing, and so the levels will stay in-place even if there is a breakout, so it's easier to spot breakouts without having to look at the previous ticks, but on the other hand you won't see the new levels for the new price range until after a few more ticks for the smoothing window to adapt. Hence, by default, smoothing is disabled, so that you can see the currently pertinent levels at all time, even right after or during a breakout.
By default, the strong above level is in green, strong below level is in red, medium above level is in blue, medium below level is in yellow, and weak levels aren't displayed but can be. Half levels are also displayed, in a darker color. Strong levels are increments of the first leftmost digit (eg, 10000 to 20000), medium levels are increments of the second leftmost digit (eg, 19000 to 20000), and weak levels of the third leftmost digit (eg, 19100 to 19200). Instead of plotting all the psychological levels all at once as a grid, which makes the chart unintelligible, here the levels adapt dynamically around the current price, so that they show the above/below/half levels relatively to the current price.
Indeed, "half-levels" are also displayed (eg, medium level can also display 19500 instead of only 19000 or 20000). This was made because otherwise the gap between two levels was too big, especially for the strongest levels (eg, there was no major level between 20000 and 30000, but with a half-step we also get a half-level at 25000, and empirically price tends to respect these half levels - I also tried quarter levels but empirically the results were not good). In addition to this hard-coded half-level, you can also create more subdivisions (eg, quarter levels) by setting the simple moving average to a value higher than 1.
The script can be made to run on the daily timeframe whatever the current chart's timeframe is, to reduce the variability in levels, to make it less noisy than intraday price movement. But by default, the chart resolution is used, because I empirically found that the levels found with this indicator work on all time resolutions quite well.
The step can be adjusted to increase the gap between levels, eg, if you want to display one every 2 levels then input step = 2 (eg, 22000, 24000, 26000, etc), or if you want to display quarter levels, input 0.25 (eg, 22000, 22250, 22500, etc). The default values should fit most use cases and cover most psychological levels.
How to read
Focust first on bigger dotted levels, they are stronger and more likely to cause a rebound or a major event or price to stay at this level.
Remember that it's not enough to just look at levels, the context is important, because levels have various effects depending on current price movement: if price is above a level, the level is a support on which price can rebound; if price is below a level, the level is a resistance on which price can rebound (or break); and finally sometimes price also stays hovering around a level for some time.
Levels closer to 9 are less weaker, and levels closer to 0 are stronger, according to Zipf law. This is now reflected since v3 in the transparency, levels that are closer to 9 will be more transparent.
The switch in color for the same level illustrates how a level switches from being a support to a resistance and inversely. Eg, if a major level turns from green to red, then it changed from being a resistance (above) to a support (below).
As is well known in trading, longer standing levels are stronger. This indicator provides a direct illustration: in practice, the number of consecutive dots on the same line influences the strength of the level: the longer the chain of dots, the more you can expect this price level to be significant. The length does not mean the level will necessarily hold, but that other traders are likely to monitor if it holds, and if not then price will break down. Hence, longer levels are good spots to place stop losses, or to enter trades depending on your strategy. In general, a single dot is not enough to consider a level significant, but 2 or more is a good enough level, and 10+ is a strong level. Intuitively, this makes sense, and is what pro traders do: the longer a level is tested, the stronger it is. This indicator can visually represent this intuition and allows to use it as a more systematic trading signal.
Motivation
I initially made the first version of the PsychoLevels indicator mainly to train with PineScript, but I found it surprisingly accurate to define levels that are respected by price movements. So I guess it can be useful for new traders and experienced traders alike, as it's easy to forget that psychological levels can often be as strong if not stronger than technical levels. It can also be used to quickly screen other minor assets for trading opportunities. For example, a hybrid strategy would be to manually define levels on BTCUSD but using this script to automatically define levels in crypto altcoins and quickly screen them for a trade opportunity that can be greater than with BTCUSD but with the same trend.
Personally, although initially I did not believe an automated tool would work well for this purpose, I could now empirically verify that it is quite reliable for the purpose of detecting levels, and so I use it all the time to find the levels automatically and help me monitor them like a hawk, so that I only have to draw uber major levels, the ones that last between cycles and that are hard to autodetect, but otherwise all daily/weekly levels are usually covered. However, trendlines must still be drawn manually or with another indicator (but note that up to now I have found none that worked well enough), as PsychoLevels only draws levels (ie, horizontal lines, not oblique ones!).
Differences with the previous version PsychoLevels v2
price levels now have a transparency according to their importance for the human brain: numbers closer to 9 are weaker, and numbers closer to 0 are stronger and represent a major psychological threshold (eg, that's why prices marked as $9.99 sell better than $10.00). This option can be disabled to get the exact same behavior as v2.
modularized and typed code
PsychoLevels v2 can be found here:
Search in scripts for "文华财经tick价格"
Titans Price IncidenceThe Titans Price Incidence indicator is set to display the historical incidence of highs and lows at each price level.
A longer bar indicates a higher occurrence of highs and lows at that price level.
The interval of each price level is determined by a user-defined "degree", which is a multiple of the counter's minimum tick.
For example, a counter with a minimum tick of 0.00001 and a degree of 200 will result in a price interval of 0.002.
As another example, a counter with a minimum tick of 0.001 and a degree of 10000 will result in a price interval of 10.
For convenience the minimum tick of the counter is included as a plot.
The historical period to study is based on a user-defined "lookback", which is the number of candles to look back over.
Finally it is possible to review the indicator display at a certain candle in the past by entering a "reference".
To display the current price incidence, a reference of 0 should be used.
Average Cost (Costo Promedio)ENGLISH
This 'Average Cost' script allows the user to input and visualize profit or loss for different stocks (up to 50) with average cost and quantity data on a single chart. This is useful for tracking the profit or loss of each stock in real-time.
To use this script, the user should follow these steps:
1. Add the 'Average Cost' script to your TradingView chart.
2. In the script's configuration window, input the tickers, average costs, and quantity of shares for each ticker you want to monitor.
3. Click 'Accept' to apply the changes.
This script is primarily designed for stock markets, but can also be useful in other financial markets where the user is interested in tracking the performance of multiple assets.
ESPAÑOL
Este script de "Costo Promedio" permite al usuario ingresar y visualizar si hay ganancia o perdida para diferentes acciones (hasta 50) con los datos de costos promedio y cantidad de acciones en un solo gráfico. Esto es útil para realizar un seguimiento de la ganancia o pérdida de cada acción en tiempo real.
Para utilizar este script, el usuario debe seguir estos pasos:
1. Agregue el script "Costo Promedio" a su gráfico en TradingView.
2. En la ventana de configuración del script, ingrese los tickers, costos promedio y cantidad de acciones para cada ticker que desee monitorear.
3. Haga clic en "Aceptar" para aplicar los cambios.
Este script está diseñado principalmente para los mercados de acciones, pero también puede ser útil en otros mercados financieros donde el usuario esté interesado en rastrear el rendimiento de múltiples activos.
VIX OscillatorThis is my VIX Oscillator indicator.
About it:
This indicator takes the Z-Score of the VIX and of the current ticker you are on and presents them in the format of an oscillator.
Key parts of the indicator:
A diagram of the key elements of the indicator are displayed above.
Purple Line: Represents the Z-Score of the current Ticker.
Blue Line: Represents the Z-Score of the VIX
Green fill line: Represents bullish divergence
Red fill line: Represents bearish divergence
How to use it:
Characteristics for long entries:
- Look for recent bullish divergence (green fill line)
- Look for the ticker line (purple line) to be holding above 0 (neutrality)
- look for a bullish cross (purple line (ticker) crossing over blue line (VIX))
Characteristics for short entries:
- Look for recent Bearish divergence
- Look for the VIX line (blue line) to be holding above 0 and the Ticker
- Look for the ticker line to be holding below 0
- Look for a bearish cross (blue crossing above purple)
Some principles:
The bands represent oversold, overbought and neutral.
0 is absolute neutrality. No bias here.
Anything towards + 2.5 is considered normal, moving towards overbought (2.5 or higher).
Anything towards -2.5 is considered normal, moving towards oversold (-2.5 or lower).
+2.5 or higher is overbought.
-2.5 or lower is oversold.
As always, I have prepared a quick tutorial video for your reference of this indicator:
Please let me know your questions, comments or suggestions about this indicator below.
Thank you for checking it out!
Global Money Supply USD-AdjustedGlobal Money Supply Aggregates
- US, China, EU, Japan, UK
- Korea, India, Canada, HK, Australia
- Taiwan, Brazil, Swiss, Russia, Mexico
- Thailand, Indonesia, Saudi, Singapore, Vietnam
Unfortunately, TV Pine can only take in 40 tickers, Each country has Money Supply Data adjusted against its FX to USD.
The formula in TV only can contain 10 tickers. So would recommend doing it up yourself on the first big 5 countries,
Anyway US and China constitute close to 50% of the global money supply.
However, one can argue whether money supply data (broad money) is valid nowadays. But I would bring up that this is just for comparison and trend purposes. Yes, M3 was removed from the US Fed data releases in end-2005.
Aggregating all of the above tickers yield me around 120tn of money supply, USD-adjusted.
There's pretty much other countries that should be included but due to the lack of data and small size of the country, it is omitted.
Examples:
- Heavily Sanctioned: Iran (400-500bn) and Iraq (200-300bn)
- No Data/Bad Data: Algeria (100bn), Bangladesh (110bn)
- Fallen Angels: Venezuela (100bn?), Argentina (120bn)
- 400-500bn club: Israel, Turkey, Poland, Sweden, Ireland, UAE, Msia, Chile
- 200-300bn club: Norway, Czech, Philippines, S.Africa, New Zealand, Egypt, Denmark, Qatar
- 100bn club: Colombia, Lebanon, Pakistan, Morocco, Romania, Hungary, Nigeria, Kuwait
- GDP 1bn club: Peru, Kazakhstan, Angola, Sudan, Ukraine, Ecuador
All these could add up to 10-15tn money supply, but with currencies with bad adoption on some. End of the day, we still living in a dollarised world, with the big 5 nations taking up to 80% of the officially published money supply. The unfortunate issue is that the money supply data isn't that forward-looking. A simple linear extrapolation of historical 3-month rolling average for next month estimates can be decent, with possibility of manual meddling to add adjustments on huge macro-events eg QE infinity.
Perhaps, additional tweaking would be inflation-adjusting this. Against SPX, some housing index, crude oil, gold.
howmuch.net
Sort array alphabetically - educational🔶 OVERVIEW
• This educational script will sort an array of tickers alphabetically and place these values in an table , together with the according current price value next to each ticker .
🔶 SORT ALPHABETICALLY
🔹 I. We make a User Defined Type (UDT) obj , with:
· ticker - the string name of the ticker
· price - the current price (close)
• From this UDT we make an object obj.new() for each ticker
🔹 II. 2 array's are made:
• array of objects aObj , containing obj type obj.new() for every ticker
• array of strings sort , the ticker part of each object obj.new()
🔹 III. Now we make an object of each ticker with the createObject(sym ) function
object_1 = createObject("TICKER")
• the object object_1 consists off:
· ticker -> "TICKER"
· price -> current Daily close through request.security("TICKER") (non-repainting)
• object_1 will be added to the aObj array
• "TICKER" ( string ticker part of object ) will be added to the sort array
🔹 IV. The latter array is sorted alphabetically by using array.sort_indices()
EXAMPLE
originalArray = array.from("B", "A", "C")
indicesArray = // sorted indices
array.get(originalArray, 1) -> "A"
array.get(originalArray, 0) -> "B"
array.get(originalArray, 2) -> "C"
IMPORTANT
Alphabetically sorting is case sensitive , just like Java compareTo(String anotherString) !
• The comparison is based on the Unicode value of each character in the string, the lowest "Dec" values are sorted first in line.
• Comparing the "Dec" values at unicodelookup explains why default CAPITAL lettres will be sorted first,
• Default you would get this (A= 65, B= 66, a= 97, b= 98)
Aa
Ba
ab
bb
• Adding str.lower(string) in the toLowerCase() function will result to the following:
Aa
ab
Ba
bb
• (A= 65 is transformed to a= 97, ...)
• As a side note, should you write "AMZN" as "ÀMZN" this would be placed at the end, even after transforming to lower case the "Dec" values are higher (À= 192, à= 224).
• You can toggle "To Lower Case" to verify.
🔹 V. Values are placed in a table , using these sorted indices.
• With the usage of UDTs and objects , the current price has the same index in the aObj as their ticker ,
giving the advantage it is fairly easy to place every value correctly next to each other.
• The same can be done by make 2 separate arrays , 1 for the current price , the other for "TICKER" .
🔶 OTHER TECHNIQUES USED
• Alternative technique for adding comment
Instead of
// this is a comment
You can also do this:
_=" this is a comment "
• Alternate colour
· During a loop , alternate colour when i is even or odd , using the modulo operation (%) .
· This is the remainder when dividing.
EXAMPLE
· 3 % 2 = 1 -> 3 / 2 -> 1 * 2, 1 left (remainder)
· 4 % 2 = 0 -> 4 / 2 -> 2 * 2, 0 left (remainder)
· 5 % 2 = 1 -> 5 / 2 -> 2 * 2, 1 left (remainder)
for i = 0 to 10
even = i % 2 == 0
col = even ? thisColor : otherColor
• Adjust colour in script by using colour picker
Cheers!
Portfolio Tracker For Stocks & CryptoThis is a portfolio tracker that will track individual, overall and daily profit/loss for up to 12 assets. You can set the size of your buys and price of your buys for accurate, up to date profit and loss data right on your chart. It works on all markets and timeframes.
HOW TO USE
Go into the indicator settings and you will see all of the available settings. The first is the ability to turn the tracker info table on or off from the chart, so it saves your portfolio info but let’s you remove it from the chart while trading. Second is the option to move the position of the info table to suit your preference.
Next we get into setting up your portfolio tickers, order size and price. Each ticker lets you set which stock/crypto you bought, then set how much you purchased and then what price you purchased them at.
Go through and set up all of your assets and then turn off any tickers that you don’t need. Once that is all done, your portfolio will be shown on the chart with all the data.
FEATURES
Top Section
The portfolio tracker has 2 sections. The top section shows each ticker in your portfolio individually with the following data:
- Ticker Name
- Weight of that asset compared to your total portfolio in %
- Current value of that position in $
- Profit or loss value from purchase price in %
- Todays change in value from yesterday’s close in %
The $ Value, PnL % and Today % will all change colors from green to red depending if they are in profit or not.
Bottom Section
The bottom section of the tracker will give you info for your portfolio as a whole. It has the following data:
- Total cost of your entire portfolio in $
- Current value of your entire portfolio in $
- Current profit or loss of your entire portfolio in $
- Current profit or loss of your entire portfolio in %
- Todays change of your entire portfolio value compared to yesterday’s close in %
The $ Value, PnL $, PnL % and Today % will all change colors from green to red depending if they are in profit or not.
ROC vs BTCThis is a modification of my Rate of Change Percentile script, used to compare the current ticker (e.g. Altcoins) to BTC.
Essentially we are looking at (Current Ticker ROC percentile) vs (Bitcoin ROC percentile).
In other words, we are using the ROC value of both the current ticker and BTC, and ranking each based on their previous ROC.
We compare the rankings to gauge the relative overperformance or underperformance of the current ticker vs BTC.
The blue line is BTC, the columns are the current ticker.
Green columns above the blue line indicate positive ROC and current ticker has higher ROC ranking than BTC.
Red columns below the blue line indicate negative ROC and current ticker has a higher ROC ranking than BTC.
*** PLEASE LEAVE A LIKE AND FOLLOW IF YOU ENJOY THE SCRIPT ***
Any questions, comments or feedback I'd love to hear from you below!
Pivots High-Low Screener & AlertsHi fellow traders ,
Pleased to share a Pivot High - Low Screener.
The script uses the TV inbuilt Pivot function.
It Screens 25 tickers default set, these can be modified in the input dialog box.
All you need to do is attach to any chart and set the periodicity or the resolution of the chart to your desired alert() frequency requirement.
Now go to the input settings icon of the script and set your Pivot right and left parameters!
Set the alert from the menu as usual click - Any alert() function call and bingo you are done!!
Similarily change the chart periodicity to the next timeframe and set the next alert.
No more opening multiple charts and setting individual time consuming alerts().
You will get concatenated alerts or summary alerts for your tickers.
Track 25tickers with a single alert for each timeframe(Supports 40 tickers).
Happy trading with TV..
Currency Strength Meter [HeWhoMustNotBeNamed]⬜ Note: This is not the strength of currency pairs. But, in this script we are trying to derive strength of individual currencies by matching against single base currency.
⬜ Process
This is based on similar concept as that of Magic Numbers for stocks. Idea is simple.
▶ Calculate strength of each currency against USD. Derive the strength for both price movement and volume movement.
▶ Similarly calculate momentum of price and volume change.
▶ If USD is base currency, inverse momentum and strength index for the given symbol.
▶ Once these calculations are done, rank each currencies based on individual score on given things.
▶ Add up all the ranks to derive combined rank
▶ sort the currencies in the ascending order of overall rank.
⬜ USAGE
▶ Identify a base currency. In our case, we have used USD as base currency as it is easy to get pairs of all currencies with USD.
▶ Identify most used combos for all other currencies which are paired with USD. Fx pair can either have USD as base currency or quote currency. It is desirable to use the pair which is most traded. For example, USDJPY is more traded pair than JPYUSD - hence it is advisable to use USDJPY instead of JPYUSD. Similarly AUDUSD is more traded than USDAUD - hence choosing AUDUSD for the purpose of this exercise is better approach. Notice that USDJPY has USD as base currency whereas AUDUSD has USD as quote currency. These calculations are handled internally to derive the right outcome irrespective of position of USD in the pair.
▶ Identify the forex broker which has all the selected forex tickers. All comparison is done against a single broker. Hence, choosing broker which does not wide range of forex pairs will show NAN for many rows.
▶ Once we set these, we get tabular output containing strength and oscillator based trend indexes for both price and volume indicator. Currencies are ordered in descending order of strength. Hence, top of the list can be considered as currency having highest strength and bottom of the table can be considered as currency having lowest strength. Please note that the calculation is valid only for selected timeframe and users can set other parameters such as moving average type, oscillator type, length etc which can alter the outcome.
▶ Use multiple timeframes to find out stronger and weaker currencies. Use directional indicators to understand where they are heading. Combine all these info to come up with currency pair you would like to trade :)
⬜ Settings
▶ Main settings and Currencies
Base Currency : This is set to USD by default as rest of the tickers used are paired with USD. Whatever the base currency is selected, rest of the tickers should follow the same combination.
Timeframe : Timeframe for which rankings need to be calculated.
Currencies : These should be the currency pair which involve base currency defined in the setting on either side.
▶ Display
Table : Allows users to set table location and size of the table. By default this is set to middle center and default size is normal. If user want to use multiple timeframes side by side, they can do so by changing these display settings.
Stat Type : To show either comparative ranking or actual indicator values
price ladder ideanot useful just thinking out loud.
prints a price ladder of today's high/low and volume updates dynamically per tick.
was trying to see if pseudo tick data is possible such as differentiating between up or down tick.
doesn't look possible. maybe this will spawn new ideas later.
Optimized Trend Tracker STRATEGY & SCREENEROptimized Trend Tracker - OTT STRATEGY & SCREENER screens the BUY and SELL signals (trend reversals) for 20 user defined different tickers in Tradingview charts.
Simply input the name of the ticker in Tradingview that you want to screen.
Terminology explanation:
Confirmed Reversal: OTT reversal that happened in the last bar and cannot be repainted.
Potential Reversal: OTT reversal that might happen in the current bar but can also not happen depending upon the timeframe closing price.
Downtrend: Tickers that are currently in the sell zone
Uptrend: Tickers that are currently in the buy zone
Screener has also got a built in OTT indicator which users can confirm the reversals on graphs.
Screener explores the 20 tickers in current graph's time frame and also in desired parameters of the OTT indicator.
Also you can optimize the parameters manually with the built in STRATEGY version.
Optimized Trend Tracker indicator :
Built in Moving Average type defaultly set as VAR but users can choose from 8 different Moving Average types like:
SMA : Simple Moving Average
EMA : Exponential Movin Average
WMA : Weighted Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average aka VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
Tip: In sideways VAR would be a good choice
You can use OTT default alarms and Buy Sell signals like:
1-
BUY when Prices are above OTT
SELL when Prices are below OTT
2-
BUY when OTT support Line crosses over OTT line.
SELL when OTT support Line crosses under OTT line.
3-
BUY when OTT line is Green and makes higher highs.
SELL when OTT line is Red and makes lower lows.
IMPORTANT: SCREENER ONLY EXPLORES AND SCREENS FOR THE 2nd SIGNAL TYPE:
BUY when OTT support Line crosses over OTT line.
SELL when OTT support Line crosses under OTT line.
TheBlackFish EMA bounce alertAbout
This indicator is an EMA indicator with a built-in screener.
20 different ticker symbols are included in the screener. These ticker symbols must be replaced manually. All ticker symbols are from the Stockholm Stock Exchange, Large Cap.
How it works
The lowest price of a bar should be less than EMA and yesterday's closing greater than EMA.
If no conditions are found, there will be no ticker symbols in the box.
If the conditions are met, the ticker symbol / symbols are displayed in the black text box. The information in the box disappears after each new bar.
The default setting is set to EMA 50, but you can select which EMA value you want in its settings.
Change ticker
If you want to change the ticker symbol, do not forget to change both in "Check tickers" and in "Labels content".
Enjoy!
PMax Explorer STRATEGY & SCREENERProfit Maximizer - PMax Explorer STRATEGY & SCREENER screens the BUY and SELL signals (trend reversals) for 20 user defined different tickers in Tradingview charts.
Simply input the name of the ticker in Tradingview that you want to screen.
Terminology explanation:
Confirmed Reversal: PMax reversal that happened in the last bar and cannot be repainted.
Potential Reversal: PMax reversal that might happen in the current bar but can also not happen depending upon the timeframe closing price.
Downtrend: Tickers that are currently in the sell zone
Uptrend: Tickers that are currently in the buy zone
Screener has also got a built in PMax indicator which users can confirm the reversals on graphs.
Screener explores the 20 tickers in current graph's time frame and also in desired parameters of the SuperTrend indicator.
Also you can optimize the parameters manually with the built in STRATEGY version.
PMax indicator :
Profit Maximizer - PMax is a brand new indicator developed by me.
It's a combination of two trailing stop loss indicators;
One is Anıl Özekşi's MOST (Moving Stop Loss) Indicator
and the other one is well known ATR based SuperTrend
Profit Maximizer - PMax tries to solve this problem. PMax combines the powerful sides of MOST (Moving Average Trend Changer) and SuperTrend (ATR price detection) in one indicator.
Backtest and optimization results of PMax are far better when compared to its ancestors MOST and SuperTrend. It reduces the number of false signals in sideways and give more reliable trade signals.
PMax is easy to determine the trend and can be used in any type of markets and instruments. It does not repaint.
The first parameter in the PMax indicator set by the three parameters is the period/length of ATR.
The second Parameter is the Multiplier of ATR which would be useful to set the value of distance from the built in Moving Average.
I personally think the most important parameter is the Moving Average Length and type.
PMax will be much sensitive to trend movements if Moving Average Length is smaller. And vice versa, will be less sensitive when it is longer.
As the period increases it will become less sensitive to little trends and price actions.
In this way, your choice of period, will be closely related to which of the sort of trends you are interested in.
We are under the effect of the uptrend in cases where the Moving Average is above PMax;
conversely under the influence of a downward trend, when the Moving Average is below PMax.
Built in Moving Average type defaultly set as EMA but users can choose from 8 different Moving Average types like:
SMA : Simple Moving Average
EMA : Exponential Movin Average
WMA : Weighted Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average aka VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
Tip: In sideways VAR would be a good choice
You can use PMax default alarms and Buy Sell signals like:
1-
BUY when Moving Average crosses above PMax
SELL when Moving Average crosses under PMax
2-
BUY when prices jumps over PMax line.
SELL when prices go under PMax line.
Fractal BreakoutFirst of all, huge credit to synapticEx , whose brilliant use of the security function inspired me to figure out a way to get quasi-shape boundaries automatically drawn on a chart.
This study draws upper and lower trend lines, based on configurable fractal*** reversal detection, calculates slope from the last two upper or lower reversal points, and then extends a dotted line along the same slope...until the next upper (or lower) reversal occurs. If the high (or low) breaks this extension, the dotted line becomes solid to aid visibility. Reversal detection is configurable to use any number of ticks, but probably four to eight will work best.
I made the inclusion of volume in the reversal logic optional (off by default) and left the existing SMA input found in synapticEx's code intact, albeit with a lower default. With the addition of trend lines, I found volume hindered identification of reversals, although I could try various other filters than the SMA included originally.
I have also left intact the very nice ability to change the period and use the requested period identify reversals, courtesy of synapticEx.
This could be used in a strategy, as the values plotted are actual values that are available to include in logic and do not include knowledge of the future. However , information is not available until the floor of half the number of ticks used in reversal detection (I then offset by that number to line things up visually). Having never heard of it until now, I just Googled the Bill Williams Alligator strategy, which looks interesting, so maybe I could see how this could be ported to that.
***As I typed this, I remembered that while making reversal detection configurable, I changed the detection logic simply to look for highest (or lowest) of the desired length of ticks. I don't know whether this is not strictly fractal anymore, but if desired, with a little work, I could make it require consecutive, consistent changes before and after each reversal again.
Here are a few screenshots from hourly ticks, using the "current" (hourly) period, with and without volume, and playing with the number of points used to identify reversals.
Not using volume
Using volume
BuLLzEyE_MNQ FVG/IFVG SystemFVG Boxes
These are the main trading zones. The indicator automatically detects Fair Value Gaps and draws boxes on your chart:
• GREEN boxes = Bullish FVG (potential buy zone)
• RED boxes = Bearish FVG (potential sell zone)
• YELLOW boxes = IFVG (Inverse FVG - filled gaps that now act as support/resistance)
• GRAY boxes = Mitigated FVG (gap has been filled)
• WHITE dashed line = 50% level (optimal entry point within the FVG)
Session Boxes
Session boxes show you the high/low range of each major trading session. This helps identify where liquidity sits:
• PURPLE = Asia Session (6:00 PM - 3:00 AM ET)
• BLUE = London Session (3:00 AM - 12:00 PM ET)
• ORANGE = New York Session (9:30 AM - 4:00 PM ET)
• TEAL = Sydney Session (5:00 PM - 2:00 AM ET)
• LIME GREEN = Kill Zone / London-NY Overlap (8:00 AM - 11:00 AM ET) - BEST TRADING TIME
Entry Signals
• GREEN triangle pointing UP = Long entry signal at a Bullish FVG (not 100% reliable)
• RED triangle pointing DOWN = Short entry signal at a Bearish FVG (not 100% reliable)
Liquidity Sweeps
• RED X with 'SWEEP' = Previous Day High (PDH) was swept
• GREEN X with 'SWEEP' = Previous Day Low (PDL) was swept
• Dotted lines = PDH (red) and PDL (green) levels
Information Tables
HTF Bias Table (Top Right): Shows whether the higher timeframe (default 15m) is bullish or bearish, the number of active FVGs, and whether you're in the trading session.
Risk Calculator Table (Bottom Right): Shows your risk amount and calculates how many contracts you can trade for different stop loss sizes (5pt, 10pt, 15pt).
How It Works
What is a Fair Value Gap?
A Fair Value Gap (FVG) is a 3-candle pattern where aggressive buying or selling creates a price void. Specifically, it's when the wick of the first candle doesn't overlap with the wick of the third candle, leaving a gap in between. Price tends to return to these gaps to 'rebalance' before continuing in the original direction.
What is an Inverse FVG?
When an FVG gets filled (price returns and closes through the gap), it becomes an Inverse FVG (IFVG). These zones flip their polarity - a filled Bullish FVG becomes resistance, and a filled Bearish FVG becomes support. The indicator automatically converts mitigated FVGs to yellow IFVG boxes.
The 50% Entry Level
The dashed white line in each FVG represents the 50% level (also called Consequent Encroachment). This is considered the optimal entry point - it's the middle of the imbalance where price is most likely to react.
Suggested Trading Strategy
1. Check HTF Bias (top right table) - only trade in that direction
2. Wait for a liquidity sweep (SWEEP label appears)
3. Look for an FVG to form AFTER the sweep
4. Enter when price returns to the 50% level (dashed line)
5. Place stop loss below/above the FVG (add 2 ticks buffer)
6. Take profit at 1:2 or 1:3 risk-to-reward ratio
Settings Explained
FVG Settings
• Min FVG Size: Minimum gap size in points to be considered valid (default: 2.0)
• Max FVG Age: How many bars until an FVG is removed from chart (default: 50)
• Show 50% Entry Level: Toggle the dashed entry line on/off
Session Settings
• Show Session Boxes: Toggle all session boxes on/off
• Max Sessions to Show: How many historical sessions to display (default: 5)
• Individual Session Toggles: Turn each session (Asia/London/NY/Sydney/Kill Zone) on or off
Risk Calculator Settings
• Account Size: Your trading account balance
• Risk Per Trade: Percentage of account to risk per trade (default: 0.5%)
• Tick Value/Size: Contract specifications for MNQ ($0.50 per tick, 0.25 point tick size)
Tips for Best Results
1. Trade during the Kill Zone (8:00-11:00 AM ET) for best volatility and liquidity
2. Always align trades with HTF bias - don't fight the trend
3. Wait for liquidity sweeps before entering - this confirms smart money activity
4. Use the 50% level for entries - it offers the best risk-to-reward
5. Watch for IFVG zones as additional confluence for entries
6. Use the risk calculator to size positions properly - never risk more than you can afford
7. Session boxes help identify where stops are clustered - sweeps of these levels often precede reversals
Available Alerts
• New FVG Formed (Bullish or Bearish)
• Price Touching 50% Entry Level
• FVG Mitigated (gap filled)
• Long Entry Signal
• Short Entry Signal
• PDH/PDL Liquidity Sweep
─────────────────────────────────────
Created by BullyTrading
Designed for MNQ Prop Firm Trading
TTP IFVG Signals With EMA /ICT Gold scalpingThis script uses original logic and alerting rules. in Japan
finding ICT IFVG and EMA conditions.
#IFVG, Forex, ICT, EMA, Scalping, Indicator
This indicator automatically finds IFVG (Imbalance / Fair Value Gap) zones and gives you a buy or sell signal when price comes back and breaks out through that gap.
It also draws a colored box over the gap so you can see the zone visually, and it raises alerts when a new signal appears.
High-level logic:
On every bar, the script looks back up to “IFVG_GapBars” bars.
For each offset i it checks a 3-candle pattern:
– If the low of the newer candle is above the high of the older candle: bullish FVG (price jumped up, leaving a gap).
– If the high of the newer candle is below the low of the older candle: bearish FVG (price jumped down, leaving a gap).
When a valid FVG is found:
– For a bullish FVG it looks for a later close that breaks down through that gap (sell signal).
– For a bearish FVG it looks for a later close that breaks up through that gap (buy signal).
– A moving-average trend filter must agree (downtrend for sells, uptrend for buys).
– It checks that price has not already “filled” the gap before the breakout.
If all conditions are satisfied, it:
– Sets signal_dir = 1 for a buy, or -1 for a sell.
– Draws a box from the original FVG bar to the bar just before the breakout (extended a bit to the right), between the gap high and gap low.
– Plots an ▲ label for buys or ▼ label for sells.
– Triggers the corresponding alert conditions.
Now the parameters:
PipSizeMultilier (PipSizeManual)
Multiplies the symbol’s minimum tick size (syminfo.mintick).
It is used when converting “MinFVG_Pips” into an actual price distance.
If you feel the indicator is too sensitive (too many small gaps), you can increase this multiplier to effectively require a larger price difference.
TickSize
Internal value = syminfo.mintick * PipSizeMultiplier.
This is the actual price step the script uses as a “pip” when checking minimum gap size.
FVG Search Lookback (IFVG_GapBars)
How many bars back from the current bar the script will scan for a 3-candle FVG pattern.
Larger value = it can find older FVGs, but loop cost is higher.
Min FVG Size (Pips/Points) (MinFVG_Pips)
Minimum allowed size of the gap, measured in “pips/points” using TickSize.
If the vertical distance between the gap high and gap low is smaller than this, the gap is ignored.
0.0 means “no size filter” (every FVG is allowed).
FVG Epsilon (Price Units) (FVG_EpsPoints)
Tolerance for the FVG detection.
It is subtracted/added in the condition that checks “low > old high” or “high < old low”.
0.0 means strict gap (no overlap at all). A small positive epsilon allows tiny overlaps to still count as a gap.
Show IFVG Zones (ShowZones)
If true, the script draws a box over the IFVG zone when a signal is confirmed.
If false, no boxes are drawn; you only see the ▲ / ▼ markers and alerts.
Buy Zone Color (ZoneColorBuy)
Fill color and border color for boxes created from bearish FVGs that later produce a buy signal.
Sell Zone Color (ZoneColorSell)
Fill color and border color for boxes created from bullish FVGs that later produce a sell signal.
Box Extension (Bars) (BoxExtension)
How many extra bars to extend the right side of the box beyond the breakout bar.
The internal right coordinate is “bar_index - 1 + BoxExtension”.
Increase this if you want the zone to visually extend further into the future.
MA Period (MA_Period)
Lookback length of the moving average used as a trend filter.
MA Type (MA_Kind)
Type of moving average: “SMA” or “EMA”.
If SMA is chosen, the script uses ta.sma; if EMA, it uses ta.ema.
Moving-average filter behavior:
For sell signals (from bullish FVG): MA must be sloping down (MA < MA ) and price must be below MA.
For buy signals (from bearish FVG): MA must be sloping up (MA > MA ) and price must be above MA.
If these conditions are not satisfied, the FVG is ignored even if the gap and breakout conditions are met.
Signals and alerts:
signal_dir = 1 → buy signal, ▲ label below the bar, “IFVG Buy Alert” / “IFVG Buy/Sell Alert” can fire.
signal_dir = -1 → sell signal, ▼ label above the bar, “IFVG Sell Alert” / “IFVG Buy/Sell Alert” can fire.
signal_dir = 0 → no new signal on this bar.
In short:
This indicator finds 3-candle IFVG gaps, filters them by size and trend, waits for a clean breakout through the gap, draws a box on the original gap zone, and gives you a clear buy or sell signal plus alerts.
Sector Rotation - Risk Preference Indicator# Sector Rotation - Risk Preference Indicator
## Overview
This indicator measures market risk appetite by comparing the relative strength between **Aggressive** and **Defensive** sectors. It provides a clean, single-line visualization to help traders identify market sentiment shifts and potential trend reversals.
## How It Works
The indicator calculates a **Bullish/Bearish Ratio** by dividing the average price of aggressive sector ETFs by defensive sector ETFs, then normalizing to a baseline of 100.
**Formula:**
- Ratio = (Aggressive Sectors Average / Defensive Sectors Average) × 100
**Interpretation:**
- **Ratio > 100**: Risk-on sentiment (Aggressive sectors outperforming Defensive)
- **Ratio < 100**: Risk-off sentiment (Defensive sectors outperforming Aggressive)
- **Ratio ≈ 100**: Neutral (Both sector groups performing equally)
## Default Sectors
**Defensive Sectors** (Safe havens during uncertainty):
- XLP - Consumer Staples Select Sector SPDR Fund
- XLU - Utilities Select Sector SPDR Fund
- XLV - Health Care Select Sector SPDR Fund
**Aggressive Sectors** (Growth-oriented, higher risk):
- XLK - Technology Select Sector SPDR Fund
- XBI - SPDR S&P Biotech ETF
- XRT - SPDR S&P Retail ETF
## Features
✅ **Fully Customizable Sectors** - Choose any ETFs/tickers for each sector group
✅ **Smoothing Control** - Adjustable SMA period to reduce noise (default: 2)
✅ **Clean Visualization** - Single blue line for easy interpretation
✅ **Multi-timeframe Support** - Works on any timeframe
✅ **Lightweight** - Minimal calculations for fast performance
## Settings
### Defensive Sectors Group
- **Defensive Sector 1**: First defensive ETF ticker (default: XLP)
- **Defensive Sector 2**: Second defensive ETF ticker (default: XLU)
- **Defensive Sector 3**: Third defensive ETF ticker (default: XLV)
### Aggressive Sectors Group
- **Aggressive Sector 1**: First aggressive ETF ticker (default: XLK)
- **Aggressive Sector 2**: Second aggressive ETF ticker (default: XBI)
- **Aggressive Sector 3**: Third aggressive ETF ticker (default: XRT)
### Display Settings
- **Smoothing Length**: SMA period for ratio smoothing (default: 2, range: 1-50)
- Lower values = More responsive but noisier
- Higher values = Smoother but more lagging
## Use Cases
### 1. Market Regime Identification
- **Rising Ratio (trending up)** → Bull market / Risk-on environment
- Aggressive sectors leading, investors chasing growth
- Favorable for long positions in tech, growth stocks
- **Falling Ratio (trending down)** → Bear market / Risk-off environment
- Defensive sectors leading, investors seeking safety
- Consider defensive positioning or short opportunities
### 2. Divergence Analysis
- **Bullish Divergence**: Price makes new lows but ratio rises
- Suggests underlying strength returning
- Potential market bottom forming
- **Bearish Divergence**: Price makes new highs but ratio falls
- Suggests weakening momentum
- Potential market top forming
### 3. Trend Confirmation
- **Strong uptrend + Rising ratio** → Confirmed bullish trend
- **Strong downtrend + Falling ratio** → Confirmed bearish trend
- **Uptrend + Falling ratio** → Weakening trend, watch for reversal
- **Downtrend + Rising ratio** → Potential trend exhaustion
## Best Practices
⚠️ **Timeframe Selection**
- Recommended: Daily, 4H, 1H for cleaner signals
- Lower timeframes (15m, 5m) may produce noisy signals
⚠️ **Complementary Analysis**
- Use alongside price action and volume analysis
- Combine with support/resistance levels
- Not designed as a standalone trading system
⚠️ **Market Conditions**
- Most effective in trending markets
- Less reliable during ranging/consolidation periods
- Works best in liquid, well-traded sectors
⚠️ **Customization Tips**
- Can substitute with international sectors (EWU, EWZ, etc.)
- Can use crypto sectors (DeFi vs Layer1, etc.)
- Adjust smoothing based on trading style (day trading = 2-5, swing = 10-20)
## Display Options
### Default View (overlay=false)
- Shows in separate pane below chart
- Dedicated scale for ratio values
### Alternative View
- Can be moved to main chart pane (drag indicator)
I typically overlay this indicator on the SPY daily chart to observe divergences. I don’t focus on specific values but rather on the direction of the trend.
The author is not responsible for any trading losses incurred using this indicator.
## Support & Feedback
For questions, feature requests, or bug reports:
- Comment below
- Send a private message
- Check for updates regularly
If you find this indicator useful, please:
- ⭐ Leave a like/favorite
- 💬 Share your experience in comments
- 📊 Share charts showing interesting patterns
Smart Flow Tracker [The_lurker]
Smart Flow Tracker (SFT): Advanced Order Flow Tracking Indicator
Overview
Smart Flow Tracker (SFT) is an advanced indicator designed for real-time tracking and analysis of order flows. It focuses on detecting institutional patterns, massive orders, and potential reversals through analysis of lower timeframes (Lower Timeframe) or live ticks. It provides deep insights into market behavior using a multi-layered intelligent detection system and a clear visual interface, giving traders a competitive edge.
SFT focuses on trade volumes, directions, and frequencies to uncover unusual activity that may indicate institutional intervention, massive orders, or manipulation attempts (traps).
Indicator Operation Levels
SFT operates on three main levels:
1. Microscopic Monitoring: Tracks every trade at precise timeframes (down to one second), providing visibility not available in standard timeframes.
2. Advanced Statistical Analysis: Calculates averages, deviations, patterns, and anomalies using precise mathematical algorithms.
3. Behavioral Artificial Intelligence: Recognizes behavioral patterns such as hidden institutional accumulation, manipulation attempts and traps, and potential reversal points.
Key Features
SFT features a set of advanced functions to enhance the trader's experience:
1. Intelligent Order Classification System: Classifies orders into six categories based on size and pattern:
- Standard: Normal orders with typical size.
- Significant 💎: Orders larger than average by 1.5 times.
- Major 🔥: Orders larger than average by 2.5 times.
- Massive 🐋: Orders larger than average by 3 times.
- Institutional 🏛️: Consistent patterns indicating institutional activity.
- Reversal 🔄: Large orders indicating direction change.
- Trap ⚠️: Patterns that may be price traps.
2. Institutional Patterns Detection: Tracks sequences of similar-sized orders, detects organized institutional activity, and is customizable (number of trades, variance ratio).
3. Reversals Detection: Compares recent flows with previous ones, detects direction shifts from up to down or vice versa, and operates only on large orders (Major/Massive/Institutional).
4. Traps Detection: Identifies sequences of large orders in one direction, followed by an institutional order in the opposite direction, with early alerts for false moves.
5. Flow Delta Bar: Displays the difference between buy and sell volumes as a percentage for balance, with instant updates per trade.
6. Dynamic Statistics Panel: Displays overall buy and sell ratios with real-time updates and interactive colors.
How It Works and Understanding
SFT relies on logical sequential stages for data processing:
A. Data Collection: Uses the `request.security_lower_tf()` function to extract data from a lower timeframe (like 1S) even on a higher timeframe (like 5D). For each time unit, it calculates:
- Adjusted Volume: Either normal volume or "price-weighted volume" (hlc3 * volume) based on user choice.
- Trade Direction: Compared to previous close (rise → buy, fall → sell).
B. Building Temporary Memory: Maintains a dynamic list (sizeHistory) of the last 100 trade sizes, continuously calculating the moving average (meanSize).
C. Intelligent Classification: Compares each new trade to the average:
- > 1.5 × average → Significant.
- > 2.5 × average → Major.
- > 3.0 × average → Massive.
- Institutional Patterns Check: A certain number of trades (e.g., 5) with a specified variance ratio (±5%) → Institutional.
D. Advanced Detection:
- Reversal: Compares buy/sell totals in two consecutive periods.
- Trap: Sequence of large trades in one direction followed by an opposite institutional trade.
E. Display and Alerts: Results displayed in an automatically updated table, with option to enable alerts for notable events.
Settings (Fully Customizable)
SFT offers extensive options to adapt to the trader's needs:
A. Display Settings:
- Language: English / Arabic.
- Table Position: 9 options (e.g., Top Right, Middle Right, Bottom Left).
- Display Size: Tiny / Small / Normal / Large.
- Max Rows: 10–100.
- Enable Flow Delta Bar: Yes / No.
- Enable Statistics Panel: Yes / No (displays buy/sell % ratio).
B.- Technical Settings:
- Data Source: Lower Timeframe / Live Tick (simulation).
- Timeframe: Optional (e.g., 1S, 5S, 1).
- Calculation Type: Volume / Price Volume.
C. Intelligent Detection System:
- Enable Institutional Patterns Detection.
- Pattern Length: 3–20 trades.
- Allowed Variance Ratio: 1%–20%.
- Massive Orders Detection Factor: 2.0–10.0.
D. Classification Criteria:
- Significant Orders Factor: 1.2–3.0.
- Major Orders Factor: 2.0–5.0.
E. **Advanced Detection**:
- Enable Reversals Detection (with review period).
- Enable Traps Detection (with minimum sequence limit).
F. Alerts System:
- Enable for each type: Massive orders, institutional patterns, reversals, traps, severe imbalance (60%–90%).
G. Color System: Manual customization for each category:
- Standard Buy 🟢: Dark gray green.
- Standard Sell 🔴: Dark gray red.
- Significant Buy 🟢: Medium green.
- Significant Sell 🔴: Medium red.
- Major Orders 🟣: Purple.
- Massive Orders 🟠: Orange.
- Institutional 🟦: Sky blue.
- Reversal 🔵: Blue.
- Trap 🟣: Pink-purple.
Target Audiences
SFT benefits a wide range of traders and investors:
1. Scalpers: Instant detection of large orders, liquidity points identification, avoiding traps in critical moments.
2. Day Traders: Tracking smart money footprint, determining real session direction, early reversals detection.
3. Swing Traders: Confirming trend strength, detecting institutional accumulation/distribution, identifying optimal entry points.
4. Investors: Understanding true market sentiments, avoiding entry at false peaks, identifying real value zones.
⚠️ Disclaimer:
This indicator is for educational and analytical purposes only. It does not constitute financial, investment, or trading advice. Use it in conjunction with your own strategy and risk management. Neither TradingView nor the developer is liable for any financial decisions or losses.
Smart Flow Tracker (SFT): مؤشر متقدم لتتبع تدفقات الأوامر
نظرة عامة
Smart Flow Tracker (SFT) مؤشر متقدم مصمم لتتبع وتحليل تدفقات الأوامر في الوقت الفعلي. يركز على كشف الأنماط المؤسسية، الأوامر الضخمة، والانعكاسات المحتملة من خلال تحليل الأطر الزمنية الأقل (Lower Timeframe) أو التيك الحي. يوفر رؤية عميقة لسلوك السوق باستخدام نظام كشف ذكي متعدد الطبقات وواجهة مرئية واضحة، مما يمنح المتداولين ميزة تنافسية.
يركز SFT على حجم الصفقات، اتجاهها، وتكرارها لكشف النشاط غير العادي الذي قد يشير إلى تدخل مؤسسات، أوامر ضخمة، أو محاولات تلاعب (فخاخ).
مستويات عمل المؤشر
يعمل SFT على ثلاثة مستويات رئيسية:
1. المراقبة المجهرية: يتتبع كل صفقة على مستوى الأطر الزمنية الدقيقة (حتى الثانية الواحدة)، مما يوفر رؤية غير متوفرة في الأطر الزمنية العادية.
2. التحليل الإحصائي المتقدم: يحسب المتوسطات، الانحرافات، الأنماط، والشذوذات باستخدام خوارزميات رياضية دقيقة.
3. الذكاء الاصطناعي السلوكي: يتعرف على أنماط سلوكية مثل التراكم المؤسسي المخفي، محاولات التلاعب والفخاخ، ونقاط الانعكاس المحتملة.
الميزات الرئيسية
يتميز SFT بمجموعة من الوظائف المتقدمة لتحسين تجربة المتداول:
1. نظام تصنيف الأوامر الذكي: يصنف الأوامر إلى ست فئات بناءً على الحجم والنمط:
- Standard (قياسي)**: أوامر عادية بحجم طبيعي.
- Significant 💎 (مهم)**: أوامر أكبر من المتوسط بـ1.5 ضعف.
- Major 🔥 (كبير)**: أوامر أكبر من المتوسط بـ2.5 ضعف.
- Massive 🐋 (ضخم)**: أوامر أكبر من المتوسط بـ3 أضعاف.
- Institutional 🏛️ (مؤسسي)**: أنماط متسقة تشير إلى نشاط مؤسسي.
- Reversal 🔄 (انعكاس)**: أوامر كبيرة تشير إلى تغيير اتجاه.
- Trap ⚠️ (فخ)**: أنماط قد تكون فخاخًا سعرية.
2. كشف الأنماط المؤسسية: يتتبع تسلسل الأوامر المتشابهة في الحجم، يكشف النشاط المؤسسي المنظم، وقابل للتخصيص (عدد الصفقات، نسبة التباين).
3. كشف الانعكاسات: يقارن التدفقات الأخيرة بالسابقة، يكشف تحول الاتجاه من صعود إلى هبوط أو العكس، ويعمل فقط على الأوامر الكبيرة (Major/Massive/Institutional).
4. كشف الفخاخ: يحدد تسلسل أوامر كبيرة في اتجاه واحد، يليها أمر مؤسسي في الاتجاه المعاكس، مع تنبيه مبكر للحركات الكاذبة.
5. شريط دلتا التدفق: يعرض الفرق بين حجم الشراء والبيع كنسبة مئوية للتوازن، مع تحديث فوري لكل صفقة.
6. لوحة إحصائيات ديناميكية: تعرض نسبة الشراء والبيع الإجمالية مع تحديث لحظي وألوان تفاعلية.
طريقة العمل والفهم
يعتمد SFT على مراحل منطقية متسلسلة لمعالجة البيانات:
أ. جمع البيانات: يستخدم دالة `request.security_lower_tf()` لاستخراج بيانات من إطار زمني أدنى (مثل 1S) حتى على إطار زمني أعلى (مثل 5D). لكل وحدة زمنية، يحسب:
- الحجم المعدّل: إما الحجم العادي (volume) أو "الحجم المرجّح بالسعر" (hlc3 * volume) حسب الاختيار.
- اتجاه الصفقة: مقارنة الإغلاق الحالي بالسابق (ارتفاع → شراء، انخفاض → بيع).
ب. بناء الذاكرة المؤقتة: يحتفظ بقائمة ديناميكية (sizeHistory) لآخر 100 حجم صفقة، ويحسب المتوسط المتحرك (meanSize) باستمرار.
ج. التصنيف الذكي: يقارن كل صفقة جديدة بالمتوسط:
- > 1.5 × المتوسط → Significant.
- > 2.5 × المتوسط → Major.
- > 3.0 × المتوسط → Massive.
- فحص الأنماط المؤسسية: عدد معين من الصفقات (مثل 5) بنسبة تباين محددة (±5%) → Institutional.
د. الكشف المتقدم:
- الانعكاس: مقارنة مجموع الشراء/البيع في فترتين متتاليتين.
- الفخ: تسلسل صفقات كبيرة في اتجاه واحد يتبعها صفقة مؤسسية معاكسة.
هـ. العرض والتنبيه: عرض النتائج في جدول محدّث تلقائيًا، مع إمكانية تفعيل تنبيهات للأحداث المميزة.
لإعدادات (قابلة للتخصيص بالكامل)
يوفر SFT خيارات واسعة للتكييف مع احتياجات المتداول:
أ. إعدادات العرض:
- اللغة: English / العربية.
- موقع الجدول: 9 خيارات (مثل Top Right, Middle Right, Bottom Left).
- حجم العرض: Tiny / Small / Normal / Large.
- الحد الأقصى للصفوف: 10–100.
- تفعيل شريط دلتا التدفق: نعم / لا.
- تفعيل لوحة الإحصائيات: نعم / لا (تعرض نسبة الشراء/البيع %).
ب. الإعدادات التقنية:
- مصدر البيانات: Lower Timeframe / Live Tick (محاكاة).
- الإطار الزمني: اختياري (مثل 1S, 5S, 1).
- نوع الحساب: Volume / Price Volume.
ج. نظام الكشف الذكي:
- تفعيل كشف الأنماط المؤسسية.
- طول النمط: 3–20 صفقة.
- نسبة التباين: 1%–20%.
- عامل كشف الأوامر الضخمة: 2.0–10.0.
د. معايير التصنيف:
- عامل الأوامر المهمة: 1.2–3.0.
- عامل الأوامر الكبرى: 2.0–5.0.
هـ. الكشف المتقدم:
- تفعيل كشف الانعكاسات (مع فترة مراجعة).
- تفعيل كشف الفخاخ (مع حد أدنى للتسلسل).
و. نظام التنبيهات:
- تفعيل لكل نوع: أوامر ضخمة، أنماط مؤسسية، انعكاسات، فخاخ، عدم توازن شديد (60%–90%).
ز. نظام الألوان**: تخصيص يدوي لكل فئة:
- شراء قياسي 🟢: أخضر رمادي داكن.
- بيع قياسي 🔴: أحمر رمادي داكن.
- شراء مهم 🟢: أخضر متوسط.
- بيع مهم 🔴: أحمر متوسط.
- أوامر كبرى 🟣: بنفسجي.
- أوامر ضخمة 🟠: برتقالي.
- مؤسسي 🟦: أزرق سماوي.
- انعكاس 🔵: أزرق.
- فخ 🟣: وردي-أرجواني.
الفئات المستهدفة
يستفيد من SFT مجموعة واسعة من المتداولين والمستثمرين:
1. السكالبرز (Scalpers): كشف لحظي للأوامر الكبيرة، تحديد نقاط السيولة، تجنب الفخاخ في اللحظات الحرجة.
2. المتداولون اليوميون (Day Traders): تتبع بصمة الأموال الذكية، تحديد اتجاه الجلسة الحقيقي، كشف الانعكاسات المبكرة.
3. المتداولون المتأرجحون (Swing Traders): تأكيد قوة الاتجاه، كشف التراكم/التوزيع المؤسسي، تحديد نقاط الدخول المثلى.
4. المستثمرون: فهم معنويات السوق الحقيقية، تجنب الدخول في قمم كاذبة، تحديد مناطق القيمة الحقيقية.
⚠️ إخلاء مسؤولية:
هذا المؤشر لأغراض تعليمية وتحليلية فقط. لا يُمثل نصيحة مالية أو استثمارية أو تداولية. استخدمه بالتزامن مع استراتيجيتك الخاصة وإدارة المخاطر. لا يتحمل TradingView ولا المطور مسؤولية أي قرارات مالية أو خسائر.
LibWghtLibrary "LibWght"
This is a library of mathematical and statistical functions
designed for quantitative analysis in Pine Script. Its core
principle is the integration of a custom weighting series
(e.g., volume) into a wide array of standard technical
analysis calculations.
Key Capabilities:
1. **Universal Weighting:** All exported functions accept a `weight`
parameter. This allows standard calculations (like moving
averages, RSI, and standard deviation) to be influenced by an
external data series, such as volume or tick count.
2. **Weighted Averages and Indicators:** Includes a comprehensive
collection of weighted functions:
- **Moving Averages:** `wSma`, `wEma`, `wWma`, `wRma` (Wilder's),
`wHma` (Hull), and `wLSma` (Least Squares / Linear Regression).
- **Oscillators & Ranges:** `wRsi`, `wAtr` (Average True Range),
`wTr` (True Range), and `wR` (High-Low Range).
3. **Volatility Decomposition:** Provides functions to decompose
total variance into distinct components for market analysis.
- **Two-Way Decomposition (`wTotVar`):** Separates variance into
**between-bar** (directional) and **within-bar** (noise)
components.
- **Three-Way Decomposition (`wLRTotVar`):** Decomposes variance
relative to a linear regression into **Trend** (explained by
the LR slope), **Residual** (mean-reversion around the
LR line), and **Within-Bar** (noise) components.
- **Local Volatility (`wLRLocTotStdDev`):** Measures the total
"noise" (within-bar + residual) around the trend line.
4. **Weighted Statistics and Regression:** Provides a robust
function for Weighted Linear Regression (`wLinReg`) and a
full suite of related statistical measures:
- **Between-Bar Stats:** `wBtwVar`, `wBtwStdDev`, `wBtwStdErr`.
- **Residual Stats:** `wResVar`, `wResStdDev`, `wResStdErr`.
5. **Fallback Mechanism:** All functions are designed for reliability.
If the total weight over the lookback period is zero (e.g., in
a no-volume period), the algorithms automatically fall back to
their unweighted, uniform-weight equivalents (e.g., `wSma`
becomes a standard `ta.sma`), preventing errors and ensuring
continuous calculation.
---
**DISCLAIMER**
This library is provided "AS IS" and for informational and
educational purposes only. It does not constitute financial,
investment, or trading advice.
The author assumes no liability for any errors, inaccuracies,
or omissions in the code. Using this library to build
trading indicators or strategies is entirely at your own risk.
As a developer using this library, you are solely responsible
for the rigorous testing, validation, and performance of any
scripts you create based on these functions. The author shall
not be held liable for any financial losses incurred directly
or indirectly from the use of this library or any scripts
derived from it.
wSma(source, weight, length)
Weighted Simple Moving Average (linear kernel).
Parameters:
source (float) : series float Data to average.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 1.
Returns: series float Linear-kernel weighted mean; falls back to
the arithmetic mean if Σweight = 0.
wEma(source, weight, length)
Weighted EMA (exponential kernel).
Parameters:
source (float) : series float Data to average.
weight (float) : series float Weight series.
length (simple int) : simple int Look-back length ≥ 1.
Returns: series float Exponential-kernel weighted mean; falls
back to classic EMA if Σweight = 0.
wWma(source, weight, length)
Weighted WMA (linear kernel).
Parameters:
source (float) : series float Data to average.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 1.
Returns: series float Linear-kernel weighted mean; falls back to
classic WMA if Σweight = 0.
wRma(source, weight, length)
Weighted RMA (Wilder kernel, α = 1/len).
Parameters:
source (float) : series float Data to average.
weight (float) : series float Weight series.
length (simple int) : simple int Look-back length ≥ 1.
Returns: series float Wilder-kernel weighted mean; falls back to
classic RMA if Σweight = 0.
wHma(source, weight, length)
Weighted HMA (linear kernel).
Parameters:
source (float) : series float Data to average.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 1.
Returns: series float Linear-kernel weighted mean; falls back to
classic HMA if Σweight = 0.
wRsi(source, weight, length)
Weighted Relative Strength Index.
Parameters:
source (float) : series float Price series.
weight (float) : series float Weight series.
length (simple int) : simple int Look-back length ≥ 1.
Returns: series float Weighted RSI; uniform if Σw = 0.
wAtr(tr, weight, length)
Weighted ATR (Average True Range).
Implemented as WRMA on *true range*.
Parameters:
tr (float) : series float True Range series.
weight (float) : series float Weight series.
length (simple int) : simple int Look-back length ≥ 1.
Returns: series float Weighted ATR; uniform weights if Σw = 0.
wTr(tr, weight, length)
Weighted True Range over a window.
Parameters:
tr (float) : series float True Range series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 1.
Returns: series float Weighted mean of TR; uniform if Σw = 0.
wR(r, weight, length)
Weighted High-Low Range over a window.
Parameters:
r (float) : series float High-Low per bar.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 1.
Returns: series float Weighted mean of range; uniform if Σw = 0.
wBtwVar(source, weight, length, biased)
Weighted Between Variance (biased/unbiased).
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns:
variance series float The calculated between-bar variance (σ²btw), either biased or unbiased.
sumW series float The sum of weights over the lookback period (Σw).
sumW2 series float The sum of squared weights over the lookback period (Σw²).
wBtwStdDev(source, weight, length, biased)
Weighted Between Standard Deviation.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float σbtw uniform if Σw = 0.
wBtwStdErr(source, weight, length, biased)
Weighted Between Standard Error.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float √(σ²btw / N_eff) uniform if Σw = 0.
wTotVar(mu, sigma, weight, length, biased)
Weighted Total Variance (= between-group + within-group).
Useful when each bar represents an aggregate with its own
mean* and pre-estimated σ (e.g., second-level ranges inside a
1-minute bar). Assumes the *weight* series applies to both the
group means and their σ estimates.
Parameters:
mu (float) : series float Group means (e.g., HL2 of 1-second bars).
sigma (float) : series float Pre-estimated σ of each group (same basis).
weight (float) : series float Weight series (volume, ticks, …).
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns:
varBtw series float The between-bar variance component (σ²btw).
varWtn series float The within-bar variance component (σ²wtn).
sumW series float The sum of weights over the lookback period (Σw).
sumW2 series float The sum of squared weights over the lookback period (Σw²).
wTotStdDev(mu, sigma, weight, length, biased)
Weighted Total Standard Deviation.
Parameters:
mu (float) : series float Group means (e.g., HL2 of 1-second bars).
sigma (float) : series float Pre-estimated σ of each group (same basis).
weight (float) : series float Weight series (volume, ticks, …).
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float σtot.
wTotStdErr(mu, sigma, weight, length, biased)
Weighted Total Standard Error.
SE = √( total variance / N_eff ) with the same effective sample
size logic as `wster()`.
Parameters:
mu (float) : series float Group means (e.g., HL2 of 1-second bars).
sigma (float) : series float Pre-estimated σ of each group (same basis).
weight (float) : series float Weight series (volume, ticks, …).
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float √(σ²tot / N_eff).
wLinReg(source, weight, length)
Weighted Linear Regression.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 2.
Returns:
mid series float The estimated value of the regression line at the most recent bar.
slope series float The slope of the regression line.
intercept series float The intercept of the regression line.
wResVar(source, weight, midLine, slope, length, biased)
Weighted Residual Variance.
linear regression – optionally biased (population) or
unbiased (sample).
Parameters:
source (float) : series float Data series.
weight (float) : series float Weighting series (volume, etc.).
midLine (float) : series float Regression value at the last bar.
slope (float) : series float Slope per bar.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population variance (σ²_P), denominator ≈ N_eff.
false → sample variance (σ²_S), denominator ≈ N_eff - 2.
(Adjusts for 2 degrees of freedom lost to the regression).
Returns:
variance series float The calculated residual variance (σ²res), either biased or unbiased.
sumW series float The sum of weights over the lookback period (Σw).
sumW2 series float The sum of squared weights over the lookback period (Σw²).
wResStdDev(source, weight, midLine, slope, length, biased)
Weighted Residual Standard Deviation.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
midLine (float) : series float Regression value at the last bar.
slope (float) : series float Slope per bar.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float σres; uniform if Σw = 0.
wResStdErr(source, weight, midLine, slope, length, biased)
Weighted Residual Standard Error.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
midLine (float) : series float Regression value at the last bar.
slope (float) : series float Slope per bar.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population (biased); false → sample.
Returns: series float √(σ²res / N_eff); uniform if Σw = 0.
wLRTotVar(mu, sigma, weight, midLine, slope, length, biased)
Weighted Linear-Regression Total Variance **around the
window’s weighted mean μ**.
σ²_tot = E_w ⟶ *within-group variance*
+ Var_w ⟶ *residual variance*
+ Var_w ⟶ *trend variance*
where each bar i in the look-back window contributes
m_i = *mean* (e.g. 1-sec HL2)
σ_i = *sigma* (pre-estimated intrabar σ)
w_i = *weight* (volume, ticks, …)
ŷ_i = b₀ + b₁·x (value of the weighted LR line)
r_i = m_i − ŷ_i (orthogonal residual)
Parameters:
mu (float) : series float Per-bar mean m_i.
sigma (float) : series float Pre-estimated σ_i of each bar.
weight (float) : series float Weight series w_i (≥ 0).
midLine (float) : series float Regression value at the latest bar (ŷₙ₋₁).
slope (float) : series float Slope b₁ of the regression line.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population; false → sample.
Returns:
varRes series float The residual variance component (σ²res).
varWtn series float The within-bar variance component (σ²wtn).
varTrd series float The trend variance component (σ²trd), explained by the linear regression.
sumW series float The sum of weights over the lookback period (Σw).
sumW2 series float The sum of squared weights over the lookback period (Σw²).
wLRTotStdDev(mu, sigma, weight, midLine, slope, length, biased)
Weighted Linear-Regression Total Standard Deviation.
Parameters:
mu (float) : series float Per-bar mean m_i.
sigma (float) : series float Pre-estimated σ_i of each bar.
weight (float) : series float Weight series w_i (≥ 0).
midLine (float) : series float Regression value at the latest bar (ŷₙ₋₁).
slope (float) : series float Slope b₁ of the regression line.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population; false → sample.
Returns: series float √(σ²tot).
wLRTotStdErr(mu, sigma, weight, midLine, slope, length, biased)
Weighted Linear-Regression Total Standard Error.
SE = √( σ²_tot / N_eff ) with N_eff = Σw² / Σw² (like in wster()).
Parameters:
mu (float) : series float Per-bar mean m_i.
sigma (float) : series float Pre-estimated σ_i of each bar.
weight (float) : series float Weight series w_i (≥ 0).
midLine (float) : series float Regression value at the latest bar (ŷₙ₋₁).
slope (float) : series float Slope b₁ of the regression line.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population; false → sample.
Returns: series float √((σ²res, σ²wtn, σ²trd) / N_eff).
wLRLocTotStdDev(mu, sigma, weight, midLine, slope, length, biased)
Weighted Linear-Regression Local Total Standard Deviation.
Measures the total "noise" (within-bar + residual) around the trend.
Parameters:
mu (float) : series float Per-bar mean m_i.
sigma (float) : series float Pre-estimated σ_i of each bar.
weight (float) : series float Weight series w_i (≥ 0).
midLine (float) : series float Regression value at the latest bar (ŷₙ₋₁).
slope (float) : series float Slope b₁ of the regression line.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population; false → sample.
Returns: series float √(σ²wtn + σ²res).
wLRLocTotStdErr(mu, sigma, weight, midLine, slope, length, biased)
Weighted Linear-Regression Local Total Standard Error.
Parameters:
mu (float) : series float Per-bar mean m_i.
sigma (float) : series float Pre-estimated σ_i of each bar.
weight (float) : series float Weight series w_i (≥ 0).
midLine (float) : series float Regression value at the latest bar (ŷₙ₋₁).
slope (float) : series float Slope b₁ of the regression line.
length (int) : series int Look-back length ≥ 2.
biased (bool) : series bool true → population; false → sample.
Returns: series float √((σ²wtn + σ²res) / N_eff).
wLSma(source, weight, length)
Weighted Least Square Moving Average.
Parameters:
source (float) : series float Data series.
weight (float) : series float Weight series.
length (int) : series int Look-back length ≥ 2.
Returns: series float Least square weighted mean. Falls back
to unweighted regression if Σw = 0.
VWAP & Band Cross Strategy v6VWAP & Band Cross Strategy v6: Script Summary
This Pine Script implements a highly flexible, multi-layered trading strategy centered around the Volume Weighted Average Price (VWAP) and its associated Standard Deviation Bands.
The strategy is designed to test various entry/exit models based on how the price interacts with the central VWAP line and the upper/lower volatility bands, with extensive risk management and confirmation filters.
1. Core Mechanics (VWAP & Bands)
VWAP Calculation: Calculates the VWAP based on a user-defined source (default is the close price).
Standard Deviation Bands: Creates upper and lower bands by calculating the standard deviation of the price (over 20 periods by default) and multiplying it by a user-defined Multiplier (default is 2.0). These bands dynamically expand and contract with volatility.
Plotting: The script clearly plots the VWAP (purple), the Upper Band (green), and the Lower Band (red), with a colored fill between the bands.
2. Entry Triggers
The core entry logic is based on a single, user-selected cross event between the price and the VWAP/Bands. The user can choose from six predefined entry types:
Entry Type Category
Entry Trigger (Long)
Entry Trigger (Short)
Mean Reversion
Price crosses over the Lower Band.
Price crosses under the Upper Band.
Trend Following
Price crosses over the Upper Band (Breakout).
Price crosses under the Lower Band (Breakout).
VWAP Cross
Price crosses over the VWAP.
Price crosses under the VWAP.
3. Filters and Confirmation
Trades are only executed if they pass a series of optional filters, making the strategy highly customizable:
Technical Confirmation (Optional): Users can enable and configure up to three additional indicators that must align with the trade direction:
RSI: Price must be Oversold (for Long) or Overbought (for Short).
SMMA: Price must be above the SMMA (for Long) or below (for Short).
MACD: MACD line must cross the Signal line and the Histogram must be positive/negative.
Time and Day Filters: Trades are restricted to a defined Entry Start/End Hour/Minute window, and only execute on user-selected Trading Days of the week.
Trade Direction: Can be toggled to execute Long Only, Short Only, or Both.
4. Advanced Risk Management (Daily Limits)
The strategy incorporates robust daily limits that reset at a configured Daily Reset Hour/Minute:
Daily Profit/Loss Limits: If the running total of Realized PnL (closed trades) + Unrealized PnL (open position) exceeds a user-defined Daily Take Profit (in Ticks) or falls below the Daily Stop Loss (in Ticks), the strategy locks out new trades and immediately closes any open position.
Max Daily Trades: Prevents the strategy from entering more than a specified number of trades per day.
5. Exit Logic
The strategy exit is also highly configurable via the Exit Type setting:
Fixed Ticks / ATR / Capped ATR: If one of these is selected, the script calculates a static Stop Loss and Take Profit level upon entry, using either fixed tick values or dynamic values based on the Average True Range (ATR), which are then executed using Pine Script's strategy.exit function.
Cross Exits (VWAP/Bands): If selected, the position is closed when the price crosses the VWAP or a specific band in the opposite direction.
End-of-Day Close: An unconditional exit that closes all open positions at a user-defined Close All Hour/Minute, regardless of profit/loss or limit status, preventing positions from being held overnight.
Custom Bollinger Band Squeeze Screener [Pineify]Custom Bollinger Band Squeeze Screener
Key Features
Multi-symbol scanning: Analyze up to 6 tickers simultaneously.
Multi-timeframe flexibility: Screen across four selectable timeframes for each symbol.
Bollinger Band Squeeze algorithm: Detect volatility contraction and imminent breakouts.
Advanced ATR integration: Measure expansion and squeeze states with custom multipliers.
Customizable indicator parameters: Fine-tune Bollinger and ATR settings for tailored detection.
Visual table interface: Rapidly compare squeeze and expansion signals across all instruments.
How It Works
At the core, this screener leverages a unique blend of Bollinger Bands and Average True Range (ATR) to quantify volatility states for multiple assets and timeframes at once. For each symbol and every selected timeframe, the indicator calculates Bollinger Band width and compares it against ATR levels, offering real-time squeeze (consolidation) and expansion (breakout) signals.
Bollinger Band width is computed using standard deviations around a SMA basis.
ATR is calculated to gauge market volatility independent of price direction.
Squeeze: Triggered when BB width contracts below a multiple of ATR, forecasting lower volatility and set-up for a move.
Expansion: Triggered when BB width expands above a higher ATR multiple, signaling a high-volatility breakout.
Display: Results shown in an intuitive table, marking each status per ticker and TF.
Trading Ideas and Insights
Spot assets poised for volatility-driven breakouts.
Compare squeeze presence across timeframes for optimal entry timing.
Integrate screener results with price action or volume for high-confidence setups.
Use squeeze signals to avoid choppy or non-trending conditions.
Expand and diversify watchlists with multi-symbol coverage.
How Multiple Indicators Work Together
This script seamlessly merges Bollinger Bands and ATR with customized multipliers:
Bollinger Bands identify price consolidation and volatility squeeze zones.
ATR tailors the definition of squeeze and expansion, making signals adaptive to volatility regime changes.
By layering these with multi-symbol/multi-timeframe data, traders access a high-precision view of market readiness for trend acceleration or reversal.
The real synergy is in the screener's ability to visualize volatility states for a diverse asset selection, transforming traditional single-chart analysis into a broad market view.
Unique Aspects
Original implementation: Not a simple trend or scalping indicator; utilizes advanced volatility logic.
Fully multi-symbol and multi-timeframe support uncommon in most screeners.
Custom ATR multipliers for both squeeze and expansion allow traders to match their risk profile and market dynamics.
Visual clarity: Table structure promotes actionable insights and reduces decision fatigue.
How to Use
Add the indicator to your TradingView chart (supports any asset class including crypto, forex, stocks).
Select up to six symbols (tickers) and set your preferred timeframes.
Adjust Bollinger Band Length/Deviation and ATR multipliers to refine squeeze/expansion criteria.
Review the screener table: Look for "SQZ" (squeeze) or "EXP" (expansion) cells for entry/exit ideas.
Combine screener information with other technical or fundamental signals for trade confirmation.
Customization
Symbols: Choose any tickers for scanning.
Timeframes: Select short- to long-term intervals to match your trading style.
Bollinger Band parameters: Modify length and deviation for sensitivity.
ATR multipliers: Set low or high values to adjust squeeze/expansion triggers.
Table size and layout: Adapt display for optimal workflow.
Conclusion
The Bollinger Band Squeeze Screener Pineify delivers an innovative, SEO-friendly multi-asset solution for volatility and trend detection. Harness its original algorithmic design to uncover powerful breakout opportunities and optimize your portfolio. Whether you trade crypto with dynamic volatility or scan stocks for momentum, this tool supercharges your TradingView workflow.
Ghost BookGhost Book is an indicator that visualizes the distribution of bid and ask amount — the activity of buyers and sellers — in the form of a synthetic order book.
While a real order book shows active limit orders, Ghost Book displays the most recent n ticks (controlled by the input Max rows count in book).
For each tick, the indicator shows:
Price
Amount
Total trade value
Trade side (buyer or seller)
Relative weight of the tick by its amount
The center row displays the current closing price as a reference point between buyers and sellers.
Note: This indicator uses tick-level data. If your TradingView subscription level does not include tick data, the indicator will not function correctly.






















