[blackcat] L2 FArden Thomas Voting With Multiple TimeframesLevel 2
Background
For Traders’ Tips of November 2020, the focus is F. Arden Thomas’ article in the August 2020 issue, “Voting With Multiple Timeframes”.
Function
F. Arden Thomas sums up the returns by a stochastic indicator in a voting process over seven different timeframes, and uses the resulting votes for trade signals. He shows us a new way of using the classic stochastic oscillator by combining many timeframes into a single value by voting. By using this voting process, buy and sell signals derived from many intervals become clearly visible on the chart. This is an interesting concept that can be applied to many common indicators such as the RSI or ADX, not just the stochastic.
Although the author creates a voting system by counting the number of times the indicator is in overbought/oversold range, I thought it would be interesting to create a composite indicator by averaging the stochastic value over multiple timeframes into a single indicator that moves along the standard scale.
Remarks
Maroon~ Red color bars for bullish market.
Teal~ Green color bars for bearish market.
This is a Level 2 free and open source indicator.
Feedbacks are appreciated.
Blackcat1402
[blackcat] L2 Vitali Apirine Stochastic MACD OscillatorLevel 2
Background
Traders’ Tips of November 2019, the focus is Vitali Apirine’s article in the November issue, “The Stochastic MACD Oscillator”.
Function
In “The Stochastic MACD Oscillator” in this issue, author Vitali Apirine introduces a new indicator created by combining the stochastic oscillator and the MACD. He describes the new indicator as a momentum oscillator and explains that it allows the trader to define overbought and oversold levels similar to the classic stochastic but based on the MACD. The STMACD reflects the convergence and divergence of two moving averages relative to the high–low range over a set number of periods.
Remarks
This is a Level 2 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 Richard Poster Trend PersistenceLevel 1
Background
In Traders’ Tips of February 2021, the focus is Richard Poster’s article in the February 2021 issue, “Trend Strength: Measuring The Duration Of A Trend”.
Function
In his article in this issue, Richard Poster outlines several common ways to evaluate the strength and duration of trends. Then he evaluates their sensitivity to volatility. Next, he steps up our game a bit by proposing an indicator that seeks to measure a trend’s persistence rate, or TPR for short. TPR turns out to be relatively insensitive to the influence of volatility.
Financial markets are not stationary; price curves can swing all the time between trending, mean-reverting, or entire randomness. Without a filter for detecting trend regime, any trend-following strategy will bite the dust sooner or later. In his article in this issue, Richard Poster offers a trend persistence indicator (TPR) for helping to avoid unprofitable market periods.The TPR indicator measures the steepness of a SMA (simple moving average) slope and counts the bars where the slope exceeds a threshold. The more steep bars, the more trending the market. Threshold, TPR period, and SMA period are the parameters of the TPR indicator.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 Vitali Apirine MABWLevel 1
Background
Vitali Apirine’s articles in the July & August issues on 2021, “Moving Average Band Width”
Function
In “Moving Average Bands” (part 1, July 2021 issue) and “Moving Average Band Width” (part 2, August 2021 issue), author Vitali Apirine explains how moving average bands (MAB) can be used as a trend-following indicator by displaying the movement of a shorter-term moving average in relation to the movement of a longer-term moving average. The distance between the bands will widen as volatility increases and will narrow as volatility decreases. In part 2, the moving average band width (MABW) measures the percentage difference between the bands. Changes in this difference may indicate a forthcoming move or change in the trend.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 Vitali Apirine MABLevel 1
Background
Vitali Apirine’s articles in the July & August issues on 2021, “Moving Average Bands”
Function
In “Moving Average Bands” (part 1, July 2021 issue) and “Moving Average Band Width” (part 2, August 2021 issue), author Vitali Apirine explains how moving average bands (MAB) can be used as a trend-following indicator by displaying the movement of a shorter-term moving average in relation to the movement of a longer-term moving average. The distance between the bands will widen as volatility increases and will narrow as volatility decreases.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 RSMKLevel 1
Background
This is a modified version of indicator from Markos Katsanos’ article in the March issue, “Using Relative Strength To Outperform The Market”.
Function
In “Using Relative Strength To Outperform The Market” in this issue, author Markos Katsanos presents a trading system based on a new relative strength indicator he calls RSMK. The indicator improves on the traditional relative strength indicator by separating periods of strong or weak relative strength.
I found it helpful for divergence identification.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L2 Eyman OscillatorLevel 2
Background
Eyman Oscillator
Function
The Eyman oscillator is also an analytical indicator derived from the moving average principle, which reflects the deviation between the current price and the average price over a period of time. According to the principle of moving average, the price trend can be inferred from the value of OSC. If it is far from the average, it is likely to return to the average. OSC calculation formula: Take 10-day OSC as an example: OSC = closing price of the day - 10-day average price Parameter setting: The period of the OSC indicator is generally 10 days; the average number of days of the OSC indicator can be set, and the average line of the OSC indicator can also be displayed. OSC judgment method: Take the ten-day OSC as an example: 1. The oscillator takes 0 as the center line, the OSC is above the zero line, and the market is in a strong position; if the OSC is below the zero line, the market is in a weak position. 2. OSC crosses the zero line. When the line is up, the market is strengthening, which can be regarded as a buy signal. On the contrary, if OSC falls below the zero line and continues to go down, the market is weak, and you should pay attention to selling. The degree to which the OSC value is far away should be judged based on experience.
Remarks
This is a Level 2 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L3 Faster MACDLevel 3
Background
I am seeking a way to make MACD faster
Function
By using stoch, but with MACD method, a faster MACD is made. short term faster kd is used for macd lines. long term kd is used for histogram, which can counteract the histogram grade gap caused by tradtional MACD.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 Markos Katsanos Volume Flow IndicatorLevel 1
Background
Markos Katsanos’ volume flow indicator (VFI) calculation uses a default period of 130 days for daily charts. As a result, when applying the strategy, you will need to set the maximum number of bars the study will reference in the general tab of properties for all to at least 130. In order to compare the system objectively with the buy & hold results, he specified a trade size as a percent of equity.
Function
For more information see Markos Katsanos's articles in the June 2004 and July 2004 issues of Technical Analysis of Stocks & Commodities magazine. Period=days for VFI calculation. Default values are 130 for daily and 26 for weekly charts.Coef=coefficient for minimal price cut-of (use 0.2 for daily and 0.1 for intraday 5-15 min data) Vcoef=coefficient for volume cut-off (use 2.5 for daily and 3.5 for intraday charts)
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L1 Vitali Apirine RS EMALevel 1
Background
For Traders’ Tips for 2022.05, the focus is Vitali Apirine’s article in the January 2022 issue, “Relative Strength Moving Averages, Part 1: The Relative Strength Exponential Moving Average (RS EMA)”.
Function
Author Vitali Apirine introduces the relative strength exponential moving average (RS EMA). The study is designed to account for relative strength of price and is considered a trend-following indicator that can be used in combination with an EMA of the same length to identify the overall trend. RS EMAs with different lengths can define turning points and filter price movements.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L2 Ehlers Super Smoother (3 poles)Level:2
Background
The third-order super smoother low-pass butterworth filter (3 pole) is a classic J.F Ehlers indicator.
Function
I have found many places where the algorithms are not uniform and some are even wrong. So, I did some research and wrote a low pass filter that I think is correctly defined. This indicator is often used as one of the basic elements of other trading systems.
When you are using it, you need to enter the Period setting period.
Remarks
Free but Open Source
[blackcat] L2 Ehlers Super Smoother (2 poles)Level:2
Background
The second-order super smoother low-pass butterworth filter (2 pole) is a classic J.F Ehlers indicator.
Function
I have found many places where the algorithms are not uniform and some are even wrong. So, I did some research and wrote a low pass filter that I think is correctly defined. This indicator is often used as one of the basic elements of other trading systems.
When you are using it, you need to enter the Period setting period.
The key difference from other places is that, they use :
Filt2 := coef1*(Price+Price )/2 + coef2*nz(Filt2 ) + coef3*nz(Filt2 )
which introduces extra lag
My version keep the original meaning from Ehlers and use:
Filt2 := coef1*Price + coef2*nz(Filt2 ) + coef3*nz(Filt2 )
A little improvement on lag issue.
Remarks
Free and Open Source
[blackcat] L2 Ehlers High Pass Filter (2 pole)Level:2
Background
The second-order high-pass filter (2 pole) is a classic JF Ehlers specification.
Function
I have found many places where the algorithms are not uniform and some are even wrong. So, I did some research and wrote a high pass filter that I think is correctly defined. This indicator is often used as one of the basic elements of other trading systems.
When you are using it, you need to enter the HPPeriod setting period.
Remarks
Free but Open Source
[blackcat] L2 Ehlers High Pass Filter (1 pole)Level:2
Background
The first-order high-pass filter is a classic JF Ehlers specification.
Function
I have found many places where the algorithms are not uniform and some are even wrong. So, I did some research and wrote a high pass filter that I think is correctly defined. This indicator is often used as one of the basic elements of other trading systems.
When you are using it, you need to enter the HPPeriod setting period and specify its bandwidth parameter, the default value is 0.3
Remarks
Free but Open Source
[Sextan] Dark Cloud Density MTFNOTE: Sextan Bactest version which support MTF
Level:1
Background
Go long through the buy and sell tags, and determine the size of the buy position by observing the density of the dark cloud or the thickness of the dark cloud.
Function
This is a buying and selling system that strives for simplicity and clarity, and position control is determined by the trend. The dark cloud here is the standard of this measurement. If there are many dark clouds, it means that the short-selling power is relatively strong, and the long-buying signal can be given up or bought with a small position. If the density of the dark clouds is sparse, it means that the long and short positions are weak, and the long positions can be appropriately increased.
The specific function is to follow the label prompts to buy and sell, and to decide how much to buy according to the density of the dark clouds.
Remarks
Free and Open Source
Alerts are added.
[blackcat] L1 Dark Cloud DensityLevel:1
Background
Go long through the buy and sell tags, and determine the size of the buy position by observing the density of the dark cloud or the thickness of the dark cloud.
Function
This is a buying and selling system that strives for simplicity and clarity, and position control is determined by the trend. The dark cloud here is the standard of this measurement. If there are many dark clouds, it means that the short-selling power is relatively strong, and the long-buying signal can be given up or bought with a small position. If the density of the dark clouds is sparse, it means that the long and short positions are weak, and the long positions can be appropriately increased.
The specific function is to follow the label prompts to buy and sell, and to decide how much to buy according to the density of the dark clouds.
Remarks
Free and Open Source
Alerts are added.
[blackcat] L2 Reversal Labels StrategyLevel: 2
Background
There is a Chinese proverb that says: "The great way leads to simplicity". This indicator is the representative of this meaning. Through the processing of the most common MACD indicator data, it is possible to quickly determine the market price: whether the current price is at a historical high or low, whether a reversal will happen soon, etc. at a glance.
Function
This is the strategy version of the same indicator which performs screening and filtering through the fast and slow line data corresponding to the output of the standard MACD indicator, so as to realize the function of judging the top and bottom of the trend.
Inputs
N/A
Key Signal
Near Top --> Top is reached and reversal may happen soon. (red labels)
Near Bottom --> Bottom is reached and reversal may happen soon. (green labels)
Remarks
The backtest result is picked up and optimized for BTCUSD '2D' time frame, it does not work constantly well for any time frame. You need to combine other indicators for other trading pair and time frame.
You can add alerts for this version.
This is a Level 2 free and open source indicator.
Feedbacks are appreciated.
[blackcat] L3 DMIQLevel: 3
Background
The directional movement index (DMI) is an indicator developed by J. Welles Wilder in 1978 that identifies in which direction the price of an asset is moving. The indicator does this by comparing prior highs and lows and drawing two lines: a positive directional movement line (+DI) and a negative directional movement line (-DI). An optional third line, called the average directional index (ADX), can also be used to gauge the strength of the uptrend or downtrend.
Function
When +DI is above -DI, there is more upward pressure than downward pressure in the price. Conversely, if -DI is above +DI, then there is more downward pressure on the price. This indicator may help traders assess the trend direction. Crossovers between the lines are also sometimes used as trade signals to buy or sell.
The directional movement index (DMI) is a technical indicator that measures both the strength and direction of a price movement and is intended to reduce false signals.
The DMI utilizes two standard indicators, one negative (-DM) and one positive (+DN), in conjunction with a third, the average directional index (ADX), which is non-directional but shows momentum.
The larger the spread between the two primary lines, the stronger the price trend. If +DI is way above -DI the price trend is strongly up. If -DI is way above +DI then the price trend is strongly down.
ADX measures the strength of the trend, either up or down; a reading above 25 indicates a strong trend.
Remarks
Free and Open Source
Alerts are added.
[blackcat] L2 Hann Ehanced DMILevel: 2
Background
Among the many indicators, it can be said that DMI is the only "super turning" indicator. This indicator can alone send out risk warning signals when extreme market conditions occur in the stock market, helping us to solve some problems.
If we can operate according to the instructions of DMI, firstly, we can avoid the mistake of buying stocks at the head. Secondly, in the process of falling fear of the market, we can follow the direction signal sent by DMI and catch every time on the way down. Opportunity to rebound to unwind.
If you look at the diagram of the DMI, you will think it is very complicated, because there are four lines in its diagram, and they are intertwined, and it is difficult to distinguish the complex signals in it. But don't worry about its complex structure, we will fully dissect this indicator.
Function
These four lines are: PDI, MDI, ADX and ADXR. The scale of the table is from 0-100, which means from very weak to very strong. The PDI curve and MDI curve on some software are called +DI curve and -DI curve , all have the same meaning.
PDI: Represents the position of multiple parties in the market.
In market movements, the higher the PDI, the stronger the current market. On the contrary, it is a weak market. The A-share market is easy to go to extremes. Therefore, we can see that in the past A-share market, the PDI sometimes fell to near zero, and at this time, it often indicated that a rebound and uptrend was about to start.
MDI: Represents the position of the bears in the market.
In the market movement, the higher the MDI goes, the weaker the current market is, and vice versa, it is a strong market. Before a big bull market comes, we can see the MDI drop to a position close to zero, and at this time, the bears in the market have no power to fight back.
The relationship between PDI and MDI:
In the operation of the market, PDI and MDI are intertwined with each other. If the PDI is above the MDI, the market at this time is a strong market. The MDI is above the PDI, which is a bear market. The closer the distance between the two, the market is in a stalemate of consolidation. On the contrary, the further apart the two lines are, the more obvious the unilateral nature of the market is, whether it is a bull market or a bear market. The so-called unilateral market means that there is no midway adjustment when it rises, and there is no rebound correction when it falls.
ADX: Fast steering pullback.
The difference between ADX and other analysis indicators is that whether it is rising or falling, as long as there is a unilateral market, it runs upwards, not like other indicators, the strong market runs upwards and the weak market runs downwards.
The thread is almost entwined with PDI and MDI in general market movement, which makes no sense at this time. However, once the market breaks out of the market and starts to go to extremes, whether the market is rising or falling, ADX will start to run upwards. At this time, ADX has a clear meaning, because DMI has begun to issue early warning of impending turn!
ADXR: slow pull back.
This line is matched to ADX and is a moving average of ADX values. When ADX goes up, ADXR goes up with it, just slower.
When a round of rapid decline ends, it usually needs to be corrected by a rebound, and ADX will take the lead in turning up. Once it crosses with ADXR, it is regarded as an effective breakthrough.
Numerical division. I set an input threshold for HEDMI, and users can set the optimal threshold to buy and sell according to different TFs.
When PDI crosses the threshold, no matter how strong the bull market is, we must beware of risks from happening at any time.
In order to distinguish more clearly, I slightly modified the formula of the system, and when this happens, the indicator will issue a green warning label, so as to avoid risks in time.
Comprehensive use of four lines:
If the four lines in the steering indicator DMI are intertwined below 50, it usually means that the market is in a state of mild consolidation at this time. The DMI indicator at this time is useless because it does not generate a strong pullback force. Don't worry about an unexpected turnaround in the market. As for the consolidation, it's not a turnaround, it's a breakout.
When PDI and MDI gradually separate, at this time, ADX and ADXR will also rise. At this time, the DIM that is usually messy like twine will be clearly separated. When rising, PDI rises along with ADX and ADXR, while MDI sinks weakly. On the contrary, when the market starts to fall, MDI will rise along with ADX and ADXR, and PDI will sink helplessly. At this time, the DMI will be like a "tiger's mouth", gradually opening its bloody mouth. The bigger the opening, the more lethal the bite.
Here comes a tactic, or technical trend, called double hooves, that is, PDI and MDI split, ADX and ADXR upward to produce golden forks, PDI and MDI are like the double front hooves of a horse, ADX and ADXR The golden fork is like the rear hooves of a steed ready to take off, and this trend of the four lines is like the four legs of a steed that is about to run.
If you think it is too complicated to look at DMI like this, then I can tell you the easiest way to judge, that is, just look at the PDI line. When the PDI line falls below 10, boldly buy the dip, because it is a dip, so you need to calculate the rebound At this time, combined with the golden section theory I often talk about, you can easily find the selling point by making the golden section of the downward trend for the previous trend.
This kind of bottom-hunting method uses the golden section theory, and basically there will be no losses. Remember that one thing is not to be greedy and strictly enforce discipline. This is bottom-hunting, and advancing with both hooves is chasing up. The two styles are different, and the operation styles are different. You also need to explore more in actual combat. Any kind of trick, if you practice it proficiently, it is a unique trick.
Remark
Hanning Window Enhanced DMI
Free and Open Source Indicator
windowing_taAll Signals Are the Sum of Sines. When looking at real-world signals, you usually view them as a price changing over time. This is referred to as the time domain. Fourier’s theorem states that any waveform in the time domain can be represented by the weighted sum of sines and cosines. For example, take two sine waves, where one is three times as fast as the other–or the frequency is 1/3 the first signal. When you add them, you can see you get a different signal.
Although performing an FFT on a signal can provide great insight, it is important to know the limitations of the FFT and how to improve the signal clarity using windowing. When you use the FFT to measure the frequency component of a signal, you are basing the analysis on a finite set of data. The actual FFT transform assumes that it is a finite data set, a continuous spectrum that is one period of a periodic signal. For the FFT, both the time domain and the frequency domain are circular topologies, so the two endpoints of the time waveform are interpreted as though they were connected together. When the measured signal is periodic and an integer number of periods fill the acquisition time interval, the FFT turns out fine as it matches this assumption. However, many times, the measured signal isn’t an integer number of periods. Therefore, the finiteness of the measured signal may result in a truncated waveform with different characteristics from the original continuous-time signal, and the finiteness can introduce sharp transition changes into the measured signal. The sharp transitions are discontinuities.
When the number of periods in the acquisition is not an integer, the endpoints are discontinuous. These artificial discontinuities show up in the FFT as high-frequency components not present in the original signal. These frequencies can be much higher than the Nyquist frequency and are aliased between 0 and half of your sampling rate. The spectrum you get by using a FFT, therefore, is not the actual spectrum of the original signal, but a smeared version. It appears as if energy at one frequency leaks into other frequencies. This phenomenon is known as spectral leakage, which causes the fine spectral lines to spread into wider signals.
You can minimize the effects of performing an FFT over a noninteger number of cycles by using a technique called windowing. Windowing reduces the amplitude of the discontinuities at the boundaries of each finite sequence acquired by the digitizer. Windowing consists of multiplying the time record by a finite-length window with an amplitude that varies smoothly and gradually toward zero at the edges. This makes the endpoints of the waveform meet and, therefore, results in a continuous waveform without sharp transitions. This technique is also referred to as applying a window.
Here is a windowing_ta library with J.F Ehlers Windowing functions proposed on Sep, 2021.
Library "windowing_ta"
hann()
hamm()
fir_sma()
fir_triangle()
[blackcat] L3 MACD plus CandlesLevel: 3
Background
Many people need to judge the market trend against the main candlestick chart when using MACD.
Function
First of all, the principle of MACD is the difference between EMA's long-term and short-term values. So, I wonder if it is possible to use EMA to construct a set of candle charts that are similar in proportion to MACD values for overlapping comparisons? Because this can greatly facilitate traders to make quick trend judgments. So I used the 3-8 lines of EMA to simulate the KD of KDJ, constructed a set of candle charts, and generated buying and selling points through conditional constraints. Do you like this MACD + Candlestick chart?
Inputs
N/A
Key Signal
Traditional MACD output signal
Candlesticks
Near Top --> Top is reached and reversal may happen soon. (fuchsia labels)
Near Bottom --> Bottom is reached and reversal may happen soon. (yellow labels)
Remarks
This is a Level 3 free and open source indicator.
Feedbacks are appreciated.
dc_taAdaptive technical indicators are importants in a non stationary market, the ability to adapt to a situation can boost the efficiency of your strategy. A lot of methods have been proposed to make technical indicators "smarters", the dominant cycle tuned indicators are one of them which are based on J.F.Ehlers theory. Here is a collections of algorithms to calculate dominant cycles. ENJOY!
Library "dc_ta"
bton()
EhlersHoDyDC()
EhlersPhAcDC()
EhlersDuDiDC()
EhlersCycPer()
EhlersCycPer2()
EhlersBPZC()
EhlersAutoPer()
EhlersHoDyDCE()
EhlersPhAcDCE()
EhlersDuDiDCE()
EhlersDFTDC()
EhlersDFTDC2()
interval_taA pine V5 library with several functions to handle time and sessions in trading.
Library "interval_ta"
bton()
tir()
nbs()
ismarket()
isclose()
dow()
tp1_timestamp()
datetime()