Volatility weighted maThe next in my series of weighted moving averages is the Volatility Weighted Moving Average.
The Volatility Weighted Moving Average (Volwma) calculates the average price over a certain period,
contrary to the well known Volume weighted ma, it is weighted by volatilty,
meaning big price moves don't always need big volume but also have a lot of importance!
In this indicator these big price moves are factored in to calculate the ma behaviour.
As the ma is quite biased on price moves it can quickly give an indication of a ranging vs trending market by angle of the ma.
In ranging market it quickly flattens out and could be used to filter out insignificant low volatility moves
compared to regular ma's or the standard volume weighted ma
Another use of it could be as entry/exit signals or
as a means of a trailing stop or a hard exit for a strategy or
as a "baseline" to combine with other signals
feel free to experiment!!!
If you use the Volwma in your scripts or your work, a shoutout would be nice!!
Gr, JD.
#NotTradingAdvice #DYOR
Cerca negli script per "采列VS新圣徒"
MeanDuoSMAsMean of slow SMA200 and fast SMA50. Color changes according to position of close price vs indicator value. Works best with BTCUSD daily chart.
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.
TA Basics: Creating a Zero Lag Moving Average using "Mirroring"we all know how moving averages suffer from lag - they have a delayed response to change in the underlying values - regardless if the underlying values are price movement or some kind of indicator formula that we are trying to smooth using a moving average.
here's a simple technique that can help minimize the lag built into the moving average - you can use this technique while building your own indicator (say modifying RSI) or simply apply it to a price chart to generate some sort of signal.
the concept here is simple and it actually depends on the fact that there's lag in moving averages - however, it was also observed that this lag is less when we use a weighted moving average (WMA) vs a simple moving average (SMA). (for a quick intro / refresher on Moving Averages, there's an awesome write-up here on TradingView that you can easily find with a quick search)
so the idea is to take the delta between these 2 lines (which is mathematically equal to SMA - WMA) , and "mirror it" on the other side of the WMA to produce the new Zero-lag line (let's call it ZLMA. sounds easy, right?
now, expanding on this concept just one step further, while we're at it, why don't we take, say, 1.5 times that delta, or 2 times and mirror it - wouldn't that produce an even less lagging line that moves in lockstep with the price (or whatever data series)? -- yes it would, we added that in the sample code here, but be careful with that, if you increase that factor too much, the ZLMA starts behaving "wildly" and loses relevance to the underlying data. so keep it from 1 to 2.5 -- an ideal value would be around the 1.5 (and of course, for the mathematically gifted, as you expect, you make that factor -1.0, and you end up with a ZLMA that is exactly same as the SMA :) ..
if you don't use a ZLMA factor "f" -- then the simple equation is ZLMA = 2W - S, which you can simply add to any indicator to smoother it without introducing a lot of lag -- however, i still suggest you keep that smoothing to a small value between 3 and 6 -- to stay relevant to underlying data
hope you like this and find it useful. let me know -- i'd like to know if there's interest in these types of concepts and there's more to come.
pls stay safe,
(JS) Squeeze Pro OverlaysSo this was something I planned on doing in the future, I knew it would take some time to put together but here it is, the Squeeze Pro 2 Overlays.
On my original Squeeze Pro, I had made several overlay indicators to go along with it, this time my goal was to combine all that stuff into a single indicator and allow the user to turn on and off the specific features they'd prefer to use. The version illustrated in the preview has everything turned on. What is "everything"? Here's the breakdown...
First of all - the color schemes in the Squeeze Pro match the color schemes in the Overlays indicator, so you can match them up (Color Scheme 3 in example). There are 6 schemes, option 1 is the original Squeeze colors.
There's also an option to make the light squeeze black, rather than white. This is for people who aren't using Dark Mode. It will flip all white to black, to make your charts better to read!
So there are 4 main overlays that can be switched on and off with this indicator, they include;
1. Early Signal Candles
2. BBMA Basis Line
3. Bollinger Bands/Keltner Channel Breaches
4. Signal Arrows
Early Signal Candles
The Early Signal Candles have two parameters, the entry smoothing period and the exit smoothing period.
There is a different type of early entry signal for each type of squeeze.
Low Squeeze generates white dots on the highs of the candles.
Mid Squeeze generates a lime green candle (or purple candle in color scheme 3).
High Squeeze generates a bigger purple circle on the high of the candle.
These three signals are made to mimic the original Early In/Out Candles from John Carter and represent the same thing (they work the same way).
As for the early exit, that would be determined by the color of the candle vs the color of the squeeze, works the same way as the original as well.
BBMA Basis Line
The BBMA (Bollinger Bands Momentum Average) was a moving average I had made to use with the squeeze on the previous version.
It is the basis line of the BB and KC used to make up the Squeeze (a 20 SMA). There are 4 different colors to it on this version.
1. Orange - This means no squeeze.
2. White/Black - Low Squeeze
3. Red - Mid Squeeze
4. Yellow - High Squeeze
You'll also notice these colors are light and dark in different spots - this is a representation of whether the Bollinger Bands are expanding or contracting. Dark means expanding, light means contracting.
Bollinger Bands/Keltner Channel Breaches
This is a pretty simple feature. If there is an ongoing squeeze, and a candle closes above or below the Bollinger Bands or Keltner Channels, a circle appears at the top or the bottom of the chart telling you which way the channel has been breached.
Signal Arrows
This is what makes up most of the overlay indicator. If you turn it on, the default is set to work just like the original. There are lots of options with this though.
First, you can turn each type of Squeeze Arrow on or off by checking/unchecking the boxes for them.
Now allow me to explain the "Signal Length", as there are several options.
The default is "6 Dots", this generates a signal when a particular type of Squeeze reaches the 6th dot ("12 Dots" works the same way).
"End of Squeeze" generates a signal once a type of Squeeze has concluded.
"End of Early Signal" generates a signal when the early dots (or candle) finishes.
"Custom" allows you to select your own dot duration to produce a signal, you select that number in the field below.
The other portion of this is the "Signal Type", this is where you select how each signal is generated once the selected amount of time takes place.
The default is the same as the original "+/-", this generates a signal based on whether Squeeze momentum is positive or negative.
"Rising/Falling" will only generate a signal if the Squeeze momentum maintains consistently over the last 6 bars.
"Crossed Zero" only generates a signal if the Squeeze momentum crosses above or below the zero line.
"Basis Line Momentum" is based on the BBMA. A signal is generated based on whether the current candle closes above or below the basis line.
"Divergence" only generates a signal if there is a divergence signal present at the time of the signal.
"Current Momentum" generates a signal based simply on the current direction of Squeeze momentum.
"Sum of Change" generates a signal based on the sum of the change in the Squeeze momentum being positive (long) or negative (short) over the length of time you select in the "Sum of Change Length" field.
Then "Combo" tries to take a look at everything and generates a score based on these parameters. Positive score = long, negative = short.
I hope I gave a detailed enough explanation on how everything works, let me know if you have any questions! Hope you like it!
Alts vs Btc percentage changesCatch differences and over-corrections between Alts and Bitcoin via Ftx's indexes
A more visual description : i.imgur.com
SMU Binary Decimal CandlesThis script creates a Decimal and Binary representation of the price using ROC. The idea is to simplify the price action into a distance from Zero to upside and downside.
You can see clearly trend develops in the ROC in the decimal view, kind of like MACD but based on raw price action change. I'm' a big fan of raw price action, so my scripts are super simple.
You can also use this script in a binary mode close higher = 1 and lower is -1. I use the binary mode to remove the psychological pressure of watching the stock going against me. I turn off the actual price and only focus on number of reds vs blue. On a Quantum physics level, when I short, I observe /wish for more reds like last night 1% sell-off
The main message form all my scripts is think outside the box, experiment with something crazy that doesn't make sense at first and make it to make sense. I always start with an idea that pops into my head, script with Pine script super simple and then watch it for hours to see what is trying to tell me. I have many work in progress that still doesn't make sense but looks really weird and wonderful. When I figure out what is trying to tell me I publish it
r2 correlation coefficientmade a quick script to compare r2 correlation coefficient, can change source and correlation component in inputs menu
example, here we can see that btc currently has a 0.85 correlation with eth vs usd when using simple moving avg on the daily (above 0.8 is positive correlation. below -0.8 is negitive correlation, and anything in between means there is no correlation)
note: if you wanted to compare with a different source like rsi, then you would need to reduce the length in the inputs menu
not an expert, i encourage doing your own research
biffy
Market Delta [Makit0]MARKET DELTA INDICATOR v0.5 beta
Market Delta is suitable for daytrading on intraday timeframes, is a volume based indicator which allows to see the UP VOLUME vs the DOWN VOLUME, the DELTA (difference) and the CUMULATIVE DELTA (cumulative sum of difference) between them
This indicator is based on contracts volume (data avaiable), not in ask/bid volume (data not avaiable)
The up/down volume is calculated at each candle as follows:
- calculate the ticks of the range, top wick and bottom wick
- calculate the ticks up and ticks down to get the total ticks of the candle
- calculate the volume per tick as total volume divided by total ticks
- calculate the up and down volume as volume per tick multiplied by up ticks and down ticks
The delta is calculated as volume up minus volume down
The cumulative delta is a cumulative sum of delta and is resetted to 0 twice a day at the globex open and at the us cash open
By default the indicator plots the 'CANDLE MODE' which is useful for charting the cumulative volume to find out support and resistance zones where the volume is rejected or pass thru, as the volume moves so does the price, price always follows the volume, price goes away from where volume dries and price auctions comfortable where is plenty of volume, in a way PRICE FEEDS ON VOLUME
An indication about the plotting style in the volume, delta and cumulative delta modes: I can't use histogram as intended due a bug at autoresizing the scale in the candle mode, so the styles used are areabr and circles.
FEATURES
- Plot volume in one of four modes: Volume Up/Down, Delta, Cumulative Delta, Cumulative Delta as Candles
- Cumulative delta resetted twice a day (globex and cash open)
- Show a base line at 0
SETTINGS
- Mode: select one of the four volume output modes: Volume, Delta, Cumulative Delta and Candles. Candles by default
- Show zero line: show/hide the zero base line. False by default.
HOW TO SETTING UP THE INDICATOR:
BE AWARE, by default the indicator settings are configured for using the Cumulative Delta Candle Mode
- Candles Mode Settings: configured by default, mode candles and zero line off
- Volume, Delta, Cumulative Delta Mode Settings: select the mode you want and switch on/off the zero line
GOOD LUCK AND HAPPY TRADING
RedK Vol_Weighted RSI: Extending the power of the classic RSILet's take the classic Relative Strength Index (RSI) and give it couple of modern upgrades - the results are better visuals with improved signals and trade decision support:
Options and features:
- Dual period: look at the short term RSI vs a backdrop of a longer period RSI (expressing the longer-term "prevailing sentiment") - get clearer "re-entry" points in long bull or bear runs
- Longer period RSI has a "Step" option - since what we won't be really interested in the fractions, but more of the broad "strength" of the sentiment (weak, medium..) - default set to a step of 5. please experiment with what works best for you.
- Option to make the RSI volume-weighted. (On by default) - won't say much here, but possibly this is the biggest and most important added feature for those keen on the combined price - volume effect (and Wyckoff'ians)
- Smoothing option -- i would keep this set to 3 to avoid extra lag due to the smoothing
- scaled to +100 / -100 with zero as the signal line - that's how i like oscillators to work
- Adjustable optional overbought / oversold levels - can also be used to also mark strong up/down levels
- designed for the "visually oriented" -- like me :)
- code is open and commented
What Values to use:
many setting combinations possible. play around and find your sweet spot based on what/how you trade. for me, i usually prefer what i set as defaults in the study.
tip: if you set Length = 14, smoothing = 1, Sent. factor =1, Vol Weighted = No, you're back (almost) with a classic RSI - the only difference would be that i use Weighted Moving Average in my calculation of the RSI (i tend to believe WMA is the most naturally-suited for looking at "market price" data series)
Please feel free to use, share or give feedback.
Day of week, Forex FixCalendar to work on instruments that trade a 24 hour day like crypto and forex, also does not display if you are above an intraday time. Main tweak was to end the trading day at 0000 (midnight) instead of 1700 (5pm) NYC time.
This update is geared towards Forex traders, which is why I chose to highlight Wednesday in yellow since that is commonly thought of as a midweek reversal point.
@airscape built a good calendar indicator based on the work of @ChrisMoody, this is really an update to their work and directed towards FX and Crypto
airscape:
ChrisMoody:
Future development:
Toggle for light and dark themes
Adjustment/offset for DLST and local vs/ server time
Additional color bands to denote Asian/London/NYC sessions?
Text label for days instead of color option?
Clean up the code and simplify
Bitcoin East vs WestPlots the volume weighted price difference between the top spot exchanges in the "East" (Asian markets) versus the "West" (US/UK/EU markets).
Optional: view the volume difference between the two.
BEST Supertrend MAHello traders,
That one is an experiment
I was curious to see what a supertrend based on moving average cross could give
How does it work?
Bull event: fast moving average crossing over the slow moving average
Bear event: fast moving average crossing under the slow moving average
When the event is triggered, the script will plot the Supertrend as follow
UP Trend = ohlc4+ ATR * Factor
DOWN Trend = ohlc4- ATR * Factor
Interesting to see the results given by ohlc4 vs hl2 and hl3
Documentation: www.tradingview.com
This is an alternative of the classical Supertrend based on candle close being above/beyond the previous Supertrend level.
Hope you'll enjoy it and it will improve your trading making you a better trader
Dave
Log xSo this is logaritmic scaling with upper and lower deviation
you can change input (set to 100) but you can try different rates if better
the Log trend seen in blue=bullish vs red line =bearish
the indicator give us better sense of potential break up or down and overall trend
Happy new year to All members of Trading view
Strategy MACD vs BBStrategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal.
Strategy doesn't open at breakout of bands but it waits for a pullback.
Upper and lower bands are used as resistance and support.
There are various parameters that can be optimized.
I have also a study with alerts.
Please use comment section for any feedback or cointact me if you need support.
Directional Movement Index + Average Directional IndexPersonal DMI and ADX script
ADX color change from positive vs negative momentum
DMI Color fill based on DMI+/- positive momentum
No fill color during lack of momentum
BEST Ultimate Engulfing ScreenerHello traders
Continuing deeper and stronger with the screeners serie. I keep getting requests private messages and requests saying that screeners aren't possible with TradingView.
My answer is always... "Reallyyy ??" (I never find a better answer than that...)
I'll publish a few screeners just for everyone to understand what can be done with Pinescript. We don't have to wait for TradingView to allow screener based on custom indicator - we can build our own ^^
I - What is an engulfing pattern
Let's start with a screener to check for a very famous candlestick pattern called engulfing
Engulfing candles tend to signal a reversal of the current trend in the market. This specific pattern involves two candles with the latter candle ‘engulfing’ the entire body of the candle before it.
The engulfing candle can be bullish or bearish depending on where it forms in relation to the existing trend
Source and more info here
These engulfing candles indicate a strong shift in direction, and when combined with observation of the price-trending direction that precedes it, this shift creates the opportunity for a trading strategy.
II - How did I set the screener
I added an optional filter being Price vs SMA. The idea is to select only the engulfing whenever the price also breaks an SMA - this usually translates a stronger move - but could sometimes give the signal too late (#meh #trading #ain't #easy)
The visual signals are as follow:
- square: whenever the engine detects an engulfing and an SMA breakout
- triangle: the engine only detects an engulfing
- dash: none of the above
Then the colors are:
- orange when bullish
- yellow when bearish
- aqua/dash when none of the above
Cool Hacks
"But sir... what can we do with only 5 instruments for a screener?" I agree not much but...
even if I allow only 5 instruments per indicator - nothing prevents you from adding multiple times the same indicator and changing the selected instruments for each. I also show why the SPX500 gave a yellow triangle (bearish engulfing) and how to match it with the screener.
=> imgur.com
Wishing you all the BEST trading
Dave
Longs Vs Shorts BTC - Open sourceUsing percentage function to compare longs/shorts over a defined time window and smoothing (a dividor of the time window)
NAND PerceptronExperimental NAND Perceptron based upon Python template that aims to predict NAND Gate Outputs. A Perceptron is one of the foundational building blocks of nearly all advanced Neural Network layers and models for Algo trading and Machine Learning.
The goal behind this script was threefold:
To prove and demonstrate that an ACTUAL working neural net can be implemented in Pine, even if incomplete.
To pave the way for other traders and coders to iterate on this script and push the boundaries of Tradingview strategies and indicators.
To see if a self-contained neural network component for parameter optimization within Pinescript was hypothetically possible.
NOTE: This is a highly experimental proof of concept - this is NOT a ready-made template to include or integrate into existing strategies and indicators, yet (emphasis YET - neural networks have a lot of potential utility and potential when utilized and implemented properly).
Hardcoded NAND Gate outputs with Bias column (X0):
// NAND Gate + X0 Bias and Y-true
// X0 // X1 // X2 // Y
// 1 // 0 // 0 // 1
// 1 // 0 // 1 // 1
// 1 // 1 // 0 // 1
// 1 // 1 // 1 // 0
Column X0 is bias feature/input
Column X1 and X2 are the NAND Gate
Column Y is the y-true values for the NAND gate
yhat is the prediction at that timestep
F0,F1,F2,F3 are the Dot products of the Weights (W0,W1,W2) and the input features (X0,X1,X2)
Learning rate and activation function threshold are enabled by default as input parameters
Uncomment sections for more training iterations/epochs:
Loop optimizations would be amazing to have for a selectable length for training iterations/epochs but I'm not sure if it's possible in Pine with how this script is structured.
Error metrics and loss have not been implemented due to difficulty with script length and iterations vs epochs - I haven't been able to configure the input parameters to successfully predict the right values for all four y-true values for the NAND gate (only been able to get 3/4; If you're able to get all four predictions to be correct, let me know, please).
// //---- REFERENCE for final output
// A3 := 1, y0 true
// B3 := 1, y1 true
// C3 := 1, y2 true
// D3 := 0, y3 true
PLEASE READ: Source article/template and main code reference:
towardsdatascience.com
towardsdatascience.com
towardsdatascience.com
Baseline-C [ID: AC-P]The "AC-P" version of jiehonglim's NNFX Baseline script is my personal customized version of the NNFX Baseline concept as part of the NNFX Algorithm stack/structure for 1D Trend Trading for Forex. Everget's JMA implementation is used for the baseline smoothing method, with optional ATR bands at 1.0x and 1.5x from the baseline.
NNFX = No Nonsense Forex
Baseline = Component of the NNFX Algorithm that consists of a single moving average
Baseline ---> Meant to be used in conjunction with ATR/C1/C2/Vol Indicator/Exit Indicator as per NNFX Algorithm setup/structure. C1 is 1st Confirmation Indicator, C2 is 2nd Confirmation Indicator.
JMA (Jurik Moving Average) is used for the baseline and slow baseline.
A slow baseline option is included, but disabled by default.
The faint orange/purple lines are 1.0x/1.5x ATR from the Baseline, and are what I use as potential TP/SL targets or to evaluate when to stay out of a trade (chop/missed entry/exit/other/ATR breach), depending on the trade setup (in conjunction with C1/C2/Vol Indicator/Exit Indicator)
This script is heavily based upon jiehonglim's NNFX Baseline script for signaling, barcoloring, and ATR.
SSL Channel option included but disabled by default (Erwinbeckers SSL component)
POC (Point of Control) from Volume Profile is included/enabled by default for both the current timeframe and 12HR timeframe
03.freeman's InfoPanel Divergence Indicator was used a reference to replace the current/previous ATR information infopanel/info draw from jiehonglim's script. I'm not sure whether I like the previous way ATR info was displayed vs how I have it currently, but it's something that is completely optional:
Specifically: I am tuning this baseline/indicator for 1D trading as part of the NNFX system, for Forex.
DO NOT USE THIS INDICATOR WITHOUT PROPER TUNING/ADJUSTMENT for your timeframe and asset class.
Note about lack of alerts:
Alerts for baseline crosses (and other crosses) have been purposefully omitted for this version upon initial publication. While getting alerts for baseline crosses under certain conditions/filtered conditions that eliminate low-importance signals and crossover whipsaw would be great, it's something I'm still looking into.
SPECIFICALLY: There are entry, exit, take profit, and continuation signal components in relation to the Baseline to the rest of the NNFX Algorithm stack (ATR/C1/C2/Vol Indicator/Exit Indicator), including but limited to the "1 candle rule" and the "7 candle rule" as per NNFX.
Implementing alerts that are significant that also factor in these rules while reducing alert spam/false signals would be ideal, but it's also the HTF/Daily chart - visually, entry/exit/continuation signal alignment is easy to spot when trading 1D - alerts may be redundant/a pursuit in diminishing returns (for now).
//-------------------------------------------------------------------
// Acknowledgements/Reference:
// jiehonglim, NNFX Baseline Script - Moving Averages
//
// Fractured, Many Moving Averages
//
// everget, Jurik Moving Average/JMA
//
// 03.freeman, InfoPanel Divergence Indicator
//
// Ggqmna Volume stops
//
// Libertus RSI Divs
//
// ChrisMoody, CM_Price-Action-Bars-Price Patterns That Work
//
// Erwinbeckers SSL Channel
//
SR vs VolumeThe main idea is that the volume confirms the price.
Volume part is based on the Volume with Direction indicator, but modified - now: 1) it is not restricted by length and uses all available data 2) it absolute, not relative.
The SR part is also based on identifying high/low/higherhigh/lowerlow. On price it uses wicks.
Then script trying to predict possible divergencies.
It "predicts" because it is using not confirmed HH and LL: for example, any high over resistance counts as HH.
SR plotting is available in options.
Scrypt plots dots:
hidden bear div =color.orange
hidden bull div =color.lime
bear_div =color.maroon
bull_div =color.green
Because of using unconfirmed HHLL states this dots is early signals, needs to be manually verified.
By standard only first dot of signal plots, plotting of signal tails is available in options.
Commentary for the screenshot.
Green dots pointed by arrows is signaling for bull div, it confirms on VD indicator bellow.
The first pointed (lower) maroon dot is faked because of VD indicator not confirmed HL. This have no tails as it was invalidated on the next candle.
The second pointed (upper) maroon dot is bear div: HH by price and LH by volume.
Linear TSITrue Strength Index (TSI) by William Blau
Here I suggest to calculate it in the linear way as it make it more smooth and acurate
buy and sell can be from -0.8 to 0.8 , can be by cross up of zero or cross down of zero
can be by slope difference as seen in color lime vs color red
one can add sma and cross or any option you think
So this nice improve to this indicator as linear line are much more smooth the regular TSI and we can get sharper signals