Bar Balance [LucF]Bar Balance extracts the number of up, down and neutral intrabars contained in each chart bar, revealing information on the strength of price movement. It can display stacked columns representing raw up/down/neutral intrabar counts, or an up/down balance line which can be calculated and visualized in many different ways.
WARNING: This is an analysis tool that works on historical bars only. It does not show any realtime information, and thus cannot be used to issue alerts or for automated trading. When realtime bars elapse, the indicator will require a browser refresh, a change to its Inputs or to the chart's timeframe/symbol to recalculate and display information on those elapsed bars. Once a trader understands this, the indicator can be used advantageously to make discretionary trading decisions.
Traders used to work with my Delta Volume Columns Pro will feel right at home in this indicator's Inputs . It has lots of options, allowing it to be used in many different ways. If you value the bar balance information this indicator mines, I hope you will find the time required to master the use of Bar Balance well worth the investment.
█ OVERVIEW
The indicator has two modes: Columns and Line .
Columns
• In Columns mode you can display stacked Up/Down/Neutral columns.
• The "Up" section represents the count of intrabars where `close > open`, "Down" where `close < open` and "Neutral" where `close = open`.
• The Up section always appears above the centerline, the Down section below. The Neutral section overlaps the centerline, split halfway above and below it.
The Up and Down sections start where the Neutral section ends, when there is one.
• The Up and Down sections can be colored independently using 7 different methods.
• The signal line plotted in Line mode can also be displayed in Columns mode.
Line
• Displays a single balance line using a zero centerline.
• A variable number of independent methods can be used to calculate the line (6), determine its color (5), and color the fill (5).
You can thus evaluate the state of 3 different components with this single line.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Features available in both modes
• The color of all components can be selected from 15 base colors, with 16 gradient levels used for each base color in the indicator's gradients.
• A zero line can show a 6-state aggregate value of the three main volume balance modes.
• The background can be colored using any of 5 different methods.
• Chart bars can be colored using 5 different methods.
• Divergence and large neutral count ratio events can be shown in either Columns or Line mode, calculated in one of 4 different methods.
• Markers on 6 different conditions can be displayed.
█ CONCEPTS
Intrabar inspection
Intrabar inspection means the indicator looks at lower timeframe bars ( intrabars ) making up a given chart bar to gather its information. If your chart is on a 1-hour timeframe and the intrabar resolution determined by the indicator is 5 minutes, then 12 intrabars will be analyzed for each chart bar and the count of up/down/neutral intrabars among those will be tallied.
Bar Balances and calculation methods
The indicator uses a variety of methods to evaluate bar balance and to derive other calculations from them:
1. Balance on Bar : Uses the relative importance of instant Up and Down counts on the bar.
2. Balance Averages : Uses the difference between the EMAs of Up and Down counts.
3. Balance Momentum : Starts by calculating, separately for both Up and Down counts, the difference between the same EMAs used in Balance Averages and an SMA of double the period used for the EMAs. These differences are then aggregated and finally, a bounded momentum of that aggregate is calculated using RSI.
4. Markers Bias : It sums the bull/bear occurrences of the four previous markers over a user-defined period (the default is 14).
5. Combined Balances : This is the aggregate of the instant bull/bear bias of the three main bar balances.
6. Dual Up/Down Averages : This is a display mode showing the EMA calculated for each of the Up and Down counts.
Interpretation of neutral intrabars
What do neutral intrabars mean? When price does not change during a bar, it can be because there is simply no interest in the market, or because of a perfect balance between buyers and sellers. The latter being more improbable, Bar Balance assumes that neutral bars reveal a lack of interest, which entails uncertainty. That is the reason why the option is provided to interpret ratios of neutral intrabars greater than 50% as divergences. It is also the rationale behind the option to dampen signal lines on the inverse ratio of neutral intrabars, so that zero intrabars do not affect the signal, and progressively larger proportions of neutral intrabars will reduce the signal's amplitude, as the balance calcs using the up/down counts lose significance. The impact of the dampening will vary with markets. Weaker markets such as cryptos will often contain greater numbers of neutral intrabars, so dampening the Line in that sector will have a greater impact than in more liquid markets.
█ FEATURES
1 — Columns
• While the size of the Up/Down columns always represents their respective importance on the bar, their coloring mode is independent. The default setup uses a standard coloring mode where the Up/Down columns over/under the zero line are always in the bull/bear color with a higher intensity for the winning side. Six other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on Balance Averages, for example, you will end up with bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "Up/Down Ratio on Bar — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar.
• Line mode shows only the line, but Columns mode allows displaying the line along with it. If the scale of the line is different than that of the scale of the columns, the line will often appear flat. Traders may find even a flat line useful as its bull/bear colors will be easily distinguishable.
2 — Line
• The default setup for Line mode uses a calculation on "Balance Momentum", with a fill on the longer-term "Balance Averages" and a line color based on the "Markers Bias". With the background set on "Line vs Divergence Levels" and the zero line on the hard-coded "Combined Bar Balances", you have access to five distinct sources of information at a glance, to which you can add divergences, divergences levels and chart bar coloring. This provides powerful potential in displaying bar balance information.
• When no columns are displayed, Line mode can show the full scale of whichever line you choose to calculate because the columns' scale no longer interferes with the line's scale.
• Note that when "Balance on Bar" is selected, the Neutral count is also displayed as a ratio of the balance line. This is the only instance where the Neutral count is displayed in Line mode.
• The "Dual Up/Down Averages" is an exception as it displays two lines: one average for the Up counts and another for the Down counts. This mode will be most useful when Columns are also displayed, as it provides a reference for the top and bottom columns.
3 — Zero Line
The zero line can be colored using two methods, both based on the Combined Balances, i.e., the aggregate of the instant bull/bear bias of the three main bar balances.
• In "Six-state Dual Color Gradient" mode, a dot appears on every bar. Its color reflects the bull/bear state of the Combined Balances, and the dot's brightness reflects the tally of balance biases.
• In "Dual Solid Colors (All Bull/All Bear Only)" a dot only appears when all three balances are either bullish or bearish. The resulting pattern is identical to that of Marker 1.
4 — Divergences
• Divergences are displayed as a small circle at the top of the scale. Four different types of divergence events can be detected. Divergences occur whenever the bull/bear bias of the method used diverges with the bar's price direction.
• An option allows you to include in divergence events instances where the count of neutral intrabars exceeds 50% of the total intrabar count.
• The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It excludes any association of a pre-determined bullish/bearish bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by price's position relative to the levels, which is how I think divergences can be put to the most effective use.
5 — Background
• The background can show a bull/bear gradient on four different calculations. You can adjust its brightness to make its visual importance proportional to how you use it in your analysis.
6 — Chart bars
• Chart bars can be colored using five different methods.
• You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, the idea behind this being that movement on bars where volume does not increase is less relevant.
7 — Intrabar Resolution
You can choose between three modes. Two of them are automatic and one is manual:
a) Fast, Longer history, Auto-Steps (~12 intrabars) : Optimized for speed and deeper history. Uses an average minimum of 12 intrabars.
b) More Precise, Shorter History Auto-Steps (~24 intrabars) : Uses finer intrabar resolution. It is slower and provides less history. Uses an average minimum of 24 intrabars.
c) Fixed : Uses the fixed resolution of your choice.
Auto-Steps calculations vary for 24/7 and conventional markets in order to achieve the proper target of minimum intrabars.
You can choose to view the intrabar resolution currently used to calculate delta volume. It is the default.
The proper selection of the intrabar resolution is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors.
8 — Markers
Six markers are available:
1. Combined Balances Agreement : All three Bar Balances are either bullish or bearish.
2. Up or Down % Agrees With Bar : An up marker will appear when the percentage of up intrabars in an up chart bar is greater than the specified percentage. Conditions mirror to down bars.
3. Divergence confirmations By Price : One of the four types of balance calculations can be used to detect divergences with price. Confirmations occur when the bar following the divergence confirms the balance bias. Note that the divergence events used here do not include neutral intrabar events.
4. Balance Transitions : Bull/bear transitions of the selected balance.
5. Markers Bias Transitions : Bull/bear transitions of the Markers Bias.
6. Divergence Confirmations By Line : Marks points where the line first breaches a divergence level.
Markers appear when the condition is detected, without delay. Since nothing is plotted in realtime, markers do not appear on the realtime bar.
9 — Settings
• Two modes can be selected to dampen the line on the ratio of neutral intrabars.
• A distinct weight can be attributed to the count of the latter half of intrabars, on the assumption that later intrabars may be more important in determining the outcome of chart bars.
• Allows control over the periods of the different moving averages used in calculations.
• The default periods used for the various calculations define the following hierarchy from slow to fast:
Balance Averages: 50,
Balance Momentum: 20,
Dual Up/Down Averages: 20,
Marker Bias: 10.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars—which is not officially supported by TradingView.
• The method used does not work on the realtime bar—only on historical bars.
• The indicator only works on some chart resolutions: 3, 5, 10, 15 and 30 minutes, 1, 2, 4, 6, and 12 hours, 1 day, 1 week and 1 month. The script’s code can be modified to run on other resolutions, but chart resolutions must be divisible by the lower resolution used for intrabars and the stepping mechanism could require adaptation.
• When using the "Line vs Divergence Levels — Dual Color Gradient" color mode to fill the line, background or chart bars, keep in mind that a line calculation mode must be defined for it to work, as it determines gradients on the movement of the line relative to divergence levels. If the line is hidden, it will not work.
• When the difference between the chart’s resolution and the intrabar resolution is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• Alerts do not work reliably when `security()` is used at intrabar resolutions. Accordingly, no alerts are configured in the indicator.
• The color model used in the indicator provides for fancy visuals that come at a price; when you change values in Inputs , it can take 20 seconds for the changes to materialize. Luckily, once your color setup is complete, the color model does not have a large performance impact, as in normal operation the `security()` calls will become the most important factor in determining response time. Also, once in a while a runtime error will occur when you change inputs. Just making another change will usually bring the indicator back up.
█ RAMBLINGS
Is this thing useful?
I'll let you decide. Bar Balance acts somewhat like an X-Ray on bars. The intrabars it analyzes are no secret; one can simply change the chart's resolution to see the same intrabars the indicator uses. What the indicator brings to traders is the precise count of up/down/neutral intrabars and, more importantly, the calculations it derives from them to present the information in a way that can make it easier to use in trading decisions.
How reliable is Bar Balance information?
By the same token that an up bar does not guarantee that more up bars will follow, future price movements cannot be inferred from the mere count of up/down/neutral intrabars. Price movement during any chart bar for which, let's say, 12 intrabars are analyzed, could be due to only one of those intrabars. One can thus easily see how only relying on bar balance information could be very misleading. The rationale behind Bar Balance is that when the information mined for multiple chart bars is aggregated, it can provide insight into the history behind chart bars, and thus some bias as to the strength of movements. An up chart bar where 11/12 intrabars are also up is assumed to be stronger than the same up bar where only 2/12 intrabars are up. This logic is not bulletproof, and sometimes Bar Balance will stray. Also, keep in mind that balance lines do not represent price momentum as RSI would. Bar Balance calculations have no idea where price is. Their perspective, like that of any historian, is very limited, constrained that it is to the narrow universe of up/down/neutral intrabar counts. You will thus see instances where price is moving up while Balance Momentum, for example, is moving down. When Bar Balance performs as intended, this indicates that the rally is weakening, which does necessarily imply that price will reverse. Occasionally, price will merrily continue to advance on weakening strength.
Divergences
Most of the divergence detection methods used here rely on a difference between the bias of a calculation involving a multi-bar average and a given bar's price direction. When using "Bar Balance on Bar" however, only the bar's balance and price movement are used. This is the default mode.
As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. I do not share the overwhelming enthusiasm traders have for the purported ability of bullish/bearish divergences to indicate imminent reversals.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . Bar Balance can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to Bar Balance and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason—not for window dressing.
█ NOTES
For traders
• To avoid misleading traders who don't read script descriptions, the indicator shows nothing in the realtime bar.
• The Data Window shows key values for the indicator.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a fixed scale.
• Note that because of the way gradients are optimized internally, changing their brightness will sometimes require bringing down the value a few steps before you see an impact.
• Because this indicator does not use volume, it will work on all markets.
For coders
• For those interested in gradients, this script uses an advanced version of the Advance/Decline gradient function from the PineCoders Color Gradient (16 colors) Framework . It allows more precise control over the range, steps and min/max values of the gradients.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— alexgrover who helped me think through the dampening method used to attenuate signal lines on high ratios of neutral intrabars.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator . The technique I use to inspect intrabars is derived from Kuan's code.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar resolutions.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics. He is also the co-author of the PineCoders Color Gradient Frameworks .
In den Scripts nach "mtf" suchen
Delta Volume Columns Pro [LucF]█ OVERVIEW
This indicator displays volume delta information calculated with intrabar inspection on historical bars, and feed updates when running in realtime. It is designed to run in a pane and can display either stacked buy/sell volume columns or a signal line which can be calculated and displayed in many different ways.
Five different models are offered to reveal different characteristics of the calculated volume delta information. Many options are offered to visualize the calculations, giving you much leeway in morphing the indicator's visuals to suit your needs. If you value delta volume information, I hope you will find the time required to master Delta Volume Columns Pro well worth the investment. I am confident that if you combine a proper understanding of the indicator's information with an intimate knowledge of the volume idiosyncrasies on the markets you trade, you can extract useful market intelligence using this tool.
█ WARNINGS
1. The indicator only works on markets where volume information is available,
Please validate that your symbol's feed carries volume information before asking me why the indicator doesn't plot values.
2. When you refresh your chart or re-execute the script on the chart, the indicator will repaint because elapsed realtime bars will then recalculate as historical bars.
3. Because the indicator uses different modes of calculation on historical and realtime bars, it's critical that you understand the differences between them. Details are provided further down.
4. Calculations using intrabar inspection on historical bars can only be done from some chart timeframes. See further down for a list of supported timeframes.
If the chart's timeframe is not supported, no historical volume delta will display.
█ CONCEPTS
Chart bars
Three different types of bars are used in charts:
1. Historical bars are bars that have already closed when the script executes on them.
2. The realtime bar is the current, incomplete bar where a script is running on an open market. There is only one active realtime bar on your chart at any given time.
The realtime bar is where alerts trigger.
3. Elapsed realtime bars are bars that were calculated when they were realtime bars but have since closed.
When a script re-executes on a chart because the browser tab is refreshed or some of its inputs are changed, elapsed realtime bars are recalculated as historical bars.
Why does this indicator use two modes of calculation?
Historical bars on TradingView charts contain OHLCV data only, which is insufficient to calculate volume delta on them with any level of precision. To mine more detailed information from those bars we look at intrabars , i.e., bars from a smaller timeframe (we call it the intrabar timeframe ) that are contained in one chart bar. If your chart Is running at 1D on a 24x7 market for example, most 1D chart bars will contain 24 underlying 1H bars in their dilation. On historical bars, this indicator looks at those intrabars to amass volume delta information. If the intrabar is up, its volume goes in the Buy bin, and inversely for the Sell bin. When price does not move on an intrabar, the polarity of the last known movement is used to determine in which bin its volume goes.
In realtime, we have access to price and volume change for each update of the chart. Because a 1D chart bar can be updated tens of thousands of times during the day, volume delta calculations on those updates is much more precise. This precision, however, comes at a price:
— The script must be running on the chart for it to keep calculating in realtime.
— If you refresh your chart you will lose all accumulated realtime calculations on elapsed realtime bars, and the realtime bar.
Elapsed realtime bars will recalculate as historical bars, i.e., using intrabar inspection, and the realtime bar's calculations will reset.
When the script recalculates elapsed realtime bars as historical bars, the values on those bars will change, which means the script repaints in those conditions.
— When the indicator first calculates on a chart containing an incomplete realtime bar, it will count ALL the existing volume on the bar as Buy or Sell volume,
depending on the polarity of the bar at that point. This will skew calculations for that first bar. Scripts have no access to the history of a realtime bar's previous updates,
and intrabar inspection cannot be used on realtime bars, so this is the only to go about this.
— Even if alerts only trigger upon confirmation of their conditions after the realtime bar closes, they are repainting alerts
because they would perhaps not have calculated the same way using intrabar inspection.
— On markets like stocks that often have different EOD and intraday feeds and volume information,
the volume's scale may not be the same for the realtime bar if your chart is at 1D, for example,
and the indicator is using an intraday timeframe to calculate on historical bars.
— Any chart timeframe can be used in realtime mode, but plots that include moving averages in their calculations may require many elapsed realtime bars before they can calculate.
You might prefer drastically reducing the periods of the moving averages, or using the volume columns mode, which displays instant values, instead of the line.
Volume Delta Balances
This indicator uses a variety of methods to evaluate five volume delta balances and derive other values from those balances. The five balances are:
1 — On Bar Balance : This is the only balance using instant values; it is simply the subtraction of the Sell volume from the Buy volume on the bar.
2 — Average Balance : Calculates a distinct EMA for both the Buy and Sell volumes, and subtracts the Sell EMA from the Buy EMA.
3 — Momentum Balance : Starts by calculating, separately for both Buy and Sell volumes, the difference between the same EMAs used in "Average Balance" and
an SMA of double the period used for the "Average Balance" EMAs. The difference for the Sell side is subtracted from the difference for the Buy side,
and an RSI of that value is calculated and brought over the −50/+50 scale.
4 — Relative Balance : The reference values used in the calculation are the Buy and Sell EMAs used in the "Average Balance".
From those, we calculate two intermediate values using how much the instant Buy and Sell volumes on the bar exceed their respective EMA — but with a twist.
If the bar's Buy volume does not exceed the EMA of Buy volume, a zero value is used. The same goes for the Sell volume with the EMA of Sell volume.
Once we have our two intermediate values for the Buy and Sell volumes exceeding their respective MA, we subtract them. The final "Relative Balance" value is an ALMA of that subtraction.
The rationale behind using zero values when the bar's Buy/Sell volume does not exceed its EMA is to only take into account the more significant volume.
If both instant volume values exceed their MA, then the difference between the two is the signal's value.
The signal is called "relative" because the intermediate values are the difference between the instant Buy/Sell volumes and their respective MA.
This balance flatlines when the bar's Buy/Sell volumes do not exceed their EMAs, which makes it useful to spot areas where trader interest dwindles, such as consolidations.
The smaller the period of the final value's ALMA, the more easily you will see the balance flatline. These flat zones should be considered no-trade zones.
5 — Percent Balance : This balance is the ALMA of the ratio of the "On Bar Balance" value, i.e., the volume delta balance on the bar (which can be positive or negative),
over the total volume for that bar.
From the balances and marker conditions, two more values are calculated:
1 — Marker Bias : It sums the up/down (+1/‒1) occurrences of the markers 1 to 4 over a period you define, so it ranges from −4 to +4, times the period.
Its calculation will depend on the modes used to calculate markers 3 and 4.
2 — Combined Balances : This is the sum of the bull/bear (+1/−1) states of each of the five balances, so it ranges from −5 to +5.
█ FEATURES
The indicator has two main modes of operation: Columns and Line .
Columns
• In Columns mode you can display stacked Buy/Sell volume columns.
• The buy section always appears above the centerline, the sell section below.
• The top and bottom sections can be colored independently using eight different methods.
• The EMAs of the Buy/Sell values can be displayed (these are the same EMAs used to calculate the "Average Balance").
Line
• Displays one of seven signals: the five balances or one of two complementary values, i.e., the "Marker Bias" or the "Combined Balances".
• You can color the line and its fill using independent calculation modes to pack more information in the display.
You can thus appraise the state of 3 different values using the line itself, its color and the color of its fill.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Default settings
Using the indicator's default settings, this is the information displayed:
• The line is calculated on the "Average Balance".
• The line's color is determined by the bull/bear state of the "Percent Balance".
• The line's fill gradient is determined by the advances/declines of the "Momentum Balance".
• The orange divergence dots are calculated using discrepancies between the polarity of the "On Bar Balance" and the chart's bar.
• The divergence levels are determined using the line's level when a divergence occurs.
• The background's fill gradient is calculated on advances/declines of the "Marker Bias".
• The chart bars are colored using advances/declines of the "Relative Balance". Divergences are shown in orange.
• The intrabar timeframe is automatically determined from the chart's timeframe so that a minimum of 50 intrabars are used to calculate volume delta on historical bars.
Alerts
The configuration of the marker conditions explained further is what determines the conditions that will trigger alerts created from this script. Note that simply selecting the display of markers does not create alerts. To create an alert on this script, you must use ALT-A from the chart. You can create multiple alerts triggering on different conditions from this same script; simply configure the markers so they define the trigger conditions for each alert before creating the alert. The configuration of the script's inputs is saved with the alert, so from then on you can change them without affecting the alert. Alert messages will mention the marker(s) that triggered the specific alert event. Keep in mind, when creating alerts on small chart timeframes, that discrepancies between alert triggers and markers displayed on your chart are to be expected. This is because the alert and your chart are running two distinct instances of the indicator on different servers and different feeds. Also keep in mind that while alerts only trigger on confirmed conditions, they are calculated using realtime calculation mode, which entails that if you refresh your chart and elapsed realtime bars recalculate as historical bars using intrabar inspection, markers will not appear in the same places they appeared in realtime. So it's important to understand that even though the alert conditions are confirmed when they trigger, these alerts will repaint.
Let's go through the sections of the script's inputs.
Columns
The size of the Buy/Sell columns always represents their respective importance on the bar, but the coloring mode for tops and bottoms is independent. The default setup uses a standard coloring mode where the Buy/Sell columns are always in the bull/bear color with a higher intensity for the winning side. Seven other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on "Average Balance", for example, you will have bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "On Bar Balance — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar. You can display the averages of the Buy and Sell columns. If you do, its coloring is controlled through the "Line" and "Line fill" sections below.
Line and Line fill
You can select the calculation mode and the thickness of the line, and independent calculations to determine the line's color and fill.
Zero Line
The zero line can display dots when all five balances are bull/bear.
Divergences
You first select the detection mode. Divergences occur whenever the up/down direction of the signal does not match the up/down polarity of the bar. Divergences are used in three components of the indicator's visuals: the orange dot, colored chart bars, and to calculate the divergence levels on the line. The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It precludes any attempt to identify a directional bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by the line's position relative to the levels, which is how I think divergences can be put to the most effective use. One of the coloring modes for the line's fill uses advances/declines in the line after divergence events.
Background
The background can show a bull/bear gradient on six different calculations. As with other gradients, you can adjust its brightness to make its importance proportional to how you use it in your analysis.
Chart bars
Chart bars can be colored using seven different methods. You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, and you can choose whether you want to show divergences.
Intrabar Timeframe
This is the intrabar timeframe that will be used to calculate volume delta using intrabar inspection on historical bars. You can choose between four modes. The three "Auto-steps" modes calculate, from the chart's timeframe, the intrabar timeframe where the said number of intrabars will make up the dilation of chart bars. Adjustments are made for non-24x7 markets. "Fixed" mode allows you to select the intrabar timeframe you want. Checking the "Show TF" box will display in the lower-right corner the intrabar timeframe used at any given moment. The proper selection of the intrabar timeframe is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors. Note that historical depth will vary with the intrabar timeframe. The smaller the timeframe, the shallower historical plots you will be.
Markers
Markers appear when the required condition has been confirmed on a closed bar. The configuration of the markers when you create an alert is what determines when the alert will trigger. Five markers are available:
• Balances Agreement : All five balances are either bullish or bearish.
• Double Bumps : A double bump is two consecutive up/down bars with +/‒ volume delta, and rising Buy/Sell volume above its average.
• Divergence confirmations : A divergence is confirmed up/down when the chosen balance is up/down on the previous bar when that bar was down/up, and this bar is up/down.
• Balance Shifts : These are bull/bear transitions of the selected signal.
• Marker Bias Shifts : Marker bias shifts occur when it crosses into bull/bear territory.
Periods
Allows control over the periods of the different moving averages used to calculate the balances.
Volume Discrepancies
Stock exchanges do not report the same volume for intraday and daily (or higher) resolutions. Other variations in how volume information is reported can also occur in other markets, namely Forex, where volume irregularities can even occur between different intraday timeframes. This will cause discrepancies between the total volume on the bar at the chart's timeframe, and the total volume calculated by adding the volume of the intrabars in that bar's dilation. This does not necessarily invalidate the volume delta information calculated from intrabars, but it tells us that we are using partial volume data. A mechanism to detect chart vs intrabar timeframe volume discrepancies is provided. It allows you to define a threshold percentage above which the background will indicate a difference has been detected.
Other Settings
You can control here the display of the gray dot reminder on realtime bars, and the display of error messages if you are using a chart timeframe that is not greater than the fixed intrabar timeframe, when you use that mode. Disabling the message can be useful if you only use realtime mode at chart timeframes that do not support intrabar inspection.
█ RAMBLINGS
On Volume Delta
Volume is arguably the best complement to interpret price action, and I consider volume delta to be the most effective way of processing volume information. In periods of low-volatility price consolidations, volume will typically also be lower than normal, but slight imbalances in the trend of the buy/sell volume balance can sometimes help put early odds on the direction of the break from consolidation. Additionally, the progression of the volume imbalance can help determine the proximity of the breakout. I also find volume delta and the number of divergences very useful to evaluate the strength of trends. In trends, I am looking for "slow and steady", i.e., relatively low volatility and pauses where price action doesn't look like world affairs are being reassessed. In my personal mythology, this type of trend is often more resilient than high-volatility breakouts, especially when volume balance confirms the general agreement of traders signaled by the low-volatility usually accompanying this type of trend. The volume action on pauses will often help me decide between aggressively taking profits, tightening a stop or going for a longer-term movement. As for reversals, they generally occur in high-volatility areas where entering trades is more expensive and riskier. While the identification of counter-trend reversals fascinates many traders to no end, they represent poor opportunities in my view. Volume imbalances often precede reversals, but I prefer to use volume delta information to identify the areas following reversals where I can confirm them and make relatively low-cost entries with better odds.
On "Buy/Sell" Volume
Buying or selling volume are misnomers, as every unit of volume transacted is both bought and sold by two different traders. While this does not keep me from using the terms, there is no such thing as “buy only” or “sell only” volume. Trader lingo is riddled with peculiarities.
Divergences
The divergence detection method used here relies on a difference between the direction of a signal and the polarity (up/down) of a chart bar. When using the default "On Bar Balance" to detect divergences, however, only the bar's volume delta is used. You may wonder how there can be divergences between buying/selling volume information and price movement on one bar. This will sometimes be due to the calculation's shortcomings, but divergences may also occur in instances where because of order book structure, it takes less volume to increase the price of an asset than it takes to decrease it. As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. To your pattern-hungry brain, the divergences displayed by this indicator will — as they do on other indicators — appear to often indicate turnarounds. My opinion is that reality is generally quite sobering and I have no reliable information that would tend to prove otherwise. Exercise caution when using them. Consequently, I do not share the overwhelming enthusiasm of traders in identifying bullish/bearish divergences. For me, the best course of action when a divergence occurs is to wait and see what happens from there. That is the rationale underlying how my divergence levels work; they take note of a signal's level when a divergence occurs, and it's the signal's behavior from that point on that determines if the post-divergence action is bullish/bearish.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . This indicator can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to it and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason — not for window dressing.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars — which is not officially supported by TradingView.
It has the advantage of permitting a more robust calculation of volume delta than other methods on historical bars, but also has its limits.
• Intrabar inspection only works on some chart timeframes: 3, 5, 10, 15 and 30 minutes, 1, 2, 3, 4, 6, and 12 hours, 1 day, 1 week and 1 month.
The script’s code can be modified to run on other resolutions.
• When the difference between the chart’s timeframe and the intrabar timeframe is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• All volume is not created equally. Its source, components, quality and reliability will vary considerably with sectors and instruments.
The higher the quality, the more reliably volume delta information can be used to guide your decisions.
You should make it your responsibility to understand the volume information provided in the data feeds you use. It will help you make the most of volume delta.
█ NOTES
For traders
• The Data Window shows key values for the indicator.
• While this indicator displays some of the same information calculated in my Delta Volume Columns ,
I have elected to make it a separate publication so that traders continue to have a simpler alternative available to them. Both code bases will continue to evolve separately.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a pre-determined scale.
• Volume delta being relative, by nature, it is particularly well-suited to Forex markets, as it filters out quite elegantly the cyclical volume data characterizing the sector.
If you are interested in volume delta, consider having a look at my other "Delta Volume" indicators:
• Delta Volume Realtime Action displays realtime volume delta and tick information on the chart.
• Delta Volume Candles builds volume delta candles on the chart.
• Delta Volume Columns is a simpler version of this indicator.
For coders
• I use the `f_c_gradientRelativePro()` from the PineCoders Color Gradient Framework to build my gradients.
This function has the advantage of allowing begin/end colors for both the bull and bear colors. It also allows us to define the number of steps allowed for each gradient.
I use this to modulate the gradients so they perform optimally on the combination of the signal used to calculate advances/declines,
but also the nature of the visual component the gradient applies to. I use fewer steps for choppy signals and when the gradient is used on discrete visual components
such as volume columns or chart bars.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— The devs from TradingView's Pine and other teams, and the PineCoders who collaborate with them. They are doing amazing work,
and much of what this indicator does could not be done without their recent improvements to Pine.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator using a `for` loop.
This indicator started from the intrabar inspection technique illustrated in Kuan's snippet.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar timeframes.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics.
EMA FAST-SLOWThis indicator has the following
ema fast (length 3 and 8 ) based on 240 min
ema slow (length 3 and 8 ) based on daily MTF
The reason for the two length in each EMA is to give us the the insight of shorter trend in larger trend
so the large trend is when ema fast 240 min is above the daily ema slow this is shown in the bullish or bearish zones
the smaler trend for each MTF is shown in different color (lime:red) for ema fast 240 min , and (green:orange) for the slow daily EMA
when we this setting on smaller time frame so it more easy to see where the asset is going this the basic idea
you can change the setting as you wish in oreder to find the best one for your time frame
Crypto Indicators #u9tusA set of low timeframe (LTF), medium timeframe (MTF), and high timeframe (HTF) indicators for use in crypto currencies / bitcoin.
Traditionally the 10, 20, 50, 100, and 200 SMAs are used in TA. With cryptos, I've found that the 8 EMA, 21, 55, and 128 SMAs backtest better, while no change in length was necessary for the 200. I wanted to combine all these into one indicator to easily add them to a chart layout, hence this script.
You can customize the length of each MA to your liking in the settings, or accept the defaults.
LTF Indicators:
8 EMA in blue hues, medium line stroke.
MTF Indicators:
21, 55 SMA in purple hues, medium line stroke.
HTF Indicators:
128, 200 SMA in yellow hues, thick line stroke.
Defaults are for daily timeframes and lower; suggest changing up the intervals for weekly and monthly to:
21 -> 30
55 -> 50
128 -> 100
$BTC, $ETH, #ALTS
twitter.com
(c) @jhaurawachsman 20190515
X system v1Similar to X system but here I use the super trend with MTF function
the sell option depend on the % channel sell seen in red as bearish rule (so both need to agree)
the buy option depend only on the MTF which is set on 2 hour on 1 hour candles. you can try to modify if you want shorter times to see if it better
if you want it sell more just remove the and bearish rule from t green for buy in the code
try to make it better and I hope it can help you :)
Donochian CCISo this indicator have the following:
1. MTF CCI
2. donochian channel MTF both non repaint mode
buliish and bearish zone determine by ratio of the the donochian cahnnel
enter or exit can be either the bullish or bearish change of color or by cross over or under of the CCI
or combination of both
The high max and low max of the donochian channel show in hilated bar
Donochian zonesThis indicator give the ratio between the high and low of donochian channel and if we take ratio and add it to each other then we can calculate if it + meaning bullish trend or negative meaning bearish trend
using non repainting MTF we can see the zone of the channel at different time set
we can use this indicator to filter bad signal or make it stand alone
here example of amazon stock with 360 min mtf over one hour graph
here facebook 240min over 15 min graph
linreg-areas (like fib system just more accurate) So this system is a different approach to form a daily fib like system.
Its based on linear regression and its slope , we calculate the slope of the line and we put it in MTF format that is without security and non repainting (int2=1440 min)
As you in graph the coin in this case BTC has cycle from low to high similar to the fibs system.
the lowest level is bellow -0.2 , next level is -0.1 ,0,0.1 and above 0.2 is consider the highest
with this system its easy to find the highs and the lows as the coin go between the levels either up or down like the fibs system.
one can use this together with fibs system in order to make analysis more accurate.
also it easy to set signals once the slope go between levels either up or down . another advantage for this system compare to fibs system is the ability to reduce the MTF to lower frame let say 4 hour or even less and then by the same logic to create system of high and lows to the most smaller frames (but if you do that you need in code to change the levels setting numbers so it fit the best )
follow the direction of the slope and you will find the road that you wish:))
Moving Average Stop and Reverse alertsNothing fancy here , the main study is this one
so all credit to him. I change the MTF settings (int2 is contol of that ) and adds alerts
So in basic its a better SAR with MTF function
DEMARSIV1 alerts and take profitThis version is the same as DEMARSI with following differences
I add take profit to short and long when DEMA MTF 1 is crossing DEMA MTF 2 (they are calculated different that why when you increase int2 in min to longer time the difference between them increse)
if you want the TP to be on signal of fast and slow DEMA RSI 2 (just change the code inside) by putting the long cond to be as the buy cond
for any questions please ask
BSP-colorsIts MTF of the BSP model. here i need to warn you that this model can repaint. so I did not create any signals to it. On the other hand since its design for this mistake. you can use it to see the bullish or bearish zones in easy way.
So the basic idea here is to see the zones of buy and sell of weis model in mTF format.
Inverse Fisher-rsi-crudeSo this is a crude version just to show the idea. I use the code of capissoimo, www.tradingview.com
together with my older code and I just change few things. in next version I will try make it more correct, but this is just to show the idea of the MTF reverse fisher RSI
this is setting for 30 min graph with MTF of 120 min
so have fun
Gomoku_V2I tried to improve the one - step equilibrium table.
Since the original glance consisted of the middle line of the Hiroo band, something is calculated from the upper and lower lines.
Leading span A = Double the width of the HiLo band (Green 2) * (1-75 (≒ 76.4% return)), the central complex clouds only changed the expression at a glance.
It is unified to shift all lines at first glance by 25. The old lagging span was renamed to the preceding price span.
You can use the first line of conversion line and reference line with the combination of the preceding conversion line, the preceding reference line and the preceding price span.
The part surrounded by the preceding conversion line and the preceding reference line is defined as rain cloud.
The leading span B is the interpretation of the rain cloud and the effective value of the cloud.
(the width of the reference line and the leading span A) ÷ The width of the rain cloud is like the intensity of the cloud.
Rain clouds have the same properties as clouds, and the twisted parts are weak.
When the type of cloud and rain cloud are different, it is countervailing and resistance seems to be weak.
Even when the width of the leading span A and the leading reference line is narrow, the resistance seems to be weak.
It seems there are clouds above and below as well because it was the motivation for development so there are two clouds each above and below. The clouds are five (although it is actually six) so it is the fifth grade.
It should normally be bounced back in the green zone.
There is a red zone for abnormal price fluctuations.
It seems that the upper and lower clouds only bounce back toward the center.
If you are not satisfied with price movements overall it seems that you are in the range market, often breaking through for the passage of time.
Update Ver 2.0
integrate MTF amagumo
Devices of color arrangement
The resistance is strong where the cloud color is thin.
It should be weak as the force is canceled as much as it is black.
Batch display option for each part
Specealthanks
Ichimoku kinkou hyou
KazmaxFAN Club # Place for technical discussion
一目均衡表を改良してみました。
元の一目はハイローバンドの中線から構成されていたので、上下の線から何かを算出しています。
先行スパンA=ハイローバンドの幅の2倍(Green2)*(1-75(≒76.4%戻し)) という発見により、中央の複雑な雲は一目の表現を変えるだけにしました。
一目の線は全て25前にずらすのに統一です。旧遅行スパンは先行価格スパンに改名しました。
先行転換線と先行基準線と先行価格スパンの組み合わせで一目の転換線と基準線の使い方が出来ます。
先行転換線と先行基準線で囲まれた部分は雨雲と定義。
先行スパンBは雨雲と雲の実効値という解釈です。
(基準線と先行スパンAの幅)÷雨雲の幅が雲の強度という感じです。
雨雲も雲と同じ性質を持っていて、ねじれた部分は弱いぽいです。
雲と雨雲の種類が異なる時は打ち消しあって抵抗が弱いようです。
先行スパンAと先行基準線の幅が狭い時も抵抗が弱いようです。
上下にも雲があるように思えたのが開発の動機だったので上下に各2本雲があります。雲が5本(本当は6本ですが)だから五目です。
通常はグリーンゾーンで跳ね返されるはずです。
異常な価格変動用にレッドゾーンがあります。
上下の雲は中央に向けて跳ね返すくらいしかしないようです。
全体的に価格移動に困ればレンジ相場になって、時間の経過で強行突破することが多いように見えます。
Update Ver2.0
MTF amagumoを統合
配色を工夫
雲の色が薄い所は抵抗が強いです。
黒い所ほど力が打ち消しあって弱いはずです。
各パーツごとに一括表示オプション
Specealthanks
一目均衡表
KazmaxFAN倶楽部 #テクニカル議論の場
STRAT PANEL INTRADAY Extended and ATRUse on intraday charts (≤ 4H).
Multi-timeframe STRAT continuity for: 1m / 5m / 15m / 30m / 1H / 4H / 12H using Extended session candles (toggle in settings).
Columns: STRAT (last 3 closed), LAST (last closed type), CUR (current type: Live/Stable), DIR, REV.
Includes ATR context: D / W / M / 12M + optional ATR-based estimated moves.
MA Smart SyncMA Smart Sync determines the market bias by evaluating the price position relative to a moving average channel on four independent timeframes and returning a confluence signal when a configurable number of them agree.
Unlike standard MTF trend indicators that rely on EMA crossovers or slope direction, this script builds a channel around each timeframe and classifies price into three discrete zones: above, below, or inside. The "inside" state acts as a neutral filter, preventing false confluence signals during consolidation — a key distinction from binary up/down dashboards.
The channel itself can be constructed using five different methods selectable from a single input: High/Low MA (separate MAs applied to high and low), Close ± ATR, Close ± Standard Deviation, Close ± percentage offset, or classic Bollinger Bands. All five use the same MA type and length inputs, making it straightforward to compare how different volatility envelopes behave on the same instrument without rebuilding the indicator.
How to use:
— Set four timeframes matching your trading plan (defaults: 15m, 1h, 4h, D).
— Choose the channel method that fits your instrument's volatility profile. ATR-based channels adapt well to forex; StdDev and Bollinger suit equities and indices.
— Set "Minimum Confluence" to 3 or 4. A value of 4 means all timeframes must agree before a signal fires.
— The background color and arrow labels update only when bias changes, keeping the chart clean.
— Use the status table (top-right) to monitor each timeframe independently and identify which TFs are lagging.
EMA Core Bounce FX (MTF safe Daily Logic)Daily chart core bounce strat
tested works well with the ! H version
TPC-Buying and Selling areasTPC - Buying and Selling Areas
Open-source multi-timeframe indicator that automatically detects and displays Supply (resistance) and Demand (support) zones based on swing structure, along with Fair Value Gaps (FVGs) for imbalance visualization. Supports up to two higher timeframes (MTF) for Supply/Demand + optional current-chart or custom timeframe FVGs, with mitigation tracking, alerts, and a dashboard for FVG stats.
Overview
This tool helps identify key price areas where institutional buying/selling pressure may have accumulated (Supply/Demand zones) and inefficiencies/imbalances in price delivery (Fair Value Gaps).
It plots:
•Demand zones (potential support/buy areas) in green tones
•Supply zones (potential resistance/sell areas) in red tones
•Bullish/Bearish FVGs as filled or line areas (with dynamic or fixed extension options)
•A simple FVG dashboard showing count and mitigation percentage
Zones mitigate (disappear or mark as filled) when price closes/wicks through them. Designed for clean charts with configurable visibility, box pooling, and alerts on new zones or FVG events.
How It Works (Conceptual)
•Supply & Demand Zones
•Uses pivot-based swing highs/lows from one or two user-selectable higher timeframes (or chart timeframe).
•Detects structure breaks (e.g., higher highs/lows, lower highs/lows) near recent ATR range to form zones.
•Zones drawn as extendable boxes with timeframe label, customizable borders/text.
•Mitigation: Zones removed or marked when price breaches them (close or extreme/wick, configurable globally or per TF).
•Only shows recent zones (user-defined "show last N") and cleans up on lower timeframes if desired.
•Fair Value Gaps (FVGs)
•Detects 3-candle imbalances where price gaps aggressively (low > high for bullish, high < low for bearish, with optional size threshold).
•Plots as semi-transparent boxes (fixed extend) or dynamic fills that adjust with price.
•Tracks mitigation (when price fills the gap) and optionally draws dashed mitigation lines.
•Shows unmitigated recent FVGs as lines + dashboard stats (total count, % mitigated for bull/bear).
•Multi-timeframe logic uses request.security() for higher TFs, with careful handling for display on lower charts.
See the code for full pivot detection, array management, mitigation loops, and FVG conditions.
How to Use
•Best on volatile/liquid markets (crypto, forex, indices, futures) across intraday to daily timeframes.
•Use Demand zones (green) as potential long entries or support flips when price approaches from above.
•Use Supply zones (red) as potential short entries or resistance when price approaches from below.
•FVGs highlight inefficiencies: bullish FVGs often act as magnets/pullbacks in uptrends; bearish in downtrends.
•Combine with higher-timeframe bias (e.g., show HTF zones on LTF chart) for confluence.
•Alerts fire on: new demand/supply zone, new bullish/bearish FVG, or FVG mitigation.
•Keep "Show only on lower timeframes" enabled to avoid clutter on HTF charts.
•Adjust "Box Size" (pool) if you hit max_boxes limit on very long histories.
Settings
General Settings
•Hide all Demand / Supply zones
•Show S&D only on lower TFs
•S&D Box Size (pool limit, default 80)
•Mitigate on Close or Wick/Extreme
Timeframe 1 & Timeframe 2 (identical groups)
•Set to chart timeframe (or custom)
•Show Demand/Supply
•Alerts for new zones
•Timeframe multiplier + period (Min/Hour/Day/Week/Month)
•Swing Length for pivots
•Border type/width, text size/color
•Demand/Supply colors
•Show last N zones per type
FVG Settings
•Threshold % (min gap size) or Auto
•Unmitigated levels to show
•Mitigation levels (dashed lines)
•FVG Timeframe (blank = chart)
FVG Style
•Extend bars
•Dynamic fill (adjusts with price)
•Bullish/Bearish colors
FVG Dashboard
•Show dashboard
•Location (Top Right etc.)
•Text size
Notes / Limitations
•Non-repainting after bar close (uses confirmed pivots/security data).
•Heavy on boxes/lines — increase pool size carefully (TradingView limits apply).
•FVGs can fill quickly in ranging markets; use with structure/context.
•Always backtest and combine with your analysis — not financial advice, trading carries risk.
•Open-source: feel free to fork, improve, or learn from it.
Market Structure & Supply-Demand EngineMarket Structure & Supply-Demand Engine (MSD-Engine) is a professional, non-repainting market structure and supply-demand analysis tool built purely on price action and volatility logic.
This indicator is designed for discretionary traders who want a clean, institutional-style view of market structure without lagging indicators or strategy automation.
🔍 What This Indicator Does
MSD-Engine identifies major structural reversals, plots price-action based supply & demand zones, and provides multi-timeframe confluence in a single, unified framework.
It is visual and analytical only — no strategy orders, no backtesting, and no repainting.
🚀 Core Features
• Non-Repainting Market Structure
Event-based swing reversal detection
ATR-adaptive displacement filtering
Confirmed pivots only (no future leaks)
• Pure Supply & Demand Zones
Candle-structure based zone detection
Volume-weighted zone strength
Automatic invalidation on breach
Configurable zone limits to maintain chart clarity
• Multi-Timeframe Context (MTF)
Chart timeframe structure
Two independent higher-timeframe supply & demand layers
Higher-timeframe directional bias visualization
HTF zones plotted only on confirmed HTF closes
• Volatility-Adaptive Logic
ATR normalized across timeframes
Dynamic reversal thresholds
Stable behavior from scalping to swing charts
• Trendline Lifecycle Tracking
Automatic major trendline construction
Single-fire break detection
Break validation / failure logic
HTF-aligned vs counter-trend classification
🧠 Designed For
• Discretionary price-action traders
• Supply & demand traders
• Market structure & smart-money style analysis
• Multi-timeframe confluence trading
• Futures, indices, forex, crypto, and equities
⚠️ Important Notes
This is NOT a strategy or auto-trading system
No buy/sell signals or performance metrics
No repainting (uses barmerge.lookahead_off)
Educational & analytical use only
📜 Disclaimer
This script is provided for educational and analytical purposes only.
It does not constitute financial advice. Trading financial markets involves risk.
Sonic R 89 - NY buy LionLee 079 228 1999//@version=5
indicator("Sonic R 89 - NY SL Custom Fixed", overlay=true, max_lines_count=500)
// --- 0. TÙY CHỈNH THÔNG SỐ ---
group_session = "Cài đặt Phiên Giao Dịch (Giờ New York)"
use_session = input.bool(true, "Chỉ giao dịch theo khung giờ", group=group_session)
session_time = input.session("0800-1200", "Khung giờ NY 1", group=group_session)
session_time2 = input.session("1300-1700", "Khung giờ NY 2", group=group_session)
max_trades_per_session = input.int(1, "Số lệnh tối đa/mỗi khung giờ", minval=1, group=group_session)
group_risk = "Quản lý Rủi ro (Dashboard)"
risk_usd = input.float(100.0, "Số tiền rủi ro mỗi lệnh ($)", minval=1.0, group=group_risk)
group_sl_custom = "Cấu hình Stop Loss (SL)"
sl_mode = input.string("Dragon", "Chế độ SL", options= , group=group_sl_custom)
lookback_x = input.int(5, "Số nến (X) cho Swing SL", minval=1, group=group_sl_custom)
group_htf = "Lọc Đa khung thời gian (MTF)"
htf_res = input.timeframe("30", "Chọn khung HTF", group=group_htf)
group_sonic = "Cấu hình Sonic R"
vol_mult = input.float(1.5, "Đột biến Volume", minval=1.0)
max_waves = input.int(4, "Ưu tiên n nhịp đầu", minval=1)
trade_cd = input.int(5, "Khoảng cách lệnh (nến)", minval=1)
group_tp = "Quản lý SL/TP & Dòng kẻ"
rr_tp1 = input.float(1.0, "TP1 (RR)", step=0.1)
rr_tp2 = input.float(2.0, "TP2 (RR)", step=0.1)
rr_tp3 = input.float(3.0, "TP3 (RR)", step=0.1)
rr_tp4 = input.float(4.0, "TP4 (RR)", step=0.1)
line_len = input.int(15, "Chiều dài dòng kẻ", minval=1)
// --- 1. KIỂM TRA PHIÊN & HTF ---
is_in_sess1 = not na(time(timeframe.period, session_time, "America/New_York"))
is_in_sess2 = not na(time(timeframe.period, session_time2, "America/New_York"))
is_in_session = use_session ? (is_in_sess1 or is_in_sess2) : true
var int trades_count = 0
is_new_session = is_in_session and not is_in_session
if is_new_session
trades_count := 0
htf_open = request.security(syminfo.tickerid, htf_res, open, lookahead=barmerge.lookahead_on)
htf_close = request.security(syminfo.tickerid, htf_res, close, lookahead=barmerge.lookahead_on)
is_htf_trend = htf_close >= htf_open ? 1 : -1
// --- 2. TÍNH TOÁN CHỈ BÁO ---
ema89 = ta.ema(close, 89)
ema34H = ta.ema(high, 34)
ema34L = ta.ema(low, 34)
atr = ta.atr(14)
avgVol = ta.sma(volume, 20)
slope89 = (ema89 - ema89 ) / atr
hasSlope = math.abs(slope89) > 0.12
isSqueezed = math.abs(ta.ema(close, 34) - ema89) < (atr * 0.5)
var int waveCount = 0
if not hasSlope
waveCount := 0
newWave = hasSlope and ((low <= ema34H and close > ema34H) or (high >= ema34L and close < ema34L))
if newWave and not newWave
waveCount := waveCount + 1
// --- 3. LOGIC VÀO LỆNH ---
isMarubozu = math.abs(close - open) / (high - low) > 0.8
highVol = volume > avgVol * vol_mult
buyCondition = is_in_session and (trades_count < max_trades_per_session) and waveCount <= max_waves and is_htf_trend == 1 and
(isMarubozu or highVol) and close > ema34H and low >= ema89 and
(slope89 > 0.1 or isSqueezed ) and close > open
sellCondition = is_in_session and (trades_count < max_trades_per_session) and waveCount <= max_waves and is_htf_trend == -1 and
(isMarubozu or highVol) and close < ema34L and high <= ema89 and
(slope89 < -0.1 or isSqueezed ) and close < open
// --- 4. QUẢN LÝ LỆNH ---
var float last_entry = na
var float last_sl = na
var float last_tp1 = na
var float last_tp2 = na
var float last_tp3 = na
var float last_tp4 = na
var string last_type = "NONE"
var int lastBar = 0
trigger_buy = buyCondition and (bar_index - lastBar > trade_cd)
trigger_sell = sellCondition and (bar_index - lastBar > trade_cd)
// --- 5. TÍNH TOÁN SL & LOT SIZE ---
float contract_size = 1.0
if str.contains(syminfo.ticker, "XAU") or str.contains(syminfo.ticker, "GOLD")
contract_size := 100
// Logic tính SL linh hoạt
float swing_low = ta.lowest(low, lookback_x)
float swing_high = ta.highest(high, lookback_x)
float temp_sl_calc = na
if trigger_buy
temp_sl_calc := (sl_mode == "Dragon") ? ema34L : swing_low
if trigger_sell
temp_sl_calc := (sl_mode == "Dragon") ? ema34H : swing_high
float sl_dist_calc = math.abs(close - temp_sl_calc)
float calc_lots = (sl_dist_calc > 0) ? (risk_usd / (sl_dist_calc * contract_size)) : 0
if (trigger_buy or trigger_sell)
trades_count := trades_count + 1
lastBar := bar_index
last_type := trigger_buy ? "BUY" : "SELL"
last_entry := close
last_sl := temp_sl_calc
float riskAmt = math.abs(last_entry - last_sl)
last_tp1 := trigger_buy ? last_entry + (riskAmt * rr_tp1) : last_entry - (riskAmt * rr_tp1)
last_tp2 := trigger_buy ? last_entry + (riskAmt * rr_tp2) : last_entry - (riskAmt * rr_tp2)
last_tp3 := trigger_buy ? last_entry + (riskAmt * rr_tp3) : last_entry - (riskAmt * rr_tp3)
last_tp4 := trigger_buy ? last_entry + (riskAmt * rr_tp4) : last_entry - (riskAmt * rr_tp4)
// Vẽ dòng kẻ
line.new(bar_index, last_entry, bar_index + line_len, last_entry, color=color.new(color.gray, 50), width=2)
line.new(bar_index, last_sl, bar_index + line_len, last_sl, color=color.red, width=2, style=line.style_dashed)
line.new(bar_index, last_tp1, bar_index + line_len, last_tp1, color=color.green, width=1)
line.new(bar_index, last_tp2, bar_index + line_len, last_tp2, color=color.lime, width=1)
line.new(bar_index, last_tp3, bar_index + line_len, last_tp3, color=color.aqua, width=1)
line.new(bar_index, last_tp4, bar_index + line_len, last_tp4, color=color.blue, width=2)
// KÍCH HOẠT ALERT()
string alert_msg = (trigger_buy ? "BUY " : "SELL ") + syminfo.ticker + " at " + str.tostring(close) + " | SL Mode: " + sl_mode + " | Lot: " + str.tostring(calc_lots, "#.##") + " | SL: " + str.tostring(last_sl, format.mintick)
alert(alert_msg, alert.freq_once_per_bar_close)
// --- 6. CẢNH BÁO CỐ ĐỊNH ---
alertcondition(trigger_buy, title="Sonic R BUY Alert", message="Sonic R BUY Signal Detected")
alertcondition(trigger_sell, title="Sonic R SELL Alert", message="Sonic R SELL Signal Detected")
// --- 7. DASHBOARD & PLOT ---
var table sonic_table = table.new(position.top_right, 2, 10, bgcolor=color.new(color.black, 70), border_width=1, border_color=color.gray)
if barstate.islast
table.cell(sonic_table, 0, 0, "NY SESSION", text_color=color.white), table.cell(sonic_table, 1, 0, last_type, text_color=(last_type == "BUY" ? color.lime : color.red))
table.cell(sonic_table, 0, 1, "SL Mode:", text_color=color.white), table.cell(sonic_table, 1, 1, sl_mode, text_color=color.orange)
table.cell(sonic_table, 0, 2, "Trades this Sess:", text_color=color.white), table.cell(sonic_table, 1, 2, str.tostring(trades_count) + "/" + str.tostring(max_trades_per_session), text_color=color.yellow)
table.cell(sonic_table, 0, 3, "LOT SIZE:", text_color=color.orange), table.cell(sonic_table, 1, 3, str.tostring(calc_lots, "#.##"), text_color=color.orange)
table.cell(sonic_table, 0, 4, "Entry:", text_color=color.white), table.cell(sonic_table, 1, 4, str.tostring(last_entry, format.mintick), text_color=color.yellow)
table.cell(sonic_table, 0, 5, "SL:", text_color=color.white), table.cell(sonic_table, 1, 5, str.tostring(last_sl, format.mintick), text_color=color.red)
table.cell(sonic_table, 0, 6, "TP1:", text_color=color.gray), table.cell(sonic_table, 1, 6, str.tostring(last_tp1, format.mintick), text_color=color.green)
table.cell(sonic_table, 0, 7, "TP2:", text_color=color.gray), table.cell(sonic_table, 1, 7, str.tostring(last_tp2, format.mintick), text_color=color.lime)
table.cell(sonic_table, 0, 8, "TP3:", text_color=color.gray), table.cell(sonic_table, 1, 8, str.tostring(last_tp3, format.mintick), text_color=color.aqua)
table.cell(sonic_table, 0, 9, "TP4:", text_color=color.gray), table.cell(sonic_table, 1, 9, str.tostring(last_tp4, format.mintick), text_color=color.blue)
plot(ema89, color=slope89 > 0.1 ? color.lime : slope89 < -0.1 ? color.red : color.gray, linewidth=2)
p_high = plot(ema34H, color=color.new(color.blue, 80))
p_low = plot(ema34L, color=color.new(color.blue, 80))
fill(p_high, p_low, color=color.new(color.blue, 96))
plotshape(trigger_buy, "BUY", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(trigger_sell, "SELL", shape.triangledown, location.abovebar, color=color.red, size=size.small)
bgcolor(isSqueezed ? color.new(color.yellow, 92) : na)
bgcolor(not is_in_session ? color.new(color.gray, 96) : na)
[ggarritano] MTF Zones + Context Table + POC.This indicator maps Premium, Equilibrium and Discount zones across up to 8 configurable timeframes, based on the most recent swing range (pivot high/low) and extends the zones forward in real time. It also includes a Context Table that summarizes, per timeframe:
Current Zone (Premium / Equilibrium / Discount + mid areas)
% Position inside the swing range (-100 to +100)
Context (Discount / Neutral / Premium) derived from the % value
Distance to the nearest pivot (Stop (pts))
Distance to the next relevant zone (Target (pts))
Additionally, the script can plot:
Previous period levels: PDH/PDL, PWH/PWL, PMH/PML
Pivot POC (Approx.) per timeframe (optional and independent from zone plotting)
⚠️ POC note: Pine Script does not provide true volume-at-price data. The “Pivot POC” here is an approximation built by accumulating candle volume into price bins inside the active pivot range (HLC3 mode is lighter; Spread mode is more profile-like but heavier).
Use the timeframe toggles to control what you plot and what appears in the table, and adjust Pivot Length + Neutral Band to fit your market and style.
Daily Bias Trade Manager [MarkitTick]💡 The Daily Bias Trade Manager is a sophisticated technical analysis suite designed to automate the identification of high-probability intraday setups based on liquidity concepts and structural shifts. By synthesizing Previous Day High/Low (PDH/PDL) interactions with momentum confirmation and strict risk management protocols, this tool assists traders in navigating the "Daily Bias." It moves beyond simple signal generation by offering a complete trade management visualization system, projecting entries, stop losses, and take-profit levels directly onto the chart in real-time.
✨ Originality and Utility
This script distinguishes itself by integrating institutional price action theory—specifically Liquidity Sweeps and Change in State of Delivery (CISD)—with mechanical filtering. While many indicators simply highlight highs and lows, the Daily Bias Trade Manager validates these levels by analyzing what happens *after* price tests them.
It solves a common problem for intraday traders: "Analysis Paralysis." By automating the detection of structure breaks (MSS) and Fair Value Gaps (FVG) following a sweep of daily liquidity, it provides an objective framework for entry. Furthermore, the built-in "Position Box" feature removes the guesswork from trade execution by instantly calculating risk-to-reward ratios and visualizing them, allowing traders to see the feasibility of a trade before execution.
🔬 Methodology and Concepts
The core logic operates on a sequential detection model:
Liquidity Identification: The script first plots the Previous Day High (PDH) and Previous Day Low (PDL). These are critical institutional reference points where stop-loss orders (liquidity) often reside.
The Sweep: A "Sweep" is confirmed when price breaches a PDH/PDL but fails to sustain the breakout, closing back inside the previous day's range. This suggests a "Fake-out" or liquidity grab, often a precursor to a reversal.
Change in State of Delivery (CISD): Following a sweep, the script monitors local market structure. It looks for a decisive close past a recent swing point (Swing High for shorts, Swing Low for longs) within a user-defined bar window. This confirms that the counter-trend move has momentum.
Confluence Filtering: To reduce false positives, the engine applies optional filters:
RVOL (Relative Volume): Ensures the sweep occurred on significant volume (Climax behavior).
RSI Momentum: Verifies that momentum supports the reversal direction.
Trend Filter: Uses a long-term EMA to ensure trades align with the broader market direction.
Entry Model: Upon validation, the script calculates an entry at the close (or optionally at a Fair Value Gap), places a Stop Loss at the sweep extreme, and projects three Take Profit targets based on configurable R:R ratios.
🎨 Visual Guide
The indicator uses a distinct color-coded system to keep the chart clean yet informative:
● Liquidity Levels & Sweeps
Orange/Blue Lines: Represent the PDH (Previous Day High) and PDL (Previous Day Low).
Teal Shaded Zones: Indicate a "Buy-Side Sweep" (Price took highs and rejected).
Red Shaded Zones: Indicate a "Sell-Side Sweep" (Price took lows and rejected).
● Position Management Boxes
When a signal triggers, a structured box appears:
Solid Gray Line: The theoretical Entry Price.
Solid Red Line: The Stop Loss (SL), typically placed at the swing high/low of the sweep.
Dashed Blue Lines: Represent TP1, TP2, and TP3 targets based on Reward-to-Risk settings.
Labels: Data tags on the right side of the box show exact price coordinates for Entry, SL, and Targets.
● Signals & Clouds
Green "BUY" Labels: Appear below the bar when a bullish sweep and structural shift are confirmed.
Red "SELL" Labels: Appear above the bar when a bearish sweep is validated.
Yellow Clouds: Highlight Fair Value Gaps (FVG) used for entry confluence or retests.
● Multi-Timeframe (MTF) Dashboard
A panel (default: Top Right) displays the status of up to three higher timeframes.
Trend: Shows "BULL" or "BEAR" based on EMA alignment.
Liquidity: Indicates if the timeframe is "Taking Buy Liq", "Taking Sell Liq", or "Inside Range".
📖 How to Use
● Bullish Reversal Setup
Wait for price to drop below the Blue PDL Line.
Look for a Red Sell-Side Sweep Zone to form, indicating price has rejected lower prices.
Wait for the Green BUY Signal . This confirms a shift in structure (CISD) back to the upside.
Observe the Position Box. If the Risk/Reward is favorable (targets are within reasonable reach), consider the trade.
Optional: Use the "Dynamic Targets" setting to target the previous swing high instead of a fixed ratio.
● Bearish Reversal Setup
Wait for price to rally above the Orange PDH Line.
Look for a Teal Buy-Side Sweep Zone .
Wait for the Red SELL Signal confirming the rejection.
Ensure the dashboard shows alignment (e.g., Higher Timeframe Trend is Bearish) for higher probability.
● Trade Management
Enable the "ATR Trailing Stop" in settings to have the Stop Loss line dynamically adjust as price moves in your favor, locking in potential gains.
⚙️ Inputs and Settings
● General & Display
Show Daily Liquidity: Toggles the PDH/PDL lines.
Max Signals/Zones: Limits the visual clutter by restricting historical shapes.
● Detection Logic
Swing Detection Length: Controls the sensitivity of pivot points. Higher numbers = fewer, more significant swings.
CISD Window: How many bars after a sweep are allowed for the structure shift to occur.
Use FVG Entry: If true, the signal waits for a retest of a gap rather than entering immediately at the close.
● Filters
Volume (RVOL): Requires the sweep candle volume to be X times larger than average.
Trend Filter: Only allows Buy signals above the EMA and Sell signals below it.
Session Filter: Restricts signals to specific hours (e.g., New York Killzone).
● Targets & Management
Target R:R: Sets the multiplier for TP1, TP2, TP3 relative to the stop loss distance.
Use Dynamic Targets: Targets structural liquidity (Previous Highs/Lows) instead of fixed math ratios.
ATR Trailing Stop: Activates the trailing stop mechanism.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator is grounded in the principles of Market Microstructure and Mean Reversion theory .
1. Liquidity Pools & Stop Runs:
Academic literature on market microstructure suggests that order flow clusters around obvious visual references (PDH/PDL). Large market participants often utilize this "resting liquidity" to fill large block orders with minimal slippage. The "Sweep" logic detects this absorption phase.
2. Volatility Breakout vs. Fake-out:
The script differentiates between a genuine breakout and a mean-reverting "fake-out" by analyzing the Close relative to the Range . A close back within the prior day's range after a breach signifies a failure of auction in the new territory, statistically increasing the probability of a reversion to the mean (equilibrium).
3. Momentum Validation (RSI & RVOL):
By integrating Relative Volume (RVOL) and RSI, the script applies statistical significance testing to the price action. High volume at a range extreme without price progress (the sweep) indicates "Stopping Volume" or absorption, a key concept in Volume Spread Analysis (VSA).
🙏 Gratitude
I would like to express my gratitude to harry040708 for sharing the insightful idea that made this script possible.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
Best Buying & Selling Flip Zone @MaxMaserati 3.0Best Buying & Selling Flip Zone 3.0 🐂🐻
Best Buying & Selling Flip Zone 3.0 is an advanced, multi-timeframe Price Action tool designed to identify high-probability institutional supply and demand zones.
By analyzing candle range and body size (Expander vs. Normal candles), this indicator categorizes market structure shifts into three distinct tiers of strength (A+++, A++, A+). It includes a built-in Trade Manager, Volume Tracking, and a unique "Defender/Attacker" Multi-Timeframe (MTF) entry confirmation system.
🚀 Key Features
Multi-Timeframe Analysis: Monitor Higher Timeframe (HTF) zones while trading on a Lower Timeframe (LTF).
Tiered Setup Grading: Automatically classifies zones based on the strength of the candle engulfing action (King Slayer, Crusher, Drift).
Smart Entry Confirmation: The script can wait for price to tap an HTF zone and then automatically search for a confirmation pattern on the current timeframe before signaling a trade.
Built-in Trade Management: Visualizes Entry, Stop Loss (SL), and Take Profit (TP) levels with customizable Risk:Reward ratios.
Volume Tracking: Monitors the volume utilized to create a zone and tracks "remaining" volume as price tests the zone.
Zone Deletion Logic: Automatically removes zones that have been invalidated by either a wick or a candle close.
🧠 How It Works: The "A-Grade" Logic
The indicator analyzes candles based on their body-to-range ratio to define "Expander" (Explosive move) vs. "Normal" candles. It then looks for engulfing behaviors to create zones:
A+++ (King Slayer):
Logic: A Bullish Expander engulfs a Bearish Expander (or vice versa).
Significance: This is the strongest signal, indicating a massive shift in momentum where aggressive buyers completely overwhelmed aggressive sellers.
A++ (Crusher):
Logic: A Bullish Expander engulfs a Bearish Normal candle.
Significance: Strong momentum overcoming standard price action. High probability.
A+ (Drift):
Logic: A Bullish Normal candle engulfs a Bearish Normal candle.
Significance: A standard flip zone. Good for continuation plays but less aggressive than KS or CR setups.
🛠️ Functionality Guide
1. General Filters & Timeframes
Higher Timeframe: Select a timeframe higher than your chart (e.g., Select 4H while trading on 15m). The indicator will draw the major zones from the 4H.
Deletion Logic:
Wick (Hard): Zone is removed immediately if price touches the invalidation level.
Close (Soft): Zone is removed only if a candle closes past the invalidation level.
2. LTF Entry Confirmation (The "Master" Switch)
When Show LTF Entry Logic is enabled, the indicator does not signal immediately upon an HTF zone creation. Instead:
It waits for the price to retraced and touch the HTF zone.
Once touched, it scans the current timeframe for a valid flip setup (KS, CR, or DR).
It creates a tighter entry box and draws trade lines only when this confirmation occurs.
3. Trade Management
Risk:Reward: Set your desired RR (e.g., 2.0).
SL Padding: Add breathing room (ticks) to your Stop Loss.
SL Source: Choose between a safer Stop Loss (based on the HTF zone) or a tighter Stop Loss (based on the LTF confirmation candle).
4. Volume Stats
Labels display the volume involved in the zone's creation. As price taps the zone, the volume is "depleted" from the label, giving you insight into the remaining order flow absorption.
🎨 Visual Customization
Colors: Fully customizable colors for Buyers (Green) and Sellers (Red) zones across all three strength tiers.
Labels: Toggle technical names, touch counts, and timeframe labels.
Lines: Option to show "Aggressive Open Lines" to mark the exact opening price of the flip zone extended forward.
⚠️ Disclaimer
This tool is for educational purposes and chart analysis assistance only. Past performance of a setup (A+++/King Slayer) does not guarantee future results. Always manage risk and use this in conjunction with your own trading strategy.






















