Neglected Volume by DGTVolume is one piece of information that is often neglected, however, learning to interpret volume brings many advantages and could be of tremendous help when it comes to analyzing the markets. In addition to technicians, fundamental investors also take notice of the numbers of shares traded for a given security.
What is Volume?
The volume represents all the recorded trades for a security that occurs in a given time interval. It is a measurement of the participation, enthusiasm, and interest in a given security. Think of volume as the force that drives the market. Volume substantiates, energizes, and empowers price. When volume increases, it confirms price direction; when volume decreases, it contradicts price direction.
In theory, increases in volume generally precede significant price movements. However, If the price is rising in an uptrend but the volume is reducing or unchanged, it may show that there’s little interest in the security, and the price may reverse.
A high volume usually indicates more interest in the security and the presence of institutional traders. However, a rapidly rising price in an uptrend accompanied by a huge volume may be a sign of exhaustion.
Traders usually look for breaks of support and resistance to enter positions. When security break critical levels without volume, you should consider the breakout suspect and prime for a reversal off the highs/lows
Volume spikes are often the result of news-driven events. Volume spike will often lead to sharp reversals since the moves are unsustainable due to the imbalance of supply and demand
note : there’s no centralized exchange where trades are recorded, so the volume data represents what happens at a particular exchange only
In most charting platforms, the volume indicator is presented as color-coded bars, green if the security closes up and red if the security closed lower, where the height of the bars show the amount of the recorded trades
Within this study, Relative Volume , Volume Weighted Bars and Volume Moving Average are presented, where Relative Volume relates current trading volume to past trading volume over long period, Volume Weighted Bars presents price bars colored based on short period past trading volume average, and Volume Moving Average is average of volume over shot period
Relative Volume is presented as color-coded bars similar to regular Volume indicator but uses four color codes instead two. Notable increases of volume are presented in green and red while average values with back and gray, hence adding ability to emphasis notable increases in the volume. It is kind of a like a radar for how "in-play" a security is. Users are allowed to change the threshold, default value is set to Fibonacci golden ration standard deviation away from its moving average.
Volume Weighted Bars, a study of Kıvanç Özbilgiç, aims to present if price movements are supported by Volume. Volume Weighted Bars are calculated based on shot period volume moving average which will reflect more recent changes in volume. Price actions with high volume will be displayed with darker colors, average volume values will remain as they are and low volume values will be indicated with lighter colors.
Volume Moving Average, Is short period volume moving average, aims to display visually the volume changes. Please not that Relative Volume bars are calculated based on standard deviation of long volume moving average.
What Else?
Apart from the volume itself, your ability to assess what volume is telling you in conjunction with price action can be a key factor in your ability to turn a profit in the market. It makes little sense to analyze the volume alone. To correctly interpret the volume data, it shall be seen in the light of what the price is doing. there are a lot of other indicators that are based on the volume data as well as price action. Analysing those volume indicators has always helped traders and investors to better understand what is happening in the market.
Here are the ones adapted with this study. Some of them used as a source for our aim, some adapted as they are with slight changes to fit visually to this study and please note that the numerical presentation may differ from their regular use
• On Balance Volume
• Divergence Indicator
• Correlation Coefficient
• Chaikin Money Flow
Shortly;
On Balance Volume
The On Balance Volume indicator, is a technical analysis indicator that relates volume flow to changes in a security’s price. It uses a cumulative total of positive and negative trading volume to predict the direction of price. The OBV is a volume-based momentum oscillator, so it is a leading indicator — it changes direction before the price
Granville, creator of OBV, proposed the theory that changes in volume precede price movements in a measurable way. He believed that volume was the main force behind major market moves and thought of OBV’s prediction of price changes as a compressed spring that expands rapidly when released.
It is believed that the OBV shows the interactions between the institutional and retail traders in the market
If the price makes a new high, the OBV should also make a new high. If the OBV makes a lower high when the price makes a higher high, there’s a classical bearish divergence — indicating that only the retail traders are buying. Another type of bearish divergence occurs when the price remains relatively quiet and fails to make a higher high but the OBV soars higher than the previous high — indicating that the institutional traders are accumulating short positions. On the other hand, if the price makes a lower low and the OBV makes a higher low, there is a classical bullish divergence, showing that the institutional traders don’t believe in that move
With this study, Momentum and Acceleration (optional) of OBV is calculated and presented, where momentum is most commonly referred to as a rate and measures the acceleration of the price and/or volume of a security. It is also referred to as a technical analysis indicator and oscillator that is able to determine market trends.
Additionally, smoothing functionality with Least Squares Method is added
Divergences especially, should always be noted as a possible reversal in the current trend, so the divergence indicator is adapted with this study where the Momentum of OBV is assumed as Oscillator with similar usages as to RSI. Divergence is most often used to track and analyze the momentum in an asset’s price and the odds of a price reversal within the current trend. The divergence indicator warns traders and technical analysts of changes in a price/volume trend, oftentimes that it is weakening or changing direction.
Correlation Coefficient
The correlation coefficient is a statistical measure of the strength of the relationship between the relative movements of two variables. A correlation of -1.0 shows a perfect negative correlation, while a correlation of 1.0 shows a perfect positive correlation. A correlation of 0.0 shows no linear relationship between the movement of the two variables. In other words, the closer the Correlation Coefficient is to 1.0, indicates the instruments will move up and down together as it is mostly expected with volume and price. So the Correlation Coefficient Indicator aims to display when the price and volume (on balance volume) is in correlation and when not. With this study blue represent positive correlation while orange negative correlation. The strength of the correlation is determined by the width of the bands, to emphasis the effect horizontal lines are drawn with values set to 0.5 and -0.5. the values above 0.5 (or below -0.5) shows stronger correlation.
Chaikin Money Flow , provide optionally as a companion indicator
The Chaikin money flow indicator (CMF) is a volume indicator that measures the money flow volume over a chosen period. The money flow volume is a measure of the volume and where the price closed relative to the trading session’s range. It comes from the idea that buying pressure is indicated by a rising volume and recurrent closes in the upper part of the session’s price range while selling pressure is demonstrated by an increasing volume and repeated closes in the lower part of the price range.
Both buying and selling pressures are accompanied by an increase in volume, but the location of the closing prices are in accordance with the direction of price
Special thanks to @InvestCHK and @hjsjshs , who have enormously contributed while preparing this study
related studies:
Disclaimer:
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
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
In den Scripts nach "the script" suchen
Derivative Pivot HL Points Hello.
This script aims to take into account mutable variable Pivot Points' periods.
While doing this, it takes the period between 2 signals that I use in the script:
And these periods in my Pivot HL function integrated into len length (Mutable variables) :
The cornerstone of the script is these facts.
Pivot can be optimized by playing with reversal periods.
These pre-formed levels can be used as Supply and Demand levels.
Regards.
TRM StrategyThis is a strategy version of the "True Relative Movement" script:
It is virtually identical to the original script, except now you can back test different conditions and parameters.
TRM has 3 different conditions:Buy (Blue Bars), Hold/Take Profit (Gray Bars), and Sell (Pink Bars).
This script is only coded for Long only condition. It will exit the position when there is a sell signal, no take profit parameters are coded.
The example backtest results shown are on $AAPL with a starting Capital of 10k, with each trade investing 10% of capital. I cannot show results vs buy and hold (meaning re-investing 100% of capital) as this is against house rules. However, I HIGHLY encourage you to experiment with different trade parameters, time frames, symbols and settings for TRM. You will find that certain time frames perform better under different TSI and RSI settings. The "Slower paced trader" can use the "Slow settings" for TRM ( Instructions embedded in the settings window). This will produce less signals ect.... I am personally, constantly finding different settings that work for different ETF's, symbols ect...
As a discretionary trader, it is important to have a system that has an "edge". That is what the script is meant for... finding an edge to help you make sound trading decisions and help you manage risk accordingly.
Enjoy, and please DO NOT hesitate to ask me any questions.
Functions Allowing Series As Length - PineCoders FAQ█ WARNING
Improvements to the following Pine built-ins have deprecated the vast majority of this publication's functions, as the built-ins now accept "series int" `length` arguments:
ta.wma()
ta.linreg()
ta.variance()
ta.stdev()
ta.correlation()
NOTE
For an EMA function that allows a "series int" argument for `length`, please see `ema2()` in the ta library by TradingView .
█ ORIGINAL DESCRIPTION
Pinescript requires many of its built-in functions to use a simple int as their period length, which entails the period length cannot vary during the script's execution. These functions allow using a series int or series float for their period length, which means it can vary on each bar.
The functions shared in this script include:
Rolling sum: Sum(src,p)
Simple moving average: Sma(src,p)
Rolling variance: Variance(src,p)
Rolling standard deviation: Stdev(src,p)
Rolling covariance: Covariance(x,y,p)
Rolling correlation: Correlation(x,y,p)
If p is a float then it is rounded to the nearest int .
How to Use the Script
Most of the functions in the script are dependent on the Sma function. The Correlation function uses the Covariance and Stdev functions. Be sure you include all the required functions in your script.
Make sure the series you use as the length argument is greater than 0, else the functions will return na . When using a series as length argument, the following error might appear:
Pine cannot determine the referencing length of a series. Try using max_bars_back in the study or strategy function.
This can be frequent if you use barssince(condition) where condition is a relatively rare event. You can fix it by including max_bars_back=5000 in your study declaration statement as follows:
study("Title",overlay=true,max_bars_back=5000)
Example
The chart shows the Sma , Stdev , Covariance and Correlation functions. The Sma uses the closing price as input and bars as period length where:
bars = barssince(change(security(syminfo.tickerid,"D",close ,lookahead=true)))
The Stdev uses the closing price as input and bars + 9 as period length. The Covariance and Correlation use the closing price as x and bar_index as y , with bars + 9 as period length.
Look first. Then leap.
FX Meter ScriptA while ago, we wrote* about the usefulness of using a currency strength meter and how you can build one from scratch.
See here: www.globalprime.com.au
Now we've taken this little project to the next level by visually spotting, via color signals in a dashboard and alerts, when a potential new trend might be developing in a currency pair.
*It's critical that you first read that article before you jump into reading this one or else you could get easily lost.
The script gives a trigger every time two currencies show diverging flows via opposing moving average slopes.
The signals originate from a first chart where currency indexes can be found, calculated through a formula, in various thin lines. Then a moving average to each currency index is applied so that it can smooth out the lines (what I call Micro moving averages – thicker lines -) and is usually a 4-5 period MA, with the key input to pay attention being the slope. One can perform their own tests on what works best for their particular trading style. The smaller the period in the moving average, the more responsive to changes in biases but the downside is that you will get a greater number of false moves. In the windows below the 1st chart, the stochRSI is calculated for each currency index (these values originate from the currency index and not from the applied MA). By default, a 25-period is applied to both RSI and Stoch length.
A 2nd chart that looks at the same logic is also accounted for to build this script, but instead of checking the micro trend, it applies a 25MA to the currency index, so it looks at what I call the slope of the macro trend. In this case, by default, a 125-period is applied to both RSI and Stoch length.
We had in mind to transition from just eye-balling and monitoring these charts manually to build a script via Tradingview that makes calculations real time (whenever the change in the moving average slope first occurs, and not when the bar/line closes), so that one can decide whether or not its a signal worth trading as part of a new trend emerging. Note, this is not so much a signal-triggering indicator but rather a tool to constantly be on the lookout monitoring what currencies might start to develop trends.
The actual script consists of a dashboard with different colored rectangles being triggered depending on the quality of the signal.
We will be happy to discuss it further with anyone who is interested in exploiting all the benefits that it can offer.
The way you add the script into your Tradingview chart is by first copy everything in the txt file. Then go to Pine editor (bottom middle-left) in your tradingview chart, delete everything there, then Paste the script. Then click Add to Chart (top right of the pine editor).
Note, you should add via the Anchored Text function the following list of pairs below, in this alphabetic order, on the right-hand side of the chart, as demonstrated above:
AUDCAD
AUDJPY
AUDNZD
AUDUSD
CADJPY
EURAUD
EURJPY
EURCAD
EURNZD
EURGBP
EURUSD
GBPAUD
GBPCAD
GBPJPY
GBPNZD
GBPUSD
NZDCAD
NZDJPY
NZDUSD
USDCAD
USDJPY
There are only 2 rules for the script to trigger a signal (see below). However, as I will elaborate further down, there are up to 6 different colors we can grade a signal
RULE 1 -> 2 moving averages, which are a calculation applied to a currency index as shown in the micro trend above, exhibit slopes in the opposite direction.
RULE 2 -> The Stoch RSI cannot be in overbought conditions if the slope of the moving average points higher or in oversold if the slope points lower.
Note 1: Even if the chart is a 60m timeframe by default (can be changed to any timeframe(, one gets the signal the moment the change of slope is identified, which means the indicator monitors changes in price tick by tick, and not on a candle close, otherwise one would get the trigger too late.
As an example of the highest-graded signal triggering (in green), a few hours ago we were given the visual cue that GBPCAD was experiencing a change of behavior. If we crosscheck the time the green-colored trigger was given with the actual GBPCAD chart, this is what we can observe. The pair is 30p higher since the trigger.
HOW TO SETUP ALERTS
One can easily setup a notification window each time the above rules are met, for example, if the EUR MA slope changes to bullish, and the AUD MA slope changes to bearish, and none of the 2 currency index values corresponding to these 2 moving averages (EUR and AUD) show a stoch RSI in overbought (above 80) in the case of the EUR, or oversold (below 20) in the case of the AUD, then the notification pop up would show a customized line: Long EURAUD
Note 1: Recording the slope of the macro moving average, which is usually a 25period MA applied to the currency index, is not included as part of the rules to trigger a signal, but it is taken into account to grade the quality of each signal.
Note 2: I recommend each signal to be triggered once or if you prefer, simply monitor the chart visually on the change of colors via the dashboard. The calculation resets and can appear again the moment that the slope changes to the opposite direction, so it’s a very dynamic indicator that will alert you the second a pair of currencies starts trending.
Note 3: When the signal is triggered, the indicator draws a colored rectangle. Each signal notification should be colored based on the following logic below.
LOGIC TO QUALIFY SIGNALS
-> Any long micro position with Macro MA in full agreement (ie/ Long EURAUD, Macro EUR up, Macro AUD down) is highlighted with green color
-> Any long micro position with macro moving averages in partial agreement (for example Long EURAUD, Macro EUR up AUD up) is highlighted with blue color
-> Any long micro position with macro moving averages in full disagreement (for example Long EURAUD, Macro EUR down AUD up) is highlighted with magenta color
-> Any short micro position with macro moving averages in full agreement (for example Short EURAUD, Macro EUR down AUD up) is highlighted with red color
-> Any short micro position with macro moving averages in partial agreement (for example Short EURAUD, Macro EUR up AUD up) is highlighted with orange color
-> Any short micro position with macro moving averages in full disagreement (for example Short EURAUD, Macro EUR up AUD down) is highlighted with purple color
PARAMETERS IN THE SCRIPT SETTINGS
Overbought/oversold: One can modify the stoch RSI level from which the indicator considers the value to be in overbought or oversold conditions. As a rule of thumb, consider 20/30 for oversold and 70/80 for oversold.
Slopes micro/macro MAs: One can edit the slope of the micro MA period (rule of thumb 4-5) and the macro MA (by default 25).
Value StochRSI: The default inputs are K 3, D 3, RSI Length 25, Stoch Length 25 for the micro and 125 period for the macro.
Change colors: One can edit the assigned colors in the signals dashboard.
Timeframe applied: The indicator has the flexibility to be applied to any timeframe, not just the 60m by default. Simply change the timeframe temporality.
CURRENCY INDEXES FORMULAS
It is the responsibility of the user to keep the values of the indexes updated. Find a recent sample below, as per values in early April. What this means is that at least once a week, in order to not let the values outdated, you should update the script with the latest valuations in the denominator.
NZD INDEX -> FX_IDC:NZDAUD/0.96+FX:NZDJPY/75.81+FX:NZDUSD/0.68+FX_IDC:NZDEUR/0.6+FX_IDC:NZDGBP/0.52+FX:NZDCHF/0.69+FX:NZDCAD/0.9
EUR INDEX -> FX:EURUSD/1.13+FX:EURJPY/125.5+FX:EURGBP/0.87+FX:EURCHF/1.135+FX:EURCAD/1.49+FX:EURNZD/1.655+FX:EURAUD/1.59
JPY INDEX -> 1/(FX:USDJPY/110.5+FX:EURJPY/125.5+FX:AUDJPY/79+FX:NZDJPY/75.5+FX:GBPJPY/144.5+FX:CHFJPY/110.5+FX:CADJPY/84)
USD INDEX -> FX_IDC:USDEUR/0.88+FX:USDJPY/110.5+FX_IDC:USDGBP/0.77+FX:USDCHF+FX:USDCAD/1.315+FX_IDC:USDNZD/1.46+FX_IDC:USDAUD/1.4
CAD INDEX-> FX_IDC:CADAUD/1.07+FX_IDC:CADNZD/1.11+FX:CADJPY/84.27+FX_IDC:CADUSD/0.76+FX_IDC:CADEUR/0.67+FX:CADCHF/0.76+FX_IDC:CADGBP/0.58
GBP INDEX -> FX:GBPAUD/1.83+FX:GBPNZD/1.91+FX:GBPJPY/144.5+FX_IDC:GBPEUR/1.15+FX:GBPCHF/1.31+FX:GBPUSD/1.31+FX:GBPCAD/1.71
Remember, I have provided a manual on how to build a currency strength meter. That’s what you will need to do first if you want to obtain the actual currency indexes other than just the indicator, which is just the visual cue to get you alerted when the slopes turn.
Once you’ve created your indexes via tradingview, you then apply a moving average to each index. Then apply the stochrsi 25 period to each index. For the macro trend, I make the same calculations, but the period of the MA is 25 instead of 4, while the stoch rsi is 125 periods vs 25 periods.
FINAL NOTE
This is a tool that should be interpreted as visual assistance, via the dashboard, to get that first cue when opposing micro slopes via the FX meter occur. However, you still need to check the technical context of the pair (levels marked, proj reached, etc.) but that first cue is a major time saver to constantly spot what's trending in FX. The permutations u can play with, as part of this script, are significant. You can tweak the timeframes you use, the periods of the moving averages, etc. I find the micro and macro trend combos when either a green or red signals is triggered the most reliable, with positions to be exploited via 15m and hourly under the right technical context.
Dragon Bot - Default ScriptDragon Script is a framework to make it as easy as possible to test your own strategies and set alerts for external execution bots.
The script has many features build in, like:
1) A ping/pong mechanism between longs and shorts
2) A stop-loss
3) Trailing Stops with several ways to calculate them.
4) 2 different ways to flip from long to short.
The script is divided into several parts.
The first part of the script is used to set all the variables. You should normally never change the first part except for the comments at the top.
The second part of the script is the part where you initialise all your indicators. Several indicators can be found on Tradingview and on other sites. Please keep in mind that all the variable names used in the indicator should be unique. (all the … = … parts)
The third part of the script, is the most important part of the script. Here you can create the entry and exit points.
Let’s look at the OPENLONG function to explain this part: The first variables are all the possible entries; These are longentry1 till longentry5. You can add many more if you like.
The variables are all initialised as being false. This way the script can set a value to true if an entry happens.
The if function is the actual logic: You could say “if this is true” then (the line below the if function) longentry1 := (becomes) true.
In this case we have said: “if this is true” then (the line below the if function) longentry1 := (becomes) true when the current close is larger than the close that is 1 back.
The last part is the makelong_funct. This part says that if any of the entries are true, the whole function is true.
The last part of the script is the actual execution. Here the alerts are plotted and the back test strategies are opened and closed.
We hope you guys like it and all feedback is welcome!
[RESEARCH] Percentrank BugI found a bug with built-in percentrank function. Sometimes it gives unexpected and incorrect results. You can see a one of them on the chart.
ALL scripts which use percentrank function are affected. No matter which version they use, no matter who is their author - ALL scripts which use this built-in function can work incorrectly.
If you want to avoid this bug use _percentrank function (the "shim" ) - you can find it in the script.
NOTE: Don't push on TradingView Support or Pine Core Team because they already know about this issue and work on the fix. I publish it to warn you.
Fibonacci Exponential Moving Averages ( EMA )Here you can have 4 EMA on one indicator. The inputs are for 8, 13, 21 and 55 previous open&close which are from Fibonacci sequence.
How to : To use the script, click on "Add to Favourite Scripts", then load the script from Indicators on the Chart.
[ArchLabs] Support & Resitance Levels Support & Resistance Levels — SR-v1.100
Smart, auto-managed zones for clean market structure
⸻
🔍 What this indicator does
This script automatically finds and maintains high-quality support & resistance zones on your chart, so you don’t have to keep redrawing levels by hand.
It:
• Detects major swing highs and lows (pivots)
• Builds support and resistance zones (not just thin lines)
• Filters out overlapping / redundant levels
• Tracks how price interacts with those zones in real time
• Marks and alerts:
• ✅ Breakouts
• 🚨 False breakouts
• 🔁 Retests
• Flips broken support → resistance and resistance → support automatically
You get a clean structural map of the market, continuously updated.
⸻
🧠 How levels are built (conceptually)
1. The indicator looks back over a configurable window and finds significant highs and lows (pivots).
2. From each confirmed pivot, it creates:
• A core level price (horizontal line)
• A price area around it (shaded zone), sized relative to recent price range/volatility
3. It then checks for overlaps between existing levels and new candidates:
• If a new level is too close to an existing one (within your overlap threshold), it gets discarded.
• This keeps only the most meaningful, non-redundant levels on the chart.
4. A cap of around 10 levels per side (support / resistance) keeps the view readable.
The result: a curated set of zones that actually matter, not a wall of lines.
⸻
🎨 Visuals on the chart
You’ll see:
• Support zones
• Line: bullish color (default green)
• Area: semi-transparent band below/around the line
• Resistance zones
• Line: bearish color (default red)
• Area: semi-transparent band above/around the line
Colors are customizable for:
• Level line
• Zone area
• Breakout highlight
• Retest label
This makes it easy to visually separate support vs resistance and quickly spot key reactions.
⸻
⚡ Dynamic behavior & level lifecycle
Each level goes through a natural “life cycle,” which the indicator tracks for you:
1. Active zone
• The level is valid and extended to the right as long as price stays “engaged” with it (using smoothed highs/lows to avoid noise).
2. Extension / pause
• When price pulls away from the level far enough, the extension can temporarily stop so the level doesn’t stretch indefinitely without interaction.
• If price comes back into the zone with meaningful action, the level can resume extension.
3. Break & role reversal
• When price cleanly breaks the level (based on smoothed price, not just a wick), the zone is:
• Stopped and locked in place
• Marked as broken
• Immediately cloned and flipped:
• Broken support becomes a new resistance zone at the same area.
• Broken resistance becomes a new support zone.
This gives you automatic role-reversal levels without manually redrawing anything.
⸻
🧷 Event tags & alerts
The indicator tracks three key interactions with each zone:
1. Breakouts (optional)
When price decisively breaks a level:
• A small breakout label appears on/near the level:
• Support broken → bearish breakout style
• Resistance broken → bullish breakout style
• An alert message is fired (if alerts are enabled on the script)
Use this to catch true structural breaks that may signal trend continuation or regime change.
⸻
2. False breakouts (optional)
False breakouts are marked when price:
• Wicks through a level, but
• Fails to close beyond it and quickly returns inside the zone
When detected:
• A 🚨 FB label appears at the level
• The label tracks with price while the false breakout is active
• An alert can fire each time this behavior is confirmed
This is very useful for reversal traders and anyone fading failed breakouts.
⸻
3. Retests (optional)
Retests are detected when:
• Price re-enters a zone after previously moving away from it
• The candle comes back into the area for the first time in this new approach
The script:
• Marks the retest with a “T” label in a distinct color for support vs resistance
• Brings that level to the top of the internal priority list, keeping fresh retests visually and logically “hot”
Traders often use these as high-probability reaction points (e.g., breakout → retest → continuation).
⸻
⚙️ Key settings
All inputs are grouped for clarity:
Support / Resistance Levels
• Pivots Lookback
Controls how far back the indicator looks for swing highs/lows.
• Higher value → fewer, stronger levels
• Lower value → more reactive, more levels
• Overlap Multiplier (Pips)
Sets how aggressively overlapping levels are merged/ignored.
• Higher value → fewer levels, more consolidation
• Lower value → more granular levels
• Auto Overlap
When enabled, the script automatically adjusts the overlap threshold based on timeframe:
• Intraday lower timeframes → tighter filtering
• Higher/intra-session → more appropriate scaling
This lets you drop the indicator on multiple timeframes without constantly retuning.
⸻
Level Event Toggles
• Breakout Labels & Alerts (on/off)
• False Breakout Labels & Alerts (on/off)
• Retest Labels & Alerts (on/off)
Turn on only what fits your style.
Scalpers might want all three; swing traders may prefer only breakouts + retests.
⸻
Support / Resistance Colors
Separate color groups for:
• Line & area of support levels
• Line & area of resistance levels
• Visual styling for breakouts
• Visual styling for retests
You can match your existing chart theme or build a dedicated SR layout.
⸻
📈 How to use it in your trading
Here are a few practical ways to integrate this indicator:
• Context map
Use it as a structural overlay on any symbol/timeframe to see where price is likely to react.
• Breakout + retest setups
• Wait for a level to break with a breakout label.
• Then watch for a T (retest) label into the flipped zone.
• Combine with your own confirmation (price action, volume, oscillators, etc.).
• Mean-reversion & fade trades
• Hunt for false breakout (FB) labels on key levels.
• These are often good spots to fade aggressive moves that lose momentum.
• Confluence builder
• Combine zones with trend tools, VR/DC, moving averages, or higher timeframe structure.
• A breakout/retest at a level that also lines up with higher TF structure can be especially meaningful.
⸻
✅ Summary
Support & Resistance Levels (SR-v1.100) is designed to be:
• Clean – no cluttered spaghetti of lines
• Adaptive – zones evolve with the market and flip roles automatically
• Actionable – breakout, false breakout, and retest events are clearly marked and alert-ready
• Flexible – works on any market and timeframe with simple, intuitive inputs
Drop it on your chart, tune the lookback & overlap to your style, and let it handle the heavy lifting of structural mapping while you focus on decisions.
TraderDemircan Trend Based Fibonacci + XABCD FormationDescription
TraderDemircan Trend-Based Fibonacci + XABCD Formation is an original open-source indicator that combines trend-based Fibonacci projections with an automated XABC structure detection engine.
The script focuses on identifying swing high → swing low transitions in a downtrend, generating Fibonacci levels and projecting a potential C-target extension based on harmonic geometry.
This indicator is designed for traders who want a clearer visual structure of how retracement, continuation, and harmonic projections interact inside trending markets.
🧩 What the Script Does
1. Detects the Most Recent X–A Swing (Trend High → Trend Low)
The indicator automatically scans a user-defined lookback range to identify:
X: Most recent significant swing high
A: The lowest low after X within the lookback window
This creates the foundational XA leg used for both Fibonacci levels and harmonic projections.
2. Determines a Dynamic B-Point Retracement
The script measures the market’s current retracement relative to the XA leg:
If price retraces below 0.50, B becomes the 0.50 level
If price retraces above 0.50, B becomes the 0.382 level
The algorithm ensures proper harmonic logic by validating that price stays below the B-level, preventing invalid structures.
3. Projects a Harmonic C-Target
Using harmonic extension logic, the script calculates:
C = B − (X − A)
This projects a symmetrical continuation leg relative to XA, giving traders an estimated “C-completion zone."
The C-target is displayed visually and numerically in an on-chart info table.
4. Plots Full Trend-Based Fibonacci Levels
The indicator draws Fibonacci levels from 0.0 to 2.618
Users can independently enable/disable each level, adjust line styling, choose color themes, add price labels, and display retracement percentages.
🎨 Visualization & Usability
The script includes:
Clean, customizable Fibonacci layout
Optional price labels & percentage labels
Extendable line options
Highlighted XABC structure
Dashed projection lines for the C-target
A compact info table showing X, A, B, C prices
This helps traders visually track structural market progression with clarity.
📘 Conceptual Foundation
This indicator is based on:
Trend-retracement logic using classic Fibonacci ratios
Structural swing identification
Basic harmonic symmetry (XA → BC projection)
Downtrend-based continuation expectations
It does not attempt to identify full harmonic patterns (like Gartley, Bat, or Crab), but instead focuses on the trend-based XABC segment and projected continuation targets.
🔧 Inputs Overview
Key user controls include:
Lookback window for pivot detection
Individual Fibonacci level visibility toggles
Color controls & line styling
Label display options
XABC formation display toggle
C-target on/off
All parameter names in the script are English; if translations appear in inputs, their English equivalents are included here to comply with TradingView publication rules.
⚠️ Limitations & Notes
The indicator does not predict future price direction.
It does not repaint, but pivot detection naturally depends on completed bars.
The C-projection is a geometric estimate, not a trading signal.
No forward-looking or non-causal data is used.
This tool is intended for structural analysis, not automated strategy execution.
📎 How to Use It
Add the indicator to a clean chart.
Observe the most recent X → A swing.
Watch how price interacts with 0.382 / 0.5 retracement to form the B-point.
Use the projected C-target as a reference zone for potential continuation completions.
Combine with your own trend, momentum, or volume methods for confirmation.
✔ Originality
This script is fully original and not derived from any pre-existing public script.
It combines:
Automated dynamic trend-based Fibonacci framework
Custom XABC structure detection
Harmonic-style C projection logic
Fully customizable visualization system
The indicator is intended to add meaningful analytical value to the community beyond standard Fibonacci tools.
PG ATM Strike Line with Call & Put PremiumsPine Script: ATM Strike Line with Call & Put Premiums (Simplified)This Pine Script for TradingView displays the At-The-Money (ATM) strike price, futures price, call/put premiums (time value), and two ratios—Premium Ratio (PR) and Volume Ratio (VR)—for a user-selected underlying asset (e.g., NIFTY, BANKNIFTY, or stocks). It helps traders gauge near-term market direction using options data.How the Script WorksInputs:Expiry: Select year (e.g., '25), month (01–12), day (01–31) for option expiry (e.g., '251028').
Timeframe: Choose data timeframe (e.g., Daily, 15-min).
Symbol: Auto-detects chart symbol or select from Indian indices/stocks.
Strike: Auto-ATM (based on futures) or manual strike input.
Interval: Auto (e.g., 100 for NIFTY) or custom strike interval.
Colors: Customizable for ATM line, labels (Futures Price, CPR, PPR, VR, PR).
Calculations:Futures Price (FP): Fetches front-month futures price (e.g., NSE:NIFTY1!).
ATM Strike: Rounds futures price to nearest strike interval.
Option Data: Retrieves Last Traded Price (LTP) and volume for ATM call/put options (e.g., NSE:NIFTY251028C24200).
Call Premium (CPR): Call LTP minus intrinsic value (max(0, FP - Strike)).
Put Premium (PPR): Put LTP minus intrinsic value (max(0, Strike - FP)).
Premium Ratio (PR): PPR / CPR.
Volume Ratio (VR): Put Volume / Call Volume.
Visuals:Draws ATM strike line on chart.
Displays labels: FP (futures price), CPR (call premium), PPR (put premium), VR, PR.
VR/PR labels: Red (≥ 1.25, bearish), Green (≤ 0.75, bullish), Gray (0.75–1.25, neutral).
Updates on last confirmed bar to avoid redraws.
Using PR and VR for Market DirectionPremium Ratio (PR):PR ≥ 1.25 (Red): High put premiums suggest bearish sentiment (expect price drop).
PR ≤ 0.75 (Green): High call premiums suggest bullish sentiment (expect price rise).
0.75 < PR < 1.25 (Gray): Neutral, no clear direction.
Use: High PR favors bearish trades (e.g., buy puts); low PR favors bullish trades (e.g., buy calls).
Volume Ratio (VR):VR ≥ 1.25 (Red): High put volume indicates bearish activity.
VR ≤ 0.75 (Green): High call volume indicates bullish activity.
0.75 < VR < 1.25 (Gray): Neutral trading activity.
Use: High VR suggests bearish moves; low VR suggests bullish moves.
Combined Signals:High PR & VR: Strong bearish signal; consider put buying or call selling.
Low PR & VR: Strong bullish signal; consider call buying or put selling.
Mixed/Neutral: Use price action or support/resistance for confirmation.
Tips:Combine with technical analysis (e.g., trends, levels).
Match timeframe to trading horizon (e.g., 15-min for intraday).
Monitor FP for context; check volatility or news for accuracy.
ExampleNIFTY: FP = 24,237.50, ATM = 24,200, CPR = 120.25, PPR = 180.50, PR = 1.50 (Red), VR = 1.30 (Red).
Insight: High PR/VR suggests bearish bias; consider bearish trades if price nears resistance.
Action: Buy puts or exit longs, confirm with price action.
Conclusion: This script provides a concise tool for options traders, showing ATM strike, premiums, and PR/VR ratios. High PR/VR (≥ 1.25) signals bearish sentiment, low PR/VR (≤ 0.75) signals bullish sentiment, and neutral (0.75–1.25) suggests indecision. Combine with technical analysis for robust trading decisions in the Indian options market.
XAUUSD/SPX with SMA(48)📊 Gold vs S&P 500 | XAUUSD/SPX Ratio with SMA (48) – Full Pine Script Breakdown
In this video, we build and explain a custom Pine Script that plots the Gold to S&P 500 ratio (XAUUSD/SPX) along with a 48-period Simple Moving Average (SMA).
This ratio helps us analyze how Gold is performing against equities and whether smart money is shifting from risk assets (stocks) to safe haven (gold).
🔧 What’s Included in the Script:
✅ Live ratio of XAUUSD (Gold) / SPX (S&P 500)
✅ 48-period SMA for trend analysis
✅ Clean visual chart in a separate pane
✅ Pine Script v5 compatible
🧠 Why This Matters:
Tracking the XAUUSD/SPX ratio gives deeper insight into macro trends, inflation hedge behavior, and market sentiment.
A rising ratio can signal weakness in equities and strength in precious metals — a key trend for long-term investors and macro traders.
Dynamic EMA Stack Support & ResistanceEvery trader needs reliable support and resistance — but static zones and lagging indicators won't cut it in fast-moving markets. This script combines a Fibonacci-based 5-EMA stacking system and left/right pivots that create dynamic support & resistance logic to uncover real-time structural shifts & momentum zones that actually adapt to price action. This isn’t just a mashup — it’s a complete built-from-the-ground-up support & resistance engine designed for scalpers, intraday traders, and trend followers alike.
🧠 🧠 🧠What It Does🧠 🧠 🧠
This script uses two powerful engines working in sync:
1️⃣ EMA Stack (5-EMA Framework)
Built on Fibonacci-based lengths: 5, 8, 13, 21, 34, (configurable) this stack identifies:
🔹 Bullish Stack: EMAs aligned from fastest to slowest (uptrend confirmation)
🔹 Bearish Stack: EMAs aligned inversely (downtrend confirmation)
🟡 Narrowing Zones: When EMAs compress within ATR thresholds → possible breakout or reversal zone
🎯 Labels identify key transitions like:
✅"Begin Bear Trend?"
✅"Uptrend SPRT"
✅"RES?" (resistance test)
2️⃣ Pivot-Based Projection Engine
Using classic Left/Right Bar pivot logic, the script:
📌 Detects early-stage swing highs/lows before full confirmation
📈 Projects horizontal S/R lines that adapt to market structure
🔁 Keeps lines active until a new pivot replaces them
🧩 Syncs beautifully with EMA stack for confluence zones
🎯🎯🎯Key Features for Traders🎯🎯🎯
✅ Trend Detection
→ EMA order reveals real-time bias (bullish, bearish, compression)
✅ Dynamic S/R Zones
→ Historical support/resistance levels auto-draw and extend
✅ Smart Labeling
→ “SPRT”, “RES”, and “Trend?” labels for live context + testing logic
✅ Custom Candle Coloring
→ Choose from Bar Color or Full Candle Overlay modes
✅ Scalper & Swing Compatible
→ Use fast confirmations for scalping or stack consistency for longer trends
⚙️⚙️⚙️How to Use⚙️⚙️⚙️
✅Use Top/Bottom (trend state) Line Colors to quickly read trend conditions.
✅Use Pivot-based support/resistance projections to anticipate where price might pause or reverse.
✅Watch for yellow/blue zones to prepare for volatility shifts/reversals.
✅Combine with volume or momentum indicators for added confirmation.
📐📐📐Customization Options📐📐📐
✅EMA lengths (5, 8, 13, 21, 34) — fully configurable - try 21,34,55, 89, 144 for longer term trend states
✅Left/Right bar pivot settings (default: 21/5)
✅Label size, visibility, and color themes
✅Toggle line and label visibility for clean layouts
✅“Max Bars Back” to control how deep history is scanned safely
🛠🛠🛠Built-In Safeguards🛠🛠🛠
✅ATR-based filters to stabilize compression logic
✅Guarded lookback (max_bars_back) to avoid runtime errors
✅Works on any asset, any timeframe
🏁🏁🏁Final Word🏁🏁🏁
This script is not just a visual tool, it’s a complete trend and structure framework. Whether you're looking for clean trend alignment, dynamic support/resistance, or early warning labels, this system is tuned to help you react with confidence — not hindsight.
Rembember, no single indicator should be used in isolation. For best results, combine it with price action analysis, higher-timeframe context, and complementary tools like trendlines, moving averages etc Use it as part of a well-rounded trading approach to confirm setups — not to define them alone.
💡💡💡Turn logic into clarity. Structure into trades. And uncertainty into confidence.💡💡💡
Dual Best MA Strategy AnalyzerDual Best MA Strategy Analyzer (Lookback Window)
What it does
This indicator scans a range of moving-average lengths and finds the single best MA for long crossovers and the single best MA for short crossunders over a fixed lookback window. It then plots those two “winner” MAs on your chart:
Best Long MA (green): The MA length that would have made the highest total profit using a simple “price crosses above MA → long; exit on cross back below” logic.
Best Short MA (red): The MA length that would have made the highest total profit using “price crosses below MA → short; exit on cross back above.”
You can switch between SMA and EMA, set the min/max length, choose a step size, and define the lookback window used for evaluation.
How it works (brief)
For each candidate MA length between Min MA Length and Max MA Length (stepping by Step Size), the script:
Builds the MA (SMA or EMA).
Simulates a naïve crossover strategy over the last Lookback Window candles:
Long model: enter on crossover, exit on crossunder.
Short model: enter on crossunder, exit on crossover.
Sums simple P&L in price units (no compounding, no fees/slippage).
Picks the best long and best short lengths by total P&L and plots those two MAs.
Note: Long and short are evaluated independently. The script plots MAs only; it doesn’t open positions.
Inputs
Min MA Length / Max MA Length – Bounds for MA search.
Step Size – Spacing between tested lengths (e.g., 10 tests 10, 20, 30…).
Use EMA instead of SMA – Toggle average type.
Lookback Window (candles) – Number of bars used to score each MA. Needs enough history to be meaningful.
What the plots mean
Best Long MA (green): If price crosses above this line (historically), that MA length produced the best long-side results over the lookback.
Best Short MA (red): If price crosses below this line (historically), that MA length produced the best short-side results.
These lines can change over time as new bars enter the lookback window. Think of them as adaptive “what worked best recently” guides, not fixed signals.
Practical tips
Timeframe matters: Run it on the timeframe you trade; the “best” length on 1h won’t match 1m or 1D.
Step size trade-off: Smaller steps = more precision but heavier compute. Larger steps = faster scans, coarser choices.
Use with confirmation: Combine with structure, volume, or volatility filters. This is a single-factor tester.
Normalization: P&L is in raw price units. For cross-symbol comparison, consider using one symbol at a time (or adapt the script to percent P&L).
Limitations & assumptions
No fees, funding, slippage, or position sizing.
Simple “in/out” on the next crossover; no stops/targets/filters.
Results rely on lookback choice and will repaint historically as the “best” length is re-selected with new data (the plot is adaptive, not forward-fixed).
The script tests up to ~101 candidates internally (bounded by your min/max/step).
Good uses
Quickly discover a recently effective MA length for trend following.
Compare SMA vs EMA performance on your market/timeframe.
Build a playbook: note which lengths tend to win in certain regimes (trending vs choppy).
Not included (by design)
Alerts, entries/exits, or a full strategy report. It’s an analyzer/overlay.
If you want alerts, you can add simple conditions like:
ta.crossover(close, plotLongMA) for potential long interest
ta.crossunder(close, plotShortMA) for potential short interest
Changelog / Notes
v1: Initial release. Array-based scanner, SMA/EMA toggle, adaptive long/short best MA plots, user-set lookback.
Disclaimer
This is educational tooling, not financial advice. Test thoroughly and use proper risk management.
RSI ADX Bollinger Analysis High-level purpose and design philosophy
This indicator — RSI-ADX-Bollinger Analysis — is a compact, educational market-analysis toolkit that blends momentum (RSI), trend strength (ADX), volatility structure (Bollinger Bands) and simple volumetrics to provide traders a snapshot of market condition and trade idea quality. The design philosophy is explicit and layered: use each component to answer a different question about price action (momentum, conviction, volatility, participation), then combine answers to form a more robust, explainable signal. The mashup is intended for analysis and learning, not automatic execution: it surfaces the why behind signals so traders can test, learn and apply rules with risk management.
________________________________________
What each indicator contributes (component-by-component)
RSI (Relative Strength Index) — role and behavior: RSI measures short-term momentum by comparing recent gains to recent losses. A high RSI (near or above the overbought threshold) indicates strong recent buying pressure and potential exhaustion if price is extended. A low RSI (near or below the oversold threshold) indicates strong recent selling pressure and potential exhaustion or a value area for mean-reversion. In this dashboard RSI is used as the primary momentum trigger: it helps identify whether price is locally over-extended on the buy or sell side.
ADX (Average Directional Index) — role and behavior: ADX measures trend strength independently of direction. When ADX rises above a chosen threshold (e.g., 25), it signals that the market is trending with conviction; ADX below the threshold suggests range or weak trend. Because patterns and momentum signals perform differently in trending vs. ranging markets, ADX is used here as a filter: only when ADX indicates sufficient directional strength does the system treat RSI+BB breakouts as meaningful trade candidates.
Bollinger Bands — role and behavior: Bollinger Bands (20-period basis ± N standard deviations) show volatility envelope and relative price position vs. a volatility-adjusted mean. Price outside the upper band suggests pronounced extension relative to recent volatility; price outside the lower band suggests extended weakness. A band expansion (increasing width) signals volatility breakout potential; contraction signals range-bound conditions and potential squeeze. In this dashboard, Bollinger Bands provide the volatility/structural context: RSI extremes plus price beyond the band imply a stronger, volatility-backed move.
Volume split & basic MA trend — role and behavior: Buy-like and sell-like volume (simple heuristic using close>open or closeopen) or sell-like (close1.2 for validation and compare win rate and expectancy.
4. TF alignment: Accept signals only when higher timeframe (e.g., 4h) trend agrees — compare results.
5. Parameter sensitivity: Vary RSI threshold (70/30 vs 80/20), Bollinger stddev (2 vs 2.5), and ADX threshold (25 vs 30) and measure stability of results.
These exercises teach both statistical thinking and the specific failure modes of the mashup.
________________________________________
Limitations, failure modes and caveats (explicit & teachable)
• ADX and Bollinger measures lag during fast-moving news events — signals can be late or wrong during earnings, macro shocks, or illiquid sessions.
• Volume classification by open/close is a heuristic; it does not equal TAPEDATA, footprint or signed volume. Use it as supportive evidence, not definitive proof.
• RSI can remain overbought or oversold for extended stretches in persistent trends — relying solely on RSI extremes without ADX or BB context invites large drawdowns.
• Small-cap or low-liquidity instruments yield noisy band behavior and unreliable volume ratios.
Being explicit about these limitations is a strong point in a TradingView description — it demonstrates transparency and educational intent.
________________________________________
Originality & mashup justification (text you can paste)
This script intentionally combines classical momentum (RSI), volatility envelope (Bollinger Bands) and trend-strength (ADX) because each indicator answers a different and complementary question: RSI answers is price locally extreme?, Bollinger answers is price outside normal volatility?, and ADX answers is the market moving with conviction?. Volume participation then acts as a practical check for real market involvement. This combination is not a simple “indicator mashup”; it is a designed ensemble where each element reduces the others’ failure modes and together produce a teachable, testable signal framework. The script’s purpose is educational and analytical — to show traders how to interpret the interplay of momentum, volatility, and trend strength.
________________________________________
TradingView publication guidance & compliance checklist
To satisfy TradingView rules about mashups and descriptions, include the following items in your script description (without exposing source code):
1. Purpose statement: One or two lines describing the script’s objective (educational multi-indicator market overview and idea filter).
2. Component list: Name the major modules (RSI, Bollinger Bands, ADX, volume heuristic, SMA trend checks, signal tracking) and one-sentence reason for each.
3. How they interact: A succinct non-code explanation: “RSI finds momentum extremes; Bollinger confirms volatility expansion; ADX confirms trend strength; all three must align for a BUY/SELL.”
4. Inputs: List adjustable inputs (RSI length and thresholds, BB length & stddev, ADX threshold & smoothing, volume MA, table position/size).
5. Usage instructions: Short workflow (check TF alignment → confirm participation → define stop & R:R → backtest).
6. Limitations & assumptions: Explicitly state volume is approximated, ADX has lag, and avoid promising guaranteed profits.
7. Non-promotional language: No external contact info, ads, claims of exclusivity or guaranteed outcomes.
8. Trademark clause: If you used trademark symbols, remove or provide registration proof.
9. Risk disclaimer: Add the copy-ready disclaimer below.
This matches TradingView’s request for meaningful descriptions that explain originality and inter-component reasoning.
________________________________________
Copy-ready short publication description (paste into TradingView)
Advanced RSI-ADX-Bollinger Market Overview — educational multi-indicator dashboard. This script combines RSI (momentum extremes), Bollinger Bands (volatility envelope and band expansion), ADX (trend strength), simple SMA trend bias and a basic buy/sell volume heuristic to surface high-quality idea candidates. Signals require alignment of momentum, volatility expansion and rising ADX; volume participation is displayed to support signal confidence. Inputs are configurable (RSI length/levels, BB length/stddev, ADX length/threshold, volume MA, display options). This tool is intended for analysis and learning — not for automated execution. Users should back test and apply robust risk management. Limitations: volume classification here is a heuristic (close>open), ADX and BB measures lag in fast news events, and results vary by instrument liquidity.
________________________________________
Copy-ready risk & misuse disclaimer (paste into description or help file)
This script is provided for educational and analytical purposes only and does not constitute financial or investment advice. It does not guarantee profits. Indicators are heuristics and may give false or late signals; always back test and paper-trade before using real capital. The author is not responsible for trading losses resulting from the use or misuse of this indicator. Use proper position sizing and risk controls.
________________________________________
Risk Disclaimer: This tool is provided for education and analysis only. It is not financial advice and does not guarantee returns. Users assume all risk for trades made based on this script. Back test thoroughly and use proper risk management.
PumpC PAC & MAsPumpC – PAC & MAs (Open Source)
A complete Price Action Candles (PAC) toolkit combining classical price action patterns (Fair Value Gaps, Inside Bars, Hammers, Inverted Hammers, and Volume Imbalances) with a flexible Moving Averages (MAs) module and an advanced bar-coloring system.
This script highlights supply/demand inefficiencies and micro-patterns with forward-extending boxes, recolors zones when mitigated, qualifies patterns with a global High-Volume filter, and ships with ready-to-use alerts. It works across intraday through swing trading on any market (e.g., NASDAQ:QQQ , $CME:ES1!, FX:EURUSD , BITSTAMP:BTCUSD ).
This is an open-source script. The description is detailed so users understand what the script does, how it works, and how to use it. It makes no performance claims and does not provide trade advice.
Acknowledgment & Credits
This script originates from the structural and box-handling logic found in the Super OrderBlock / FVG / BoS Tools by makuchaku & eFe. Their pioneering framework provided the base methods for managing arrays of boxes, extending zones forward, and recoloring once mitigated.
Building on that foundation, I have substantially expanded and adapted the code to create a unified Price Action Candles toolkit . This includes Al Brooks–inspired PAC logic, additional patterns like Inside Bars, Hammers, Inverted Hammers, and the new Volume Imbalance module, along with strong-bar coloring, close-threshold detection, a flexible global High-Volume filter, and a multi-timeframe Moving Averages system.
What it does
Fair Value Gaps (FVG) : Detects 3-bar displacement gaps, plots forward-extending boxes, and optionally recolors them once mitigated.
Inside Bars (IB) : Highlights bars fully contained within the prior candle’s range, with optional high-volume filter.
Hammers (H) & Inverted Hammers (IH) : Identifies rejection candles using configurable body/upper/lower wick thresholds. High-volume qualification optional.
Volume Imbalances (VI) : Detects inter-body gaps where one candle’s body does not overlap the prior candle’s body. Boxes extend forward until wick-based mitigation occurs (only after the two-bar formation completes). Alerts available for creation and mitigation.
Mitigation Recolor : Each pattern can flip to a mitigated color once price trades back through its vertical zone.
Moving Averages (MAs) : Four configurable EMAs/SMAs, with per-MA timeframe, length, color, and clutter-free plotting rules.
Strong Bar Coloring : Highlights bullish/bearish engulfing reversals with different colors for high-volume vs low-volume cases.
Close Threshold Bars : Marks candles that close in the top or bottom portion of their range, even if the body is small. Helps spot continuation pressure before a full trend bar forms.
Alerts : Notifications available for FVG+, FVG−, IB, H, IH, VI creation, and VI mitigation.
Connection to Al Brooks’ PAC teachings
This script reflects Al Brooks’ Price Action Candle methodology. PAC patterns like Inside Bars, Hammers, and Inverted Hammers are not trade signals on their own—they gain meaning in context of trend, failed breakouts, and effort vs. result.
By layering in volume imbalances, strong-bar reversals, and volume filters, this script focuses attention on the PACs that show true participation and conviction, aligning with Brooks’ emphasis on reading crowd psychology through price action.
Why the High-Volume filter matters
Volume is a key proxy for conviction. A PAC or VI formed on light volume can be misleading noise; one formed on above-average volume carries more weight.
Elevates Inside Bars that show absorption/compression with heavy activity.
Distinguishes Hammers that reject price aggressively vs. weak drifts.
Filters Inverted Hammers to emphasize true supply pressure.
Highlights VI zones where institutional order flow left inefficiencies.
Differentiates strong engulfing reversals from weaker, low-participation moves.
Inputs & Customization
Inputs are grouped logically for fast configuration:
High-Volume Filter : Global lookback & multiple, per-pattern toggles.
FVG : Visibility, mitigated recolor, box style/transparency, label controls.
IB : Visibility, require high volume, mitigated recolor, colors, label settings.
Hammer / IH : Visibility, require high volume, mitigated recolor, wick/body thresholds.
VI : Visibility, require high volume, mitigated recolor, box style, labels, mitigation alerts.
Strong Bars : Enable/disable, separate colors for high-volume and low-volume outcomes.
Close Threshold Bars : Customizable close thresholds, labels, optional count markers.
MAs : EMA/SMA type, per-MA toggle, length, timeframe, color.
Alerts
New Bullish FVG (+)
New Bearish FVG (−)
New Inside Bar (IB)
New Hammer (H)
New Inverted Hammer (IH)
New Volume Imbalance (VI)
VI Mitigated
Strong Bullish Engulfing / Bearish Engulfing (high- and low-volume variants)
Suggested workflow
Choose your market & timeframe (script works across equities, futures, FX, crypto).
Toggle only the PACs you actually trade. Assign distinct colors for clarity.
Use MAs for directional bias and higher timeframe structure.
Enable High-Volume filters when you want to emphasize conviction.
Watch mitigation recolors to see which levels/zones have been interacted with.
Use alerts selectively for setups aligned with your plan.
Originality
Builds upon Super OrderBlock / FVG / BoS Tools (makuchaku & eFe) for FVG/box framework.
Expanded into a unified PAC toolkit including IB, H, IH, and VI patterns.
Brooks-inspired design: Patterns contextualized with volume and trend, not isolated.
Flexible high-volume gating with per-pattern toggles.
New VI integration with wick-based mitigation.
Strong Bar Coloring differentiates conviction vs weak reversals.
MTF-aware MAs prevent clutter while providing structure.
Open-source: Transparent for learning, editing, and extension.
Disclaimer
For educational and informational purposes only. This script is not financial advice. Trading carries risk—always test thoroughly before live use.
Comet C/2025 N1 (ATLAS) Ephemeris☄️ Ephemeris How-To: Plot JPL Horizons Data on TradingView (Educational)
Overview
This open-source Pine Script™ v6 indicator demonstrates how to bring external astronomical ephemeris into TradingView and plot it on a daily chart. Using Comet C/2025 N1 (ATLAS) as an example dataset, it shows the mechanics of structuring arrays, indexing by date, and drawing past and forward ( future projections ) values—strictly as an educational visualization of celestial motion.
Why This Approach
Data is generated from NASA JPL Horizons, a mission-grade, publicly available ephemeris service ( (ssd.jpl.nasa.gov)). On the daily timeframe, Horizons provides high-precision positions you can regenerate whenever solutions update—useful for educational accuracy in exploring orbital data.
What’s Plotted
- Geocentric ecliptic longitude (Earth-view)
- Heliocentric ecliptic longitude (Sun-centered)
- Declination (deg from celestial equator)
Features
- Simple arrays + date indexing (no per-row timestamps)
- Circles for historical/current bars; polylines to connect forward points, emphasizing future projections
- Toggle any series on/off via inputs
- Daily timeframe enforced (runtime error if not 1D)
- Optional table with zodiac conversion (AstroLib by BarefootJoey)
Data & Updates
The example arrays span 2025-07-01 (discovery date) → 2026-01-01. You can refresh them anytime from JPL Horizons (Observer: Geocentric; daily step; include ecliptic lon/lat and declination) and paste the new values into the script.
How we pulled the ephemeris from JPL Horizons (quick guide):
0) Open ssd.jpl.nasa.gov System
1. Ephemeris Type: Observer Table
2. Target Body: C/2025 N1 (ATLAS) (or any object you want)
3. Observer Location: Geocentric
4. Time Specification: set Start, Stop, Step = 1 day
5. Table Settings → Quantities:
* Astrometric RA & Dec
* Heliocentric ecliptic longitude & latitude
* Observer (geocentric) ecliptic longitude & latitude
6. Additional Table Settings:
* Calendar format: Gregorian
* Date/Time: calendar (UTC), Hours & Minutes (HH:MM)
* Angle format: Decimal degrees
* Refraction model: No refraction / airless
* Range units: Astronomical units (au)
7. Generate → Download results (CSV or text).
8. Use AI or a small script to parse columns (e.g., Obs ecliptic lon, Helio ecliptic lon, Declination) into arrays, then paste them into your Pine script.
Educational Note
This indicator’s goal is to show how to prepare and plot ephemeris—so you can adapt the method for other comets or celestial bodies, or swap in data from existing astro libraries, for learning about astronomical projections using JPL daily data.
Credits & License
- Ephemeris: Solar System Dynamics Group, Horizons On-Line Ephemeris System, 4800 Oak Grove Drive, Jet Propulsion Laboratory, Pasadena, CA 91109, USA.
- Zodiac conversion: AstroLib by BarefootJoey
- License: MIT
- For educational use only.
Order Blocks + Order-Flow ProxiesOrder Blocks + Order-Flow Proxies
This indicator combines structural analysis of order blocks with lightweight order-flow style proxies, providing a tool for chart annotation and contextual study. It is designed to help users visualize where significant structural shifts occur and how simple volume-based signals behave around those areas. The script does not guarantee profitable outcomes, nor does it issue financial advice. It is intended purely for research, learning, and discretionary use.
Conceptual Background
Order Blocks
An “order block” is a term often used to describe a zone on the chart where price left behind a significant reversal or imbalance before continuing strongly in the opposite direction. In practice, this can mean the last bullish or bearish candle before a strong breakout. Traders sometimes study these regions because they believe that unfilled resting orders may exist there, or simply because they mark important pivots in price structure. This indicator detects such moments by scanning for breaks of structure (BOS). When price pushes above or below recent swing levels with sufficient displacement, the script identifies the prior opposite candle as the potential order block.
Break of Structure
A break of structure in this context is defined when the closing price moves beyond the highest high or lowest low of a short lookback window. The script compares the magnitude of this break to an ATR-based displacement filter. This helps ensure that only meaningful moves are marked rather than small, random fluctuations.
Order-Flow Proxies
Traditional order flow analysis may use bid/ask data, footprint charts, or volume profiles. Because TradingView scripts cannot access true order-book data, this indicator instead uses proxy signals derived from standard chart data:
Delta (proxy): Estimated imbalance of buying vs. selling pressure, approximated using bar direction and volume.
Imbalance ratio: Normalizes delta by total volume, ranging between -1 and +1 in theory.
Cumulative Delta (CVD): Running sum of delta over time.
Effort vs. Result (EvR): A comparison between volume and actual bar movement, highlighting cases where large effort produced little result (or vice versa).
These are not real order-flow measurements, but rather simple mathematical constructs that mimic some of its logic.
How the Script Works
Detecting Break of Structure
The user specifies a swing length. When price closes above the recent high (for bullish BOS) or below the recent low (for bearish BOS), a potential shift is recorded.
To qualify, the breakout must exceed a displacement filter proportional to the ATR. This helps filter out weak moves.
Locating the Order Block Candle
Once a BOS is confirmed, the script looks back within a short window to find the last opposite-colored candle.
The high/low or open/close of that candle (depending on user settings) is marked as the potential order block zone.
Drawing and Maintaining Zones
Each order block is represented as a colored rectangle extending forward in time.
Bullish zones are teal by default, bearish zones are red.
Zones extend until invalidated (price closing or wicking beyond them, depending on user preference) or until a user-defined lifespan expires.
A pruning mechanism ensures that only the most recent set number of zones remain, preventing chart overload.
Monitoring Touches
The script checks whether the current bar’s range overlaps any existing order block.
If so, the “closest” zone is considered touched, and a label may appear on the chart.
Confirmation Filters
Touches can optionally be confirmed by order-flow proxies.
For a bullish confirmation, the following must align:
Imbalance ratio above threshold,
Delta EMA positive,
Effort vs. Result positive.
For a bearish confirmation, the opposite holds true.
Optionally, a higher-timeframe EMA slope filter can gate these confirmations. For example, a bullish confirmation may only be accepted if the higher-timeframe EMA is sloping upward.
Alerts
Users may create alerts based on conditions such as “bullish touch confirmed” or “bearish touch confirmed.”
Alerts can be gated to only fire after bar close, reducing intrabar noise.
Standard alertcondition calls are provided, and optional inline alert() calls can be enabled.
Inputs and Customization
Structure & OB
Swing length: Defines how many bars back to check for BOS.
ATR length & displacement factor: Adjust sensitivity for structural breaks.
Body vs. wick reference: Choose whether zones are based on candle bodies or full ranges.
Invalidation rule: Pick between wick breach or close beyond the level.
Lifespan (bars): Limit how long a zone remains active.
Max keep: Cap the number of zones stored to reduce clutter.
Order-Flow Proxies
Delta mode: Choose between “Close vs Previous Close” or “Body” for delta calculation.
EMA length: Smooths the delta/imbalance series.
Z-score lookback: Defines the averaging window for EvR.
Confirmation thresholds: Adjust the imbalance levels required for long/short confirmation.
Higher Timeframe Filter
Enable HTF gate: Optional filter requiring higher-timeframe EMA slope alignment.
HTF timeframe & EMA length: Configurable for context alignment.
Style
Colors and transparency for bullish and bearish zones.
Border color customization.
Alerts
Enable inline alerts: Optional direct calls to alert().
Alerts on bar close only: Helps avoid multiple firings during bar formation.
Practical Use
This tool is best seen as a way to annotate charts and to study how simple volume-derived signals behave near important structural levels. Some users may:
Observe whether order blocks line up with later price reactions.
Study how imbalance or cumulative delta conditions align with these zones.
Use it in a discretionary workflow to highlight areas of interest for deeper analysis.
Because the proxies are based only on candle OHLCV data, they are approximations. They cannot replace true depth-of-market analysis. Similarly, order block detection here is one specific algorithmic interpretation; other traders may define order blocks differently.
Limitations and Disclaimers
This indicator does not predict future price movement.
It does not access real order book or tick-by-tick data. All signals are derived from bar OHLCV.
Past performance of signals or zones does not guarantee future results.
The script is for educational and informational purposes only. It is not financial advice.
Users should test thoroughly, adjust parameters to their own instruments and timeframes, and use it in combination with broader analysis.
Summary
The Order Blocks + Order-Flow Proxies script is an experimental study tool that:
Detects potential order blocks using a displacement-filtered break of structure.
Marks these zones as boxes that persist until invalidation or expiry.
Provides lightweight order-flow-style proxies such as delta, imbalance, CVD, and effort vs. result.
Allows confirmation of zone touches through these proxies and optional higher-timeframe context.
Offers flexible customization, alerting, and chart-style options.
It is not a trading system by itself but rather a framework for studying price/volume behavior around structurally significant areas. With careful exploration, it can give users new ways to visualize market structure and to understand how simple flow-like measures behave in those contexts.
MTF Dashboard 9 Timeframes + Signals# MTF Dashboard Pro - Multi-Timeframe Confluence Analysis System
## WHAT THIS SCRIPT DOES
This script creates a comprehensive dashboard that simultaneously analyzes market conditions across 9 different timeframes (1m, 5m, 15m, 30m, 1H, 4H, Daily, Weekly, Monthly) using a proprietary confluence scoring methodology. Unlike simple multi-timeframe displays that show individual indicators separately, this script combines trend analysis, momentum, volatility signals, and volume analysis into unified confluence scores for each timeframe.
## WHY THIS COMBINATION IS ORIGINAL AND USEFUL
**The Problem Solved:** Most traders manually check multiple timeframes and struggle to quickly assess overall market bias when different timeframes show conflicting signals. Existing MTF scripts typically display individual indicators without synthesizing them into actionable intelligence.
**The Solution:** This script implements a mathematical confluence algorithm that:
- Weights each indicator's signal strength (trend direction, RSI momentum, MACD volatility, volume analysis)
- Calculates normalized scores across all active timeframes
- Determines overall market bias with statistical confidence levels
- Provides instant visual feedback through color-coded symbols and star ratings
**Unique Features:**
1. **Confluence Scoring Algorithm**: Mathematically combines multiple indicator signals into a single confidence rating per timeframe
2. **Market Bias Engine**: Automatically calculates overall directional bias with percentage strength across all selected timeframes
3. **Dynamic Display System**: Real-time updates with customizable layouts, color schemes, and selective timeframe activation
4. **Statistical Analysis**: Provides bullish/bearish vote counts and overall confluence percentages
## HOW THE SCRIPT WORKS TECHNICALLY
### Core Calculation Methodology:
**1. Trend Analysis (EMA-based):**
- Fast EMA (default: 9) vs Slow EMA (default: 21) crossover analysis
- Returns values: +1 (bullish), -1 (bearish), 0 (neutral)
**2. Momentum Analysis (RSI-based):**
- RSI levels: >70 (strong bullish +2), >50 (bullish +1), <30 (strong bearish -2), <50 (bearish -1)
- Provides overbought/oversold context for trend confirmation
**3. Volatility Analysis (MACD-based):**
- MACD line vs Signal line positioning
- Histogram strength comparison with previous bar
- Combined score considering both direction and momentum strength
**4. Volume Analysis:**
- Current volume vs 20-period moving average
- Thresholds: >150% MA (strong +2), >100% MA (bullish +1), <50% MA (weak -2)
**5. Confluence Calculation:**
```
Confluence Score = (Trend + RSI + MACD + Volume) / 4.0
```
**6. Market Bias Determination:**
- Counts bullish vs bearish signals across all active timeframes
- Calculates bias strength percentage: |Bullish Count - Bearish Count| / Total Active TFs * 100
- Determines overall market direction: BULLISH, BEARISH, or NEUTRAL
### Multi-Timeframe Implementation:
Uses `request.security()` calls to fetch data from each timeframe, ensuring all calculations are performed on the respective timeframe's data rather than current chart timeframe, providing accurate multi-timeframe analysis.
## HOW TO USE THIS SCRIPT
### Initial Setup:
1. **Timeframe Selection**: Enable/disable specific timeframes in "Timeframe Selection" group based on your trading style
2. **Indicator Configuration**: Adjust EMA periods (Fast: 9, Slow: 21), RSI length (14), and MACD settings (12/26/9) to match your analysis preferences
3. **Display Options**: Choose table position, text size, and color scheme for optimal visibility
### Reading the Dashboard:
**Symbol Interpretation:**
- ⬆⬆ = Strong bullish signal (score ≥ 2)
- ⬆ = Bullish signal (score > 0)
- ➡ = Neutral signal (score = 0)
- ⬇ = Bearish signal (score < 0)
- ⬇⬇ = Strong bearish signal (score ≤ -2)
**Confluence Stars:**
- ★★★★★ = Very high confidence (score > 0.75)
- ★★★★☆ = High confidence (score > 0.5)
- ★★★☆☆ = Medium confidence (score > 0.25)
- ★★☆☆☆ = Low confidence (score > 0)
- ★☆☆☆☆ = Very low confidence (score > -0.25)
**Market Bias Section:**
- Shows overall market direction across all active timeframes
- Strength percentage indicates conviction level
- Overall confluence score represents average agreement across timeframes
### Trading Applications:
**Entry Signals:**
- Look for high confluence (4-5 stars) across multiple timeframes in same direction
- Higher timeframe alignment provides stronger signal validation
- Use confluence percentage >75% for high-probability setups
**Risk Management:**
- Lower timeframe conflicts may indicate choppy conditions
- Neutral bias suggests ranging market - adjust position sizing
- Strong bias with high confluence supports larger position sizes
**Timeframe Harmony:**
- Short-term trades: Focus on 1m-1H alignment
- Swing trades: Emphasize 1H-Daily alignment
- Position trades: Prioritize Daily-Monthly confluence
## SCRIPT SETTINGS EXPLANATION
### Dashboard Settings:
- **Table Position**: Choose optimal location (Top Right recommended for most layouts)
- **Text Size**: Adjust based on screen resolution and preferences
- **Color Scheme**: Professional (default), Classic, Vibrant, or Dark themes
- **Background Color/Transparency**: Customize table appearance
### Timeframe Selection:
All timeframes optional - activate based on trading timeframe preference:
- **Lower Timeframes (1m-30m)**: Scalping and day trading
- **Medium Timeframes (1H-4H)**: Swing trading
- **Higher Timeframes (D-M)**: Position trading and long-term bias
### Indicator Parameters:
- **Fast EMA (Default: 9)**: Shorter period for trend sensitivity
- **Slow EMA (Default: 21)**: Longer period for trend confirmation
- **RSI Length (Default: 14)**: Standard momentum calculation period
- **MACD Settings (12/26/9)**: Standard MACD configuration for volatility analysis
### Alert Configuration:
- **Strong Signals**: Alerts when confluence >75% with clear directional bias
- **High Confluence**: Alerts when multiple timeframes strongly agree
- All alerts use `alert.freq_once_per_bar` to prevent spam
## VISUAL FEATURES
### Chart Elements:
- **Background Coloring**: Subtle background tint reflects overall market bias
- **Signal Labels**: Strong buy/sell labels appear on chart during high-confluence signals
- **Clean Presentation**: Dashboard overlays chart without interfering with price action
### Color Coding:
- **Green/Bullish**: Various green shades for positive signals
- **Red/Bearish**: Various red shades for negative signals
- **Gray/Neutral**: Neutral color for conflicting or weak signals
- **Transparency**: Configurable transparency maintains chart readability
## IMPORTANT USAGE NOTES
**Realistic Expectations:**
- This tool provides analysis framework, not trading signals
- Always combine with proper risk management
- Past performance does not guarantee future results
- Market conditions can change rapidly - use appropriate position sizing
**Best Practices:**
- Verify signals with additional analysis methods
- Consider fundamental factors affecting the instrument
- Use appropriate timeframes for your trading style
- Regular parameter optimization may be beneficial for different market conditions
**Limitations:**
- Effectiveness may vary across different instruments and market conditions
- Confluence scoring is mathematical model - not predictive guarantee
- Requires understanding of underlying indicators for optimal use
This script serves as a comprehensive analysis tool for traders who need quick, organized access to multi-timeframe market information with statistical confidence levels.
3-1-3 PatternThis Pine Script indicator analyzes and visualizes a specific candlestick pattern called the "3-1-3 Pattern" across multiple timeframes. Here's what it does:
Core Functionality
Pattern Detection: The script looks for a 7-bar candlestick pattern:
Bearish 3-1-3: 3 red candles + 1 green candle + 3 red candles
Bullish 3-1-3: 3 green candles + 1 red candle + 3 green candles
Visual Output
When a 3-1-3 pattern is detected, the script:
Creates a colored box around the middle bar (bar 3) of the pattern
Adds a small label showing the pattern type ("Bear 1H" or "Bull 4H", etc.)
Extends the box forward until the price breaks above the pattern's high or below its low
Pattern Management
The script actively manages the patterns by:
Tracking active patterns for each timeframe separately
Removing expired patterns when price breaks the pattern's high/low levels
Extending boxes to the current time to keep them visible
Practical Use
This indicator helps traders:
Spot reversal patterns across multiple timeframes simultaneously
See confluence when patterns align on different timeframes
Track pattern validity (boxes disappear when invalidated by price action)
Essentially, it's a multi-timeframe pattern recognition tool that automatically identifies and tracks these specific 7-bar reversal patterns on your chart.
Future is hereOverview
"Future is Here" is an original, multi-faceted Pine Script indicator designed to provide traders with a comprehensive toolset for identifying high-probability trading opportunities. By integrating volatility-based entry zones, trend-based price targets, momentum confirmation, dynamic support/resistance levels, and risk-reward ratio (RRR) calculations, this indicator offers a cohesive and actionable trading framework. Each feature is carefully designed to complement the others, ensuring a synergistic approach that enhances decision-making across various market conditions. This script is unique in its ability to combine these elements into a single, streamlined interface with clear visual cues and customizable alerts, making it suitable for both novice and experienced traders.
Key Features and How They Work Together
Volatility-Based Entry Zones
Purpose: Identifies overbought and oversold conditions using a volatility-adjusted moving average, helping traders spot potential reversal zones.
Mechanism: Utilizes a user-defined volatility length and multiplier to calculate dynamic overbought/oversold thresholds based on the standard deviation of price. Crossovers and crossunders of these levels trigger "Buy Zone" or "Sell Zone" labels.
Synergy: These zones act as the foundation for entry signals, which are later confirmed by momentum and trend filters to reduce false signals.
Trend-Based Price Targets
Purpose: Projects potential price targets based on the prevailing trend, giving traders clear objectives for profit-taking.
Mechanism: Combines a fast and slow moving average to determine trend direction, then calculates target prices using a multiplier of the price deviation from the slow MA. Labels display bullish or bearish targets when the fast MA crosses the slow MA.
Synergy: Works in tandem with entry zones and momentum signals to align targets with market conditions, ensuring traders aim for realistic price levels supported by trend strength.
Momentum Confirmation
Purpose: Validates entry signals by assessing momentum strength, filtering out weak setups.
Mechanism: Uses the momentum indicator to detect bullish or bearish momentum crossovers, labeling them as "Strong" or "Weak" based on a comparison with a smoothed momentum average.
Synergy: Enhances the reliability of buy/sell signals by ensuring momentum aligns with volatility zones and trend direction, reducing the risk of premature entries.
Dynamic Support/Resistance Levels
Purpose: Highlights key price levels where the market is likely to react, aiding in trade planning and risk management.
Mechanism: Detects pivot highs and lows over a user-defined lookback period, drawing horizontal lines for the most recent support and resistance levels (limited to two each for clarity). Labels mark these levels with price values.
Synergy: Complements entry zones and price targets by providing context for potential reversal or continuation points, helping traders set logical stop-losses or take-profits.
Buy/Sell Signals with Risk-Reward Ratios
Purpose: Generates precise buy/sell signals with integrated take-profit (TP), stop-loss (SL), and RRR calculations for disciplined trading.
Mechanism: Combines volatility zone crossovers, trend confirmation, and positive momentum to trigger signals. ATR-based TP and SL levels are calculated, and the RRR is displayed in labels for quick assessment.
Synergy: This feature ties together all previous components, ensuring signals are only generated when volatility, trend, and momentum align, while providing clear risk-reward metrics for trade evaluation.
Customizable Alerts
Purpose: Enables traders to stay informed of trading opportunities without constant chart monitoring.
Mechanism: Alert conditions are set for buy and sell signals, delivering notifications with the entry price for seamless integration into trading workflows.
Synergy: Enhances usability by allowing traders to act on high-probability setups identified by the indicator’s combined logic.
Originality
"Future is Here" is an original creation that distinguishes itself through its holistic approach to technical analysis. Unlike single-purpose indicators, it integrates volatility, trend, momentum, and support/resistance into a unified system, reducing the need for multiple scripts. The inclusion of RRR calculations directly in signal labels is a unique feature that empowers traders to evaluate trade quality instantly. The script’s design emphasizes clarity and efficiency, with cooldowns to prevent label clutter and a limit on support/resistance lines to maintain chart readability. This combination of features, along with its customizable parameters, makes it a versatile and novel tool for traders seeking a robust, all-in-one solution.
How to Use
Setup: Add the indicator to your TradingView chart and adjust input parameters (e.g., Volatility Length, Trend Length, TP/SL Multipliers) to suit your trading style and timeframe.
Interpretation:
Look for "Buy Zone" or "Sell Zone" labels to identify potential entry points.
Confirm entries with "Bull Mom" or "Bear Mom" labels and trend direction (Bull/Bear Target labels).
Use Support/Resistance lines to set logical TP/SL levels or anticipate reversals.
Evaluate Buy/Sell signals with TP, SL, and RRR for high-probability trades.
Alerts: Set up alerts for Buy/Sell signals to receive real-time notifications.
Customization: Fine-tune multipliers and lengths to adapt the indicator to different markets (e.g., stocks, forex, crypto) or timeframes.
VWAP Supply & Demand Zones PRO**Overview:**
This script represents a major evolution of the original "VWAP Supply and Demand Zones" indicator. Initially created to explore price interaction with VWAP, it has now matured into a robust and feature-rich tool for identifying high-probability zones of institutional buying and selling pressure. The update introduces volume and momentum validation, dynamic zone management, alert logic, and a visual dashboard (HUD) — all designed for improved precision and clarity. The structural improvements, anti-repainting logic, and significant added utility warranted releasing this as a new script rather than a minor update.
---
### What It Does:
This indicator dynamically detects **supply and demand zones** using VWAP-based logic combined with **volume** and **momentum confirmation**. When price crosses VWAP with strength, it identifies the potential zone of excess demand (below VWAP) or supply (above VWAP), marking it visually with colored regions on the chart.
Each zone is extended for a user-defined duration, monitored for touch interactions (tests), and tracked for possible breaks. The script helps traders interpret price behavior around these institutional zones as either **reversal** opportunities or **continuation** confirmation depending on context and strategy preference.
---
### How It Works:
* **VWAP Basis**: Zones are anchored at VWAP at the time of a significant cross.
* **Volume & Momentum Filters**: Crosses are only considered valid if backed by above-average volume and notable price momentum.
* **Zone Drawing**: Validated supply and demand zones are drawn as boxes on the chart. Each is extended forward for a customizable number of bars.
* **Touch Counting**: Zones track the number of price touches. Alerts are issued after a user-defined number of tests.
* **Break Detection**: If price closes significantly beyond a zone boundary, the zone is marked as broken and visually dimmed.
* **Visual Dashboard (HUD)**: A compact real-time HUD displays VWAP value, active zone counts, and current market bias.
---
### How to Use It:
**Reversal Trading:**
* Look for price **rejecting** a zone after touching it.
* Use rejection candles or secondary indicators (e.g., RSI divergence) to confirm.
* These setups may offer low-risk entries when price respects the zone.
**Continuation Trading:**
* A **break of a zone** suggests strong directional bias.
* Use confirmed zone breaks to enter in the direction of momentum.
* Ideal in trending environments, especially with high volume and ATR movement.
---
### Key Inputs:
* **VWAP Length**: Moving VWAP period (default: 20)
* **Zone Width %**: Percentage size of zone buffer (default: 0.5%)
* **Min Touches**: How many times price must test a zone before alerts trigger
* **Zone Extension**: How far into the future zones are projected
* **Volume & ATR Filters**: Ensure only strong, valid crossovers create zones
---
### Alerts:
You can enable alerts for:
* **New zone creation**
* **Zone tests (after minimum touch count)**
* **Zone breaks**
* **VWAP crosses**
* **Active presence inside a zone (entry conditions)**
These alerts help automate market monitoring, making it suitable for discretionary or systematic workflows.
---
### Why It's a New Script:
This is not a cosmetic update. The internal logic, signal generation, filtering methodology, visual engine, and UX framework have been entirely rebuilt from the ground up. The result is a highly adaptive, precision-oriented tool — appropriate for intraday scalpers and swing traders alike. It goes far beyond the original in terms of functionality and reliability, justifying a fresh release.
---
### Suitable Markets and Timeframes:
* Works across all liquid markets (crypto, equities, futures, forex)
* Best used on timeframes where volume data is stable (5m and above recommended)
* Recalibrate inputs for optimal detection across instruments
FvgPanel█ OVERVIEW
This library provides functionalities for creating and managing a display panel within a Pine Script™ indicator. Its primary purpose is to offer a structured way to present Fair Value Gap (FVG) information, specifically the nearest bullish and bearish FVG levels across different timeframes (Current, MTF, HTF), directly on the chart. The library handles the table's structure, header initialization, and dynamic cell content updates.
█ CONCEPTS
The core of this library revolves around presenting summarized FVG data in a clear, tabular format. Key concepts include:
FVG Data Aggregation and Display
The panel is designed to show at-a-glance information about the closest active FVG mitigation levels. It doesn't calculate these FVGs itself but relies on the main script to provide this data. The panel is structured with columns for timeframes (TF), Bullish FVGs, and Bearish FVGs, and rows for "Current" (LTF), "MTF" (Medium Timeframe), and "HTF" (High Timeframe).
The `panelData` User-Defined Type (UDT)
To facilitate the transfer of information to be displayed, the library defines a UDT named `panelData`. This structure is central to the library's operation and is designed to hold all necessary values for populating the panel's data cells for each relevant FVG. Its fields include:
Price levels for the nearest bullish and bearish FVGs for LTF, MTF, and HTF (e.g., `nearestBullMitLvl`, `nearestMtfBearMitLvl`).
Boolean flags to indicate if these FVGs are classified as "Large Volume" (LV) (e.g., `isNearestBullLV`, `isNearestMtfBearLV`).
Color information for the background and text of each data cell, allowing for conditional styling based on the FVG's status or proximity (e.g., `ltfBullBgColor`, `mtfBearTextColor`).
The design of `panelData` allows the main script to prepare all display-related data and styling cues in one object, which is then passed to the `updatePanel` function for rendering. This separation of data preparation and display logic keeps the library focused on its presentation task.
Visual Cues and Formatting
Price Formatting: Price levels are formatted to match the instrument's minimum tick size using an internal `formatPrice` helper function, ensuring consistent and accurate display.
Large FVG Icon: If an FVG is marked as a "Large Volume" FVG in the `panelData` object, a user-specified icon (e.g., an emoji) is prepended to its price level in the panel, providing an immediate visual distinction.
Conditional Styling: The background and text colors for each FVG level displayed in the panel can be individually controlled via the `panelData` object, enabling the main script to implement custom styling rules (e.g., highlighting the overall nearest FVG across all timeframes).
Handling Missing Data: If no FVG data is available for a particular cell (i.e., the corresponding level in `panelData` is `na`), the panel displays "---" and uses a specified background color for "Not Available" cells.
█ CALCULATIONS AND USE
Using the `FvgPanel` typically involves a two-stage process: initialization and dynamic updates.
Step 1: Panel Creation
First, an instance of the panel table is created once, usually during the script's initial setup. This is done using the `createPanel` function.
Call `createPanel()` with parameters defining its position on the chart, border color, border width, header background color, header text color, and header text size.
This function initializes the table with three columns ("TF", "Bull FVG", "Bear FVG") and three data rows labeled "Current", "MTF", and "HTF", plus a header row.
Store the returned `table` object in a `var` variable to persist it across bars.
// Example:
var table infoPanel = na
if barstate.isfirst
infoPanel := panel.createPanel(
position.top_right,
color.gray,
1,
color.new(color.gray, 50),
color.white,
size.small
)
Step 2: Panel Updates
On each bar, or whenever the FVG data changes (typically on `barstate.islast` or `barstate.isrealtime` for efficiency), the panel's content needs to be refreshed. This is done using the `updatePanel` function.
Populate an instance of the `panelData` UDT with the latest FVG information. This includes setting the nearest bullish/bearish mitigation levels for LTF, MTF, and HTF, their LV status, and their desired background and text colors.
Call `updatePanel()`, passing the persistent `table` object (from Step 1), the populated `panelData` object, the icon string for LV FVGs, the default text color for FVG levels, the background color for "N/A" cells, and the general text size for the data cells.
The `updatePanel` function will then clear previous data and fill the table cells with the new values and styles provided in the `panelData` object.
// Example (inside a conditional block like 'if barstate.islast'):
var panelData fvgDisplayData = panelData.new()
// ... (logic to populate fvgDisplayData fields) ...
// fvgDisplayData.nearestBullMitLvl = ...
// fvgDisplayData.ltfBullBgColor = ...
// ... etc.
if not na(infoPanel)
panel.updatePanel(
infoPanel,
fvgDisplayData,
"🔥", // LV FVG Icon
color.white,
color.new(color.gray, 70), // NA Cell Color
size.small
)
This workflow ensures that the panel is drawn only once and its cells are efficiently updated as new data becomes available.
█ NOTES
Data Source: This library is solely responsible for the visual presentation of FVG data in a table. It does not perform any FVG detection or calculation. The calling script must compute or retrieve the FVG levels, LV status, and desired styling to populate the `panelData` object.
Styling Responsibility: While `updatePanel` applies colors passed via the `panelData` object, the logic for *determining* those colors (e.g., highlighting the closest FVG to the current price) resides in the calling script.
Performance: The library uses `table.cell()` to update individual cells, which is generally more efficient than deleting and recreating the table on each update. However, the frequency of `updatePanel` calls should be managed by the main script (e.g., using `barstate.islast` or `barstate.isrealtime`) to avoid excessive processing on historical bars.
`series float` Handling: The price level fields within the `panelData` UDT (e.g., `nearestBullMitLvl`) can accept `series float` values, as these are typically derived from price data. The internal `formatPrice` function correctly handles `series float` for display.
Dependencies: The `FvgPanel` itself is self-contained and does not import other user libraries. It uses standard Pine Script™ table and string functionalities.
█ EXPORTED TYPES
panelData
Represents the data structure for populating the FVG information panel.
Fields:
nearestBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point (bottom for bull) on the LTF.
isNearestBullLV (series bool) : True if the nearest bullish FVG on the LTF is a Large Volume FVG.
ltfBullBgColor (series color) : Background color for the LTF bullish FVG cell in the panel.
ltfBullTextColor (series color) : Text color for the LTF bullish FVG cell in the panel.
nearestBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point (top for bear) on the LTF.
isNearestBearLV (series bool) : True if the nearest bearish FVG on the LTF is a Large Volume FVG.
ltfBearBgColor (series color) : Background color for the LTF bearish FVG cell in the panel.
ltfBearTextColor (series color) : Text color for the LTF bearish FVG cell in the panel.
nearestMtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the MTF.
isNearestMtfBullLV (series bool) : True if the nearest bullish FVG on the MTF is a Large Volume FVG.
mtfBullBgColor (series color) : Background color for the MTF bullish FVG cell.
mtfBullTextColor (series color) : Text color for the MTF bullish FVG cell.
nearestMtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the MTF.
isNearestMtfBearLV (series bool) : True if the nearest bearish FVG on the MTF is a Large Volume FVG.
mtfBearBgColor (series color) : Background color for the MTF bearish FVG cell.
mtfBearTextColor (series color) : Text color for the MTF bearish FVG cell.
nearestHtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the HTF.
isNearestHtfBullLV (series bool) : True if the nearest bullish FVG on the HTF is a Large Volume FVG.
htfBullBgColor (series color) : Background color for the HTF bullish FVG cell.
htfBullTextColor (series color) : Text color for the HTF bullish FVG cell.
nearestHtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the HTF.
isNearestHtfBearLV (series bool) : True if the nearest bearish FVG on the HTF is a Large Volume FVG.
htfBearBgColor (series color) : Background color for the HTF bearish FVG cell.
htfBearTextColor (series color) : Text color for the HTF bearish FVG cell.
█ EXPORTED FUNCTIONS
createPanel(position, borderColor, borderWidth, headerBgColor, headerTextColor, headerTextSize)
Creates and initializes the FVG information panel (table). Sets up the header rows and timeframe labels.
Parameters:
position (simple string) : The position of the panel on the chart (e.g., position.top_right). Uses position.* constants.
borderColor (simple color) : The color of the panel's border.
borderWidth (simple int) : The width of the panel's border.
headerBgColor (simple color) : The background color for the header cells.
headerTextColor (simple color) : The text color for the header cells.
headerTextSize (simple string) : The text size for the header cells (e.g., size.small). Uses size.* constants.
Returns: The newly created table object representing the panel.
updatePanel(panelTable, data, lvIcon, defaultTextColor, naCellColor, textSize)
Updates the content of the FVG information panel with the latest FVG data.
Parameters:
panelTable (table) : The table object representing the panel to be updated.
data (panelData) : An object containing the FVG data to display.
lvIcon (simple string) : The icon (e.g., emoji) to display next to Large Volume FVGs.
defaultTextColor (simple color) : The default text color for FVG levels if not highlighted.
naCellColor (simple color) : The background color for cells where no FVG data is available ("---").
textSize (simple string) : The text size for the FVG level data (e.g., size.small).
Returns: _void






















