[blackcat] L2 Vitali Apirine Weekly & Daily StochasticsLevel 2
Background
Vitali Apirine’s articles in the Sep issues on 2018,“Weekly & Daily Stochastics”
Function
In “Weekly & Daily Stochastics” in this issue, author Vitali Apirine introduces a novel approach to using the classic stochastic indicator in a way that simulates calculations based on different timeframes while using just a daily interval chart. He describes a number of ways to use this new indicator that allows traders to detect the state of longer-term trends while looking for entry points and reversals. Here, I am providing the TradingView pine code for an indicator based on the author’s ideas.
Remarks
Feedbacks are appreciated.
Cari dalam skrip untuk "米哈游2018年股票价格"
Bitcoin Golden Pi CyclesTops are signaled by the fast top MA crossing above the slow top MA, and bottoms are signaled by the slow bottom MA crossing above the fast bottom MA. Alerts can be set on top and bottom prints. Does not repaint.
Similar to the work of Philip Swift regarding the Bitcoin Pi Cycle Top, I’ve recently come across a similar mathematically curious ratio that corresponds to Bitcoin cycle bottoms. This ratio was extracted from skirmantas’ Bitcoin Super Cycle indicator . Cycle bottoms are signaled when the 700D SMA crosses above the 137D SMA (because this indicator is closed source, these moving averages were reverse-engineered). Such crossings have historically coincided with the January 2015 and December 2018 bottoms. Also, although yet to be confirmed as a bottom, a cross occurred June 19, 2022 (two days prior to this article)
The original pi cycle uses the doubled 350D SMA and the 111D SMA . As pointed out this gives the original pi cycle top ratio:
350/111 = 3.1532 ≈ π
Also, as noted by Swift, 111 is the best integer for dividing 350 to approximate π. What is mathematically interesting about skirmanta’s ratio?
700/138 = 5.1095
After playing around with this for a while I realized that 5.11 is very close to the product of the two most numerologically significant geometrical constants, π and the golden ratio, ϕ:
πϕ = 5.0832
However, 138 turns out to be the best integer denominator to approximate πϕ:
700/138 = 5.0725 ≈ πϕ
This is what I’ve dubbed the Bitcoin Golden Pi Bottom Ratio.
In the spirit of numerology I must mention that 137 does have some things going for it: it’s a prime number and is very famously almost exactly the reciprocal of the fine structure constant (α is within 0.03% of 1/137).
Now why 350 and 700 and not say 360 and 720? After all, 360 is obviously much more numerologically significant than 350, which is proven by the fact that 360 has its own wikipedia page, and 350 does not! Using 360/115 and 720/142, which are also approximations of π and πϕ respectively, this also calls cycle tops and bottoms.
There are infinitely many such ratios that could work to approximate π and πϕ (although there are a finite number whose daily moving averages are defined). Further analysis is needed to find the range(s) of numerators (the numerator determines the denominator when maintaining the ratio) that correctly produce bottom and top signals.
NVT Ratio: OnchainNVT Ratio
Defined as the ratio of market capitalization divided by transacted volume (in USD).
Network Value to Transactions Ratio (NVT Ratio) is defined as the ratio of market capitalization divided by transacted volume in the specified window.
History
NVT first made an appearance as a tweet on Woo Bull account in Feb 2017. In that tweet he promised an explanatory article which came much later in Oct 2017, first debuting on Forbes.
In Feb 2018, Dimitry Kalichkin published his work to improve NVT for use as a more responsive indicator, hence Kalichkin NVT Signal. In the same month, Woo Bull applied some trader techniques to NVT Signal and published an article summarising how to use it within a trading environment.
Interpretation:
NVT Ratio (Network Value to Transactions Ratio) is similar to the PE Ratio used in equity markets.
this indicator measures whether the blockchain network is overvalued or not.
When Bitcoin`s NVT is high, it indicates that its network valuation is outstripping the value being transmitted on its payment network, this can happen when the network is in high growth and investors are valuing it as a high return investment, or alternatively when the price is in an unsustainable bubble.
High: Overvalued Network worth - Bearish
Marketcap is too much valued compared to the low ability to transact coins in terms of volume
Low : Undervalued Network worth - Bullish
Marketcap is undervalued compared to the high ability to transact coins in terms of volume
Cryptogrithm's Secret Momentum and Volatility IndicatorThis indicator is hard-coded for Bitcoin, but you may try it on other asset classes/coins. I have not updated this indicator in over 3 years, but it seems to still work very well for Bitcoin.
This indicator is NOT for beginners and is directed towards intermediate/advanced traders with a sensibility to agree/disagree with what this indicator is signalling (common sense).
This indicator was developed back in 2018 and I has not been maintained since, which is the reason why I am releasing it. (It still works great though! At the time of this writing of May 2022).
How to use:
Terms:
PA (Price Action): Literally the candlestick formations on your chart (and the trend formation). If you don't know how to read and understand price action, I will make a fast-track video/guide on this later (but in the meanwhile, you need to begin by learning Order-Flow Analysis, please google it first before asking).
CG Level (Cryptogrithm Level/Yellow Line): PA level above = bullish, PA level below = bearish
CG Bands (Cryptogrithm Bands): This is similar to how bollingers work, you can use this the same was as bollinger bands. The only difference is that the CG bands are more strict with the upper and lower levels as it uses different calculations to hug the price tighter allowing it to be more reactive to drastic price changes (earlier signals for oversold/overbought).
CG Upper Band (Red Upper Line): Above this upper bound line means overbought.
CG Middle Band (Light Blue Line): If PA trades above this line, the current PA trend is bullish continuing in the uptrend. If PA trades below this line, the current PA trend is bearish continuing in the downtrend. This band should only be used for short-term trends.
CG Lower Band (Green Lower Line): Below this lower bound line means oversold.
What the CG Level (yellow line) tells you:
PA is trading above CG Level = Bullish
PA is trading below CG Level = Bearish
Distance between CG Level and price = Momentum
What this means is that the further away the price is from the CG Level, the greater the momentum of the current PA trend. An increasing gap between the CG Level and PA indicates the price's strength (momentum) towards the current upward/downward trend. Basically when the PA and CG Level diverge, it means that the momentum is increasing in the current trend and when they converge, the current trend is losing momentum and the direction of the PA trend may flip towards the other direction (momentum flip).
PA+CG Level Momentum:
To use the CG Level as a momentum indicator, you need to pay attention to how the price and the CG level are moving away/closer from each other:
PA + CG Level Diverges = Momentum Increasing
PA + CG Level Converges = Momentum Decreasing
Examples (kind of common sense, but just for clarity):
Case 1: Bullish Divergence (Bullish): The PA is ABOVE and trending AWAY above from the CG Level = very bullish, this means that momentum is increasing towards the upside and larger moves will come (increasing gap between the price and CG Level)
Case 2: Bearish Convergence (Bearish): - The PA is ABOVE the CG Level and trending TOWARDS the CG Level = bearish, there is a possibility that the upward trend is ending. Look to start closing off long positions until case 1 (divergence) occurs again.
Case 3: Neutral - The PA is trading on the CG Level (no clear divergence or convergence between the PA and CG Level) = Indicates a back and forth (tug of war) between bears and bulls. Beware of choppy price patterns as the trend is undecisive until either supply/liquidity is dried out and a winner between bull/bear is chosen. This is a no trade zone, but do as you wish.
Case 4: Bearish Divergence (Bearish): The PA is BELOW and trending AWAY BELOW from the CG Level = very bearish, this means that momentum is increasing towards the downside and larger downward moves will come (increasing gap between the price and CG Level).
Case 5: Bullish Convergence (Bullish): - The PA is BELOW the CG Level and trending TOWARDS the CG Level = bullish, there is a possibility that the downward trend is ending and a trend flip is occuring. Look to start closing off short positions until case 4 (divergence) occurs again.
CG Bands + CG Level: You can use the CG bands instead of the PA candles to get a cleaner interpretation of reading the momentum. I won't go into detail as this is pretty self-explanatory. It is the same explanation as PA+CG Level Momentum, but you are replacing the PA candles with the CG Bands for interpretation. So instead of the PA converging/diverging from the CG Level, the Upper and Lower Bound levels are converging/diverging from the CG level instead.
Convergence: CG Level (yellow line) trades inside the CG bands
Divergence: CG Level (yellow line) trades outside the CG bands
Bullish/Bearish depends on whether the CG Band is trading below or above the CG level. If CG Band is above the CG Level, this is bullish. If CG Band is below the CG level, this is bearish.
Crosses (PA or CG Band crosses with CG level): This typically indicates volatility is incoming.
There are MANY MANY MANY other ways to use this indicator that is not explained here and even other undiscovered methods. Use some common sense as to how this indicator works (it is a momentum indicator and volatility predictor). You can get pretty creative and apply your own methods / knowledge to it and look for patterns that occur. Feel free to comment and share what you came up with!
CoinFlip Indicator + StrategyFlip a coin every Monday.
Heads, go long. Tail, go short. Stoploss at 1 ATR, and Take profit at 1 ATR too. 1:1 risk to reward ratio.
After backtesting 2018, 2019, and 2020 with 28 major currency pairs. We are getting close to a 50% win rate with an 8% standard deviation.
Believe it or not, this simple performs better than lots of the popular indicators out there.
Don't believe me? Test it out yourself!!
Use this as a baseline for your backtest and expose all your other crappy indicators :)
HOW TO USE:
As an indicator:
1. Use a daily chart
2. Green arrow below chart, go long, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
3. Red arrow above chart, go short, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
As an indicator:
1. In setting, set a year to test (default to 2020)
2. Go to the strategy tester and observe the stats
P.s. You can also set the period of the ATR to another value other than 14 periods.
FunctionPolynomialFitLibrary "FunctionPolynomialFit"
Performs Polynomial Regression fit to data.
In statistics, polynomial regression is a form of regression analysis in which
the relationship between the independent variable x and the dependent variable
y is modelled as an nth degree polynomial in x.
reference:
en.wikipedia.org
www.bragitoff.com
gauss_elimination(A, m, n) Perform Gauss-Elimination and returns the Upper triangular matrix and solution of equations.
Parameters:
A : float matrix, data samples.
m : int, defval=na, number of rows.
n : int, defval=na, number of columns.
Returns: float array with coefficients.
polyfit(X, Y, degree) Fits a polynomial of a degree to (x, y) points.
Parameters:
X : float array, data sample x point.
Y : float array, data sample y point.
degree : int, defval=2, degree of the polynomial.
Returns: float array with coefficients.
note:
p(x) = p * x**deg + ... + p
interpolate(coeffs, x) interpolate the y position at the provided x.
Parameters:
coeffs : float array, coefficients of the polynomial.
x : float, position x to estimate y.
Returns: float.
VIX Contango Sentiment IndicatorRegime dependent ONLY USE 2018 ONWARD
Plots VIX3m/VIX measuring the complacency of the VIX term structure
<.8 = COMPLACENCY VIX spike likely
Buy risk on the 2nd downtick from capitulation zone
Triple ThreatThis indicator provides buy and sell signals for Bitcoin based on confluence from well-known momentum, volatility, and trend indicators. It has successfully captured the major directional trends on Bitcoin's daily chart since 2018, and the settings are currently optimized for this chart in particular. This indicator implements RSI to gauge momentum, BBWP to gauge volatility, and an EMA to gauge trend. Maximum confluence signals are represented by horizontal bars in the indicator's pane, where the tallest green bar is a confirmed buy signal, and the tallest red bar is a confirmed sell signal. The shortest bar represents a momentum-only signal, and the second-shortest bar represents a volatility signal in confluence with the previously given momentum signal.
To track momentum, the RSI is plotted to the indicator plane against a moving average of the RSI. A momentum signal is generated when the RSI crosses over its moving average, retests/approaches the moving average, and then continues in the crossover direction (i.e., it fails to cross the moving average to the opposite side, creating a successful retest). The settings that affect this trigger are the "Crossover Threshold," which specifies how much the RSI should exceed the moving average to be considered a crossover, and the "Retest threshold," which specifies how closely the RSI should approach the moving average to be considered a retest. A momentum signal is ALSO generated if the RSI or its moving average exceed their counterpart by a certain threshold. For example, if the threshold was set at 10, a BUY signal would be generated when the RSI exceeds the moving average by 10, or a SELL signal would be generated when the moving average exceeds the RSI by 10. This threshold can be set using the "Instant Signal Threshold" setting. Either type of momentum signal will be plotted on the pane as the shortest horizontal bar, with its color indicating the signal's direction.
Volatility is primarily measured using the Bollinger Band Width Percentile (BBWP) indicator, which was created by The_Caretaker. BBWP plots the volatility of the asset's price, given by Bollinger Band width, relative to past volatility by assigning the volatility readings into percentiles. The indicator also includes a moving average of the BBWP itself, where a crossover to the upside represents expanding volatility and a crossover to the downside represents contracting volatility. This indicator is used to confirm a signal given by the momentum indicators - a momentum signal that is given during a period of expanding volatility has a greater likelihood of success. Therefore, when the BBWP crosses above its moving average by a given threshold, a previously triggered momentum signal is considered to be "confirmed." The threshold for this crossover can be set using the "BBWP Confirmation Threshold" setting. However, it is also relevant that periods of extreme volatility often accompany an extremity in price action (a "top" or "bottom"), in which case the BBWP is likely to contract after price reaches such an extremity. This phenomenon is captured by also using "extreme reads" on the momentum indicator to signal that there has already been enough volatility to confirm a momentum signal. If the RSI gives an "extreme read" before triggering a signal, the momentum signal is also considered to be confirmed. For example, if the RSI is above 80, breaks below 80, and then gives a SELL signal, this sell signal is considered to be confirmed without requiring the BBWP to crossover its moving average to the upside. The threshold that would confirm a SELL signal can be set with the "Overbought" setting, and the threshold that would confirm a BUY signal can be set with the "Oversold" setting. Whenever a volatility signal confirms a momentum signal, a medium-sized horizontal bar will be plotted on the pane in the same directional color as the momentum signal. Note that a momentum signal may trigger at the exact same time as the volatility signal which confirms it; in this case, only the medium-sized bar will be visible on the pane, but its direction can still be identified by its color.
Lastly, to reduce the likelihood of "false signals," a trend indicator is used to confirm the direction of the signal. This is typically an exponential moving average. If a confirmed volatility SELL signal is given, and the closing price is below the moving average, then the SELL signal is also confirmed by the trend. Likewise, if a confirmed volatility BUY signal is given, and the closing price is above the moving average, then the BUY signal is confirmed by the trend. The type and length of the moving average used to verify the trend can be set using the "Moving Average Type" and "Moving Average Length" settings found below the momentum/volatility settings. A trend signal is plotted on the pane as a tall horizontal bar, and is more deeply colored than the momentum and volatility signals.
For maximum confluence, it is recommended that the trend signal, given by the tallest bar, is the one that forms the basis of trades executed while using the Triple Threat indicator. It is possible to enter more aggressive trades with better entries by using only the volatility signal, given by the medium-sized bar, however this entails greater risk and should only be done in confluence with an additional trading strategy of your own discretion. Backtesting has shown that using the volatility signal alone underperforms using the volatility signal in confluence with the trend signal.
Please also be advised that the default setting are optimized for Bitcoin's daily chart only. The indicator is still applicable to other timeframes and asset classes, but the settings may need to be modified. I have a list of settings for other Bitcoin timeframes, and I would be happy to share them upon request.
I hope you can find this indicator to be of some use to your trading strategies. I'd be happy to hear any feedback from the community, so please don't hesitate to reach out. Stay safe, and happy trading.
Bitcoin Power Law Bands (BTC Power Law) Indicator█ OVERVIEW
The 'Bitcoin Power Law Bands' indicator is a set of three US dollar price trendlines and two price bands for bitcoin , indicating overall long-term trend, support and resistance levels as well as oversold and overbought conditions. The magnitude and growth of the middle (Center) line is determined by double logarithmic (log-log) regression on the entire USD price history of bitcoin . The upper (Resistance) and lower (Support) lines follow the same trajectory but multiplied by respective (fixed) factors. These two lines indicate levels where the price of bitcoin is expected to meet strong long-term resistance or receive strong long-term support. The two bands between the three lines are price levels where bitcoin may be considered overbought or oversold.
All parameters and visuals may be customized by the user as needed.
█ CONCEPTS
Long-term models
Long-term price models have many challenges, the most significant of which is getting the growth curve right overall. No one can predict how a certain market, asset class, or financial instrument will unfold over several decades. In the case of bitcoin , price history is very limited and extremely volatile, and this further complicates the situation. Fortunately for us, a few smart people already had some bright ideas that seem to have stood the test of time.
Power law
The so-called power law is the only long-term bitcoin price model that has a chance of survival for the years ahead. The idea behind the power law is very simple: over time, the rapid (exponential) initial growth cannot possibly be sustained (see The seduction of the exponential curve for a fun take on this). Year-on-year returns, therefore, must decrease over time, which leads us to the concept of diminishing returns and the power law. In this context, the power law translates to linear growth on a chart with both its axes scaled logarithmically. This is called the log-log chart (as opposed to the semilog chart you see above, on which only one of the axes - price - is logarithmic).
Log-log regression
When both price and time are scaled logarithmically, the power law leads to a linear relationship between them. This in turn allows us to apply linear regression techniques, which will find the best-fitting straight line to the data points in question. The result of performing this log-log regression (i.e. linear regression on a log-log scaled dataset) is two parameters: slope (m) and intercept (b). These parameters fully describe the relationship between price and time as follows: log(P) = m * log(T) + b, where P is price and T is time. Price is measured in US dollars , and Time is counted as the number of days elapsed since bitcoin 's genesis block.
DPC model
The final piece of our puzzle is the Dynamic Power Cycle (DPC) price model of bitcoin . DPC is a long-term cyclic model that uses the power law as its foundation, to which a periodic component stemming from the block subsidy halving cycle is applied dynamically. The regression parameters of this model are re-calculated daily to ensure longevity. For the 'Bitcoin Power Law Bands' indicator, the slope and intercept parameters were calculated on publication date (March 6, 2022). The slope of the Resistance Line is the same as that of the Center Line; its intercept was determined by fitting the line onto the Nov 2021 cycle peak. The slope of the Support Line is the same as that of the Center Line; its intercept was determined by fitting the line onto the Dec 2018 trough of the previous cycle. Please see the Limitations section below on the implications of a static model.
█ FEATURES
Inputs
• Parameters
• Center Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the grey line in the middle
• Resistance Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the red line at the top
• Support Intercept (b) and Slope (m): These log-log regression parameters control the behavior of the green line at the bottom
• Controls
• Plot Line Fill: N/A
• Plot Opportunity Label: Controls the display of current price level relative to the Center, Resistance and Support Lines
Style
• Visuals
• Center: Control, color, opacity, thickness, price line control and line style of the Center Line
• Resistance: Control, color, opacity, thickness, price line control and line style of the Resistance Line
• Support: Control, color, opacity, thickness, price line control and line style of the Support Line
• Plots Background: Control, color and opacity of the Upper Band
• Plots Background: Control, color and opacity of the Lower Band
• Labels: N/A
• Output
• Labels on price scale: Controls the display of current Center, Resistance and Support Line values on the price scale
• Values in status line: Controls the display of current Center, Resistance and Support Line values in the indicator's status line
█ HOW TO USE
The indicator includes three price lines:
• The grey Center Line in the middle shows the overall long-term bitcoin USD price trend
• The red Resistance Line at the top is an indication of where the bitcoin USD price is expected to meet strong long-term resistance
• The green Support Line at the bottom is an indication of where the bitcoin USD price is expected to receive strong long-term support
These lines envelope two price bands:
• The red Upper Band between the Center and Resistance Lines is an area where bitcoin is considered overbought (i.e. too expensive)
• The green Lower Band between the Support and Center Lines is an area where bitcoin is considered oversold (i.e. too cheap)
The power law model assumes that the price of bitcoin will fluctuate around the Center Line, by meeting resistance at the Resistance Line and finding support at the Support Line. When the current price is well below the Center Line (i.e. well into the green Lower Band), bitcoin is considered too cheap (oversold). When the current price is well above the Center Line (i.e. well into the red Upper Band), bitcoin is considered too expensive (overbought). This idea alone is not sufficient for profitable trading, but, when combined with other factors, it could guide the user's decision-making process in the right direction.
█ LIMITATIONS
The indicator is based on a static model, and for this reason it will gradually lose its usefulness. The Center Line is the most durable of the three lines since the long-term growth trend of bitcoin seems to deviate little from the power law. However, how far price extends above and below this line will change with every halving cycle (as can be seen for past cycles). Periodic updates will be needed to keep the indicator relevant. The user is invited to adjust the slope and intercept parameters manually between two updates of the indicator.
█ RAMBLINGS
The 'Bitcoin Power Law Bands' indicator is a useful tool for users wishing to place bitcoin in a macro context. As described above, the price level relative to the three lines is a rough indication of whether bitcoin is over- or undervalued. Users wishing to gain more insight into bitcoin price trends may follow the author's periodic updates of the DPC model (contact information below).
█ NOTES
The author regularly posts on Twitter using the @DeFi_initiate handle.
█ THANKS
Many thanks to the following individuals, who - one way or another - made the 'Bitcoin Power Law Bands' indicator possible:
• TradingView user 'capriole_charles', whose open-source 'Bitcoin Power Law Corridor' script was the basis for this indicator
• Harold Christopher Burger, whose Bitcoin’s natural long-term power-law corridor of growth article (2019) was the basis for the 'Bitcoin Power Law Corridor' script
• Bitcoin Forum user "Trololo", who posted the original power law model at Logarithmic (non-linear) regression - Bitcoin estimated value (2014)
ETH vs BTC 200W SMA OverextensionHistorically, when BTC suffers a correction and ETH continues to rally, this hints at an impending market-wide correction. In Jan 2018, ETH rallies while BTC corrects, signalling the end of the bull cycle. In May 2021, ETH rallies while BTC ranges between $50-$60k, then a major correction occurs. This indicator attempts to monitor this phenomenon in order to help spot potential macro tops in the cryptocurrency market.
The indicator takes the price of the asset and divides it by the 200 week SMA value. This gives an over/undervaluation in percentage terms. When ETH becomes significantly more overvalued relative to BTC, the indicator will warn of a potential top forming (see red shaded areas).
This is for edutainment purposes only. Don't make financial decisions based on this indicator.
Nasdaq VXN Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that uses the Nasdaq VXN Volatility Index to help you or your algorithms avoid black swan events. This is a similar the indicator I published last week that uses the SP500 VIX, but this indicator uses the Nasdaq VXN and can help inform strategies on the Nasdaq index or Nasdaq derivative instruments.
Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VXN and the Nasdaq100 as an example. If you trade a Nasdaq index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility . These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The Nasdaq Volatility Index ( VXN ) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, historically the VXN has spiked a lot harder. We can use variance here to identify if a spike in the VXN exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to this asset losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of VXN against a long term mean. If the variance of the VXN spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VXN data/charts. It will pull in variance data for the VXN regardless of which chart the indicator is applied to.
Disclaimer: Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
S&P500 VIX Volatility Warning IndicatorToday I am sharing with the community a volatility indicator that can help you or your algorithms avoid black swan events. Variance is most commonly used in statistics to derive standard deviation (with its square root). It does have another practical application, and that is to identify outliers in a sample of data. Variance in statistics is defined as the squared difference between a value and its mean. Calculating that squared difference means that the farther away the value is from the mean, the more the variance will grow (exponentially). This exponential difference makes outliers in the variance data more apparent.
Why does this matter?
There are assets or indices that exist in the stock market that might make us adjust our trading strategy if they are behaving in an unusual way. In some instances, we can use variance to identify that behavior and inform our strategy.
Is that really possible?
Let’s look at the relationship between VIX and the S&P500 as an example. If you trade an S&P500 index with a mean reversion strategy or algorithm, you know that they typically do best in times of volatility. These strategies essentially attempt to “call bottom” on a pullback. Their downside is that sometimes a pullback turns into a regime change, or a black swan event. The other downside is that there is no logical tight stop that actually increases their performance, so when they lose they tend to lose big.
So that begs the question, how might one quantitatively identify if this dip could turn into a regime change or black swan event?
The CBOE Volatility Index (VIX) uses options data to identify, on a large scale, what investors overall expect the market to do in the near future. The Volatility Index spikes in times of uncertainty and when investors expect the market to go down. However, during a black swan event, the VIX spikes a lot harder. We can use variance here to identify if a spike in the VIX exceeds our threshold for a normal market pullback, and potentially avoid entering trades for a period of time (I.e. maybe we don’t buy that dip).
Does this actually work?
In backtesting, this cut the drawdown of my index reversion strategies in half. It also cuts out some good trades (because high investor fear isn’t always indicative of a regime change or black swan event). But, I’ll happily lose out on some good trades in exchange for half the drawdown. Lets look at some examples of periods of time that trades could have been avoided using this strategy/indicator:
Example 1 – With the Volatility Warning Indicator, the mean reversion strategy could have avoided repeatedly buying this pullback that led to SPXL losing over 75% of its value:
Example 2 - June 2018 to June 2019 - With the Volatility Warning Indicator, the drawdown during this period reduces from 22% to 11%, and the overall returns increase from -8% to +3%
How do you use this indicator?
This indicator determines the variance of the VIX against a long term mean. If the variance of the VIX spikes over an input threshold, the indicator goes up. The indicator will remain up for a defined period of bars/time after the variance returns below the threshold. I have included default values I’ve found to be significant for a short-term mean-reversion strategy, but your inputs might depend on your risk tolerance and strategy time-horizon. The default values are for 1hr VIX data. It will pull in variance data for the VIX regardless of which chart the indicator is applied to.
Disclaimer : Open-source scripts I publish in the community are largely meant to spark ideas or be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
Period Dollar Cost Average BacktesterHere is a simple script to calculate the profits and other dollar cost average strategy statistics. This strategy was created to avoid asset price volatility, so the pump and dump scheme does not affect the portfolio. By dividing the investment amount into periods, the investor doesn’t need to analyze the market, fundamental analysis, or anything. The goal is to increase the asset holdings and avoid fast and robust price movements.
This indicator has some configurations.
Amount to buy: the amount to buy at each time
Broker fee %: the fee percentage that the broker has for spot trade
Frequency: the frequency of the investments. Example: 1 Day means that every day, it will buy an amount of the asset
Starting Date: when the indicator will start the investment simulation
Ending Date: when the indicator will end the investment simulation
InfoCell With/Height: it relates to the panel for view purposes. Change the values to fit better on your screen.
This indicator has three lines:
Total Invested (green): total amount invested at the end of the period
Total Net Profit (pink): total profit by converting the amount of the asset bought at the latest closing price
Holding Profits (yellow): the amount that would be in the portfolio if the investor had invested all the capital in a signal trade at the beginning of the period.
The statistics panel has some information to help you understand buying the asset in one or more trades. So, besides those three lines that were mentioned above, here are the other statistics:
Entry Price: The price of the asset when the first investment was made
Gross Profit: Total amount of profit, not excluding the losses
Gross Losses: Total amount of losses, not excluding the profits
Profit Factor: The Gross Profit divided by the Gross Loss. A value above 1 means it’s profitable.
Profit/Trades: Net profit per trade. This includes the broker fees.
Recovery Factor: The Net profit divided by the relative drawdown. The higher the recovery factor, the faster the recovery of a loss
Total Asset Bought: The amount of the asset that was bought at the end of the investment plan
Absolute Drawdown: The total amount of losses that made the account balance go below its initial value
Relative Drawdown: The max drawdown that occurred, no matter the account balance amount
Total Trades: number of times the investment was made in the selected period
Total Fee: total Fee that was spent on the total investment
Total Winning Trades: the total amount of winning trades. A trade is considered a winner if the net profit is up compared with the latest investment.
Total Losing Trades: the total amount of losing trades. A trade is considered a loser if the net profit is down compared to the latest investment.
Max consecutive wins: the max amount of consecutive winning trades
Max consecutive losses: the max amount of consecutive losing trades
The chart above uses the default configuration of the indicator. Placed on the BTCUSD market, taking the time range of January 1st, 2018 to January 1st, 2022, 4 years. Buying a BTC amount with 10 USDT every day in that period would generate a more than 500% profit. Compared to the profit amount by just holding the count, which was close to 350% profit, the dollar cost average by period would be much more profitable.
How Old Is this Bull Run Getting? Check MA Test Bars SinceThere are many price-based techniques for anticipating the end of a move. However, the simple passage of time can also help because bull markets don’t last forever. While old age doesn’t necessarily cause investors to sell, a reversal becomes more likely the longer a trend lasts.
So, how long have prices been going up? There are various ways to measure that. Our earlier script, MA streak , offered one solution by counting the number of bars that a given moving average has been rising or falling.
Today’s script takes a different approach by counting the number of candles since price touched or crossed a given moving average. It tracks the 50-day simple moving average (SMA) by default. It can be adjusted to other types like exponential and weighted with the AvgType input.
In the chart above, Bars Since MA Test was adjusted to use the 200-day SMA. Viewing the S&P 500 with this study helps put the current market into context.
We can see that prices last touched the 200-day SMA 386 sessions ago (June 29, 2020). That’s relatively long based on history, but not unprecedented. For example, the indicator was at 407 in February 2018 as the market pulled back. It also hit 475 in October 2014 (following the breakout above 2007 highs).
Additionally, the S&P 500 is nearing the record of the 1990s bull market (393 candles on July 12, 1996).
Before that, you have to look all the way back to the 1950s, when it twice peaked at 627.
The conclusion? The current run without a test of the 200-day SMA is above average, but not yet record-setting. It may be interesting to watch as earnings season approaches and the Federal Reserve looks to tighten monetary policy.
TradeStation is a pioneer in the trading industry, providing access to stocks, options, futures and cryptocurrencies. See our Overview for more.
Important Information
TradingView is not affiliated with TradeStation Securities Inc. or its affiliates. TradeStation Securities, Inc., TradeStation Crypto, Inc., and TradeStation Technologies, Inc. are each wholly owned subsidiaries of TradeStation Group, Inc., all operating, and providing products and services, under the TradeStation brand and trademark. When applying for, or purchasing, accounts, subscriptions, products and services, it is important that you know which company you will be dealing with. Please click here for further important information explaining what this means.
This content is for informational and educational purposes only. This is not a recommendation regarding any investment or investment strategy. Any opinions expressed herein are those of the author and do not represent the views or opinions of TradeStation or any of its affiliates.
Investing involves risks. Past performance, whether actual or indicated by historical tests of strategies, is no guarantee of future performance or success. There is a possibility that you may sustain a loss equal to or greater than your entire investment regardless of which asset class you trade (equities, options, futures, or digital assets); therefore, you should not invest or risk money that you cannot afford to lose. Before trading any asset class, first read the relevant risk disclosure statements on the Important Documents page, found here: www.tradestation.com .
Moon Phases Strategy [LuxAlgo]Trading moon phases has become quite popular among traders, believing that there exists a relationship between moon phases and market movements. This strategy is based on an estimate of moon phases with the possibility to use different methods to determine long/short positions based on moon phases.
Note that we assume moon phases are perfectly periodic with a cycle of 29.530588853 days (which is not realistically the case), as such there exists a difference between the detected moon phases by the strategy and the ones you would see. This difference becomes less important when using higher timeframes.
Settings
New Moon Reference Date: Date of a new moon to be used as starting point for the cycle calculation. Buy: Determine the condition to be used to open a long position Sell: Determine the condition to be used to open a short position
Description
The strategy can use different buy/sell conditions, these are determined in the Buy/Sell settings drop-down menu.
By default, the strategy goes long on a new moon and short on a full moon. This setup is common since full moons are said to be related to depressed mood. However, it is possible to use inverse conditions.
Users can also go long on higher moons (new moons or full moons occurring at a price that is higher than the previous one when a new/full moon occurred) and short on lower moons, this would return a trend following strategy, using the inverse conditions (buy lower moons/sell higher moons) would return a contrarian strategy.
The above chart displays the strategy using default conditions.
The above chart displays the strategy of going long on a higher moon and selling on a lower moon.
Quick Summary
We provide a quick summary of the strategy using default conditions (buy on a new moon, sell on a full moon) on various tickers using the 4h timeframe (note that using a lower timeframe would return a backtest executing a lower number of trades).
Constant position sizing is used and no frictional costs are considered.
BTCUSD
The moon phases strategy has been regularly tested with BTCUSD, with traders highlighting how moon phases tend to occur during tops/bottoms. We test the strategy from 2019-01-06 00:00.
Net Profit: $68544.86 Closed Trades : 67 % Profitability : 50.75 Max Drawdown : $18541.24 Max
TSLA
The strategy is tested from 2011-01-04 14:30
Net profit: $349.17 Closed Trades : 265 % Profitability : 54.34 Max Drawdown : $262.72
EURUSD
The strategy is tested from 2018-01-16 14:00.
Net profit: $-0.18 Closed Trades : 91 % Profitability : 50.55 Max Drawdown : 0.36
MarketGod for Tradingview(strategy)Fully Open Source Tv Market God Strategy. Good Luck
Strategy Description
MarketGod can be applied to any market, with any time-frame associated to it. The signals relay the alert at the close of the period, and the painted alert is then available to users to see on the chart or even set notifications for via tradingview's alert system. We recommend that users implement marketgod on their preferred time frames for trading, which for us is the 1h, 4h, 6h, 1D and above TFs.
MarketGod Versioning
The versions included with this release are the following
MarketGod v1
MarketGod v2
MarketGod v3
MarketGod v4
MarketGod v5
MarketGod v6
MarketGod v7
MarketGod v8
MarketGodx²
Ichimoku God
Suggested Uses
• MarketGod will inevitably produce false positives. We've taken steps to reduce this but we highly suggest you add this as a component of your strategy, not an end all be all
• That said, please do not feel the need to fire a trade based solely on a marketgod signal, or to every signal it fires.
• MarketGod users should backtest their strategy using OHLC candles for best results
• Heikin Ashi candles were recomended in the past, and we have eliminated the need for them, meaning that traditional candlestick inputs will yield the highest results.
• MarketGod will always give stronger alerts on higher TF's. If the 1-Day has fired a given signal and the 30 min or similar fire the opposite signal, know that the overall trend is still likely downward. Same concept applies to all timeframes on this tool.
Adjusting the Filter Settings
This tool has a noise filter for users to adjust.
The filter is a percentage based calculation, between significant points in time. The filter ranges between .5 and 25, with .5 increments
• For lower TFs ( IE Intraday), keep the filter set between .5-5
• Mid-TFs (4H,6H,12H,1D), the recommended range is between 5.5-10
• Higher TFs (3D and Higher), look for approx 11-20 range
Customizations
Customize the indicator by adjusting the colors in the style pane. Additionally, users can change the plots into labels with the price of close added to them, or a few other label text options, listed in the 'inputs' panel, below the filter adjustments. Users can also opt to turn the strategy orders as well, as this version will have them printed.
Strategy Performance Interpretation
Its important to understand the only metric that should be relevant is not the win %, as many may initially think. Alternatively, the only metric that matters in the end is your take home profit... meaning the profit one fees and taxes are accounted for. In our example here, the % brought back since the beginning of our window of 2018 is around 47% for $10,000 initial capital and 10% traded per position. Many are ignorant to the take home profit aspect as they focus solely on the winning %, which is ultimately incorrect approach to trading as a whole. as long as we maintain +30% (our goal minimum), the outcome being in the green, is our goal.
Pi Cycle bitcoin bottomFull credits go to the owner, but for reasons i cannot diclose.
Introduction
With the adoption of cryptographic assets reaching new heights, it is undeniably important to continuously expand and improve current indicators just like how these assets update with new lines of code over time.
Philip Swift’s Pi-Cycle Top Indicator has effectively signaled market and local tops to within 3 days, with the most recent occurrence being on May 12th 2021.
If it were possible to find the cycle/local top of each cycle, a similar analogy could be used to pinpoint the bottom of Bitcoin’s price.
These Pi-Cycle indicators are merely just two moving averages which, when divided by each other, are equal to the value of π.
π = Long MA / Short MA
350/111 = 3.153; as per the existing Bitcoin Pi-Cycle Top indicator.
Pi-Cycle Bottom for Bitcoin
At first, the existing “Pi moving average” pair (350/111) was realigned to see whether they cross at the bottom of the Bitcoin price.
They did not, only to be a lagging indicator in both 2015 and 2018 cycle bottoms.
A possible pair was discovered when the short MA was set to 150:
π = Long MA / 150
Long MA = π * 150
Long MA = 471 (rounded to the nearest whole number)
This resulted in a Pi MA pair of 471/150.
Using the multiple x0.745 of the 471-day SMA and the 150-day EMA (exponential average to take into account of short term volatility ), the price of Bitcoin bottoms at where they two moving averages cross:
When the 150-day EMA crossed below the 471 SMA *0.475, Bitcoin’s price had bottomed for the market cycle.
Over the last two market cycles, this indicator has been accurate to within 3 days also.
RSI With Noise Elimination Technology (John Ehlers)Indicator translation to Pinescript requested by cookie_crusher on Twitter. The "RSI With Noise Elimination Technology" (NET) is an indicator developed by John Elhers.
The indicator is simply a rolling Kendall rank correlation coefficient of a normalized momentum oscillator (a version of the RSI introduced by Elhers in the May 2018 issue of Stocks & Commodities). It can be interesting to note that the absolute value of this oscillator is equal to the efficiency ratio used in the Kaufman adaptive moving average (KAMA).
Even if both the normalized momentum oscillator and rolling Rank correlation are scale-invariant oscillators, they do not have the same behaviors when increasing their settings, that is the normalized momentum oscillator scale range will become lower while the Kendall correlation will stay close to 1/-1, here is a closed-form approximation of the mean of the absolute value of the normalized momentum oscillator absolute value (efficiency ratio):
E (er) ≈ 1/√p
Where E (er) is the mean of the efficiency ratio er while p is the period of the efficiency ratio, as such the scale of the normalized momentum oscillator will shrink with a higher period, maybe that both are not intended to be plotted at the same time but that's what the original code does.
It's still a coll indicator. The link to J. Elhers article is in the code.
GBTC holdings USD market valueThis script estimates GBTC bitcoins per share, rather than hardcoding as in other scripts. Its result is an estimate of GBTC holdings USD market value.
Per share bitcoin estimates are adjusted by 2.0% / 365 per day from 2019 year end holdings. Calendar year 2019 ending bitcoins and shares were 261,192 bitcoins and 269,445,300 shares. From the 2019 Form 10-K: 'The Trust’s only ordinary recurring expense is the Sponsor’s Fee. The Sponsor’s Fee accrues daily in U.S. dollars at an annual rate of 2.0% of the Bitcoin Holdings.. The Sponsor’s Fee is payable in Bitcoins to the Sponsor monthly in arrears.'
No attempt is made to account for leap years.
Per share bitcoin estimate is converted to USD market value by multiplying by the simple average BTCUSD price at Coinbase and Bitstamp. Grayscale uses the TradeBlock XBX index, a volume weighted average of Coinbase Pro, Kraken, LMAX Digital and Bitstamp prices.
Spot checks vs archive.org captures of daily bitcoins per share and the chart on Grayscale's site:
The estimate for market close January 22 2021 is 0.00094899 bitcoins per share, the published datum on Grayscale's web site was 0.00094898. The estimate matches at 20:30 rather than at 16:00.
The estimate for December 31 2018 is 0.000988965 vs a published 0.00098895.
The estimate for December 29 2017 market value is $14.58 vs $14.65.
The estimate for December 30 2016 market value is $0.99 vs $0.98.
The estimate for January 4 2016 market value is $0.46 vs $0.45.
No estimates before 2016.
The default style is to draw a blue line with two thirds transparency outside market hours and for first/last minutes of trading, switching to daily or greater periodicity hides this.
No warranty is expressed or implied , I am not a lawyer, etc etc etc.
This is not investing advice . Always do your own due diligence .
[blackcat] L2 Ehlers RSI with NETLevel: 2
Background
John F. Ehlers introuced RSI with Noise Elimination Technology (NET) in Dec, 2020.
Function
Many indicators produce more or less noisy output, resulting in false or delayed signals. Dr. Ehlers proposed “Noise Elimination Technology,” in Dec, 2020. He introduces using a Kendall correlation to reduce indicator noise and provide better clarification of the indicator direction. This approach attempts to reduce noise without using smoothing filters, which tend to introduce indicator lag and therefore, delayed decisions. With this script, I use his “MyRSI” indicator, which he introduced in his May 2018 article in S&C, by adding some Tradingview pine v4 code for the noise elimination technology. The indicator plots the MyRSI value as well as the value after applying NET to MyRSI. This de-noising technology uses the Kendall correlation of the indicator with a rising slope. Compared with a lowpass filter, this method does not delay the signals.
The technology appears to work well in this example for removing the noise. But note that the NET function is not meant as a replacement of a lowpass or smoothing filter; its output is always in the -1 to +1 range, so it can be used for de-noising oscillators, but not, for instance, to generate a smoothed version of the price curve.
Key Signal
NET --> Ehlers RSI with NET fast line
Trigger --> Ehlers RSI with NET slow line
Pros and Cons
100% John F. Ehlers definition translation, even variable names are the same. This help readers who would like to use pine to read his book.
Remarks
The 99th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
HTF High/Low Repaint StrategyHere is an another attempt to demonstrate repainting and how to avoid them. It happened few times to me that I develop a strategy which is giving immense returns - only to realize after few forward testing that it is repainting. Sometimes, it is well disguised even during forward testing.
In this simple strategy, conditions are as below:
Buy : When a 3M bar produces high and low higher than it's previous 3M bar high, low
Sell : When a 3M bar produces high and low lower than its previous 3M bar high, low.
Default setting is : lookahead = on and offset = 0
This means current 3M bar high low is plotted for all the daily bars within this month. Which means, strategy looks ahead of time to see this 3M bar high is higher than previous 3M bar high during the start of the first daily bar. Hence, this combination leads to massive repaint.
For example, trade made on October 2nd 2018 already knows well ahead of time that price is going to go down in next 3 months:
Similarly, after 2 years on October 2nd 2020 - the strategy already knows that last 3M high is going to be breached on 7th December 2020
Solution: If you are using security for higher timeframes, safer option is always to use offset 1. Further details in the trading view script:
BUT
It may still repaint if we are passing function to security.
For example:
f_secureSecurity(_symbol, _res, _src) => security(_symbol, _res, _src , lookahead = barmerge.lookahead
This function will likely avoid any repainting with Higher timeframe if we are passing in built variables such as high, low, close, open etc. But, if we try to pass supertrend, this will not produce right results. This is because supertrend calculation in turn uses high/low/close values which do not consider the offset while calculating. Hence, even with offset 1, this will still produce issues.
Hence, the call:
= f_secureSecurity(syminfo.tickerid, derivedResolution, supertrend(3,10), offset) will again lead to massive repainting. Solution to this is to implement supertrend function and use high, low, close values derived from secureSecurity.
Quick tips to identify or be suspicious about repainting
Unbelievable results on all timeframes and all instruments with both long and short trades
Lower timeframes giving significantly higher returns on backtest when compared to higher timeframe
If these things happen, be wary about repainting and do a through check of all security function usage in your strategy.
All the best :)
PS: Apply 3-5 days resolution and see the fun. Also, WHC is one hell of a Christmas tree. Could have made immense profit in the same strategy even without repainting.
NET MyRSIIn this script, I will convert the MyRSI function from John F. Ehlers mentions in the May 2018 issue of Stocks and Commodities. I will build on top of the idea and add a noise elimination Technique presented in the December 2020 issue of Stocks and Commodities.
My Rsi
Is an RSI alike version of the well-known RSI indicator where the output is range-bound between -1 and 1 values. The indicator accrues Closes up and Closes down and plots their ratio divided by their sum.
Noise Elimination Technique
As a noise elimination technique, we are using a slightly modified and simplified version of Kendall Correlation that allows us to use it on a single indicator. In general Kendall Correlation is used to measure an association between two sets of variables.
Conclusion
This publishing is solely for research purposes and should not be directly traded with. More detailed information can be found in those Two publications of Stocks and Commodities.
MA+ADX+DMICOINBASE:BTCUSD
BINANCE:BTCUSDT
Use long and short moving average to look for a potential price in/out. (default as 14 and 7, bases on the history experience)
ADX and DMI to prevent the small volatility and tangling MA.
Test it in 4HR, "BINANCE:BTCUSDT"
From 12/1/2017- 11/1/2020 (Mixed Bull/Bear market)
Overall Profit: 560.89%
From 1/1/2018 - 1/1/2019 (Bear market)
Overall Profit: -2.19%
From 4/1/2020 - 11/1/2020 (Bull Market)
Overall Profit: 274.74%
Any suggestion is welcome to discuss.