Trading Channel Index (TCI)Overview:
The Trading Channel Index (TCI) is a technical analysis tool designed to identify cyclical trends in financial markets by smoothing out price movements and reducing volatility compared to traditional oscillators, like the Commodity Channel Index (CCI). The TCI helps traders pinpoint overbought and oversold conditions, as well as gauge the strength and direction of market trends.
Calculation:
The TCI is calculated through a multi-step process:
Typical Price (Xt): The typical price is computed as the average of the high, low, and close prices for each bar:
Xt = (High + Low + Close) / 3
Exponential Average (Et): This step smooths the typical price over a specified number of bars (TCI Channel Length) using an exponential moving average (EMA). The smoothing factor alpha is derived from the channel length:
Et = alpha * Xt + (1 - alpha) * Et
Where alpha = 2 / (TCI Channel Length + 1).
Average Deviation (Dt): The average deviation measures how much the typical price deviates from the exponential average over time. This is also smoothed using the EMA:
Dt = alpha * abs(Et - Xt) + (1 - alpha) * Dt
Channel Index (CI): The Channel Index is calculated by normalizing the difference between the typical price and the exponential average by the average deviation:
CI = (Xt - Et) / (0.15 * Dt)
Trading Channel Index (TCI): Finally, the TCI is generated by applying additional smoothing to the Channel Index using another EMA over the specified number of bars (TCI Average Length). The smoothing factor beta is derived from the average length:
TCI = beta * CI + (1 - beta) * TCI
Indicator Variables:
TCI Channel Length:
- Description: This variable sets the number of historical bars used to calculate the Channel Index (CI). A shorter length results in a more sensitive CI that responds quickly to price changes, while a longer length produces a smoother and less volatile CI.
- Default Value: 21
TCI Average Length:
-Description: This variable determines the number of bars over which the Channel Index (CI) is smoothed to produce the TCI. A shorter length makes the TCI more responsive to recent price changes, whereas a longer length further smooths the TCI, reducing its sensitivity to short-term fluctuations.
-Default Value: 10
Usage:
Overbought and Oversold Conditions: The TCI often uses levels such as +100 and -100 to identify potential reversal points. When the TCI crosses above +100, it might indicate an overbought condition, signaling a potential sell. Conversely, when it crosses below -100, it could indicate an oversold condition, suggesting a potential buy.
Trend Identification: Sustained values above 0 typically indicate a bullish trend, while values below 0 suggest a bearish trend. The TCI's smoothness helps traders stay in trends longer by reducing the impact of short-term market noise.
Conclusion:
The Trading Channel Index (TCI) is a versatile and powerful tool for traders who wish to capture cyclical price movements with a reduced level of noise. By adjusting the TCI Channel Length and TCI Average Length, traders can tailor the indicator to suit different market conditions, making it applicable across various timeframes and asset classes.
TCI
Enhanced WaveTrend OscillatorThe Enhanced WaveTrend Oscillator is a modified version of the original WaveTrend. The WaveTrend indicator is a popular technical analysis tool used to identify overbought and oversold conditions in the market and generate trading signals. The enhanced version addresses certain limitations of the original indicator and introduces additional features for improved analysis and comparison across assets.
WaveTrend:
The original WaveTrend indicator calculates two lines based on exponential moving averages and their relationship to the asset's price. The first line measures the distance between the asset's price and its EMA, while the second line smooths the first line over a specific period. The result is divided by 0.015 multiplied by the smoothed difference ('d' for reference). The indicator aims to identify overbought and oversold conditions by analyzing the relationship between the two lines.
In the original formula, the rudimentary estimation factor 0.015 times 'd' fails to accomodate for approximately a quarter of the data, preventing the indicator from reaching the traditional stationary levels of +-100. This limitation renders the indicator quantitatively biased, as it relies on the user's subjective adjustment of the levels. The enhanced version replaces this factor with the standard deviation of the asset's price, resulting in improved estimation accuracy and provides a more dynamic and robust outcome, we thereafter multiply the result by 100 to achieve a more traditional oscillation.
Enhancements and Features:
The enhanced version of the WaveTrend indicator addresses several limitations of the original indicator and introduces additional features-
Dynamic Estimation: The original indicator uses an arbitrary estimation factor, while the enhanced version replaces it with the standard deviation of the asset's price. This modification provides a more dynamic and accurate estimation, adapting to the specific price characteristics of each asset.
Stationary Support and Resistance Levels: The enhanced version provides stationary key support and resistance levels that range from -150 to 150. These levels are determined based on the analysis of the indicator's data and encompass more than 95% of the indicator's values. These levels offer important reference points for traders to identify potential price reversals or significant price movements.
Comparison Across Assets: The enhanced version allows for better comparison and analysis across different assets. By incorporating the standard deviation of the asset's price, the indicator provides a more consistent and comparable interpretation of the market conditions across multiple assets.
Upon closer inspection of the modification in the enhanced version, we can observe that the resulting indicator is a smoothed variation of the Z-Score!
f_ewave(src, chlen, avglen) =>
basis = ta.ema(src, chlen)
dev = ta.stdev(src, chlen)
wave = (src - basis) / dev * 100
ta.ema(wave, avglen)
Z-Score Analysis:
The Z-Score is a statistical measurement that quantifies how far a particular data point deviates from the mean in terms of standard deviations. In the enhanced version, the calculation involves determining the basis (mean) and deviation (standard deviation) of the asset's price to calculate its Z-Score, thereafter applying a smoothing technique to generate the final WaveTrend value.
Utility:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator offers traders and investors valuable insights into overbought and oversold conditions in the market. By analyzing the indicator's values and referencing the stationary support and resistance levels, traders can identify potential trend reversals, evaluate market strength, and make better informed analysis.
It is important to note that this indicator should be used in conjunction with other technical analysis tools and indicators to confirm trading signals and validate market dynamics.
Credit:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator is a modification of the original WaveTrend Oscillator developed by @LazyBear on TradingView.
Example Charts:
Wavetrend Moving Average (WTMA) [Loxx]Wavetrend Moving Average (WTMA) is a Wavetrend indicator morphed into a moving average. Use this indicator as you would any other moving average.
What is the Wavetrend indicator?
Wavetrend's original name was TCI created by the The Trading Center. The TCI (Trading Channel Index) displays the ratio between the average daily price and the smoothed averaged value of the average daily price.
You can read about TCI here: tradingcenter.org
How do you morph Wavetrend into a moving average?
1. Calculate Wavetrend
2. Normalize Wavetrend from a range of -1 to 1 to a range of 0 to 1
3. Find high/low values of X bars back of Wavetrend,
4. Subtract high from low to find the simple range of Wavetrend
5. Calculate upper and lower boundaries
6. Calculate the HL2 of using these new boundaries
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Wave Trend OscillatorThis is a very standard version of the Wave Trend Oscillator.
The Channel and Average values are displayed as lines, most people display them as areas.
The Channel and Average difference is displayed as a histogram, most people display it as a tiny noisy area.
I was unable to find a standard version of the Wave Trend Oscillator.
The colorful hyped up versions of this indicator made me feel like a clown while using them.
I have essentially copied the style of the MACD with this indicator, to keep things professional.
With this WTO, you can change the timeframe and source.
You can also change the histogram average length and multiplier, making it usable.
The typical way that people display the histogram is completely unusable and just for appearance.
Now it does a decent job showing when the momentum of the WTO's downward movement is slowing down, just like how the MACD histogram works.
This indicator is essentially a normalized MACD, though they are calculated differently.
The Wave Trend Oscillator is useful for spotting/monitoring changed in mid-trend momentum.
In my experience, divergence in this indicator is a strong signal.
If the MACD is too slow for you, then this is a great alternative; without all the extra fluff people usually add to it.
Godmode 4.0.0 [Oscillator]First off, a huge thank you to the following people:
LEGION:
LazyBear: www.tradingview.com
xSilas: www.tradingview.com
Ni6HTH4awK: www.tradingview.com
sco77m4r7and:
SNOW_CITY: www.tradingview.com
oh92: www.tradingview.com
alexgrover: www.tradingview.com
cI8DH: www.tradingview.com
DonovanWall: www.tradingview.com
Since I've been on TradingView I've become somewhat enthralled by Godmode and the collective work that goes in to it, so I decided to publish my own iteration, building off the ideas already present. (This is a great way to get familiar with Pine by the way, just in case there are any beginners reading this)
Changes
The first change I made was to allow the user to select whatever tickerid they wanted as a benchmark. If trading XBTUSD on BitMEX for example, the indicator will react to exchange-specific activity, which means it will respond to all the little whipsaws, whipsaws that can be especially present on a futures exchange. By typing CRYPTOCAP:BTC or CRYPTOCAP:TOTAL we endeavor to remove noise. It can also signal earlier. Less noise and less lag. Another idea would be to choose a benchmark that has a strong inverse relationship with the asset you're trading: try CRYPTOCAP:USDT as the benchmark against BTC to see what I mean.
I also added the ability to smooth the plot, yet again removing noise but adding considerable lag.
The linear regression of the wave-trend is calculated in place of the EMA. This is plotted as columns with the midline (50) as the base. This is just calculating the slope of the wave-trend and can signal a weakening trend before a reversal takes place.
Using cI8DH's True RSI script () as inspiration, I added a function for calculating the True TSI in an attempt to remove any bullish bias. Funnily enough, when I tried to do the same with the RSI I had some problems. I'll try to resolve this in the coming weeks.
Made slight changes to the aesthetics. Tried to bring the two main plots alive by making their bold, opaque colors stand off the subtle tones in the background.
To Do List
1. I would like to sort out the issue with the True RSI.
2. When the plots are smoothed, there's an issue with the green 'Caution!' dots appearing in the lower half of the indicator.
3. I'd like to adjust the code so that if the 'Benchmark' box is empty, that it will automatically register the current tickerid as the 'Benchmark'.
If anyone has any suggestions on other fixes or how to apply the fixes mentioned by me, please don't hesitate to reach out to me here or through other media platforms.
Want to Learn?
If you'd like the opportunity to learn Pine but you have difficulty finding resources to guide you, take a look at this rudimentary list: docs.google.com
The list will be updated in the future as more people share the resources that have helped, or continue to help, them. Follow me on Twitter to keep up-to-date with the growing list of resources.
Suggestions or Questions?
Don't even kinda hesitate to forward them to me. My (metaphorical) door is always open.
BITMEX:XBTUSD
CRYPTOCAP:BTC
CRYPTOCAP:TOTAL
CRYPTOCAP:USDT.D