End-pointed SSA of Normalized Price Oscillator [Loxx]End-pointed SSA of Normalized Price Oscillator is an indicator that converts source price into a normalized oscillator and runs an SSA calculation to derived a smoother final output. This indicator also serves to introduce the concept of SSA to the Pine Coder community. The data returned from this algorithm is an array of modeled values on past X bars. We could use this data but it's not useful, so instead we use the end-pointed value which is the first value of the array at index 0.
What is Singular Spectrum Analysis (SSA)?
Singular spectrum analysis (SSA) is a technique of time series analysis and forecasting. It combines elements of classical time series analysis, multivariate statistics, multivariate geometry, dynamical systems and signal processing. SSA aims at decomposing the original series into a sum of a small number of interpretable components such as a slowly varying trend, oscillatory components and a ‘structureless’ noise. It is based on the singular value decomposition (SVD) of a specific matrix constructed upon the time series. Neither a parametric model nor stationarity-type conditions have to be assumed for the time series. This makes SSA a model-free method and hence enables SSA to have a very wide range of applicability.
For our purposes here, we are only concerned with the "Caterpillar" SSA. This methodology was developed in the former Soviet Union independently (the ‘iron curtain effect’) of the mainstream SSA. The main difference between the main-stream SSA and the "Caterpillar" SSA is not in the algorithmic details but rather in the assumptions and in the emphasis in the study of SSA properties. To apply the mainstream SSA, one often needs to assume some kind of stationarity of the time series and think in terms of the "signal plus noise" model (where the noise is often assumed to be ‘red’). In the "Caterpillar" SSA, the main methodological stress is on separability (of one component of the series from another one) and neither the assumption of stationarity nor the model in the form "signal plus noise" are required.
"Caterpillar" SSA
The basic "Caterpillar" SSA algorithm for analyzing one-dimensional time series consists of:
Transformation of the one-dimensional time series to the trajectory matrix by means of a delay procedure (this gives the name to the whole technique);
Singular Value Decomposition of the trajectory matrix;
Reconstruction of the original time series based on a number of selected eigenvectors.
This decomposition initializes forecasting procedures for both the original time series and its components. The method can be naturally extended to multidimensional time series and to image processing.
The method is a powerful and useful tool of time series analysis in meteorology, hydrology, geophysics, climatology and, according to our experience, in economics, biology, physics, medicine and other sciences; that is, where short and long, one-dimensional and multidimensional, stationary and non-stationary, almost deterministic and noisy time series are to be analyzed.
Included:
Bar coloring
Alerts
Signals
Loxx's Expanded Source Types
Centered Oscillators
[blackcat] L3 RMI Trading StrategyLevel 3
Background
My view of correct usage of RSI and the relationship between RMI and RSI. A proposed RMI indicator with features is introduced
Descriptions
The Relative Strength Index (RSI) is a technical indicator that many people use. Its focus indicates the strength or weakness of a stock. In the traditional usage of this point, when the RSI is above 50, it is strong, otherwise it is weak. Above 80 is overbought, below 20 is oversold. This is what the textbook says. However, if you follow the principles in this textbook and enter the actual trading, you would lose a lot and win a little! What is the reason for this? When the RSI is greater than 50, that is, a stock enters the strong zone. At this time, the emotions of market may just be brewing, and as a result, you run away and watch others win profit. On the contrary, when RSI<20, that is, a stock enters the weak zone, you buy it. At this time, the effect of losing money is spreading. You just took over the chips that were dumped by the whales. Later, you thought that you had bought at the bottom, but found that you were in half mountainside. According to this cycle, there is a high probability that a phenomenon will occur: if you sell, price will rise, and if you buy, price will fall, who have similar experiences should quickly recall whether their RSI is used in this way. Technical indicators are weapons. It can be either a tool of bull or a sharp blade of bear. Don't learn from dogma and give it away. Trading is a game of people. There is an old saying called “people’s hearts are unpredictable”. Do you really think that there is a tool that can detect the true intentions of people’s hearts 100% of the time?
For the above problems, I suggest that improvements can be made in two aspects (in other words, once the strategy is widely spread, it is only a matter of time before it fails. The market is an adaptive and complex system, as long as it can be fully utilized under the conditions that can be used, it is not easy to use. throw or evolve):
1. RSI usage is the opposite. When a stock has undergone a deep adjustment from a high level, and the RSI has fallen from a high of more than 80 to below 50, it has turned from strong to weak, and cannot be bought in the short term. But when the RSI first moved from a low to a high of 80, it just proved that the stock was in a strong zone. There are funds in the activity, put into the stock pool.
Just wait for RSI to intervene in time when it shrinks and pulls back (before it rises when the main force washes the market). It is emphasized here that the use of RSI should be combined with trading volume, rising volume, and falling volume are all healthy performances. A callback that does not break an important moving average is a confirmed buying point or a second step back on an important moving average is a more certain buying point.
2. The RSI is changed to a more stable and adjustable RMI (Relative Momentum Indicator), which is characterized by an additional momentum parameter, which can not only be very close to the RSI performance, but also adjust the momentum parameter m when the market environment changes to ensure more A good fit for a changing market.
The Relative Momentum Index (RMI) was developed by Roger Altman and described its principles in his article in the February 1993 issue of the journal Technical Analysis of Stocks and Commodities. He developed RMI based on the RSI principle. For example, RSI is calculated from the close to yesterday's close in a period of time compared to the ups and downs, while the RMI is compared from the close to the close of m days ago. Therefore, in principle, when m=1, RSI should be equal to RMI. But it is precisely because of the addition of this m parameter that the RMI result may be smoother than the RSI.
Not much more to say, the below picture: when m=1, RMI and RSI overlap, and the result is the same.
The Shanghai 50 Index is from TradingView (m=1)
The Shanghai 50 Index is from TradingView (m=3)
The Shanghai 50 Index is from TradingView (m=5)
For this indicator function, I also make a brief introduction:
1. 50 is the strength line (white), do not operate offline, pay attention online. 80 is the warning line (yellow), indicating that the stock has entered a strong area; 90 is the lightening line (orange), once it is greater than 90 and a sell K-line pattern appears, the position will be lightened; the 95 clearing line (red) means that selling is at a climax. This is seen from the daily and weekly cycles, and small cycles may not be suitable.
2. The purple band indicates that the momentum is sufficient to hold a position, and the green band indicates that the momentum is insufficient and the position is short.
3. Divide the RMI into 7, 14, and 21 cycles. When the golden fork appears in the two resonances, a golden fork will appear to prompt you to buy, and when the two periods of resonance have a dead fork, a purple fork will appear to prompt you to sell.
4. Add top-bottom divergence judgment algorithm. Top_Div red label indicates top divergence; Bot_Div green label indicates bottom divergence. These signals are only for auxiliary judgment and are not 100% accurate.
5. This indicator needs to be combined with VOL energy, K-line shape and moving average for comprehensive judgment. It is still in its infancy, and open source is published in the TradingView community. A more complete advanced version is also considered for subsequent release (because the K-line pattern recognition algorithm is still being perfected).
Remarks
Feedbacks are appreciated.
Williams %R (v.4)This is an upgrade and an update of my Williams %R indicator modification.
As before this implementation is enhanced with CCI in the form of background colors. These colors can be used as a confirmation signal and indication of a current trend. Thee also can be employed in deciding when to enter/exit the market.
Besides, added is a scaling function and Lower/Upper Bound inputs.
DB CCI Breakout MTFDB CCI Breakout MTF
What does the indicator do?
The indicator will display crypto breakout and fallouts based on 4 timeframe CCI values. By default the current chart timeframe is used and the user may chose 3 other timeframes in the settings. Additionally, the symbol may be configured in the indicator settings. Default is Coinbase:ETHUSD.
The indicator will monitor the CCI levels on 4 timeframes and will alert to any CCI activity over 100 or under -100 which would indicate a breakout or fallout is present.
A green diamond is displayed when a breakout is detected on one or more of the timeframes for the selected symbol.
How should this indicator be used?
The indicator is a secondary alert system for the presence of breakouts or fallout conditions as under those scenarios position exit or entry strategies may be different.
Does the indicator include any alerts?
Not in this version. But I could add some if desired.
Use at your own risk and do your own diligence.
Enjoy!
Trend Surfers - Momentum + ADX + EMAThis script mixes the Lazybear Momentum indicator, ADX indicator, and EMA.
Histogram meaning:
Green = The momentum is growing and the ADX is growing or above your set value
Red = The momentum is growing on the downside and the ADX is growing or above your set value
Orange = The market doesn't have enough momentum or the ADX is not growing or above your value (no trend)
Background meaning:
Blue = The price is above the EMA
Purple = The price is under the EMA
Cross color on 0 line:
Dark = The market might be sideway still
Light = The market is in a bigger move
BB%Bx4This is just a script that combines 4 BB%B oscillators in one. It is useful for seeing multiple divergences on one graphic.
The default setting is the 1m time frame but, you can change it to 5m time frame and it will still work. You can see it on any CHART time frame and that was my goal when I made it. So, I don't have to switch back and forth.
I made this tool for my trading style and it may not work for you.
MACD x SuperTrend with trailing stoplossThis trading strategy is based on MACD crossover and crossunder. It uses the supertrend to identify the trend it is trading on and takes trades accordingly. You can use the built in risk to reward ratio parameter through the settings of the indicator for your desired R/R
My goal in creating this indicator was to learn about risk management. This indicator will put up a stop-loss and take profit target according to the entry point it shows.
This indicator showed me the best results on BTC at 5min price chart. I'm new to trading so, do your own due diligence
BTC Miner Netflows with smoothingBTC Miner Netflows with smoothing - shows the difference between Miner Inflow and Miner Outflow.
Miner income, sales as well as holdings, are generally considered to have a huge market impact, by analyzing miner Netflows, users can gauge if overall miners are accumulating or selling; high positive values point to accumulation, while negative numbers indicate net selling.
Data queried from IntoTheBlock.
Step-MA Filtered CCI [Loxx]Step-MA Filtered CCI is a CCI indicator that is filtered using a stepping moving average function. This produces a CCI that is much cleaner due to noise reduction.
What is CCI?
The Commodity Channel Index ( CCI ) measures the current price level relative to an average price level over a given period of time. CCI is relatively high when prices are far above their average. CCI is relatively low when prices are far below their average. Using this method, CCI can be used to identify overbought and oversold levels.
Included:
Bar coloring
3 signal variations w/ alerts
Loxx's Expanded Source Types
mess JBI have made an all in one powerful script. It contains all meme lines(Moving average, Ema, Dema, Vwma, Hma)
In general, orange color means negative and white means positive. But you can very easily customize the colors according to your need and enable and disable any meme line.
Dots represent change of price action, although it works on every time frame but I have got best results on 15minute and 4hour Time Frame.
Cross represent change in volume. Now that's the most powerful thing, I have picked time segmented oscillator and changed the cod to represent Volume change. To take a better note of market, Start from Bigger Time frames. This indicator predicted every move Perfectly.
Enjoy
Sharpe Ratio v4I'm publishing this indicator freely, because I'd like to get it reviewed by other people. This indicator was written whilst reading the book Systematic Trading by Robert Carver. In this book Carver describes trading rules that use a "dynamic" position size based on something like an evolving Sharpe Ratio . There are only a few other Sharpe indicators on TradingView, but they are either undocumented or use closed source code. You can use the following code as you wish for your own projects.
I'd like to let other people see this work, and let me know where they think this script is wrong, so that I can improve it.
Here's a basic rundown of Sharpe Ratio and its calculation.
SR is defined as: (excess) return minus the risk free rate divided by standard deviation of those returns. (This is where we're uncertain. Is the standard deviation of the returns, or just the closes?) But anyway the calculation itself is pretty simple:
SR = (r – b) ÷ s
Where r is the return of the asset over a certain period.
b is the interest rate of the risk-free asset.
s is the standard deviation of the returns over the same period.
For this indicator to "work" correctly, we're assuming the risk-free rate is 0. In fact, I did not include b at all in the indicator because it would make things too complicated, and go beyond the aim of this work.
To calculate the returns over a certain period, I'm using Rate of Change. Then calculating the standard deviation of those returns is pretty easy because we can use the same lookback period we used for ROC for the StDev calculation, thus:
averageReturn = ta.roc(close, lookbackLength)
stdev = ta.stdev(averageReturn, lookbackLength)
sharpe = (averageReturn / stdev)
Please leave a comment below if you believe this is incorrect. The chart shows a normal ROC indicator for comparison. I've also created a "bands" version of this indicator, which I'm planning to also release. The Keltner channel is just for comparing it with the StDev bands.
TARVIS Labs - Alts Macro Bottom/Top SignalsSCRIPT DESCRIPTION
PLEASE READ THROUGH THIS CAREFULLY.
This is a script specifically written to help provide indicators from a macro view for ALTS. This script needs to be run on the 1 day. It helps indicate when to accumulate alts, and when its in a bull run when this a bull run top beginning to form with warnings, and a indicator that a top is in. This is described further below.
NOTE - in order to accomodate most alts the script had to be broad enough in its indicators to cover many different scenarios. If you are trading a smaller altcoin I suggest taking a more conservative approach to accumulation.
FAQs:
1. Why is there no accumulation zone showing up before an uptrend?
This could be because the trend has been so strong for this coin that there hasn't been a strong enough signal to accumulate or this could be that the chart doesnt have enough historical data (needs over 2 years) for the indicators to flash green.
2. Why is there no tops shown for a chart Im looking at?
This is either because there isn't enough historical data (needs over 2 years) for the indicators to build or because the altcoin didnt perform as well as the rest of the market. The altcoin has to perform as well as the market over the length of the bull run in order for the signals to show. Typically an altcoin that shows sharp increases and sharp drops shortly after will not have signals show up.
3. The "Potential End of Bull Run Top Indicator" showed up but we weren't near the top yet, why is that?
The alts indicator has to work across many altcoins, and their trends are not all the same. This can lead to the indicator showing but not necessarily being the exact top. The data from the alts macro bottom/top signals should be paired with the "TARVIS Labs bitcoin macro bottom/top signals" indicator for BTC. The reasoning is because if the top is not showing that its in for Bitcoin its likely that the altcoin's top is also not in. You should use the two in tandem to know if the bull run top is very likely in.
ACCUMULATION ZONE INDICATOR - LIGHT GREEN
Description
When we look at the general crypto landscape, the 200d & 300d EMAs are extremely useful. We can use their cross and momentum in order to determine a bottom forming. If the price has fallen over 40% below the 200 day EMA and the 200 day EMA has crossed below the 300d EMA, its a downtrend with a steep fall, which could indicate a good time to accumulate. When we see the 200 day EMA's slope drop drastically (over 5% w/w) it is also a good signal to accumulate.
Strategy for Usage
For alts, the strategy can vary drastically. You need to take into account:
1. the market cap of the altcoin, is it a smaller market cap altcoin or a larger one?
2. historical trend, does it typically trend strongly with a smaller accumulation zone?
Once you've taken these into account you can form a strategy. For example, if the altcoin has had smaller accumulation zones historically you'll want to take advantage of the accumulation zones when they pop up and be more aggressive (say a 30 day accumulation). If the altcoin has historically had longer accumulation zones then you'll want to be more conservative with your strategy and potentially have a 100 day (or even longer) accumulation period. If the altcoin is a smaller market cap alt, you will want to also take that into account. You'll want to likely be more conservative,
STRONG BUY IN ACCUMULATION ZONE INDICATOR - DARK GREEN
Description
We can add to the bottoming signal by looking for strong downtrends inside the bottoming signal. We do this by seeing when the 36 day EMA has a slope decreasing by 2% day/day.
Strategy for Usage
These strong downtrend days can be used to add more to our accumulation strategy. We can add more on these days (ex. double what you were planning to on a typical accumulation day).
LOCAL TOP NEAR BULL RUN TOP INDICATOR - RED
Description
When the 100 week EMA is in a strong uptrend (4% increase w/w) we can look for significant loss of momentum in order to determine if a local top is in near a bull run top. This strategy uses a MACD with 9/36/9 config for the daily chart. We look for the signals momentum loss, when the slope becomes negative.
Strategy for Usage
Ideally the right strategy to use here is to exit the market when this indicator starts. When the indicator ends if the "Potential End of Bull Run Top Indicator" is not showing on the chart you can buy back into the market.
POTENTIAL END OF BULL RUN TOP INDICATOR - DARK RED
Description
When the 100 week EMA is in a strong uptrend (3% increase w/w), and a MACD config of 108/234/9 has a negative signal slope signifying a very large momentum loss, but the 1d 18 EMA is still above the 1d 63 EMA we show this signal.
Strategy for Usage
This is a strong indicator that the top is in, and it potentially being the bull run top. Because alts can vary strongly in their charts, this should be a strong warning but not necessarily a certainty that the bull run is over.
STD-Filtered, N-Pole Gaussian Filter [Loxx]This is a Gaussian Filter with Standard Deviation Filtering that works for orders (poles) higher than the usual 4 poles that was originally available in Ehlers Gaussian Filter formulas. Because of that, it is a sort of generalized Gaussian filter that can calculate arbitrary (order) pole Gaussian Filter and which makes it a sort of a unique indicator. For this implementation, the practical mathematical maximum is 15 poles after which the precision of calculation is useless--the coefficients for levels above 15 poles are so high that the precision loss actually means very little. Despite this maximal precision utility, I've left the upper bound of poles open-ended so you can try poles of order 15 and above yourself. The default is set to 5 poles which is 1 pole greater than the normal maximum of 4 poles.
The purpose of the standard deviation filter is to filter out noise by and by default it will filter 1 standard deviation. Adjust this number and the filter selections (price, both, GMA, none) to reduce the signal noise.
What is Ehlers Gaussian filter?
This filter can be used for smoothing. It rejects high frequencies (fast movements) better than an EMA and has lower lag. published by John F. Ehlers in "Rocket Science For Traders".
A Gaussian filter is one whose transfer response is described by the familiar Gaussian bell-shaped curve. In the case of low-pass filters, only the upper half of the curve describes the filter. The use of gaussian filters is a move toward achieving the dual goal of reducing lag and reducing the lag of high-frequency components relative to the lag of lower-frequency components.
A gaussian filter with...
One Pole: f = alpha*g + (1-alpha)f
Two Poles: f = alpha*2g + 2(1-alpha)f - (1-alpha)2f
Three Poles: f = alpha*3g + 3(1-alpha)f - 3(1-alpha)2f + (1-alpha)3f
Four Poles: f = alpha*4g + 4(1-alpha)f - 6(1-alpha)2f + 4(1-alpha)3f - (1-alpha)4f
and so on...
For an equivalent number of poles the lag of a Gaussian is about half the lag of a Butterworth filters: Lag = N*P / pi^2, where,
N is the number of poles, and
P is the critical period
Special initialization of filter stages ensures proper working in scans with as few bars as possible.
From Ehlers Book: "The first objective of using smoothers is to eliminate or reduce the undesired high-frequency components in the eprice data. Therefore these smoothers are called low-pass filters, and they all work by some form of averaging. Butterworth low-pass filters can do this job, but nothing comes for free. A higher degree of filtering is necessarily accompanied by a larger amount of lag. We have come to see that is a fact of life."
References John F. Ehlers: "Rocket Science For Traders, Digital Signal Processing Applications", Chapter 15: "Infinite Impulse Response Filters"
Included
Loxx's Expanded Source Types
Signals
Alerts
Bar coloring
Related indicators
STD-Filtered, Gaussian Moving Average (GMA)
STD-Filtered, Gaussian-Kernel-Weighted Moving Average
One-Sided Gaussian Filter w/ Channels
Fisher Transform w/ Dynamic Zones
R-sqrd Adapt. Fisher Transform w/ D. Zones & Divs .
Gaussian Filter MACD [Loxx]Gaussian Filter MACD is a MACD that uses an 1-4 Pole Ehlers Gaussian Filter for its calculations. Compare this with Ehlers Fisher Transform.
What is Ehlers Gaussian filter?
This filter can be used for smoothing. It rejects high frequencies (fast movements) better than an EMA and has lower lag. published by John F. Ehlers in "Rocket Science For Traders". First implemented in Wealth-Lab by Dr René Koch.
A Gaussian filter is one whose transfer response is described by the familiar Gaussian bell-shaped curve. In the case of low-pass filters, only the upper half of the curve describes the filter. The use of gaussian filters is a move toward achieving the dual goal of reducing lag and reducing the lag of high-frequency components relative to the lag of lower-frequency components.
A gaussian filter with...
one pole is equivalent to an EMA filter.
two poles is equivalent to EMA ( EMA ())
three poles is equivalent to EMA ( EMA ( EMA ()))
and so on...
For an equivalent number of poles the lag of a Gaussian is about half the lag of a Butterworth filters: Lag = N * P / (2 * ¶2), where,
N is the number of poles, and
P is the critical period
Special initialization of filter stages ensures proper working in scans with as few bars as possible.
From Ehlers Book: "The first objective of using smoothers is to eliminate or reduce the undesired high-frequency components in the eprice data. Therefore these smoothers are called low-pass filters, and they all work by some form of averaging. Butterworth low-pass filtters can do this job, but nothing comes for free. A higher degree of filtering is necessarily accompanied by a larger amount of lag. We have come to see that is a fact of life."
References John F. Ehlers: "Rocket Science For Traders, Digital Signal Processing Applications", Chapter 15: "Infinite Impulse Response Filters"
Included
Loxx's Expanded Source Types
Signals, zero or signal crossing, signal crossing is very noisy
Alerts
Bar coloring
STD-Filtered, Gaussian Moving Average (GMA) [Loxx]STD-Filtered, Gaussian Moving Average (GMA) is a 1-4 pole Ehlers Gaussian Filter with standard deviation filtering. This indicator should perform similar to Ehlers Fisher Transform.
The purpose of the standard deviation filter is to filter out noise by and by default it will filter 1 standard deviation. Adjust this number and the filter selections (price, both, GMA, none) to reduce the signal noise.
What is Ehlers Gaussian filter?
This filter can be used for smoothing. It rejects high frequencies (fast movements) better than an EMA and has lower lag. published by John F. Ehlers in "Rocket Science For Traders". First implemented in Wealth-Lab by Dr René Koch.
A Gaussian filter is one whose transfer response is described by the familiar Gaussian bell-shaped curve. In the case of low-pass filters, only the upper half of the curve describes the filter. The use of gaussian filters is a move toward achieving the dual goal of reducing lag and reducing the lag of high-frequency components relative to the lag of lower-frequency components.
A gaussian filter with...
one pole is equivalent to an EMA filter.
two poles is equivalent to EMA(EMA())
three poles is equivalent to EMA(EMA(EMA()))
and so on...
For an equivalent number of poles the lag of a Gaussian is about half the lag of a Butterworth filters: Lag = N * P / (2 * ¶2), where,
N is the number of poles, and
P is the critical period
Special initialization of filter stages ensures proper working in scans with as few bars as possible.
From Ehlers Book: "The first objective of using smoothers is to eliminate or reduce the undesired high-frequency components in the eprice data. Therefore these smoothers are called low-pass filters, and they all work by some form of averaging. Butterworth low-pass filtters can do this job, but nothing comes for free. A higher degree of filtering is necessarily accompanied by a larger amount of lag. We have come to see that is a fact of life."
References John F. Ehlers: "Rocket Science For Traders, Digital Signal Processing Applications", Chapter 15: "Infinite Impulse Response Filters"
Included
Loxx's Expanded Source Types
Signals
Alerts
Bar coloring
Related indicators
STD-Filtered, Gaussian-Kernel-Weighted Moving Average
One-Sided Gaussian Filter w/ Channels
Fisher Transform w/ Dynamic Zones
R-sqrd Adapt. Fisher Transform w/ D. Zones & Divs.
Wolfpack Divergences [multigrain]█ OVERVIEW
A fast and improved divergence finding algorithm that aims to be better than the built-in TradingView divergence algorithm.
█ CONCEPTS
Wolfpack
Wolfpack is an oscillator made popular by darrellfischer1 all the way back in 2017. Since then the Wolfpack oscillator has been utilized by a number of notable strategy/indicator creators. At some point it was realized that the oscillator was simply the Moving Average Crossover Divergence oscillator with the fast and slow length of 3 and 8, respectively. The true significance and reasoning behind these lengths are unknown, however one may surmise that they are chosen due to their relevance as Fibonacci numbers.
Divergences
Divergence is when the price of an asset is moving in the opposite direction of a technical indicator, such as an oscillator, or is moving contrary to other data. Divergence warns that the current price trend may be weakening, and in some cases may lead to the price changing direction.
█ USAGE
Wolfpack
Similar to many other oscillators, when the Wolfpack oscillator reports a value above the zero-line, this indicates a bullish trend in the price. Subsequently, a value below the zero-line indicate a bearish trend in the price.
Divergences
Divergence in technical analysis may signal a major positive or negative price move. A positive divergence occurs when the price of an asset makes a new low while an indicator, such as money flow, starts to climb. Conversely, a negative divergence is when the price makes a new high but the indicator being analyzed makes a lower high.
Weighted percentile nearest rank oscillatorOriginal script
This is my attempt at making a price oscillator out of gorx1's weighted percentile nearest rank script. I centered everything to the 50th percentile and everything oscillates around that. The upper and lower bounds are 100th and 0th. Normalization normalizes the data to the top and bottom lines. The 'center line' represents the momentum of the 50th percentile in either direction. Good luck and happy hunting.
Nasdaq 100 ScreenerNasdaq 100 screener is comprehensive table displaying the following parameters :
Op = Open Price of the Day.
LaP = Last Price.
O-L = Open Price of the Day - Last Price.
ROC = Rate of Change .
SMA20 = Simple Moving Average 20 period.
S20d = Last Price - SMA 20.
SMA50 = Simple Moving Average 50 period.
S50d = Last Price - SMA 50.
SMA200 = Simple Moving Average 200 period.
S200d = Last Price - SMA 200.
ADX(14) = Average Directional Index.
RSI(14) = Relative Strength Index.
CCI(20) = Commodity Channel Index.
ATR(14) = Average True Range.
MOM(10) = Momentum.
AcDis(K) = Accumulation/Distribution.
CMF(20) = Chaikin Money Flow.
MACD = Moving Average Convergence Divergence.
Sig = MACD signal.
Nasdaq 100 stocks are divided into following alphabetical grouping for input access purpose under “Options” in “Settings” menu.
A to B 21 stocks “Input symbols” are listed under the “Options” in “Input A to B”
C to E 18 stocks “Input symbols” are listed under the head “Options” in “Input C to E”
F to L 19 stocks “Input symbols” are listed under the head “Options” in “Input F to L”
M to P 22 stocks “Input symbols” are listed under the head “Options” in “Input M to P”
R to Z 20 stocks “Input symbols” are listed under the head “Options” in “Input R to Z”
A to Z 100 stocks “Input symbols” are listed under the head “Options” in “Input A to Z”
User after visiting the “Settings” menu simply is required to select the “input symbol” from the stock listed under respective alphabetical Input lists to which the particular stock belongs. The resultant data is tabulated under respective row in Table .At a time User can see 5 different stocks i.e one each in different alphabetical lists in respective alphabetical order rows stated in the Table. User can scroll in each list to access and shift to any other stock in the list. In addition a Master list of all 100 stocks is given under “ Input A to Z “ at the last row of table.
Nasdaq 100 screener is a simple table , which facilitate to view 6 different stocks at a time (inclusive one from Master list of “Input A to Z” with a display of 19 parameters.
TARVIS Labs - Bitcoin Macro Bottom/Top SignalsSCRIPT DESCRIPTION
This is a script specifically written to help provide indicators from a macro view. This script is best run on the 1 day interval on Bitstamp's $BTCUSD chart. It helps indicate when to accumulate bitcoin, and when its in a bull run when there are local tops, strong top warnings, and a signal to exit a bull run. This is described further below.
If you don't have interest in trading on the way to the top I suggest turning off the following indicators in the settings of the indicator:
- Opportunity To Buy Back In Indicator
- Local Top Near Bull Run Top Indicator
ACCUMULATION ZONE INDICATOR - LIGHT GREEN
Description
When we look at the history of Bitcoin every bottom has crossed below the 100 week EMA. Once it does its accompanied by hash ribbon cross with miner capitulation. After that is the prime time to accumulate as theres a clearer signal the bottom is in. Specifically, a signal to look for is the 14 day MACD/signal cross and the 14 day MACD continuing to stay above the signal until the price returns above the 100 week EMA. This is prime accumulation territory.
Strategy for Usage
A good strategy to use when accumulating the bottom is dollar-cost averaging over a 30 day period. The accumulation zone can last longer than 30 days but 30 days is a good range of time to DCA.
STRONG BUY IN ACCUMULATION ZONE INDICATOR - DARK GREEN
Description
We can add to the bottoming signal by looking for post-downtrend reversals inside the bottoming signal. We do this by using a 9/19 daily cross.
Strategy for Usage
These post-downtrend reversals can potentially provide better targeted days for accumulation than the broader bottoming signal and can be used to add more on that day than on an average day for the dollar cost average strategy. Say for example, use 1/3 of funds on these days rather than 1/30th.
OPPORTUNITY TO BUY BACK IN INDICATOR - BLUE
Description
When the 1d 18 EMA > 1d 63 EMA and the 12/52 1d crosses. These together provide good buy opportunities to buy bitcoin.
Strategy for Usage
If you happen to find yourself out of the market from your own TA or a trade, this signal can provide a buy opportunity to reenter the market if you're out of it.
BULL RUN LOCAL TOP INDICATOR - ORANGE
Description
We will similarly use the 100 week EMA to determine trend reversal into a bull run. When we see the 100 week EMA uptrending, we can begin to look for local tops using the 9/19 daily MACD/signal bearish cross along with the 12 EMA having a negative slope, which could be the beginning signal for a local top.
Strategy for Usage
This is a rather light indicator, but can be used in tandem with your own technical analysis to determine if you want to reenter after you exit from its signal.
LOCAL TOP NEAR BULL RUN TOP INDICATOR - RED
Description
When the 100 week EMA is in an uptrend we can look for significant loss of momentum in order to determine if a local top is in near a bull run top. Similar to the Bull Run Local Top Indicator, this strategy uses a MACD/signal cross but instead uses the 30/65 day EMAs.
Strategy for Usage
Ideally the right strategy to use here is to exit the market when this indicator starts. When the indicator ends if the "End of Bull Run Indicator" is not showing on the chart you can buy back into the market.
TOP IS LIKELY IN INDICATOR
Description
When the 100 week EMA is in a very strong uptrend and the 9/19 weekly MACD/signal bearish cross occurs, and the 63 EMA begins to downtrend.
Strategy for Usage
This signal typically accompanies the "Local Top Near Bull Run Top Indicator" therefore if you're following the strategy you would likely already be out of the market, but if you're not and this signal fires its a strong signal the top is in and we're likely going to start seeing a strong retrace. This is typically right before we see the "End of Bull Run Indicator". There is only one occurrence where it wasn't followed by a large drop & the "End of Bull Run Indicator" and that was in the 2017 bull run where there were many strong retracements post local top. The likelihood we see that again is low, but if it were to happen you can buy back into the market when the "Top is Likely In Indicator" and the "Local Top Near Bull Run Top Indicator" are not firing.
TOP IS LIKELY IN INDICATOR
Description
When the 100 week EMA is in a strong uptrend and the 9/19 weekly MACD/signal bearish cross occurs, and the 63 EMA begins to downtrend.
Strategy for Usage
This signal typically accompanies the "Local Top Near Bull Run Top Indicator" therefore if you're following the strategy you would likely already be out of the market, but if you're not and this signal fires its a strong signal the top is in and we're likely going to start seeing a strong retrace. This is typically right before we see the "End of Bull Run Indicator". There is only one occurrence where it wasn't followed by a large drop & the "End of Bull Run Indicator" and that was in the 2017 bull run where there were many strong retracements post local top. The likelihood we see that again is low, but if it were to happen you can buy back into the market when the "Top is Likely In Indicator" and the "Local Top Near Bull Run Top Indicator" are not firing.
END OF BULL RUN INDICATOR
Description
When the 100 week EMA is in an uptrend and the 1d 18 EMA crosses the 1d 63 EMA.
Strategy for Usage
When the 100 week EMA is a strong uptrend and the 18/63 cross occurs the top is very likely in. It has occurred in every bull run top leading to the bear market.
OMA-Filtered Kase Permission Stochastic [Loxx]OMA-Filtered Kase Permission Stochastic is a special implementation of Kase Permission Stochastic by Kase StatWare.
What is Kase StatWare?
Kase StatWare has been around since 1992 and is a technical analysis trading indicator package developed by the acclaimed market technician and former energy trader Cynthia A. Kase. StatWare’s self-optimizing indicators help professional and individual traders to form a precise and systematic approach to discretionary trading and trade risk management.
Kase StatWare creates subscription-based technical analysis tools mainly for Stocks and Futures trading which can be subscribed to at a monthly cost.
What is Kase Permission Stochastic?
The Kase Permission Stochastic is a momentum indicator that examines a synthetic longer bar length, that by default, is three (5x by default for this implementation here) times higher than the bar length it is plotted against.
Included
Alerts
Signals
Bar coloring
MACD ModifiedIn an attempt to improve the MACD for trading, I have added an alternative way to calculate the MACD Line and Overbought/Oversold (OB/OS) lines to filter signals.
The alternate calculation I named "Modified" and put the option to select it under "MACD Calculation" in the input menu. Traditionally the MACD is calculated as fastEMA - slowEMA, for "Modified" I changed the calculation to ((fastEMA - slowEMA) / slowEMA * 100). The goal of this change is to view the difference in MA as a percent of the slow. The hope is that this will compensate for securities that have had major gains or losses in their history.
For the OB/OS lines, I coded in three different ways to calculate them. Users can select which method they prefer in the input menu. The first is through pivot points. The script records the pivot points into an array and takes the average of the array. There are two arrays, one for the OB line and one for the OS line. I also added filters so it will only record pivots above/below a specific value. The crosses on the indicator are for debugging purposes only. They mark the pivots that were recorded into the arrays. The crosses are offset by the pivot strength and do not provide timely indications. All inputs are adjustable for the pivots in the "Pivots" section of the input menu. The second method for the OB/OS lines I added is Bollinger Bands. The user can choose to put it around the Signal or MACD line. The final method added is simply using the previous high/low pivot of the MACD line.
Market momentum catcherIs a tool used to catch market momentum. If the color is green it means the bulls are in momentum or the prices will continue to increase, if the color is red it means the bears are in momentum or the prices will continue to decrease and gray color means the market is consolidating.
This tool is made from moving averages and RSI.
You can place a buy order when the color is green, you can place a sell order when the color is red and if the color is gray do not trade.
T3 Velocity Candles [Loxx]T3 Velocity Candles is a candle coloring overlay that calculates its gradient coloring using T3 velocity.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.