Volatility Risk Premium GOLD & SILVER 1.0ENGLISH
This indicator (V-R-P) calculates the (one month) Volatility Risk Premium for GOLD and SILVER.
V-R-P is the premium hedgers pay for over Realized Volatility for GOLD and SILVER options.
The premium stems from hedgers paying to insure their portfolios, and manifests itself in the differential between the price at which options are sold (Implied Volatility) and the volatility GOLD and SILVER ultimately realize (Realized Volatility).
I am using 30-day Implied Volatility (IV) and 21-day Realized Volatility (HV) as the basis for my calculation, as one month of IV is based on 30 calendaristic days and one month of HV is based on 21 trading days.
At first, the indicator appears blank and a label instructs you to choose which index you want the V-R-P to plot on the chart. Use the indicator settings (the sprocket) to choose one of the precious metals (or both).
Together with the V-R-P line, the indicator will show its one year moving average within a range of +/- 15% (which you can change) for benchmarking purposes. We should consider this range the “normalized” V-R-P for the actual period.
The Zero Line is also marked on the indicator.
Interpretation
When V-R-P is within the “normalized” range, … well... volatility and uncertainty, as it’s seen by the option market, is “normal”. We have a “premium” of volatility which should be considered normal.
When V-R-P is above the “normalized” range, the volatility premium is high. This means that investors are willing to pay more for options because they see an increasing uncertainty in markets.
When V-R-P is below the “normalized” range but positive (above the Zero line), the premium investors are willing to pay for risk is low, meaning they see decreasing uncertainty and risks in the market, but not by much.
When V-R-P is negative (below the Zero line), we have COMPLACENCY. This means investors see upcoming risk as being lower than what happened in the market in the recent past (within the last 30 days).
CONCEPTS :
Volatility Risk Premium
The volatility risk premium (V-R-P) is the notion that implied volatility (IV) tends to be higher than realized volatility (HV) as market participants tend to overestimate the likelihood of a significant market crash.
This overestimation may account for an increase in demand for options as protection against an equity portfolio. Basically, this heightened perception of risk may lead to a higher willingness to pay for these options to hedge a portfolio.
In other words, investors are willing to pay a premium for options to have protection against significant market crashes even if statistically the probability of these crashes is lesser or even negligible.
Therefore, the tendency of implied volatility is to be higher than realized volatility, thus V-R-P being positive.
Realized/Historical Volatility
Historical Volatility (HV) is the statistical measure of the dispersion of returns for an index over a given period of time.
Historical volatility is a well-known concept in finance, but there is confusion in how exactly it is calculated. Different sources may use slightly different historical volatility formulas.
For calculating Historical Volatility I am using the most common approach: annualized standard deviation of logarithmic returns, based on daily closing prices.
Implied Volatility
Implied Volatility (IV) is the market's forecast of a likely movement in the price of the index and it is expressed annualized, using percentages and standard deviations over a specified time horizon (usually 30 days).
IV is used to price options contracts where high implied volatility results in options with higher premiums and vice versa. Also, options supply and demand and time value are major determining factors for calculating Implied Volatility.
Implied Volatility usually increases in bearish markets and decreases when the market is bullish.
For determining GOLD and SILVER implied volatility I used their volatility indices: GVZ and VXSLV (30-day IV) provided by CBOE.
Warning
Please be aware that because CBOE doesn’t provide real-time data in Tradingview, my V-R-P calculation is also delayed, so you shouldn’t use it in the first 15 minutes after the opening.
This indicator is calibrated for a daily time frame.
----------------------------------------------------------------------
ESPAŇOL
Este indicador (V-R-P) calcula la Prima de Riesgo de Volatilidad (de un mes) para GOLD y SILVER.
V-R-P es la prima que pagan los hedgers sobre la Volatilidad Realizada para las opciones de GOLD y SILVER.
La prima proviene de los hedgers que pagan para asegurar sus carteras y se manifiesta en el diferencial entre el precio al que se venden las opciones (Volatilidad Implícita) y la volatilidad que finalmente se realiza en el ORO y la PLATA (Volatilidad Realizada).
Estoy utilizando la Volatilidad Implícita (IV) de 30 días y la Volatilidad Realizada (HV) de 21 días como base para mi cálculo, ya que un mes de IV se basa en 30 días calendario y un mes de HV se basa en 21 días de negociación.
Al principio, el indicador aparece en blanco y una etiqueta le indica que elija qué índice desea que el V-R-P represente en el gráfico. Use la configuración del indicador (la rueda dentada) para elegir uno de los metales preciosos (o ambos).
Junto con la línea V-R-P, el indicador mostrará su promedio móvil de un año dentro de un rango de +/- 15% (que puede cambiar) con fines de evaluación comparativa. Deberíamos considerar este rango como el V-R-P "normalizado" para el período real.
La línea Cero también está marcada en el indicador.
Interpretación
Cuando el V-R-P está dentro del rango "normalizado",... bueno... la volatilidad y la incertidumbre, como las ve el mercado de opciones, es "normal". Tenemos una “prima” de volatilidad que debería considerarse normal.
Cuando V-R-P está por encima del rango "normalizado", la prima de volatilidad es alta. Esto significa que los inversores están dispuestos a pagar más por las opciones porque ven una creciente incertidumbre en los mercados.
Cuando el V-R-P está por debajo del rango "normalizado" pero es positivo (por encima de la línea Cero), la prima que los inversores están dispuestos a pagar por el riesgo es baja, lo que significa que ven una disminución, pero no pronunciada, de la incertidumbre y los riesgos en el mercado.
Cuando V-R-P es negativo (por debajo de la línea Cero), tenemos COMPLACENCIA. Esto significa que los inversores ven el riesgo próximo como menor que lo que sucedió en el mercado en el pasado reciente (en los últimos 30 días).
CONCEPTOS :
Prima de Riesgo de Volatilidad
La Prima de Riesgo de Volatilidad (V-R-P) es la noción de que la Volatilidad Implícita (IV) tiende a ser más alta que la Volatilidad Realizada (HV) ya que los participantes del mercado tienden a sobrestimar la probabilidad de una caída significativa del mercado.
Esta sobreestimación puede explicar un aumento en la demanda de opciones como protección contra una cartera de acciones. Básicamente, esta mayor percepción de riesgo puede conducir a una mayor disposición a pagar por estas opciones para cubrir una cartera.
En otras palabras, los inversores están dispuestos a pagar una prima por las opciones para tener protección contra caídas significativas del mercado, incluso si estadísticamente la probabilidad de estas caídas es menor o insignificante.
Por lo tanto, la tendencia de la Volatilidad Implícita es de ser mayor que la Volatilidad Realizada, por lo cual el V-R-P es positivo.
Volatilidad Realizada/Histórica
La Volatilidad Histórica (HV) es la medida estadística de la dispersión de los rendimientos de un índice durante un período de tiempo determinado.
La Volatilidad Histórica es un concepto bien conocido en finanzas, pero existe confusión sobre cómo se calcula exactamente. Varias fuentes pueden usar fórmulas de Volatilidad Histórica ligeramente diferentes.
Para calcular la Volatilidad Histórica, utilicé el enfoque más común: desviación estándar anualizada de rendimientos logarítmicos, basada en los precios de cierre diarios.
Volatilidad Implícita
La Volatilidad Implícita (IV) es la previsión del mercado de un posible movimiento en el precio del índice y se expresa anualizada, utilizando porcentajes y desviaciones estándar en un horizonte de tiempo específico (generalmente 30 días).
IV se utiliza para cotizar contratos de opciones donde la alta Volatilidad Implícita da como resultado opciones con primas más altas y viceversa. Además, la oferta y la demanda de opciones y el valor temporal son factores determinantes importantes para calcular la Volatilidad Implícita.
La Volatilidad Implícita generalmente aumenta en los mercados bajistas y disminuye cuando el mercado es alcista.
Para determinar la Volatilidad Implícita de GOLD y SILVER utilicé sus índices de volatilidad: GVZ y VXSLV (30 días IV) proporcionados por CBOE.
Precaución
Tenga en cuenta que debido a que CBOE no proporciona datos en tiempo real en Tradingview, mi cálculo de V-R-P también se retrasa, y por este motivo no se recomienda usar en los primeros 15 minutos desde la apertura.
Este indicador está calibrado para un marco de tiempo diario.
"one一季度财报" için komut dosyalarını ara
Volatility Risk Premium (VRP) 1.0ENGLISH
This indicator (V-R-P) calculates the (one month) Volatility Risk Premium for S&P500 and Nasdaq-100.
V-R-P is the premium hedgers pay for over Realized Volatility for S&P500 and Nasdaq-100 index options.
The premium stems from hedgers paying to insure their portfolios, and manifests itself in the differential between the price at which options are sold (Implied Volatility) and the volatility the S&P500 and Nasdaq-100 ultimately realize (Realized Volatility).
I am using 30-day Implied Volatility (IV) and 21-day Realized Volatility (HV) as the basis for my calculation, as one month of IV is based on 30 calendaristic days and one month of HV is based on 21 trading days.
At first, the indicator appears blank and a label instructs you to choose which index you want the V-R-P to plot on the chart. Use the indicator settings (the sprocket) to choose one of the indices (or both).
Together with the V-R-P line, the indicator will show its one year moving average within a range of +/- 15% (which you can change) for benchmarking purposes. We should consider this range the “normalized” V-R-P for the actual period.
The Zero Line is also marked on the indicator.
Interpretation
When V-R-P is within the “normalized” range, … well... volatility and uncertainty, as it’s seen by the option market, is “normal”. We have a “premium” of volatility which should be considered normal.
When V-R-P is above the “normalized” range, the volatility premium is high. This means that investors are willing to pay more for options because they see an increasing uncertainty in markets.
When V-R-P is below the “normalized” range but positive (above the Zero line), the premium investors are willing to pay for risk is low, meaning they see decreasing uncertainty and risks in the market, but not by much.
When V-R-P is negative (below the Zero line), we have COMPLACENCY. This means investors see upcoming risk as being lower than what happened in the market in the recent past (within the last 30 days).
CONCEPTS:
Volatility Risk Premium
The volatility risk premium (V-R-P) is the notion that implied volatility (IV) tends to be higher than realized volatility (HV) as market participants tend to overestimate the likelihood of a significant market crash.
This overestimation may account for an increase in demand for options as protection against an equity portfolio. Basically, this heightened perception of risk may lead to a higher willingness to pay for these options to hedge a portfolio.
In other words, investors are willing to pay a premium for options to have protection against significant market crashes even if statistically the probability of these crashes is lesser or even negligible.
Therefore, the tendency of implied volatility is to be higher than realized volatility, thus V-R-P being positive.
Realized/Historical Volatility
Historical Volatility (HV) is the statistical measure of the dispersion of returns for an index over a given period of time.
Historical volatility is a well-known concept in finance, but there is confusion in how exactly it is calculated. Different sources may use slightly different historical volatility formulas.
For calculating Historical Volatility I am using the most common approach: annualized standard deviation of logarithmic returns, based on daily closing prices.
Implied Volatility
Implied Volatility (IV) is the market's forecast of a likely movement in the price of the index and it is expressed annualized, using percentages and standard deviations over a specified time horizon (usually 30 days).
IV is used to price options contracts where high implied volatility results in options with higher premiums and vice versa. Also, options supply and demand and time value are major determining factors for calculating Implied Volatility.
Implied Volatility usually increases in bearish markets and decreases when the market is bullish.
For determining S&P500 and Nasdaq-100 implied volatility I used their volatility indices: VIX and VXN (30-day IV) provided by CBOE.
Warning
Please be aware that because CBOE doesn’t provide real-time data in Tradingview, my V-R-P calculation is also delayed, so you shouldn’t use it in the first 15 minutes after the opening.
This indicator is calibrated for a daily time frame.
ESPAŇOL
Este indicador (V-R-P) calcula la Prima de Riesgo de Volatilidad (de un mes) para S&P500 y Nasdaq-100.
V-R-P es la prima que pagan los hedgers sobre la Volatilidad Realizada para las opciones de los índices S&P500 y Nasdaq-100.
La prima proviene de los hedgers que pagan para asegurar sus carteras y se manifiesta en el diferencial entre el precio al que se venden las opciones (Volatilidad Implícita) y la volatilidad que finalmente se realiza en el S&P500 y el Nasdaq-100 (Volatilidad Realizada).
Estoy utilizando la Volatilidad Implícita (IV) de 30 días y la Volatilidad Realizada (HV) de 21 días como base para mi cálculo, ya que un mes de IV se basa en 30 días calendario y un mes de HV se basa en 21 días de negociación.
Al principio, el indicador aparece en blanco y una etiqueta le indica que elija qué índice desea que el V-R-P represente en el gráfico. Use la configuración del indicador (la rueda dentada) para elegir uno de los índices (o ambos).
Junto con la línea V-R-P, el indicador mostrará su promedio móvil de un año dentro de un rango de +/- 15% (que puede cambiar) con fines de evaluación comparativa. Deberíamos considerar este rango como el V-R-P "normalizado" para el período real.
La línea Cero también está marcada en el indicador.
Interpretación
Cuando el V-R-P está dentro del rango "normalizado",... bueno... la volatilidad y la incertidumbre, como las ve el mercado de opciones, es "normal". Tenemos una “prima” de volatilidad que debería considerarse normal.
Cuando V-R-P está por encima del rango "normalizado", la prima de volatilidad es alta. Esto significa que los inversores están dispuestos a pagar más por las opciones porque ven una creciente incertidumbre en los mercados.
Cuando el V-R-P está por debajo del rango "normalizado" pero es positivo (por encima de la línea Cero), la prima que los inversores están dispuestos a pagar por el riesgo es baja, lo que significa que ven una disminución, pero no pronunciada, de la incertidumbre y los riesgos en el mercado.
Cuando V-R-P es negativo (por debajo de la línea Cero), tenemos COMPLACENCIA. Esto significa que los inversores ven el riesgo próximo como menor que lo que sucedió en el mercado en el pasado reciente (en los últimos 30 días).
CONCEPTOS:
Prima de Riesgo de Volatilidad
La Prima de Riesgo de Volatilidad (V-R-P) es la noción de que la Volatilidad Implícita (IV) tiende a ser más alta que la Volatilidad Realizada (HV) ya que los participantes del mercado tienden a sobrestimar la probabilidad de una caída significativa del mercado.
Esta sobreestimación puede explicar un aumento en la demanda de opciones como protección contra una cartera de acciones. Básicamente, esta mayor percepción de riesgo puede conducir a una mayor disposición a pagar por estas opciones para cubrir una cartera.
En otras palabras, los inversores están dispuestos a pagar una prima por las opciones para tener protección contra caídas significativas del mercado, incluso si estadísticamente la probabilidad de estas caídas es menor o insignificante.
Por lo tanto, la tendencia de la Volatilidad Implícita es de ser mayor que la Volatilidad Realizada, por lo cual el V-R-P es positivo.
Volatilidad Realizada/Histórica
La Volatilidad Histórica (HV) es la medida estadística de la dispersión de los rendimientos de un índice durante un período de tiempo determinado.
La Volatilidad Histórica es un concepto bien conocido en finanzas, pero existe confusión sobre cómo se calcula exactamente. Varias fuentes pueden usar fórmulas de Volatilidad Histórica ligeramente diferentes.
Para calcular la Volatilidad Histórica, utilicé el enfoque más común: desviación estándar anualizada de rendimientos logarítmicos, basada en los precios de cierre diarios.
Volatilidad Implícita
La Volatilidad Implícita (IV) es la previsión del mercado de un posible movimiento en el precio del índice y se expresa anualizada, utilizando porcentajes y desviaciones estándar en un horizonte de tiempo específico (generalmente 30 días).
IV se utiliza para cotizar contratos de opciones donde la alta Volatilidad Implícita da como resultado opciones con primas más altas y viceversa. Además, la oferta y la demanda de opciones y el valor temporal son factores determinantes importantes para calcular la Volatilidad Implícita.
La Volatilidad Implícita generalmente aumenta en los mercados bajistas y disminuye cuando el mercado es alcista.
Para determinar la Volatilidad Implícita de S&P500 y Nasdaq-100 utilicé sus índices de volatilidad: VIX y VXN (30 días IV) proporcionados por CBOE.
Precaución
Tenga en cuenta que debido a que CBOE no proporciona datos en tiempo real en Tradingview, mi cálculo de V-R-P también se retrasa, y por este motivo no se recomienda usar en los primeros 15 minutos desde la apertura.
Este indicador está calibrado para un marco de tiempo diario.
SAR+RSI+EMAs SignalsNOTE:
Indicator based strategies may expire and begin to work again. There are various ways to check the expiration of these strategies but I suggest equity curve trading (EC trading) as the best one.
Please check every single indicator based strategy to see if it’s still profitable or it has been expired to avoid losses.
Principles:
I personally believe every profitable indicator-based setup need 3 factors. Actually I analyze indicator-based set up in this way!
1- Trend detector: a tool that detect the “trend”.
2- Oscillators (Discount finder): a tool that detects “discounts” in the direction of the trend.
3- Stimulus: A tool that indicates the Initiation of a movement.
There may be profitable strategies that do not use all three, because other factors are strong enough to lead us to profit, but they are rare and sometimes they hide the other forgotten factor in the main two ones.
Elements:
(Since most of traders here, are familiar with these famous indicators I will not take your time to write about their uses and formula)
SAR: As a Trend detector, regarding position of close and SAR
EMA 7 and EMA 21: As trend detectors, regarding position of EMA 7 as fast “moving average” and EMA 21 as slow one. Also we need another confirmation for trend regarding EMA 7 and closing price of the signal candle.
RSI: In this strategy RSI is used both as a discount finder and a stimulus.
For RSI being over/under 50, regarding the trend, a possible discount may have been occurred. Imagine these conditions: close>EMA7, EMA7>EMA21, close>SAR and simultaneously RSI being under 50 is really a sign of powerful uptrend which it’s RSI decreasing might be a sign of corrective move, which will be following a bullish impulsive move.
The other use of RSI is to stimulate a buy signal by “crossing” over 50 or 30 (50 as balanced point of momentum and 30 as a sign of ending an oversold) or stimulate a sell signal by “crossing” under 50 or 70 (50 as balanced point of momentum and 70 as a sign of ending an overbought).
Entry point: you can use one of the followings.
1- Open of the next candle
2- EMA 7
3- Open of the signal candle
(Totally optional but “open of the next candle” is suggested by me.)
SL: Use one of the followings.
1- SAR or some pips (regarding ATR Or your experience of this trading instrument’s fluctuations in this time frame) below the SAR
2- Fixed amount (regarding ATR Or your experience of this trading instrument’s fluctuations in this time frame)
3- Use EMA21 as dynamic SL (if a candle far enough from the initiative candle close over (for sell) below ( for buy)
Again number 1 is suggested by me.
TP: Use one of the followings.
1- Use static levels or zones of support and resistance as TP.
2- Use dynamic levels for instance band of BB or moving averages (Moving the SL is possible).
3- Use fixed R to R
And I believe static zones of support and resistance work better.
Examples:
I indicate a buy signal on the chart!
Using local level as TP worked just good.
Using EMA was better in this case.
And using a riskier level or a fixed R to R is obvious in the chart!
Since in the range markets, this strategy may not work well and at the same time, TP to SL might be too small to be worth the risk, I prefer to use levels to filter range market conditions!
I convert all those circumstances to a simple buy and sell signs on the chart!
EMA21 and SAR are still visible because it is possible that traders use them for their TP and SL.
This is how it look without EMA21 and SAR!
Another screenshot of this strategy!
I also add a check box to filter signals by another trend detector. MATD created by me to help traders detect trend!
As it’s visible, some profitable signals filtered too, but using a longer-term trend detector as an additional one, alongside the double EMAs is very useful for this strategy.
The other box “use high&low instead of close for fast EMA” makes the “EMA7 and close” trend detector an easygoing one!
Almost everything is editable here!
*** I did not invent this strategy, you can find it for free on net ***
I'll change it to a "strategy" instead of an indicator if reader like to!
Jurik MacD & Leader NCMhey everyone,
While there are some Invite-Only Jurik MacDs, there are no free/open ones, so I thought I'd create one and publish it. It has most of the bells and whistles you'd want (I hope!).
You can see one with the bells and whistles all turned on in the first, and a 'quieter' one in the second.
//-----------------////-----------------////-----------------//
Why Jurik?
The Jurik MA is a quicker and smoother Exponential MA, and the best of all MAs, according to Jurik Research (lol). To be fair. I have found it to be excellent, and that is why I'm publishing this.
Power can be changed, recommended from 1-4: increasing it pulls it closer to the current price (almost like reducing the period), and decreasing: vice versa.
Phase increases the inertia of the line, how quickly it will respect price changes. It is usual to have less inertia on the fast JMA, and more on the slower (but remember the MACD line is the FastJMA minus the SlowJMA, so you may find adjusting power and phase on Signal line more effective). Search online for JurikRes (or Jurik Research) for more detailed information about the Jurik.
In the coding I have included a list of four different ways to set up the JMAs: however, you should probably tune this to your preferred asset (as with almost all indicators). If you find a good setup, please let me know!
You could trade with a MacD a number of ways. Entries could be:
- MacD crossing the zero line
- MacD crossing over the Signal line
- Histogram crossing above zero line.
Vice versa for exits. If this isn't enough, please google 'trading with a MacD'.
No indicator is perfect for trading, and that includes this one! Don't trade unless you know what you're doing.
//-----------------////-----------------////-----------------//
Please let me know if I can improve this script, or you have any other feedback. I can post code for colour palette as well if that is something anyone is keen on.
//-----------------////-----------------////-----------------//
Thanks to the many excellent coders that publish freely their code. I have learned so much from this community, and this code is based on the work of others (Chris Moody and everget).
Shout out to StevieMagg as well, who has helped me develop (and didn't want to charge me!). The Pine Script Community on Discord has been brilliant - lots of knowledge, ideas, support - thanks guys.
If you are new and interested in pine coding, I suggest you check out some of the masters (in no order):
ChrisMoody
Everget
RedKTrader
LonesomeDove
LazyBear
KivancOzbilgic
and more that I am missing. It is not necessarily the popular scripts that are the best.
//-----------------////-----------------////-----------------//
Kind regards,
Nelson
Volume X-ray [LucF]█ OVERVIEW
This tool analyzes the relative size of volume reported on intraday vs EOD (end of day) data feeds on historical bars. If you use volume data to make trading decisions, it can help you improve your understanding of its nature and quality, which is especially important if you trade on intraday timeframes.
I often mention, when discussing volume analysis, how it's important for traders to understand the volume data they are using: where it originates, what it includes and does not include. By helping you spot sizeable differences between volume reported on intraday and EOD data feeds for any given instrument, "Volume X-ray" can point you to instruments where you might want to research the causes of the difference.
█ CONCEPTS
The information used to build a chart's historical bars originates from data providers (exchanges, brokers, etc.) who often maintain distinct historical feeds for intraday and EOD timeframes. How volume data is assembled for intraday and EOD feeds varies with instruments, brokers and exchanges. Variations between the two feeds — or their absence — can be due to how instruments are traded in a particular sector and/or the volume reporting policy for the feeds you are using. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations. It is even possible that volume from different feeds may not be of the same nature, as you can get trade volume (market volume) on one feed and tick volume (transaction counts) on another. You will sometimes be able to find the details of what different feeds contain from the technical information provided by exchanges/brokers on their feeds. This is an example for the NASDAQ feeds . Once you determine which feeds you are using, you can look for the reporting specs for that feed. This is all research you will need to do on your own; "Volume X-ray" will not help you with that part.
You may elect to forego the deep dive in feed information and simply rely on the figure the indicator will calculate for the instruments you trade. One simple — and unproven — way to interpret "Volume X-ray" values is to infer that instruments with larger percentages of intraday/EOD volume ratios are more "democratic" because at intraday timeframes, you are seeing a greater proportion of the actual traded volume for the instrument. This could conceivably lead one to conclude that such volume data is more reliable than on an instrument where intraday volume accounts for only 3% of EOD volume, let's say.
Note that as intraday vs EOD variations exist for historical bars on some instruments, there will typically also be differences between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. A deep dive in reporting rules will quickly reveal what a jungle they are for some instruments, yet it is the only way to really understand the volume information our charts display.
█ HOW TO USE IT
The script is very simple and has no inputs. Just add it to 1D charts and it will calculate the proportion of volume reported on the intraday feed over the EOD volume. The plots show the daily values for both volumes: the teal area is the EOD volume, the orange line is the intraday volume. A value representing the average, cumulative intraday/EOD volume percentage for the chart is displayed in the upper-right corner. Its background color changes with the percentage, with brightness levels proportional to the percentage for both the bull color (% >= 50) or the bear color (% < 50). When abnormal conditions are detected, such as missing volume of one kind or the other, a yellow background is used.
Daily and cumulative values are displayed in indicator values and the Data Window.
The indicator loads in a pane, but you can also use it in overlay mode by moving it on the chart with "Move to" in the script's "More" menu, and disabling the plot display from the "Settings/Style" tab.
█ LIMITATIONS
• The script will not run on timeframes >1D because it cannot produce useful values on them.
• The calculation of the cumulative average will vary on different intraday timeframes because of the varying number of days covered by the dataset.
Variations can also occur because of irregularities in reported volume data. That is the reason I recommend using it on 1D charts.
• The script only calculates on historical bars because in real time there is no distinction between intraday and EOD feeds.
• You will see plenty of special cases if you use the indicator on a variety of instruments:
• Some instruments have no intraday volume, while on others it's the opposite.
• Missing information will sometimes appear here and there on datasets.
• Some instruments have higher intraday than EOD volume.
Please do not ask me the reasons for these anomalies; it's your responsibility to find them. I supply a tool that will spot the anomalies for you — nothing more.
█ FOR PINE CODERS
• This script uses a little-known feature of request.security() , which allows us to specify `"1440"` for the `timeframe` argument.
When you do, data from the 1min intrabars of the historical intraday feed is aggregated over one day, as opposed to the usual EOD feed used with `"D"`.
• I use gaps on my request.security() calls. This is useful because at intraday timeframes I can cumulate non- na values only.
• I use fixnan() on some values. For those who don't know about it yet, it eliminates na values from a series, just like not using gaps will do in a request.security() call.
• I like how the new switch structure makes for more readable code than equivalent if structures.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
• I use the new runtime.error() to throw an error when the script user tries to use a timeframe >1D.
Why? Because then, my request.security() calls would be returning values from the last 1D intrabar of the dilation of the, let's say, 1W chart bar.
This of course would be of no use whatsoever — and misleading. I encourage all Pine coders fetching HTF data to protect their script users in the same way.
As tool builders, it is our responsibility to shield unsuspecting users of our scripts from contexts where our calcs produce invalid results.
• While we're on the subject of accessing intrabar timeframes, I will add this to the intention of coders falling victim to what appears to be
a new misconception where the mere fact of using intrabar timeframes with request.security() is believed to provide some sort of edge.
This is a fallacy unless you are sending down functions specifically designed to mine values from request.security() 's intrabar context.
These coders do not seem to realize that:
• They are only retrieving information from the last intrabar of the chart bar.
• The already flawed behavior of their scripts on historical bars will not improve on realtime bars. It will actually worsen because in real time,
intrabars are not yet ordered sequentially as they are on historical bars.
• Alerts or strategy orders using intrabar information acquired through request.security() will be using flawed logic and data most of the time.
The situation reminds me of the mania where using Heikin-Ashi charts to backtest was all the rage because it produced magnificent — and flawed — results.
Trading is difficult enough when doing the right things; I hate to see traders infected by lethal beliefs.
Strive to sharpen your "herd immunity", as Lionel Shriver calls it. She also writes: "Be leery of orthodoxy. Hold back from shared cultural enthusiasms."
Be your own trader.
█ THANKS
This indicator would not exist without the invaluable insights from Tim, a member of the Pine team. Thanks Tim!
CAGR Custom Range█ OVERVIEW
This script calculates an annualized Compound Annual Growth Rate from two points in time which you can select on the chart. It previews an upcoming feature where Pine scripts will be able to provide users with interactive inputs for time and price values.
👉🏼 We are looking for feedback on our first take of this feature.
Please comment in this publication's "Comments" section if you have suggestions for improvement.
█ HOW TO USE IT
When you first load this script on a chart, you will enter the new interactive selection mode. At that point, the script is waiting for you to pick two points in time on your chart by clicking on the chart. Once you select the two points, the script will find the close value for each of the two selected bars, and calculate the CAGR value from them. It will then display a line between the two points, and the CAGR value above or below the last point in time.
If the CAGR value is positive, the line and label will display in their "up" color (see the "🠅" color in the script's "Settings/Inputs" tab), otherwise they appear in their "down" color (the "🠇" color in the inputs). You can also control the line's width from the inputs.
You have the option of comparing the chart's CAGR value with that of another symbol, which you specify in the "Compare to" input. When a comparison is made, the label's background color will be dependent on the result of the comparison. The line's color will still be determined by the chart's value.
Once time points have been selected on the chart and the script is displaying the line, you can change the time points by clicking on the script's name on the chart. A small, blue rectangular handle will then appear for each point, which you can then grab and move. If you reset the inputs using the "Defaults/Reset Settings" button in the script's inputs, the two time points will reset to the beginning of September and October 2021, respectively.
█ CONCEPTS
The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It calculates from the close value of the two end points. It does not account for drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
█ LIMITATIONS
• The two selected points must be distant from a minimum of one day. A runtime error will occur otherwise.
• There is currently no way to restart the interactive mode from scratch without re-adding the script to the chart.
• The points in time you select on one chart may map quite differently on other charts,
depending on their constituent bars (e.g., intraday charts for 24x7 and conventional markets).
█ FOR PINE CODERS
• Our script uses the most recent version of Pine, as the `//@version=5` compiler directive indicates.
• Interactive inputs were a long-standing and highly-requested feature by our beloved community of Pine coders.
We hope you find this first step promising, as it opens up entirely new possibilities for both Pine coders and script users.
You can, for example, use interactive inputs to draw shapes with your scripts, or support and resistance levels, etc.
We're sure you'll come up with more creative uses of the feature than we could ever dream up )
• Interactive inputs are implemented for input.time() and input.price() , the specialized input functions now available in v5.
See the User Manual's new page on inputs for more information about them.
You can also create one interactive input for both time and price values
by using the same `inline` argument in a pair of input.time() and input.price() function calls.
• Our min/max filtering when initializing `entryTime` and `exitTime` will handle cases where
the script user inverts the two points on the chart.
• The script uses the new runtime.error() function to throw an error in the `if days < 1` conditional structure.
• We use the `cagr()` function from our recently-published ta Pine library .
Pine libraries — not to be confused with the Public Library showcasing scripts published by our community of Pine coders —
are one of the new features available with the recent Pine v5.
• Note that our `strRightOf()` function cannot be used to generate ticker identifier strings for use in `request.*()` functions.
This is because it produces results of "series" form while the functions require
arguments of "simple" form for their `symbol` or `ticker` parameters.
Have a look at our new User Manual page on Pine's Type system if you need to brush up on Pine forms and types.
• We use a simple, repainting request.security() call because our calculations are not used to generate orders or alerts.
• We document our user-defined functions using the same compiler directives used in exported functions in libraries.
It will make conversion of those functions to library format easier if we ever choose to do so.
• We use two Unicode hair spaces (U+200A) to push the "%" sign slightly away from values in our str.format() calls.
While the impact is minimal, it increases readability.
• Note the `priceIsHigh` logic used to determine if we place the label above or below bars.
When price is higher than recent prices, we place the label above the bar, otherwise we place it below.
It's not foolproof but it provides optimal positioning most of the time.
• The point of the complicated "bool" expression initializing `displayCAGR` is to ensure that we only draw the line and labels once.
When no comparison with another symbol is made, this occurs the first time we encounter a non- na value from the `cagr()` function.
When a comparison is required, it occurs the first time both values are not na .
• Before all mentions of "CAGR" in our description, we use a Unicode zero-width space (U+200B)
to prevent the auto-linking feature to kick in for the term.
This prevents the dashed underscore and a link like this (CAGR) from appearing every time "CAGR" is mentioned.
• With Pine v5, the `study()` declaration statement was renamed to indicator() .
Accordingly, we will be eliminating the use of the "study" term from documentation and the UI.
The generic "script" term will continue to designate Pine code that can be an indicator, a strategy or a library, when applicable.
• We followed our new Style guide recommendations to write our script.
• We used the techniques explained in the How We Write and Format Script Descriptions publication by PineCoders.
• That's it! We've covered all the new features and tricks we used. We sincerely hope you enjoy the new interactive inputs,
and please remember to comment here if you have suggestions for improvement. 💙
Look first. Then leap.
Matrix_Functions_Lib_JDLibrary "Matrix_Functions_Lib_JD"
This is a library to add matrix / 2D array functionality to Pinescript.
once you import the library at the beginning of your script, you can add all the functions described below just by calling them like you do any other built'in function.
Enjoy,
Gr, JD.
PS. if you find functionality or calculation errors in the functions, please let me know, so I can fix them.
There are quite a lot of functions, so little mishaps may have slipped in! ;-)
get_nr_of_rows() Returns the number of rows from a 2D matrix
get_nr_of_columns() Returns the number of columns from a 2D matrix
get_size() Returns a tuple with the total number of rows and columns from a 2D matrix
init() 2D matrix init function, builds a 2D matrix with dimensional metadata in first two values and fills it with a default value, the body of the actual matrix data starts at index 2.
from_list() 2D matrix init function, builds a 2D matrix from an existing array by adding dimensional metadata in first two values, the body of the actual matrix data consists of the data of the source array and starts at index 2.
set() Sets values in 2D matrix with (row index, column index) (index for rows and columns both starts at 0 !!)
fill_val() Fills all elements in a 2D matrix with a value
randomize() Fills a 2D matrix with random values//
get() Gets values from 2D matrix with (row index, column index) (index for rows and columns both starts at 0 !!)
copy_slice_body() Cuts off the metadata header and returns the array body, WITHOUT THE DIMENSIONAL METADATA!!
do_slice This variable should be set as: - 'false' to only make a copy, changes to the new array copy will NOT ALTER the ORIGINAL - 'true' to make a slice, changes to the new array slice WILL(!) ALTER the ORIGINAL
get_record() Gets /retrieve the values from a ROW/RECORD from a certain row/lookback period, the values are returned as an array
get_row_index() Gets the row nr. in a 2D matrix from 1D index (index for rows and columns both starts at 0 !!)
get_column_index() Gets the column nr. in a 2D matrix from 1D index (index for rows and columns both starts at 0 !!)
get_row_column_index() Gets a tuple with the (row, column) coordinates in 2D matrix from 1D index (index starts at 0 and does not include the header!!)
get_array_index() Gets the 1D index from (row, column) coordinates in 2D matrix (index for row and column both starts at 0 !! Index starts at 0 and does not include the header!!)
remove_rows() Removes one or more rows/records from a 2D matrix (if from_row = to_row, only this row is removed)
remove_columns() Remove one or more columns from a 2D matrix (if from_column = to_column, only this column is removed)
insert_array_of_rows() Insert an array of rows/records at a certain row number in a 2D matrix
add_row() ADDS a ROW/RECORD on the TOP of a sheet, shift the whole list one down and gives the option to REMOVE the OLDEST row/record. (2D version of "unshift" + "pop" but with a whole row at once)
insert_array_of_columns() Insert an array of columns at a certain column number in a 2D matrix
append_array_of_rows() Appends/adds an array of rows/records to the bottom of a 2D matrix
append_array_of_columns() Appends/adds an array of columns to the right side of a 2D matrix
pop_row() Removes / pops and returns the last row/record from a 2D matrix.
pop_column() Removes / pops and returns the last (most right) column from a 2D matrix.
replace()
abs()
add_value() Returns a new matrix with the same value added to all the elements of the source matrix.
addition() Returns a new matrix with the of the elements of one 2D matrix added to every corresponding element of a source 2D matrix.
subtract_value() Returns a new matrix with the same value subtracted from every element of a 2D matrix
subtraction() Returns a new matrix with the values of the elements of one 2D matrix subtracted from every corresponding element of a source 2D matrix.
scalar_multipy() Returns a new matrix with all the elements of the source matrix scaled/multiplied by a scalar value.
transpose() Returns a new matrix with the elements of the source matrix transposed.
multiply_elem() Performs ELEMENT WISE MULTIPLICATION of 2D matrices, returns a new matrix c.
multiply() Performs DOT PROCUCT MULTIPLICATION of 2D matrices, returns a new matrix c.
determinant_2x2() Calculates the determinant of 2x2 matrices.
determinant_3x3() Calculates the determinant of 3x3 matrices.
determinant_4x4() Calculates the determinant of 4x4 matrices.
print() displays a 2D matrix in a table layout.
MACD PlusMoving Average Convergence Divergence – MACD
The MACD is an extremely popular indicator used in technical analysis. It can be used to identify aspects of a security's overall trend. Most notably these aspects are momentum, as well as trend direction and duration. What makes the MACD so informative is that it is actually the combination of two different types of indicators. First, the MACD employs two Moving Averages of varying lengths (which are lagging indicators) to identify trend direction and duration. Then, it takes the difference in values between those two Moving Averages (MACD Line) and an EMA of those Moving Averages (Signal Line) and plots that difference between the two lines as a histogram which oscillates above and below a center Zero Line. The histogram is used as a good indication of a security's momentum.
Added Color Plots to Settings Pane.
Switched MTF Logic to turn ON/OFF automatically w/ TradingView's Built in Feature.
Added Ability to Turn ON/OFF Show MacD & Signal Line.
Added Ability to Turn ON/OFF Show Histogram.
Added Ability to Change MACD Line Colors Based on Trend.
Added Ability to Highlight Price Bars Based on Trend.
Added Alerts to Settings Pane.
Customized Alerts to Show Symbol, TimeFrame, Closing Price, MACD Crosses Up & MACD Crosses Down Signals in Alert.
Alerts are Pre-Set to only Alert on Bar Close.
Added ability to show Dots when MACD Crosses.
Added Ability to Change Plot Widths in Settings Pane.
Added in Alert Feature where Cross Up if above 0 or cross down if below 0 (OFF By Default).
Squeeze Pro
Traditionally, John Carter's version uses 20 period SMAs as the basis lines on both the BB and the KC.
In this version, I've given the freedom to change this and try out different types of moving averages.
The original squeeze indicator had only one Squeeze setting, though this new one has three.
The gray dot Squeeze, call it a "low squeeze" or an "early squeeze" - this is the easiest Squeeze to form based on its settings.
The orange dot Squeeze is the original from the first Squeeze indicator.
And finally, the yellow dot squeeze, call it a "high squeeze" or "power squeeze" - is the most difficult to form and suggests price is under extreme levels of compression.
Colored Directional Movement Index (CDMI) , a custom interpretation of J. Welles Wilder’s Directional Movement Index (DMI), where :
DMI is a collection of three separate indicators ( ADX , +DI , -DI ) combined into one and measures the trend’s strength as well as its direction
CDMI is a custom interpretation of DMI which presents ( ADX , +DI , -DI ) with a color scale - representing the trend’s strength, color density - representing momentum/slope of the trend’s strength, and triangle up/down shapes - representing the trend’s direction. CDMI provides all the information in a single line with colored triangle shapes plotted on the bottom. DMI can provide quality information and even trading signals but it is not an easy indicator to master, whereus CDMI simplifies its usage. The CDMI adds additional insight of verifying/confirming the trend as well as its strength
Label :
Displaying the trend strength and direction
Displaying adx and di+/di- values
Displaying adx's momentum (growing or falling)
Where tooltip label describes "howto read colored dmi line"
Ability to display historical values of DMI readings displayed in the label.
Added "Expert Trend Locator - XTL"
The XTL was developed by Tom Joseph (in his book Applying Technical Analysis ) to identify major trends, similar to Elliott Wave 3 type swings.
Blue bars are bullish and indicate a potential upwards impulse.
Red bars are bearish and indicate a potential downwards impulse.
White bars indicate no trend is detected at the moment.
Added "Williams Vix Fix" signal. The Vix is one of the most reliable indicators in history for finding market bottoms. The Williams Vix Fix is simply a code from Larry Williams creating almost identical results for creating the same ability the Vix has to all assets.
The VIX has always been much better at signaling bottoms than tops. Simple reason is when market falls retail traders panic and increase volatility , and professionals come in and capitalize on the situation. At market tops there is no one panicking... just liquidity drying up.
The FE green triangles are "Filtered Entries"
The AE green triangles are "Aggressive Filtered Entries"
Relative Volume (rVol), Better Volume, Average Volume ComparisonThis is the best version of relative volume you can find a claim which is based on the logical soundness of its calculation.
I have amalgamated various volume analysis into one synergistic script. I wasn't going to opensource it. But, as one of the lucky few winners of TradingClue 2. I felt obligated to give something back to the community.
Relative volume traditionally compares current volume to prior bar volume or SMA of volume. This has drawbacks. The question of relative volume is "Volume relative to what?" In the traditional scripts you'll find it displays current volume relative to the last number of bars. But, is that the best way to compare volume. On a daily chart, possibly. On a daily chart this can work because your units of time are uniform. Each day represents a full cycle of volume. However, on an intraday chart? Not so much.
Example: If you have a lookback of 9 on an hourly chart in a 24 hour market, you are then comparing the average volume from Midnight - 9 AM to the 9 AM volume. What do you think you'll find? Well at 9:30 when NY exchanges open the volume should be consistently and predictably higher. But though rVol is high relative to the lookback period, its actually just average or maybe even below average compared to prior NY session opens. But prior NY session opens are not included in the lookback and thus ignored.
This problem is the most visibly noticed when looking at the volume on a CME futures chart or some equivalent. In a 24 hour market, such as crypto, there are website's like skew can show you the volume disparity from time of day. This led me to believe that the traditional rVol calculation was insufficient. A better way to calculate it would be to compare the 9:30 am 30m bar today to the last week's worth of 9:30 am 30m bars. Then I could know whether today's volume at 9:30 am today is high or low based on prior 9:30 am bars. This seems to be a superior method on an intraday basis and is clearly superior in markets with irregular volume
This led me to other problems, such as markets that are open for less than 24 hours and holiday hours on traditional market exchanges. How can I know that the script is accurately looking at the correct prior relevant bars. I've created and/or adapted solutions to all those problems and these calculations and code snippets thus have value that extend beyond this rVol script for other pinecoders.
The Script
This rVol script looks back at the bars of the same time period on the viewing timeframe. So, as we said, the last 9:30 bars. Averages those, then divides the: . The result is a percentage expressed as x.xxx. Thus 1.0 mean current volume is equal to average volume. Below 1.0 is below the average and above 1.0 is above the average.
This information can be viewed on its own. But there are more levels of analysis added to it.
Above the bars are signals that correlate to the "Better Volume Indicator" developed by, I believe, the folks at emini-watch and originally adapted to pinescript by LazyBear. The interpretation of these symbols are in a table on the right of the indicator.
The volume bars can also be colored. The color is defined by the relationship between the average of the rVol outputs and the current volume. The "Average rVol" so to speak. The color coding is also defined by a legend in the table on the right.
These can be researched by you to determine how to best interpret these signals. I originally got these ideas and solid details on how to use the analysis from a fellow out there, PlanTheTrade.
I hope you find some value in the code and in the information that the indicator presents. And I'd like to thank the TradingView team for producing the most innovative and user friendly charting package on the market.
(p.s. Better Volume is provides better information with a longer lookback value than the default imo)
Credit for certain code sections and ideas is due to:
LazyBear - Better Volume
Grimmolf (From GitHub) - Logic for Loop rVol
R4Rocket - The idea for my rVol 1 calculation
And I can't find the guy who had the idea for the multiples of volume to the average. Tag him if you know him
Final Note: I'd like to leave a couple of clues of my own for fellow seekers of trading infamy.
Indicators: indicators are like anemometers (The things that measure windspeed). People talk bad about them all the time because they're "lagging." Well, you can't tell what the windspeed is unless the wind is blowing. anemometers are lagging indicators of wind. But forecasters still rely on them. You would use an indicator, which I would define as a instrument of measure, to tell you the windspeed of the markets. Conversely, when people talk positively about indicators they say "This one is great and this one is terrible." This is like a farmer saying "Shovels are great, but rakes are horrible." There are certain tools that have certain functions and every good tool has a purpose for a specific job. So the next time someone shares their opinion with you about indicators. Just smile and nod, realizing one day they'll learn... hopefully before they go broke.
How to forecast: Prediction is accomplished by analyzing the behavior of instruments of measure to aggregate data (using your anemometer). The data is then assembled into a predictive model based on the measurements observed (a trading system). That predictive model is tested against reality for it's veracity (backtesting). If the model is predictive, you can optimize your decision making by creating parameter sets around the prediction that are synergistic with the implications of the prediction (risk, stop loss, target, scaling, pyramiding etc).
<3
3Commas BotBjorgum 3Commas Bot
A strategy in a box to get you started today
With 3rd party API providers growing in popularity, many are turning to automating their strategies on their favorite assets. With so many options and layers of customization possible, TradingView offers a place no better for young or even experienced coders to build a platform from to meet these needs. 3Commas has offered easy access with straight forward TradingView compatibility. Before long many have their brokers hooked up and are ready to send their alerts (or perhaps they have been trying with mixed success for some time now) only they realize there might just be a little bit more to building a strategy that they are comfortable letting out of their sight to trade their money while they eat, sleep, etc. Many may have ideas for entry criteria they are excited to try, but further questions arise... "What about risk mitigation?" "How can I set stop or limit orders?" "Is there not some basic shell of a strategy that has laid some of this out for me to get me going?"
Well now there is just that. This strategy is meant for those that have begun to delve into the world of algorithmic trading providing a template that offers risk defined positions complete with stops, limit orders, and even trailing stops should one so choose to employ any of these criteria. It provides a framework that is easily manipulated (with some basic working knowledge of pine coding) to encompass ones own ideas and entry criteria, while also providing an already functioning strategy.
The default settings have a basic 1:1 risk to reward ratio, which sets a limit and a stop equal distance from the entry. The entry is a simple MA cross (up for long, down for short). There a variety of MA's to choose from and the user can define the lengths of the averages. The ratio can be adjusted from the menu along with a volatility based adder (ATR) that helps to distance a stop from support or resistance. These values are calculated off the swing low/high of the user defined lookback period. Risk is calculated from position entry to stop, and projected upwards to the limit as a function of the desired risk to reward ratio. Of note: the default settings include 0.05% commissions. Competitive commissions of the leading cryptocurrency exchanges are .1% round trip (one buy and one sell) for market orders. There is also some slippage to allow time for alerts to be sent and orders to fill giving the back test results a more accurate representation of real time conditions. Its recommended to research the going rates for your exchange and set them to default for the strategy you use or build.
To get started a user would:
1) Make a copy of the code and paste in their bot keys in the area provided under the "3Comma Keys" section
- eg. Long bot "start deal" copied from 3commas in to define "Long" etc. (code is commented)
2) Place alert on desired asset with desired settings ensuring to select "Order fills and alert() function calls"
3) Paste webhook into the webhook box and select webhook URL alerts (3rd party provided webhook)
3) Delete contents of alert message box and replace with {{strategy.order.alert_message}} and nothing else
- the codes will be sent to the webhook appropriately as the strategy enters and exits positions. Only 1 alert is needed
settings used for the display image:
1hr chart on BTCUSD
-ATR stop
-Risk adjustment 1.2
-ATR multiplier 1.3
-RnR 0.6
-MAs HEMA/SMA
-MA Length 50/100
-Order size percent of equity
-Trail trigger 60% of target
Experiment with your own settings on your crypto of choice or implement your own code!
Implementing your trailing stop (optional)
Among the options for possible settings is a trailing stop. This stop will ratchet higher once triggered as a function of the Average True Range (ATR). There is a variable level to choose where the user would like to begin trailing the stop during the trade. The level can be assigned with a decimal between 0 and 1 (eg. 0.5 = 50% of the distance between entry and the target which must be exceeded before the trail triggers to begin). This can allow for some dips to occur during the trade possibly keeping you in the trade for longer, while potentially reducing risk of drawdown over time. The default for this setting is 0 meaning unless adjusted, the trail will trigger on entry if the trailing stop exit method is selected. An example can be seen below:
Again, optional as well is the choice to implement a limit order. If one were to select a trailing stop they could choose not to set a limit, which could allow a trail to run further until hit. Drawdowns of this strategy would be foregoing locking gains at highs on target on other trades. This is a trade-off the user can decide on and test. An example of this working in favor can be observed below:
Conclusion
Although a simple strategy is implemented here, the benefits of this script allow a user a starting platform to build their strategies from with built in risk mitigation. This allows the user to sidestep some of the potential difficulties' that can arise while learning Pine and taking on the endeavor of automating their trading strategies. It is meant as an aid, a structure, and an educational piece that can be seen as a "pick-up-and-go" strategy with easy 3Commas compatibility. Additionally, this can help users become more comfortable with strategy alert messages and sending strings in the form of alerts from Pine. As well, FAQs are often littered with questions regarding "strategy.exit" calls, how to implement stops. how to properly set a trailing stop based on ATR, and more. The time this can save an individual to get started is likely of the best "take-aways" here.
Happy trading
Harmonic Trading System Educational (Source Code)This indicator was intended as educational purpose only for Harmonic Patterns using XABCD Pattern Tool.
This indicator was build upon Harmonic Trading : Volume One and Harmonic Trading : Volume Three, written by Scott M Carney.
Harmonic Trading System consist of 3 important elements such as Trade Identification, Trade Execution and Trade Management, each of these element description can be hover at each label.
Harmonic Trading System
1. Trade Identification
This technique use historically proven and repetitive price patterns that focus on overbought and oversold signals generated by price action.
Understanding parameters is critical to define specific opportunities based on individual harmonic pattern including ratio is important.
2. Trade Execution
During harmonic pattern is complete, must focus actual trade within specific time period.
3. Trade Management
Specific Initial Price Objective (IPO) based on risk and opportunity.
Indikator ini bertujuan sebagai pendidikan sahaja untuk Harmonic Pattern menggunakan XABCD Pattern Tool.
Indikator ini dibina berdasarkan buku Harmonic Trading : Volume One dan Harmonic Trading : Volume Three, ditulis oleh Scott M Carney.
Harmonic Trading System mengandungi 3 element penting seperti Trade Identification, Trade Execution dan Trade Management, penerangan setiap elemen boleh didapati dengan meletak mouse pada label.
Harmonic Trading System
1. Trade Identification
Teknik ini menggunakan price patterns yang berulang dan sejarahnya terbukti yang fokus pada signal overbought dan oversold terhasil daripada price action.
Memahami parameter adalah penting untuk mengenalpasti peluang secara spesifik berdasarkan harmonic patern yang tertentu termasuk ratio adalah penting.
2. Trade Execution
Semasa harmonic pattern adalah lengkap, mestilah focus pada trade yang sebenar dalam jangka masa yang spesifik.
3. Trade Management
Initial Price Objective (IPO) secara spesifik berdasarkan risiko dan peluang.
Indicator features :
1. List XAB=CD patterns including ratio and reference page.
2. For desktop display only, not for mobile.
3. Hover to label to display tooltip (example Trade identification).
Kemampuan indikator :
1. Senarai XAB=CD pattern termasuk ratio and rujukan muka surat.
2. Untuk paparan desktop sahaja, bukan untuk mobile.
3. Letak mouse pada labell untuk memaparkan tooltip (example Trade identification).
FAQ
1. Credits / Kredit
Scott M Carney, Harmonic Trading : Volume One
Scott M Carney, Harmonic Trading : Volume Three
2. Pattern and Chapter involved / Pattern dan Bab terlibat
Bullish Harmonic Trade Management Model - Harmonic Trading: Volume One - Page 209
Bearish Harmonic Trade Management Model - Harmonic Trading: Volume One - Page 220
The Harmonic Trading Process - Harmonic Trading: Volume Three - Page 42 to 44
Bullish Phases of Trading - Harmonic Trading: Volume Three - Page 48
Bearish Phases of Trading - Harmonic Trading: Volume Three - Page 50
3. Code Usage / Penggunaan Kod
Free to use for personal usage but credits are most welcomed especially for credits to Scott M Carney.
Bebas untuk kegunaan peribadi tetapi kredit adalah amat dialu-alukan terutamanya kredit kepada Scott M Carney.
Bullish Harmonic Trading System
Bearish Harmonic Trading System
Supertrend with Percent Difference from CloseThis script improves the Supertrend indicator by displaying a label that shows the percent difference between the latest closing price & the Supertrend.
This comes in handy when one is using the Supertrend value as a stoploss level. For instance, one would like to have a maximum stop loss level of 8%. Instead of calculating how much percent the price is away from the Supertrend, one can look at the percent label & make an informed decision as to whether initiating a position would have favourable risk/reward or not.
Another utility would be selling into strength when one is using the Supertrend as a trailing stop loss. For instance, if the price is a certain percentage far away from the Supertrend, one may conclude that the price is now extended & either price correction or time correction would ensue, & decide to sell into strength.
Volume Indicators PackageCONTAINS 3 OF MY BEST VOLUME INDICATORS ALL FOR THE PRICE OF ONE!
CONTAINS:
Average Dollar Volume in RED
Up/Down Volume Ratio in Green
Volume Buzz/Volume Run Rate in BLUE
If you would like to get these individually, I also have scripts for that too.
Below is information about all three of these indicators, what they do, and why they are important.
---------------------------------------------------------------------------------------------AVERAGE DOLLAR VOLUME----------------------------------------------------------------------------------------
Dollar volume is simply the volume traded multiplied times the cost of the stock.
Dollar volume is an extremely important metric for finding stocks with enough liquidity for market makers to position themselves in. Market Liquidity is defined as market's feature whereby an individual or firm can quickly purchase or sell an asset without causing a drastic change in the asset's price. The key concept you want to understand is that these big instructions with billions of dollars need liquidity in a stock in order to even think about buying it, and therefore these institutions will demand a large dollar volume . A good dollar volume amount, that represents a pretty liquid name, is typically above 100 million $ average. Why are institutions important? Simple because they are the ones who make stocks move, and I mean really move. If you want to see large growth from a stock in a short amount of time, you need institutions wielding billions of dollars to be fighting one another to buy more shares. Institutions are the ones who make or break a stock, this is why we call them market makers.
My script calculates average dollar volume using four averages: the 50, the 30, the 20, and the 10 period. I use multiple averages in order to provide the accurate and up to date information to you. It then selects the minimum of these averages and divides this value by 1 million and displays this number to you.
TL;DR? If you want monster moves from your stocks, you need to pick names with average high liquidity(dollar volume >= $100 million). The number presented to you is in millions of whatever currency the name is traded in.
---------------------------------------------------------------------------------------------UP/DOWN VOLUME RATIO-----------------------------------------------------------------------------------------
Up/Down Volume Ratio is calculated by summing volume on days when it closes up and divide that total by the volume on days when the stock closed down.
High volume up days are typically a sign of accumulation(buying) by big players, while down days are signs of distribution(selling) by big market players. The Up Down volume ratio takes this assumption and turns it into a tangible number that's easier for the trader to understand. My formula is calculated using the past 50 periods, be warned it will not display a value for stocks with under 50 periods of trading history. This indicator is great for identify accumulation of growth stocks early on in their moves, most of the time you would like a growth stocks U/D value to be above 2, showing institutional sponsorship of a stock.
Up/Down Volume value interpretation:
U/D < 1 -> Bearish outlook, as sellers are in control
U/D = 1 -> Sellers and Buyers are equal
U/D > 1 -> Bullish outlook, as buyers are in control
U/D > 2 -> Bullish outlook, significant accumulation underway by market makers
U/D >= 3 -> MONSTER STOCK ALERT, market makers can not get enough of this stock and are ravenous to buy more
U/D values greater than 2 are rare and typically do not last very long, and U/D >= 3 are extremely rare one example I kind find of a stock's U/D peaking above 3 was Google back in 2005.
-----------------------------------------------------------------------------------------------------VOLUME BUZZ-----------------------------------------------------------------------------------------------
Volume Buzz/ Volume Run Rate as seen on TC2000 and MarketSmith respectively.
Basically, the volume buzz tells you what percentage over average(100 time period moving average) the volume traded was. You can use this indicator to more readily identify above-average trading volume and accumulation days on charts. The percentage will show up in the top left corner, make sure to click the settings button and uncheck the second box(left of plot) in order to get rid of the chart line.
RexDog Average with ATRBam-- look what Rex did. A RexDog Average with ATR bands-- he's going insane. Simple but powerful.
This indicator includes the RexDog average but provides you with the ability to plot (and customize) both above and below ATR calculated bands.
With this indicator you can display all 3 or any combination of the bands: the RexDog Avg, Adding ATR Upper or the Subtracting ATR Below.
To remove a plot or customize color and line size go to the style options.
Before we get detailed with this version you can customize the default average factor of the RexDog Avg (default is 6). More tips on this below.
How This Works
Just as with the RexDog Average we take the 6 ATR data points (200, 100, 50, 24, 9, 5). We then create an average by dividing by 6. But wait there's more...
With this indicator you can customize independently the above and below bands via a float value for precision. 6 is the default (you can customize by increments at 0.25 or input value you like 1-20).
Now this works opposite how you might think but you'll get it once you start changing the numbers. For instance, editing the above band lowering the ATR factor will raise the band.
RexDog Avg Factor
With this release you are able to change the default average factor (6) to anything you want. You'll find though going too high or low from the default won't get the best results. The default increment change is 0.1 but you can enter any float value you like between 1-20.
The Original RexDog Average Overview
Yes, simple—the RexDog Average is a bias moving average indicator. The purpose is to provide the overall momentum bias you should have when trading an instrument. It works across all markets and all timeframes.
Usage:
Price above the RexDog AVG = long momentum bias
Price below the RexDog AVG = short momentum bias
With the ATR addition most likely your usage will be similar to Bollinger Bands. While not the same as in deviations much of the same principles might apply, especially with customization.
*Note: we have banned the word “trend” in the RexDog Trading Method.
Additional Usage Advice:
If price rips through the average your momentum bias should probably change. 80% of the time when price moves through the RexDog Average it will come back and test the area around average within 1-2 bars. 20% of the time it does not. The momentum is so strong in that direction so look for a 50-70% tests of the bar that impulse through the RexDog Average.
If you are using the RexDog Trading Method by default if the price is above the average and you are short you are in a fade trade. The momentum trade would be long. Of course reverse if price is below.
On multiple time frames. Of course, one timeframe can be long bias and a lower timeframe can be short bias. Which one do you use? Both—if your in a short trade using lower timeframe and with the bias of the average your in a momentum trade—but on the higher timeframe your aware you are essential fading the overall momentum.
Background:
Rex and I searched high and low for one simple thing. A moving average (or combination of some) that we could use to form our momentum bias that worked for all timeframes and all markets we trade.
We tried and tested them all. Even went down the path of ribbons and various other types of hybrid EMA /MA derivatives. Nothing had a high enough accuracy or mathematically was reliable that we could say with a high probability that it was on the right side of the momentum.
We almost stopped and landed on using the true and tested 200 MA—but we found through extensive tests that using the 200MA or EMA you’re often late to the party. Look you don’t need to be the first one in the trade but having a heads up sure helps.
To quote one of the best financial movies of the modern era—Margin Call:
“There are three ways to make a living in this business: be first, be smarter, or cheat… it sure is a hell of a lot easier to be first”. The RexDog Average used properly enables you to be first or damn near close.
Under the Hood:
This is so simple most reading this will discount it. You might even scoff and berate Rex for wasting your time. But you would be wrong. The RexDog Average has been tested across all markets—FOREX, Crypto, Equities, Futures (even tick charts), and even the Penguin population in Antarctica.
The RexDog Average is an average of 6 simple moving averages: 200, 100, 50, 24, 9, 5.
Yes, that’s it.
RexDog AverageYes, simple—the RexDog Average is a bias moving average indicator. The purpose is to provide the overall momentum bias you should have when trading an instrument. It works across all markets and all timeframes.
Usage:
Price above the RexDog AVG = long momentum bias
Price below the RexDog AVG = short momentum bias
*Note: we have banned the word “trend” in the RexDog Trading Method.
Additional Usage Advice:
If price rips through the average your momentum bias should probably change. 80% of the time when price moves through the RexDog Average it will come back and test the area around average within 1-2 bars. 20% of the time it does not. The momentum is so strong in that direction so look for a 50-70% tests of the bar that impulse through the RexDog Average.
If you are using the RexDog Trading Method by default if the price is above the average and you are short you are in a fade trade. The momentum trade would be long. Of course reverse if price is below.
On multiple time frames. Of course, one timeframe can be long bias and a lower timeframe can be short bias. Which one do you use? Both—if your in a short trade using lower timeframe and with the bias of the average your in a momentum trade—but on the higher timeframe your aware you are essential fading the overall momentum.
Background:
Rex and I searched high and low for one simple thing. A moving average (or combination of some) that we could use to form our momentum bias that worked for all timeframes and all markets we trade.
We tried and tested them all. Even went down the path of ribbons and various other types of hybrid EMA/MA derivatives. Nothing had a high enough accuracy or mathematically was reliable that we could say with a high probability that it was on the right side of the momentum.
We almost stopped and landed on using the true and tested 200 MA—but we found through extensive tests that using the 200MA or EMA you’re often late to the party. Look you don’t need to be the first one in the trade but having a heads up sure helps.
To quote one of the best financial movies of the modern era—Margin Call:
“There are three ways to make a living in this business: be first, be smarter, or cheat… it sure is a hell of a lot easier to be first”. The RexDog Average used properly enables you to be first or damn near close.
Under the Hood:
This is so simple most reading this will discount it. You might even scoff and berate Rex for wasting your time. But you would be wrong. The RexDog Average has been tested across all markets—FOREX, Crypto, Equities, Futures (even tick charts), and even the Penguin population in Antarctica.
The RexDog Average is an average of 6 simple moving averages: 200, 100, 50, 24, 9, 5.
Yes, that’s it.
The RexDog Average Plus will be released soon with additional parameters and most likely upper and lower bounds. In addition, we are working on a hybrid RexDog Exponential Average.
Bear & Bull Zone Signal StrategySince I love to mix and match, here is something fresh and that actually works on the breakout of Ethereum without losing your ass on lagging indicators.
It blends some of the nice parts of my previous scripts while moving to big boy pants with a twist on the Fibonacci retracement using SMA and EMA at multiple levels to do a sanity check.
Is it too good to be true? Nope, just what happens when a Solution Architect starts messing around with crypto and applies engineering and mathematics to the mix. You get a strategy that really doesn't have high profit losses when you tweak it just the right way.
What's the right tweak you ask?
1. Start with a 30 minute timeframe and set your window start date to the date the market began the bear or bull run
2. Make sure you can see your strategy performance window (not the graph one)
3. Set Stop Loss and Target Profit to 50%
4. Use your mouse wheel or up and down arrows and mess around with the RSI, go down one at a time but no lower than 7. Whichever value displayed the highest long or short gain is the one to pick.
5. Now select long or short only based on whichever one shows the highest gain.
6. Now go to K and D, leave K as 3 and check what happens when D is 4 or 5. Leave D at the value that gives you the highest gain.
7. Now go to EMA Fast and Slow Lengths. Leave Fast at 5 and check what happens when the Slow is moved up to 11 or 12, do the gains go up. If not, check what happens when Slow is moved down to 9, 8, or 7. Whichever gives you the highest gain, leave it there. Now go mess with the fast length, keep in mind that fast must always be less than slow. So check values down to 3 and up to 6. Same concept, mo money...leave it be.
8. Now go mess with the Target Profit, I start at 5, hit enter, then go to 7, hit enter, then 9...up by 2 until I get to 21 to make sure I don't hastily pick a low one and always keep in mind between which values the gain switched from high to low. For example, in this example I published at 11 it was $5k and at 13 it was $3700 for the gains. So after I got up to 21 I went back to 11 and started going up by 0.01 steps until the value dropped, which was at 11.19 so I set it at 11.18.
9. Now stop loss is trickier, you've maximized the gains, which means if you set the stop loss at a low value you will sacrifice gains. Typically by this point your loss is less than 10% with this script. So, my approach is to find the value where the stop loss doesn't change what I've tweaked already. In this example, I did the same start at 5 and go up by 2 and saw that when I went to 17 it stopped changing. So I started going back down by 0.5 and saw at 15.5 the gains went lower again. Now I started going back up in steps of 0.01 and at 15.98 it went back to the high gain I already tweaked for. I kept stop loss there and unleashed the strategy on ETH.
So far so good, no bad trades and it's been behaving pretty well.
Price/Volume Trend MeterAnother simple indicator from the sweet indicator series, This is a combination of the Volume and Price Trend Meter indicators combined (Links below) into one indicator called PVTM (Price Volume Trend Meter).
PVTM measures the strength of price and volume pressure on a histogram.
The indicator sums up all green candles price and volume and red candles price and volume over a specific period of bars and plots based on Price summed value. The result will look similar to Price Trend Meter with the benefit of trying to filter out more noise.
Use this indicator to identify the increasing asset of price and volume with the green candles (Close is higher than open) and decreasing of price and volume with the red candles (Close is lower than open).
======= Calculation ==========
Bright Green Color Column: Total summed up Price and Volume are higher than 0.
Bright Red Color Column: Total summed up Price and Volume are Lower than 0.
Weak Green Color Column: Conflict between Price and Volume (One positive and one negative) so we continue based on previous color .
Weak Red Color Column: Conflict between Price and Volume (One positive and one negative) so we continue based on previous color.
======= Price/Volume Trend Meter Colors =======
Green: Increasing buying pressure.
Weaker Green: Declining Buying pressure (Possible Sell Reversal).
Red: Increasing selling pressure.
Weaker Red: Declining Selling pressure (Possible Buy Reversal).
Other sweet indicators that this indicator is based on:
Volume Trend Meter:
Price Trend Meter:
Like if you Like and Follow me for upcoming indicators/strategies: www.tradingview.com
Squeeze Momentum [Plus]The "Momentum" in this indicator is smoothed out using linear regression. The Momentum is what is displayed on the indicator as a histogram, its purpose is obvious (to show momentum).
What is a Squeeze? A squeeze occurs when Bollinger Bands tighten up enough to slip inside of Keltner Channels .
This is interpreted as price is compressing and building up energy before releasing it and making a big move.
Traditionally, John Carter's version uses 20 period SMAs as the basis lines on both the BB and the KC.
In this version, I've given the freedom to change this and try out different types of moving averages.
The original squeeze indicator had only one Squeeze setting, though this new one has three.
The gray dot Squeeze, call it a "low squeeze" or an "early squeeze" - this is the easiest Squeeze to form based on its settings.
The orange dot Squeeze is the original from the first Squeeze indicator.
And finally, the yellow dot squeeze, call it a "high squeeze" or "power squeeze" - is the most difficult to form and suggests price is under extreme levels of compression.
Now to explain the parameters:
Squeeze Input - This is just the source for the Squeeze to use, default value is closing price.
Length - This is the length of time used to calculate the Bollinger Bands and Keltner Channels .
Bollinger Bands Calculation Type - Selects the type of moving average used to create the Bollinger Bands .
Keltner Channel Calculation Type - Selects the type of moving average used to create the Keltner Channel.
Color Format - you to choose one of 5 different color schemes.
Draw Divergence - Self explanatory here, this will auto-draw divergence on the indicator.
Gray Background for Dark Mode - to make them more visually appealing.
Added ADX (Average Directional Index) that measure a trend’s strength. The higher the ADX value, the stronger the trend. The ADX line is white when it has a positive slope, otherwise it is gray. When the ADX has a very large dispersion with respect to the momentum histogram, increase the scale number.
Added "H (Hull Moving Average) Signal". Hull is a extremely responsive and smooth moving average created by Alan Hull in 2005. Have option to chose between 3 Hull variations.
Added "Williams Vix Fix" signal. The Vix is one of the most reliable indicators in history for finding market bottoms. The Williams Vix Fix is simply a code from Larry Williams creating almost identical results for creating the same ability the Vix has to all assets.
The VIX has always been much better at signaling bottoms than tops. Simple reason is when market falls retail traders panic and increase volatility, and professionals come in and capitalize on the situation. At market tops there is no one panicking... just liquidity drying up.
The FE green triangles are "Filtered Entries"
The AE green triangles are "Aggressive Filtered Entries"
Ultimate Multi-MACD - Early Warnings + Main TrendThis is a set of a bunch of moving averages. Unique, huh? Right. Awesome. Dope.
So, what's cool about this set, is its usability as not just one MACD, but a pair of MACDs specifically tuned to keep you hard. Some of you probably notice already just looking at the available MAs and lengths - there are some common pairs here. But what do you get when you combine all these common pairs that share bases? You get both short and long term plays out of it. The thing MACDs aren't supposed to do. I imagine it would be hard to make a backtestable/bottable script version of this, because the main thing is you have to use your gut a little bit in determing when to take a short term play and when to keep to the long term plays.
In this set, you get 3 TEMAs, 2 VWMAs, 2 SMAs, and 2 ALMAs. Yeah. That's almost TOO phat. I know. Whatever.
The two purple/pink lines are your 25 VWMA and 50 ALMA slow lines. These will be your main slow lines. They're usually close but move around a decent bit and if you want you could make buys and sales using the Alma crossing above the VWMA as a buy and sell crossing under.
Then you have a THIRD potential slow line on your dark green 50 TEMA. You generally use either the 13 or 21 TEMA crossing up as buy and down as sell. The signal TEMAs are bright green 13 and yellow 21.
Next you have all your Fast signal MAs! A peachy 10 VWMA, 13 green TEMA, 21 yellow TEMA, 10 teal/bright blue ALMA and last but not least, two pale SMAs at 5 and 10. The 5 could even be used as a signal against the 10 if you really want. There are countless options for buy and sell signals. Hide and show the ones that work the best on the chart you're trading on. Different ones will work different times. Why not see which ones are working BEST out of all the best ones, though?
Please leave other MA pairs that you would like added in future versions. If I do make a future version with more pairs I will very likely set default to hide some
Enjoy.
BOSCILLATOR. A BOSS OSCILLATORI would like to first say I do not the indicator pieces. Would like to personally give thanks and credit to @MarkBench for coding this indicator and helping to get my vision for this system finally able to be published and used by anyone. I would also like the thank @lazy bear and @ChrisMoody for their bringing the Firefly oscillator and the SCHAFF TREND and the PPO price percentage oscillator to trading view. and @scilentor for his version of Godmode with LSMA . Thanks to @Shizaru for bringing Frama moving average (which we have adopted into the PPO as one of the base selections for the first time, as well as the ALMA ). Divergences have also been added. and components of the firefly have been removed such as the histogram. I have added two oscillators in the picture. The bottom is the standard settings. The above is how I prefer mine to look after tweaking the settings.
Before I get into explaining how its used. I want to say all the indicators are open and none privately owned or at least owned by indivduals who brought them to trading view. Any due permission is granted at my disclocsure. I also want to say this is not your typical mashup of indicators as the is a very clear way to view and use this specifically. Also I want to say original tools from their original scripts are also improved. For example the PPO being used we have added the FRAMA and ALMA moving average basis option which it did not have before. And now everything has clear divergences and some other minor changers. but here are the rules and examples.
THE BOSCILLATOR - A MULTI-LEVEL CONFLUENCE/CONFIRMATION FILTER VISUALIZATION
Some shorthand
(Main oscillator - firefly)
(background wave thing - PPO )
(the red vertical up and down line with red and green dots - STC )
(the blue, yellow and red dots - warning dots)
WHO IS THIS INDICATOR FOR? - This indicator itself is not meant to be a signal giver to buy or sell right now even though it could be and some of the original scripts are used as such. This indicator is actually meant to be a VISUAL CONFIRMATION & FILTER for trades taken in other methods outside of this indicator. What are some of those methods that may benefit from having this? Pivot point traders, FIB traders, Bollinger band traders, Moving average traders.. just to name a few. This indicator itself is meant to in a quick glance allow the trade to see the condition of many different elements outside of the main price and chart, and determine if that trade looks like it has too much risk, or if that trade looks suitable. It also provides a series of confirmations that could be used for adding to a position at different levels at the trade's discretion.
OPTIMAL CONDITIONS FOR CONSIDERING A SHORT = The PPO is orange/red + the STC is at the TOP + the Firefly is above the midline. The warning dots are being printed at the top. There is regular or hidden bearish divergence present.
OPTIMAL CONDITIONS FOR CONSIDERING A LONG = The PPO is light/dark green + the STC is at the BOTTOM + the Firefly is below the midline. The warning dots are being printed at the bottom. There is regular or hidden bullish divergence present.
Triggers for scaling/adding into your position = Keeping in mind that this oscillator on its own is not meant to be the sole reason for taking a trade, here are some triggers you will see for getting into position (preferably with the optimal conditions being met) The firefly flips from a green line into a red slide and vise versa. The firefly crosses the midline up or down. The STC begins going up/down and triggers a green or red dot while crossing one of the levels at 20 or 80. The warning dots being made begin to be printed lower/higher than the dot before last. The PPO shift from one color to the next in the favored direction of the trade you wish to make.
Signs for taking profit and protecting your trade = The Dots begin to print, the PPO changes colors at the top or bottom. the STC arrived are the top.
FILTER SITUATIONS TO AVOID TRADES = Wise to not take a trade if the PPO and the firefly do not agree. For example - if the PPO is showing green yet the firefly is still red may be an indication that it is getting a bit late for you to enter the trade. Same with opposing divergences and warning dots contradicting the trade you are looking at. The STC being already on the bottom or top may be a small indication that trade may already have been a little too ripe, but on its own is not always the case.
When selecting the PPO settings and moving average you are going to want it to be in favor of what you are trying to accomplish.IF you are one low time frames and trying to swing or scalp trade... chances are you want a reactive MA setting that iss responsive. Iwould recommend the HULL, ALMA, TEMA DEMA. For the Higher time frame the EMA or the T3 WDma can be wuite patient and helpful for a constant reminder of caution
Some notes - for the swing and scalp trading... in my experience the PPO moving average basis sees more responsive changes with the FRAMA , ALMA , HULL settings. for entering a trade, at least a couple of your triggers being present increases the success rate by a lot.
This chart illustrates the usefullness of having a Zero lag function for the firefly. The firefly should not be taken for signals or trades itself. However it is the most precise finder of divergences within the system. It is aways good to flip on and off zero lag just to take a quick look for divergences you might have mixed.
In this chart illustrates the general visual look and order of events to guide you along your way. Starts with the PPO turning green or red or orange which is potentially time to get out of your current trade. Then it switched colors when reversal begins and that is when you want to at the same time see the STC, the firefly, and lower caution dots coming in around the same area (highlighted in blue squares). Now near the end you see a red box. This is a filter aspect. The PPO is green, yet the others are saying down/short. This does not mean it must be a long, however it is great warning to maybe avoid getting to bearish for the downside in that time. You want the PPO and line up with the others and it should be visually apparent that they all want to go the same way.
Here is a list of some key elements (before changes this script made) of parts this oscillator includes. My original publication of my oscillation setup was blocked by the mods here.. this one however includes a large variety of items that have been altered from their original formats and a well-explained trading system to use it with.
// Firefly
Firefly Oscillator
// PPO
PPO PercentileRank Mkt Tops & Bottoms (@PuppyTherapy)
// Divergence
Divergence Indicator (any oscillator)
// Godmode
Godmode3.2+LSMA
// Schaff
Schaff Trend Cycle
// Frama
(FRAMA) Fractal Adaptive Moving Average
Random Synthetic Asset GenerationThis script generates pseudo-random asset data . Due to the nature of the random generator, it is impossible to use this indicator as input for other indicators because the instance of the script that the indicator is applied to will automatically be different from the instance that is plotted on the chart. Therefore, the idea is to use this script in other scripts (to make it possible to backtest on random data, for example).
The script has four main input parameters.
Random Number Generator Method: It supports two methods for generating the pseudo-random numbers (one by Ricardo Santos and one by Wichmann-Hill).
Seed: You can specify the seed to use. Each unique seed will generate a unique set of pseudo-random data.
Intrabar Volatility: This basically sets how volatile the generated wicks will be (0 = no wicks).
Price Multiplier: This is just a multiplier for the generated price data, so that you can scale up or down the generated price data.
You can also change the colors of the bars.
In addition to this, the indicator also generates random volume. In order to make it possible to show both volume and price, you need to have two identical instances of the indicator. One on the chart, and one in its own panel. Then, go into the Style tab in the indicator settings on the instance in the panel. Untick Up-Candles and Down-Candles boxes, and tick the Volume box.
In a similar manner, you can also plot the true range data and the candle change data as well, by ticking one of those boxes instead.
ma sorter ('sort by array' example)- JD////////////////////////////////////////////////////////////////
//////////////// ma sorter / Array sorting function //////////////////
////////////////////////////////////////////////////////////////
This script gives an example how you can sort the items in one array, by using the values in another array.
In the example here, we want to sort moving averages of different lengths by there values
as we don't have mixed arrays (yet) in Pinescript, one solution could be to store this in 2 arrays:
- one (string) array to store the ma names
- one (float) array to store the ma values
The "f_sort_by_array( )" function in this script allows you to sort the ma names by using the ma values
and sorts the two arrays together, as if the were one 2D matrix, where the rows are sorted.
With the "f_sort_by_array" function, both the (string) array1 and array2 are sorted by the values of array2, the function returns the two sorted arrays.
IMPORTANT NOTE: the output has to be stored in TWO NEW (sorted) ARRAYS, Pinescript doesn't allow function arguments to be modified by the function itself
this is why the output goes to ma_names_sorted and not ma_names !!!!
Feel free to use this function in your scripts to get more contorl over your arrays.
Gr, JD.
Relative Volume at Time█ OVERVIEW
This indicator calculates relative volume, which is the ratio of present volume over an average of past volume.
It offers two calculation modes, both using a time reference as an anchor.
█ CONCEPTS
Calculation modes
The simplest way to calculate relative volume is by using the ratio of a bar's volume over a simple moving average of the last n volume values.
This indicator uses one of two, more subtle ways to calculate both values of the relative volume ratio: current volume:past volume .
The two calculations modes are:
1 — Cumulate from Beginning of TF to Current Bar where:
current volume = the cumulative volume since the beginning of the timeframe unit, and
past volume = the mean of volume during that same relative period of time in the past n timeframe units.
2 — Point-to-Point Bars at Same Offset from Beginning of TF where:
current volume = the volume on a single chart bar, and
past volume = the mean of volume values from that same relative bar in time from the past n timeframe units.
Timeframe units
Timeframe units can be defined in three different ways:
1 — Using Auto-steps, where the timeframe unit automatically adjusts to the timeframe used on the chart:
— A 1 min timeframe unit will be used on 1sec charts,
— 1H will be used for charts at 1min and less,
— 1D will be used for other intraday chart timeframes,
— 1W will be used for 1D charts,
— 1M will be used for charts at less than 1M,
— 1Y will be used for charts at greater or equal than 1M.
2 — As a fixed timeframe that you define.
3 — By time of day (for intraday chart timeframes only), which you also define. If you use non-intraday chart timeframes in this mode, the indicator will switch to Auto-steps.
Relative Relativity
A relative volume value of 1.0 indicates that current volume is equal to the mean of past volume , but how can we determine what constitutes a high relative volume value?
The traditional way is to settle for an arbitrary threshold, with 2.0 often used to indicate that relative volume is worthy of attention.
We wanted to provide traders with a contextual method of calculating threshold values, so in addition to the conventional fixed threshold value,
this indicator includes two methods of calculating a threshold channel on past relative volume values:
1 — Using the standard deviation of relative volume over a fixed lookback.
2 — Using the highs/lows of relative volume over a variable lookback.
Channels calculated on relative volume provide meta-relativity, if you will, as they are relative values of relative volume.
█ FEATURES
Controls in the "Display" section of inputs determine what is visible in the indicator's pane. The next "Settings" section is where you configure the parameters used in the calculations. The "Column Coloring Conditions" section controls the color of the columns, which you will see in three of the five display modes available. Whether columns are plotted or not, the coloring conditions also determine when markers appear, if you have chosen to show the markers in the "Display" section. The presence of markers is what triggers the alerts configured on this indicator. Finally, the "Colors" section of inputs allows you to control the color of the indicator's visual components.
Display
Five display modes are available:
• Current Volume Columns : shows columns of current volume , with past volume displayed as an outlined column.
• Relative Volume Columns : shows relative volume as a column.
• Relative Volume Columns With Average : shows relative volume as a column, with the average of relative volume.
• Directional Relative Volume Average : shows a line calculated using the average of +/- values of relative volume.
The positive value of relative volume is used on up bars; its negative value on down bars.
• Relative Volume Average : shows the average of relative volume.
A Hull moving average is used to calculate the average used in the three last display modes.
You can also control the display of:
• The value or relative volume, when in the first three display modes. Only the last 500 values will be shown.
• Timeframe transitions, shown in the background.
• A reminder of the active timeframe unit, which appears to the right of the indicator's last bar.
• The threshold used, which can be a fixed value or a channel, as determined in the next "Settings" section of inputs.
• Up/Down markers, which appear on transitions of the color of the volume columns (determined by coloring conditions), which in turn control when alerts are triggered.
• Conditions of high volatility.
Settings
Use this section of inputs to change:
• Calculation mode : this is where you select one of this indicator's two calculation modes for current volume and past volume , as explained in the "Concepts" section.
• Past Volume Lookback in TF units : the quantity of timeframe units used in the calculation of past volume .
• Define Timeframes Units Using : the mode used to determine what one timeframe unit is. Note that when using a fixed timeframe, it must be higher than the chart's timeframe.
Also, note that time of day timeframe units only work on intraday chart timeframes.
• Threshold Mode : Five different modes can be selected:
— Fixed Value : You can define the value using the "Fixed Threshold" field below. The default value is 2.0.
— Standard Deviation Channel From Fixed Lookback : This is a channel calculated using the simple moving average of relative volume
(so not the Hull moving average used elsewhere in the indicator), plus/minus the standard deviation multiplied by a user-defined factor.
The lookback used is the value of the "Channel Lookback" field. Its default is 100.
— High/Low Channel From Beginning of TF : in this mode, the High/Low values reset at the beginning of each timeframe unit.
— High/Low Channel From Beginning of Past Volume Lookback : in this mode, the High/Low values start from the farthest point back where we are calculating past volume ,
which is determined by the combination of timeframe units and the "Past Volume Lookback in TF units" value.
— High/Low Channel From Fixed Lookback : In this mode the lookback is fixed. You can define the value using the "Channel Lookback" field. The default value is 100.
• Period of RelVol Moving Average : the period of the Hull moving average used in the "Directional Relative Volume Average" and the "Relative Volume Average".
• High Volatility is defined using fast and slow ATR periods, so this represents the volatility of price.
Volatility is considered to be high when the fast ATR value is greater than its slow value. Volatility can be used as a filter in the column coloring conditions.
Column Coloring Conditions
• Eight different conditions can be turned on or off to determine the color of the volume columns. All "ON" conditions must be met to determine a high/low state of relative volume,
or, in the case of directional relative volume, a bull/bear state.
• A volatility state can also be used to filter the conditions.
• When the coloring conditions and the filter do not allow for a high/low state to be determined, the neutral color is used.
• Transitions of the color of the volume columns determined by coloring conditions are used to plot the up/down markers, which in turn control when alerts are triggered.
Colors
• You can define your own colors for all of the oscillator's plots.
• The default colors will perform well on light or dark chart backgrounds.
Alerts
• An alert can be defined for the script. The alert will trigger whenever an up/down marker appears in the indicator's display.
The particular combination of coloring conditions and the display settings for up/down markers when you create the alert will determine which conditions trigger the alert.
After alerts are created, subsequent changes to the conditions controlling the display of markers will not affect existing alerts.
• By configuring the script's inputs in different ways before you create your alerts, you can create multiple, functionally distinct alerts from this script.
When creating multiple alerts, it is useful to include in the alert's message a reminder of the particular conditions you used for each alert.
• As is usually the case, alerts triggering "Once Per Bar Close" will prevent repainting.
Error messages
Error messages will appear at the end of the chart upon the following conditions:
• When the combination of the timeframe units used and the "Past Volume Lookback in TF units" value create a lookback that is greater than 5000 bars.
The lookback will then be recalculated to a value such that a runtime error does not occur.
• If the chart's timeframe is higher than the timeframe units. This error cannot occur when using Auto-steps to calculate timeframe units.
• If relative volume cannot be calculated, for example, when no volume data is available for the chart's symbol.
• When the threshold of relative volume is configured to be visible but the indicator's scale does not allow it to be visible (in "Current Volume Columns" display mode).
█ NOTES
For traders
The chart shown here uses the following display modes: "Current Volume Columns", "Relative Volume Columns With Average", "Directional Relative Volume Average" and "Relative Volume Average". The last one also shows the threshold channel in standard deviation mode, and the TF Unit reminder to the right, in red.
Volume, like price, is a value with a market-dependent scale. The only valid reference for volume being its past values, any improvement in the way past volume is calculated thus represents a potential opportunity to traders. Relative volume calculated as it is here can help traders extract useful information from markets in many circumstances, markets with cyclical volume such as Forex being one, obvious case. The relative nature of the values calculated by this indicator also make it a natural fit for cross-market and cross-sector analysis, or to identify behavioral changes in the different futures contracts of the same market. Relative volume can also be put to more exotic uses, such as in evaluating changes in the popularity of exchanges.
Relative volume alone has no directional bias. While higher relative volume values always indicate higher trading activity, that activity does not necessarily translate into significant price movement. In a tightly fought battle between buyers and sellers, you could theoretically have very large volume for many bars, with no change whatsoever in bid/ask prices. This of course, is unlikely to happen in reality, and so traders are justified in considering high relative volume values as indicating periods where more attention is required, because imbalances in the strength of buying/selling power during high-volume trading periods can amplify price variations, providing traders with the generally useful gift of volatility.
Be sure to give the "Directional Relative Volume Average" a try. Contrary to the always-positive ratio widely used in this indicator, the "Directional Relative Volume Average" produces a value able to determine a bullish/bearish bias for relative volume.
Note that realtime bars must be complete for the relative volume value to be confirmed. Values calculated on historical or elapsed realtime bars will not recalculate unless historical volume data changes.
Finally, as with all indicators using volume information, keep in mind that some exchanges/brokers supply different feeds for intraday and daily data, and the volume data on both feeds can sometimes vary quite a bit.
For coders
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
Bits and pieces of code were lifted from the MTF Selection Framework and the MTF Oscillator Framework , also by PineCoders.
█ THANKS
Thanks to dgtrd for suggesting to add the channel using standard deviation.
Thanks to adolgov for helpful suggestions on calculations and visuals.
Look first. Then leap.